mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
target/arm: Split the ST_zpri and ST_zprr patterns
The msz > esz encodings are reserved, and some of them are about to be reused. Split these patterns so that the new insns do not overlap. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20250704142112.1018902-95-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
committed by
Peter Maydell
parent
b0b0818a4a
commit
0af0c9bbb9
@@ -252,7 +252,7 @@
|
||||
|
||||
# Stores; user must fill in ESZ, MSZ, NREG as needed.
|
||||
@rprr_store ....... .. .. rm:5 ... pg:3 rn:5 rd:5 &rprr_store
|
||||
@rpri_store_msz ....... msz:2 .. . imm:s4 ... pg:3 rn:5 rd:5 &rpri_store
|
||||
@rpri_store ....... .. .. . imm:s4 ... pg:3 rn:5 rd:5 &rpri_store
|
||||
@rprr_store_esz_n0 ....... .. esz:2 rm:5 ... pg:3 rn:5 rd:5 \
|
||||
&rprr_store nreg=0
|
||||
@rprr_scatter_store ....... msz:2 .. rm:5 ... pg:3 rn:5 rd:5 \
|
||||
@@ -1334,8 +1334,16 @@ STR_zri 1110010 11 0. ..... 010 ... ..... ..... @rd_rn_i9
|
||||
|
||||
# SVE contiguous store (scalar plus immediate)
|
||||
# ST1B, ST1H, ST1W, ST1D; require msz <= esz
|
||||
ST_zpri 1110010 .. esz:2 0.... 111 ... ..... ..... \
|
||||
@rpri_store_msz nreg=0
|
||||
ST_zpri 1110010 00 esz:2 0.... 111 ... ..... ..... \
|
||||
@rpri_store msz=0 nreg=0
|
||||
ST_zpri 1110010 01 esz:2 0.... 111 ... ..... ..... \
|
||||
@rpri_store msz=1 nreg=0
|
||||
ST_zpri 1110010 10 10 0.... 111 ... ..... ..... \
|
||||
@rpri_store msz=2 esz=2 nreg=0
|
||||
ST_zpri 1110010 10 11 0.... 111 ... ..... ..... \
|
||||
@rpri_store msz=2 esz=3 nreg=0
|
||||
ST_zpri 1110010 11 11 0.... 111 ... ..... ..... \
|
||||
@rpri_store msz=3 esz=3 nreg=0
|
||||
|
||||
# SVE contiguous store (scalar plus scalar)
|
||||
# ST1B, ST1H, ST1W, ST1D; require msz <= esz
|
||||
@@ -1344,20 +1352,22 @@ ST_zprr 1110010 00 .. ..... 010 ... ..... ..... \
|
||||
@rprr_store_esz_n0 msz=0
|
||||
ST_zprr 1110010 01 .. ..... 010 ... ..... ..... \
|
||||
@rprr_store_esz_n0 msz=1
|
||||
ST_zprr 1110010 10 .. ..... 010 ... ..... ..... \
|
||||
@rprr_store_esz_n0 msz=2
|
||||
ST_zprr 1110010 10 10 ..... 010 ... ..... ..... \
|
||||
@rprr_store msz=2 esz=2 nreg=0
|
||||
ST_zprr 1110010 10 11 ..... 010 ... ..... ..... \
|
||||
@rprr_store msz=2 esz=3 nreg=0
|
||||
ST_zprr 1110010 11 11 ..... 010 ... ..... ..... \
|
||||
@rprr_store msz=3 esz=3 nreg=0
|
||||
|
||||
# SVE contiguous non-temporal store (scalar plus immediate) (nreg == 0)
|
||||
# SVE store multiple structures (scalar plus immediate) (nreg != 0)
|
||||
ST_zpri 1110010 .. nreg:2 1.... 111 ... ..... ..... \
|
||||
@rpri_store_msz esz=%size_23
|
||||
@rpri_store msz=%size_23 esz=%size_23
|
||||
|
||||
# SVE contiguous non-temporal store (scalar plus scalar) (nreg == 0)
|
||||
# SVE store multiple structures (scalar plus scalar) (nreg != 0)
|
||||
ST_zprr 1110010 msz:2 nreg:2 ..... 011 ... ..... ..... \
|
||||
@rprr_store esz=%size_23
|
||||
ST_zprr 1110010 .. nreg:2 ..... 011 ... ..... ..... \
|
||||
@rprr_store msz=%size_23 esz=%size_23
|
||||
|
||||
# SVE 32-bit scatter store (scalar plus 32-bit scaled offsets)
|
||||
# Require msz > 0 && msz <= esz.
|
||||
|
||||
Reference in New Issue
Block a user