diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2006-11-01 14:13:27 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2006-11-01 14:13:27 +0000 |
commit | 0cd8d14c7cd6bbff1559b80c4e3456efae12e6df (patch) | |
tree | 9ae3c00e1ac473a9bc84848575262d0f37858301 /llvm/lib/Target/ARM | |
parent | 91f120f4fa9450f0c864aedb4d42e9f1f83f7b15 (diff) | |
download | bcm5719-llvm-0cd8d14c7cd6bbff1559b80c4e3456efae12e6df.tar.gz bcm5719-llvm-0cd8d14c7cd6bbff1559b80c4e3456efae12e6df.zip |
implement zextload bool and truncstore bool
llvm-svn: 31348
Diffstat (limited to 'llvm/lib/Target/ARM')
-rw-r--r-- | llvm/lib/Target/ARM/ARMInstrInfo.td | 10 |
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)>; |