target/loongarch: Implement xvssrlrn xvssrarn

This patch includes:
- XVSSRLRN.{B.H/H.W/W.D};
- XVSSRARN.{B.H/H.W/W.D};
- XVSSRLRN.{BU.H/HU.W/WU.D};
- XVSSRARN.{BU.H/HU.W/WU.D};
- XVSSRLRNI.{B.H/H.W/W.D/D.Q};
- XVSSRARNI.{B.H/H.W/W.D/D.Q};
- XVSSRLRNI.{BU.H/HU.W/WU.D/DU.Q};
- XVSSRARNI.{BU.H/HU.W/WU.D/DU.Q}.

Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230914022645.1151356-42-gaosong@loongson.cn>
This commit is contained in:
Song Gao 2023-09-14 10:26:29 +08:00
parent 6256c8caeb
commit 77fca79428
No known key found for this signature in database
GPG key ID: 40A2FFF239263EDF
4 changed files with 387 additions and 208 deletions

View file

@ -2166,6 +2166,36 @@ INSN_LASX(xvssrani_hu_w, vv_i)
INSN_LASX(xvssrani_wu_d, vv_i)
INSN_LASX(xvssrani_du_q, vv_i)
INSN_LASX(xvssrlrn_b_h, vvv)
INSN_LASX(xvssrlrn_h_w, vvv)
INSN_LASX(xvssrlrn_w_d, vvv)
INSN_LASX(xvssrarn_b_h, vvv)
INSN_LASX(xvssrarn_h_w, vvv)
INSN_LASX(xvssrarn_w_d, vvv)
INSN_LASX(xvssrlrn_bu_h, vvv)
INSN_LASX(xvssrlrn_hu_w, vvv)
INSN_LASX(xvssrlrn_wu_d, vvv)
INSN_LASX(xvssrarn_bu_h, vvv)
INSN_LASX(xvssrarn_hu_w, vvv)
INSN_LASX(xvssrarn_wu_d, vvv)
INSN_LASX(xvssrlrni_b_h, vv_i)
INSN_LASX(xvssrlrni_h_w, vv_i)
INSN_LASX(xvssrlrni_w_d, vv_i)
INSN_LASX(xvssrlrni_d_q, vv_i)
INSN_LASX(xvssrlrni_bu_h, vv_i)
INSN_LASX(xvssrlrni_hu_w, vv_i)
INSN_LASX(xvssrlrni_wu_d, vv_i)
INSN_LASX(xvssrlrni_du_q, vv_i)
INSN_LASX(xvssrarni_b_h, vv_i)
INSN_LASX(xvssrarni_h_w, vv_i)
INSN_LASX(xvssrarni_w_d, vv_i)
INSN_LASX(xvssrarni_d_q, vv_i)
INSN_LASX(xvssrarni_bu_h, vv_i)
INSN_LASX(xvssrarni_hu_w, vv_i)
INSN_LASX(xvssrarni_wu_d, vv_i)
INSN_LASX(xvssrarni_du_q, vv_i)
INSN_LASX(xvreplgr2vr_b, vr)
INSN_LASX(xvreplgr2vr_h, vr)
INSN_LASX(xvreplgr2vr_w, vr)