summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2006-11-01 14:13:27 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2006-11-01 14:13:27 +0000
commit0cd8d14c7cd6bbff1559b80c4e3456efae12e6df (patch)
tree9ae3c00e1ac473a9bc84848575262d0f37858301
parent91f120f4fa9450f0c864aedb4d42e9f1f83f7b15 (diff)
downloadbcm5719-llvm-0cd8d14c7cd6bbff1559b80c4e3456efae12e6df.tar.gz
bcm5719-llvm-0cd8d14c7cd6bbff1559b80c4e3456efae12e6df.zip
implement zextload bool and truncstore bool
llvm-svn: 31348
-rw-r--r--llvm/lib/Target/ARM/ARMInstrInfo.td10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td
index f2100e11ca4..fce25c9598b 100644
--- a/llvm/lib/Target/ARM/ARMInstrInfo.td
+++ b/llvm/lib/Target/ARM/ARMInstrInfo.td
@@ -347,3 +347,13 @@ def : Pat<(extloadi8 IntRegs:$addr),
(LDRB IntRegs:$addr)>;
def : Pat<(extloadi16 IntRegs:$addr),
(LDRH IntRegs:$addr)>;
+
+// zextload bool -> zextload byte
+def : Pat<(i32 (zextloadi1 IntRegs:$addr)), (LDRB IntRegs:$addr)>;
+def : Pat<(i32 (zextloadi1 IntRegs:$addr)), (LDRB IntRegs:$addr)>;
+
+// truncstore bool -> truncstore byte.
+def : Pat<(truncstorei1 IntRegs:$src, IntRegs:$addr),
+ (STRB IntRegs:$addr, IntRegs:$src)>;
+def : Pat<(truncstorei1 IntRegs:$src, IntRegs:$addr),
+ (STRB IntRegs:$addr, IntRegs:$src)>;
OpenPOWER on IntegriCloud