aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/ARM/ARMInstrInfo.td3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td
index 4be2b74a5e..220c676436 100644
--- a/lib/Target/ARM/ARMInstrInfo.td
+++ b/lib/Target/ARM/ARMInstrInfo.td
@@ -339,6 +339,9 @@ def : Pat<(extloadi8 IntRegs:$addr),
def : Pat<(extloadi16 IntRegs:$addr),
(LDRH IntRegs:$addr)>;
+// extload bool -> extload byte
+def : Pat<(extloadi1 IntRegs:$addr), (LDRB IntRegs:$addr)>;
+
// zextload bool -> zextload byte
def : Pat<(i32 (zextloadi1 IntRegs:$addr)), (LDRB IntRegs:$addr)>;
def : Pat<(i32 (zextloadi1 IntRegs:$addr)), (LDRB IntRegs:$addr)>;