summaryrefslogtreecommitdiff
path: root/arch/armv7/test.py
diff options
context:
space:
mode:
authorJosh Ferrell <josh@vector35.com>2025-03-06 11:01:48 -0500
committerJosh Ferrell <josh@vector35.com>2025-03-06 16:38:58 -0500
commitaaff6a6e366219c52a629729d741fff1711eeb7d (patch)
treee5edf1fd76f470aead52851ba5a8c3ebb56eff3b /arch/armv7/test.py
parentd59ee7f42ceb379dc107c6bca723b012b0c0e24a (diff)
ARMv7: update test_lift.py and test.py
Diffstat (limited to 'arch/armv7/test.py')
-rwxr-xr-xarch/armv7/test.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/armv7/test.py b/arch/armv7/test.py
index 9ffb040e..6a6d1fef 100755
--- a/arch/armv7/test.py
+++ b/arch/armv7/test.py
@@ -9,9 +9,9 @@ test_cases_arm = [
# r0 = (r1 & 0b11111111111111111111111111100011) | ((r1 & 0b111) << 2)
(b'\x11\x01\xc4\xe7', 'LLIL_SET_REG(r0,LLIL_OR(LLIL_AND(LLIL_REG(r0),LLIL_CONST(4294967267)),LLIL_LSL(LLIL_AND(LLIL_REG(r1),LLIL_CONST(7)),LLIL_CONST(2))))'), # bfi r0, r1, #2, #3
# temp0 = r2*r3; r0=tmp0&0xFFFFFFFF; r1=tmp0>>32 ... LOGICAL shift since mul is unsigned
- (b'\x92\x03\x81\xe0', 'LLIL_SET_REG(temp0,LLIL_MUL(LLIL_REG(r2),LLIL_REG(r3))); LLIL_SET_REG(r0,LLIL_LOW_PART(LLIL_REG(temp0))); LLIL_SET_REG(r1,LLIL_LSR(LLIL_REG(temp0),LLIL_CONST(32)))'), # umull r0, r1, r2, r3
+ (b'\x92\x03\x81\xe0', 'LLIL_SET_REG_SPLIT(r1,r0,LLIL_MULU_DP(LLIL_REG(r2),LLIL_REG(r3)))'), # umull r0, r1, r2, r3
# same, but ARITHMETIC shift since mul is signed
- (b'\x92\x03\xc1\xe0', 'LLIL_SET_REG(temp0,LLIL_MUL(LLIL_REG(r2),LLIL_REG(r3))); LLIL_SET_REG(r0,LLIL_LOW_PART(LLIL_REG(temp0))); LLIL_SET_REG(r1,LLIL_ASR(LLIL_REG(temp0),LLIL_CONST(32)))'), # smull r0, r1, r2, r3
+ (b'\x92\x03\xc1\xe0', 'LLIL_SET_REG_SPLIT(r1,r0,LLIL_MULS_DP(LLIL_REG(r2),LLIL_REG(r3)))'), # smull r0, r1, r2, r3
# multiply and accumulate: mla r0, r1, r2, r3 lift to r0 = r3 + (r1 * r2)
(b'\x91\x32\x20\xe0', 'LLIL_SET_REG(r0,LLIL_ADD(LLIL_REG(r3),LLIL_MUL(LLIL_REG(r1),LLIL_REG(r2))))'), # mla r0, r1, r2, r3
# multiply and subtract: mls r0, r1, r2, r3 lift to r0 = r3 - (r1 * r2)