target/loongarch: Implement vinsgr2vr vpickve2gr vreplgr2vr

This patch includes:
- VINSGR2VR.{B/H/W/D};
- VPICKVE2GR.{B/H/W/D}[U];
- VREPLGR2VR.{B/H/W/D}.

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

View file

@ -496,6 +496,9 @@ dbcl 0000 00000010 10101 ............... @i15
&vv_i vd vj imm
&vvvv vd vj vk va
&vvv_fcond vd vj vk fcond
&vr_i vd rj imm
&rv_i rd vj imm
&vr vd rj
#
# LSX Formats
@ -512,6 +515,15 @@ dbcl 0000 00000010 10101 ............... @i15
@vv_i5 .... ........ ..... imm:s5 vj:5 vd:5 &vv_i
@vvvv .... ........ va:5 vk:5 vj:5 vd:5 &vvvv
@vvv_fcond .... ........ fcond:5 vk:5 vj:5 vd:5 &vvv_fcond
@vr_ui4 .... ........ ..... . imm:4 rj:5 vd:5 &vr_i
@vr_ui3 .... ........ ..... .. imm:3 rj:5 vd:5 &vr_i
@vr_ui2 .... ........ ..... ... imm:2 rj:5 vd:5 &vr_i
@vr_ui1 .... ........ ..... .... imm:1 rj:5 vd:5 &vr_i
@rv_ui4 .... ........ ..... . imm:4 vj:5 rd:5 &rv_i
@rv_ui3 .... ........ ..... .. imm:3 vj:5 rd:5 &rv_i
@rv_ui2 .... ........ ..... ... imm:2 vj:5 rd:5 &rv_i
@rv_ui1 .... ........ ..... .... imm:1 vj:5 rd:5 &rv_i
@vr .... ........ ..... ..... rj:5 vd:5 &vr
vadd_b 0111 00000000 10100 ..... ..... ..... @vvv
vadd_h 0111 00000000 10101 ..... ..... ..... @vvv
@ -1167,3 +1179,21 @@ vsetallnez_b 0111 00101001 11001 01100 ..... 00 ... @cv
vsetallnez_h 0111 00101001 11001 01101 ..... 00 ... @cv
vsetallnez_w 0111 00101001 11001 01110 ..... 00 ... @cv
vsetallnez_d 0111 00101001 11001 01111 ..... 00 ... @cv
vinsgr2vr_b 0111 00101110 10111 0 .... ..... ..... @vr_ui4
vinsgr2vr_h 0111 00101110 10111 10 ... ..... ..... @vr_ui3
vinsgr2vr_w 0111 00101110 10111 110 .. ..... ..... @vr_ui2
vinsgr2vr_d 0111 00101110 10111 1110 . ..... ..... @vr_ui1
vpickve2gr_b 0111 00101110 11111 0 .... ..... ..... @rv_ui4
vpickve2gr_h 0111 00101110 11111 10 ... ..... ..... @rv_ui3
vpickve2gr_w 0111 00101110 11111 110 .. ..... ..... @rv_ui2
vpickve2gr_d 0111 00101110 11111 1110 . ..... ..... @rv_ui1
vpickve2gr_bu 0111 00101111 00111 0 .... ..... ..... @rv_ui4
vpickve2gr_hu 0111 00101111 00111 10 ... ..... ..... @rv_ui3
vpickve2gr_wu 0111 00101111 00111 110 .. ..... ..... @rv_ui2
vpickve2gr_du 0111 00101111 00111 1110 . ..... ..... @rv_ui1
vreplgr2vr_b 0111 00101001 11110 00000 ..... ..... @vr
vreplgr2vr_h 0111 00101001 11110 00001 ..... ..... @vr
vreplgr2vr_w 0111 00101001 11110 00010 ..... ..... @vr
vreplgr2vr_d 0111 00101001 11110 00011 ..... ..... @vr