add support for integer extloads
authorChris Lattner <sabre@nondot.org>
Sun, 18 Dec 2005 23:18:37 +0000 (23:18 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 18 Dec 2005 23:18:37 +0000 (23:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24840 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Sparc/SparcInstrInfo.td
lib/Target/SparcV8/SparcV8InstrInfo.td

index bdcb1a2457a56c1b273778e073783c839e26e01b..7ace4e9f2be6148e0d720e5847d84542e6014690 100644 (file)
@@ -713,3 +713,12 @@ def : Pat<(V8lo tconstpool:$in), (ORri G0, tconstpool:$in)>;
 
 // Return of a value, which has an input flag.
 def : Pat<(retflag ICC/*HACK*/), (RETL)>;
+
+// Map integer extload's to zextloads.
+// Handling 1 bit extload
+def : Pat<(i32 (extload ADDRrr:$src, i1)), (LDUBrr ADDRrr:$src)>;
+def : Pat<(i32 (extload ADDRri:$src, i1)), (LDUBri ADDRri:$src)>;
+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)>;
index bdcb1a2457a56c1b273778e073783c839e26e01b..7ace4e9f2be6148e0d720e5847d84542e6014690 100644 (file)
@@ -713,3 +713,12 @@ def : Pat<(V8lo tconstpool:$in), (ORri G0, tconstpool:$in)>;
 
 // Return of a value, which has an input flag.
 def : Pat<(retflag ICC/*HACK*/), (RETL)>;
+
+// Map integer extload's to zextloads.
+// Handling 1 bit extload
+def : Pat<(i32 (extload ADDRrr:$src, i1)), (LDUBrr ADDRrr:$src)>;
+def : Pat<(i32 (extload ADDRri:$src, i1)), (LDUBri ADDRri:$src)>;
+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)>;