target/loongarch: Implement xvaddw/xvsubw

This patch includes:
- XVADDW{EV/OD}.{H.B/W.H/D.W/Q.D}[U];
- XVSUBW{EV/OD}.{H.B/W.H/D.W/Q.D}[U];
- XVADDW{EV/OD}.{H.BU.B/W.HU.H/D.WU.W/Q.DU.D}.

Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230914022645.1151356-21-gaosong@loongson.cn>
This commit is contained in:
Song Gao 2023-09-14 10:26:08 +08:00
parent 64cf6b99d7
commit 85995f076a
No known key found for this signature in database
GPG key ID: 40A2FFF239263EDF
4 changed files with 215 additions and 34 deletions

View file

@ -1361,6 +1361,51 @@ xvhsubw_wu_hu 0111 01000101 10101 ..... ..... ..... @vvv
xvhsubw_du_wu 0111 01000101 10110 ..... ..... ..... @vvv
xvhsubw_qu_du 0111 01000101 10111 ..... ..... ..... @vvv
xvaddwev_h_b 0111 01000001 11100 ..... ..... ..... @vvv
xvaddwev_w_h 0111 01000001 11101 ..... ..... ..... @vvv
xvaddwev_d_w 0111 01000001 11110 ..... ..... ..... @vvv
xvaddwev_q_d 0111 01000001 11111 ..... ..... ..... @vvv
xvaddwod_h_b 0111 01000010 00100 ..... ..... ..... @vvv
xvaddwod_w_h 0111 01000010 00101 ..... ..... ..... @vvv
xvaddwod_d_w 0111 01000010 00110 ..... ..... ..... @vvv
xvaddwod_q_d 0111 01000010 00111 ..... ..... ..... @vvv
xvsubwev_h_b 0111 01000010 00000 ..... ..... ..... @vvv
xvsubwev_w_h 0111 01000010 00001 ..... ..... ..... @vvv
xvsubwev_d_w 0111 01000010 00010 ..... ..... ..... @vvv
xvsubwev_q_d 0111 01000010 00011 ..... ..... ..... @vvv
xvsubwod_h_b 0111 01000010 01000 ..... ..... ..... @vvv
xvsubwod_w_h 0111 01000010 01001 ..... ..... ..... @vvv
xvsubwod_d_w 0111 01000010 01010 ..... ..... ..... @vvv
xvsubwod_q_d 0111 01000010 01011 ..... ..... ..... @vvv
xvaddwev_h_bu 0111 01000010 11100 ..... ..... ..... @vvv
xvaddwev_w_hu 0111 01000010 11101 ..... ..... ..... @vvv
xvaddwev_d_wu 0111 01000010 11110 ..... ..... ..... @vvv
xvaddwev_q_du 0111 01000010 11111 ..... ..... ..... @vvv
xvaddwod_h_bu 0111 01000011 00100 ..... ..... ..... @vvv
xvaddwod_w_hu 0111 01000011 00101 ..... ..... ..... @vvv
xvaddwod_d_wu 0111 01000011 00110 ..... ..... ..... @vvv
xvaddwod_q_du 0111 01000011 00111 ..... ..... ..... @vvv
xvsubwev_h_bu 0111 01000011 00000 ..... ..... ..... @vvv
xvsubwev_w_hu 0111 01000011 00001 ..... ..... ..... @vvv
xvsubwev_d_wu 0111 01000011 00010 ..... ..... ..... @vvv
xvsubwev_q_du 0111 01000011 00011 ..... ..... ..... @vvv
xvsubwod_h_bu 0111 01000011 01000 ..... ..... ..... @vvv
xvsubwod_w_hu 0111 01000011 01001 ..... ..... ..... @vvv
xvsubwod_d_wu 0111 01000011 01010 ..... ..... ..... @vvv
xvsubwod_q_du 0111 01000011 01011 ..... ..... ..... @vvv
xvaddwev_h_bu_b 0111 01000011 11100 ..... ..... ..... @vvv
xvaddwev_w_hu_h 0111 01000011 11101 ..... ..... ..... @vvv
xvaddwev_d_wu_w 0111 01000011 11110 ..... ..... ..... @vvv
xvaddwev_q_du_d 0111 01000011 11111 ..... ..... ..... @vvv
xvaddwod_h_bu_b 0111 01000100 00000 ..... ..... ..... @vvv
xvaddwod_w_hu_h 0111 01000100 00001 ..... ..... ..... @vvv
xvaddwod_d_wu_w 0111 01000100 00010 ..... ..... ..... @vvv
xvaddwod_q_du_d 0111 01000100 00011 ..... ..... ..... @vvv
xvreplgr2vr_b 0111 01101001 11110 00000 ..... ..... @vr
xvreplgr2vr_h 0111 01101001 11110 00001 ..... ..... @vr
xvreplgr2vr_w 0111 01101001 11110 00010 ..... ..... @vr