mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
target/arm: Convert packing, unpacking, saturation, and reversal
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20190904193059.26202-26-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
adf1a5662a
commit
46497f6af7
3 changed files with 300 additions and 310 deletions
|
@ -25,6 +25,7 @@
|
|||
&s_rri_rot !extern s rn rd imm rot
|
||||
&s_rrrr !extern s rd rn rm ra
|
||||
&rrrr !extern rd rn rm ra
|
||||
&rrr_rot !extern rd rn rm rot
|
||||
&rrr !extern rd rn rm
|
||||
&rr !extern rd rm
|
||||
&ri !extern rd imm
|
||||
|
@ -40,6 +41,8 @@
|
|||
&ldrex !extern rn rt rt2 imm
|
||||
&bfx !extern rd rn lsb widthm1
|
||||
&bfi !extern rd rn lsb msb
|
||||
&sat !extern rd rn satimm imm sh
|
||||
&pkh !extern rd rn rm imm tb
|
||||
|
||||
# Data-processing (register)
|
||||
|
||||
|
@ -69,7 +72,8 @@ BIC_rrri 1110101 0001 . .... 0 ... .... .... .... @s_rrr_shi
|
|||
TEQ_xrri 1110101 0100 1 .... 0 ... 1111 .... .... @S_xrr_shi
|
||||
EOR_rrri 1110101 0100 . .... 0 ... .... .... .... @s_rrr_shi
|
||||
}
|
||||
# PKHBT, PKHTB at opc1 = 0110
|
||||
PKH 1110101 0110 0 rn:4 0 ... rd:4 .. tb:1 0 rm:4 \
|
||||
&pkh imm=%imm5_12_6
|
||||
{
|
||||
CMN_xrri 1110101 1000 1 .... 0 ... 1111 .... .... @S_xrr_shi
|
||||
ADD_rrri 1110101 1000 . .... 0 ... .... .... .... @s_rrr_shi
|
||||
|
@ -148,6 +152,20 @@ RSB_rri 1111 0.0 1110 . .... 0 ... .... ........ @s_rri_rot
|
|||
|
||||
# Saturate, bitfield
|
||||
|
||||
@sat .... .... .. sh:1 . rn:4 . ... rd:4 .. . satimm:5 \
|
||||
&sat imm=%imm5_12_6
|
||||
@sat16 .... .... .. . . rn:4 . ... rd:4 .. . satimm:5 \
|
||||
&sat sh=0 imm=0
|
||||
|
||||
{
|
||||
SSAT16 1111 0011 001 0 .... 0 000 .... 00 0 ..... @sat16
|
||||
SSAT 1111 0011 00. 0 .... 0 ... .... .. 0 ..... @sat
|
||||
}
|
||||
{
|
||||
USAT16 1111 0011 101 0 .... 0 000 .... 00 0 ..... @sat16
|
||||
USAT 1111 0011 10. 0 .... 0 ... .... .. 0 ..... @sat
|
||||
}
|
||||
|
||||
@bfx .... .... ... . rn:4 . ... rd:4 .. . widthm1:5 \
|
||||
&bfx lsb=%imm5_12_6
|
||||
@bfi .... .... ... . rn:4 . ... rd:4 .. . msb:5 \
|
||||
|
@ -224,7 +242,13 @@ CRC32CB 1111 1010 1101 .... 1111 .... 1000 .... @rndm
|
|||
CRC32CH 1111 1010 1101 .... 1111 .... 1001 .... @rndm
|
||||
CRC32CW 1111 1010 1101 .... 1111 .... 1010 .... @rndm
|
||||
|
||||
SEL 1111 1010 1010 .... 1111 .... 1000 .... @rndm
|
||||
|
||||
# Note rn != rm is CONSTRAINED UNPREDICTABLE; we choose to ignore rn.
|
||||
REV 1111 1010 1001 ---- 1111 .... 1000 .... @rdm
|
||||
REV16 1111 1010 1001 ---- 1111 .... 1001 .... @rdm
|
||||
RBIT 1111 1010 1001 ---- 1111 .... 1010 .... @rdm
|
||||
REVSH 1111 1010 1001 ---- 1111 .... 1011 .... @rdm
|
||||
CLZ 1111 1010 1011 ---- 1111 .... 1000 .... @rdm
|
||||
|
||||
# Branches and miscellaneous control
|
||||
|
@ -501,3 +525,14 @@ SHSAX 1111 1010 1110 .... 1111 .... 0010 .... @rndm
|
|||
USAX 1111 1010 1110 .... 1111 .... 0100 .... @rndm
|
||||
UQSAX 1111 1010 1110 .... 1111 .... 0101 .... @rndm
|
||||
UHSAX 1111 1010 1110 .... 1111 .... 0110 .... @rndm
|
||||
|
||||
# Register extends
|
||||
|
||||
@rrr_rot .... .... .... rn:4 .... rd:4 .. rot:2 rm:4 &rrr_rot
|
||||
|
||||
SXTAH 1111 1010 0000 .... 1111 .... 10.. .... @rrr_rot
|
||||
UXTAH 1111 1010 0001 .... 1111 .... 10.. .... @rrr_rot
|
||||
SXTAB16 1111 1010 0010 .... 1111 .... 10.. .... @rrr_rot
|
||||
UXTAB16 1111 1010 0011 .... 1111 .... 10.. .... @rrr_rot
|
||||
SXTAB 1111 1010 0100 .... 1111 .... 10.. .... @rrr_rot
|
||||
UXTAB 1111 1010 0101 .... 1111 .... 10.. .... @rrr_rot
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue