From: Chris Lattner Date: Mon, 19 Dec 2005 00:19:21 +0000 (+0000) Subject: add bool truncstores X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=f53d0bfbfd501d752fe313725083d1f295e30ba7;p=oota-llvm.git add bool truncstores git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24845 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/Sparc/SparcInstrInfo.td b/lib/Target/Sparc/SparcInstrInfo.td index 02e1a002032..3c9b8d43358 100644 --- a/lib/Target/Sparc/SparcInstrInfo.td +++ b/lib/Target/Sparc/SparcInstrInfo.td @@ -721,3 +721,9 @@ def : Pat<(i32 (extload ADDRrr:$src, i8)), (LDUBrr ADDRrr:$src)>; def : Pat<(i32 (extload ADDRri:$src, i8)), (LDUBri ADDRri:$src)>; def : Pat<(i32 (extload ADDRrr:$src, i16)), (LDUHrr ADDRrr:$src)>; def : Pat<(i32 (extload ADDRri:$src, i16)), (LDUHri ADDRri:$src)>; + +// truncstore bool -> truncstore byte. +def : Pat<(truncstore IntRegs:$src, ADDRrr:$addr, i1), + (STBrr IntRegs:$src, ADDRrr:$addr)>; +def : Pat<(truncstore IntRegs:$src, ADDRri:$addr, i1), + (STBri IntRegs:$src, ADDRri:$addr)>; diff --git a/lib/Target/SparcV8/SparcV8InstrInfo.td b/lib/Target/SparcV8/SparcV8InstrInfo.td index 02e1a002032..3c9b8d43358 100644 --- a/lib/Target/SparcV8/SparcV8InstrInfo.td +++ b/lib/Target/SparcV8/SparcV8InstrInfo.td @@ -721,3 +721,9 @@ def : Pat<(i32 (extload ADDRrr:$src, i8)), (LDUBrr ADDRrr:$src)>; def : Pat<(i32 (extload ADDRri:$src, i8)), (LDUBri ADDRri:$src)>; def : Pat<(i32 (extload ADDRrr:$src, i16)), (LDUHrr ADDRrr:$src)>; def : Pat<(i32 (extload ADDRri:$src, i16)), (LDUHri ADDRri:$src)>; + +// truncstore bool -> truncstore byte. +def : Pat<(truncstore IntRegs:$src, ADDRrr:$addr, i1), + (STBrr IntRegs:$src, ADDRrr:$addr)>; +def : Pat<(truncstore IntRegs:$src, ADDRri:$addr, i1), + (STBri IntRegs:$src, ADDRri:$addr)>;