target/loongarch: Implement vhaddw/vhsubw

This patch includes:
- VHADDW.{H.B/W.H/D.W/Q.D/HU.BU/WU.HU/DU.WU/QU.DU};
- VHSUBW.{H.B/W.H/D.W/Q.D/HU.BU/WU.HU/DU.WU/QU.DU}.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20230504122810.4094787-9-gaosong@loongson.cn>
This commit is contained in:
Song Gao 2023-05-04 20:27:34 +08:00
parent a94cb91107
commit c037fbc97d
No known key found for this signature in database
GPG key ID: 40A2FFF239263EDF
5 changed files with 150 additions and 0 deletions

View file

@ -848,3 +848,20 @@ INSN_LSX(vssub_bu, vvv)
INSN_LSX(vssub_hu, vvv)
INSN_LSX(vssub_wu, vvv)
INSN_LSX(vssub_du, vvv)
INSN_LSX(vhaddw_h_b, vvv)
INSN_LSX(vhaddw_w_h, vvv)
INSN_LSX(vhaddw_d_w, vvv)
INSN_LSX(vhaddw_q_d, vvv)
INSN_LSX(vhaddw_hu_bu, vvv)
INSN_LSX(vhaddw_wu_hu, vvv)
INSN_LSX(vhaddw_du_wu, vvv)
INSN_LSX(vhaddw_qu_du, vvv)
INSN_LSX(vhsubw_h_b, vvv)
INSN_LSX(vhsubw_w_h, vvv)
INSN_LSX(vhsubw_d_w, vvv)
INSN_LSX(vhsubw_q_d, vvv)
INSN_LSX(vhsubw_hu_bu, vvv)
INSN_LSX(vhsubw_wu_hu, vvv)
INSN_LSX(vhsubw_du_wu, vvv)
INSN_LSX(vhsubw_qu_du, vvv)