mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
target/loongarch: Implement vreplve vpack vpick
This patch includes: - VREPLVE[I].{B/H/W/D}; - VBSLL.V, VBSRL.V; - VPACK{EV/OD}.{B/H/W/D}; - VPICK{EV/OD}.{B/H/W/D}. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Song Gao <gaosong@loongson.cn> Message-Id: <20230504122810.4094787-40-gaosong@loongson.cn>
This commit is contained in:
parent
cdbdefbf5a
commit
d5e5563cb3
5 changed files with 319 additions and 0 deletions
|
@ -499,6 +499,7 @@ dbcl 0000 00000010 10101 ............... @i15
|
|||
&vr_i vd rj imm
|
||||
&rv_i rd vj imm
|
||||
&vr vd rj
|
||||
&vvr vd vj rk
|
||||
|
||||
#
|
||||
# LSX Formats
|
||||
|
@ -506,6 +507,8 @@ dbcl 0000 00000010 10101 ............... @i15
|
|||
@vv .... ........ ..... ..... vj:5 vd:5 &vv
|
||||
@cv .... ........ ..... ..... vj:5 .. cd:3 &cv
|
||||
@vvv .... ........ ..... vk:5 vj:5 vd:5 &vvv
|
||||
@vv_ui1 .... ........ ..... .... imm:1 vj:5 vd:5 &vv_i
|
||||
@vv_ui2 .... ........ ..... ... imm:2 vj:5 vd:5 &vv_i
|
||||
@vv_ui3 .... ........ ..... .. imm:3 vj:5 vd:5 &vv_i
|
||||
@vv_ui4 .... ........ ..... . imm:4 vj:5 vd:5 &vv_i
|
||||
@vv_ui5 .... ........ ..... imm:5 vj:5 vd:5 &vv_i
|
||||
|
@ -524,6 +527,7 @@ dbcl 0000 00000010 10101 ............... @i15
|
|||
@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
|
||||
@vvr .... ........ ..... rk:5 vj:5 vd:5 &vvr
|
||||
|
||||
vadd_b 0111 00000000 10100 ..... ..... ..... @vvv
|
||||
vadd_h 0111 00000000 10101 ..... ..... ..... @vvv
|
||||
|
@ -1197,3 +1201,33 @@ 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
|
||||
|
||||
vreplve_b 0111 00010010 00100 ..... ..... ..... @vvr
|
||||
vreplve_h 0111 00010010 00101 ..... ..... ..... @vvr
|
||||
vreplve_w 0111 00010010 00110 ..... ..... ..... @vvr
|
||||
vreplve_d 0111 00010010 00111 ..... ..... ..... @vvr
|
||||
vreplvei_b 0111 00101111 01111 0 .... ..... ..... @vv_ui4
|
||||
vreplvei_h 0111 00101111 01111 10 ... ..... ..... @vv_ui3
|
||||
vreplvei_w 0111 00101111 01111 110 .. ..... ..... @vv_ui2
|
||||
vreplvei_d 0111 00101111 01111 1110 . ..... ..... @vv_ui1
|
||||
|
||||
vbsll_v 0111 00101000 11100 ..... ..... ..... @vv_ui5
|
||||
vbsrl_v 0111 00101000 11101 ..... ..... ..... @vv_ui5
|
||||
|
||||
vpackev_b 0111 00010001 01100 ..... ..... ..... @vvv
|
||||
vpackev_h 0111 00010001 01101 ..... ..... ..... @vvv
|
||||
vpackev_w 0111 00010001 01110 ..... ..... ..... @vvv
|
||||
vpackev_d 0111 00010001 01111 ..... ..... ..... @vvv
|
||||
vpackod_b 0111 00010001 10000 ..... ..... ..... @vvv
|
||||
vpackod_h 0111 00010001 10001 ..... ..... ..... @vvv
|
||||
vpackod_w 0111 00010001 10010 ..... ..... ..... @vvv
|
||||
vpackod_d 0111 00010001 10011 ..... ..... ..... @vvv
|
||||
|
||||
vpickev_b 0111 00010001 11100 ..... ..... ..... @vvv
|
||||
vpickev_h 0111 00010001 11101 ..... ..... ..... @vvv
|
||||
vpickev_w 0111 00010001 11110 ..... ..... ..... @vvv
|
||||
vpickev_d 0111 00010001 11111 ..... ..... ..... @vvv
|
||||
vpickod_b 0111 00010010 00000 ..... ..... ..... @vvv
|
||||
vpickod_h 0111 00010010 00001 ..... ..... ..... @vvv
|
||||
vpickod_w 0111 00010010 00010 ..... ..... ..... @vvv
|
||||
vpickod_d 0111 00010010 00011 ..... ..... ..... @vvv
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue