summaryrefslogtreecommitdiff
path: root/plugins/arm
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/arm')
-rw-r--r--plugins/arm/v7/opdefs/A8818_b.d4
-rw-r--r--plugins/arm/v7/opdefs/A8825_bl.d8
2 files changed, 9 insertions, 3 deletions
diff --git a/plugins/arm/v7/opdefs/A8818_b.d b/plugins/arm/v7/opdefs/A8818_b.d
index d10b297..e60aad6 100644
--- a/plugins/arm/v7/opdefs/A8818_b.d
+++ b/plugins/arm/v7/opdefs/A8818_b.d
@@ -138,7 +138,9 @@
@conv {
- imm32 = SignExtend(S:J2:J1:imm10:imm11:'0', 32, 24)
+ I1 = NOT(J1 EOR S)
+ I2 = NOT(J2 EOR S)
+ imm32 = SignExtend(S:I1:I2:imm10:imm11:'0', 32, 24)
}
diff --git a/plugins/arm/v7/opdefs/A8825_bl.d b/plugins/arm/v7/opdefs/A8825_bl.d
index 221bbc5..adf3c20 100644
--- a/plugins/arm/v7/opdefs/A8825_bl.d
+++ b/plugins/arm/v7/opdefs/A8825_bl.d
@@ -41,7 +41,9 @@
@conv {
- imm32 = SignExtend(S:J2:J1:imm10:imm11:'0', 32, 24)
+ I1 = NOT(J1 EOR S)
+ I2 = NOT(J2 EOR S)
+ imm32 = SignExtend(S:I1:I2:imm10:imm11:'0', 32, 24)
}
@@ -69,7 +71,9 @@
@conv {
- imm32 = SignExtend(S:J1:J2:imm10H:imm10L:'00', 32, 24)
+ I1 = NOT(J1 EOR S)
+ I2 = NOT(J2 EOR S)
+ imm32 = SignExtend(S:I1:I2:imm10H:imm10L:'00', 32, 24)
}