diff options
-rw-r--r-- | lib/Target/Sparc/SparcInstrInfo.td | 3 | ||||
-rw-r--r-- | lib/Target/SparcV8/SparcV8InstrInfo.td | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/Sparc/SparcInstrInfo.td b/lib/Target/Sparc/SparcInstrInfo.td index ba87889..dbc3a45 100644 --- a/lib/Target/Sparc/SparcInstrInfo.td +++ b/lib/Target/Sparc/SparcInstrInfo.td @@ -730,6 +730,9 @@ 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)>; +// zextload bool -> zextload byte +def : Pat<(i32 (zextload ADDRrr:$src, i1)), (LDUBrr ADDRrr:$src)>; + // truncstore bool -> truncstore byte. def : Pat<(truncstore IntRegs:$src, ADDRrr:$addr, i1), (STBrr IntRegs:$src, ADDRrr:$addr)>; diff --git a/lib/Target/SparcV8/SparcV8InstrInfo.td b/lib/Target/SparcV8/SparcV8InstrInfo.td index ba87889..dbc3a45 100644 --- a/lib/Target/SparcV8/SparcV8InstrInfo.td +++ b/lib/Target/SparcV8/SparcV8InstrInfo.td @@ -730,6 +730,9 @@ 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)>; +// zextload bool -> zextload byte +def : Pat<(i32 (zextload ADDRrr:$src, i1)), (LDUBrr ADDRrr:$src)>; + // truncstore bool -> truncstore byte. def : Pat<(truncstore IntRegs:$src, ADDRrr:$addr, i1), (STBrr IntRegs:$src, ADDRrr:$addr)>; |