Add [reg+reg] integer stores
authorChris Lattner <sabre@nondot.org>
Sat, 17 Dec 2005 20:44:36 +0000 (20:44 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 17 Dec 2005 20:44:36 +0000 (20:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24789 91177308-0d34-0410-b5e6-96231b3b80d8

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

index ea49adbf59faac9fe18e397463fce7d07e35342f..2cafd24d029341d8c8024a38e4d1cc94b51b90af 100644 (file)
@@ -173,18 +173,33 @@ def LDDFri : F3_2<3, 0b100011,
                   [(set DFPRegs:$dst, (load ADDRri:$addr))]>;
 
 // Section B.4 - Store Integer Instructions, p. 95
+def STBrr : F3_1<3, 0b000101,
+                 (ops MEMrr:$addr, IntRegs:$src),
+                 "stb $src, [$addr]",
+                 [(truncstore IntRegs:$src, ADDRrr:$addr, i8)]>;
 def STBri : F3_2<3, 0b000101,
                  (ops MEMri:$addr, IntRegs:$src),
                  "stb $src, [$addr]",
                  [(truncstore IntRegs:$src, ADDRri:$addr, i8)]>;
+def STHrr : F3_1<3, 0b000110,
+                 (ops MEMrr:$addr, IntRegs:$src),
+                 "sth $src, [$addr]",
+                 [(truncstore IntRegs:$src, ADDRrr:$addr, i16)]>;
 def STHri : F3_2<3, 0b000110,
                  (ops MEMri:$addr, IntRegs:$src),
                  "sth $src, [$addr]",
                  [(truncstore IntRegs:$src, ADDRri:$addr, i16)]>;
+def STrr  : F3_1<3, 0b000100,
+                 (ops MEMrr:$addr, IntRegs:$src),
+                 "st $src, [$addr]",
+                 [(store IntRegs:$src, ADDRrr:$addr)]>;
 def STri  : F3_2<3, 0b000100,
                  (ops MEMri:$addr, IntRegs:$src),
                  "st $src, [$addr]",
                  [(store IntRegs:$src, ADDRri:$addr)]>;
+def STDrr : F3_1<3, 0b000111,
+                 (ops MEMrr:$addr, IntRegs:$src),
+                 "std $src, [$addr]", []>;
 def STDri : F3_2<3, 0b000111,
                  (ops MEMri:$addr, IntRegs:$src),
                  "std $src, [$addr]", []>;
index ea49adbf59faac9fe18e397463fce7d07e35342f..2cafd24d029341d8c8024a38e4d1cc94b51b90af 100644 (file)
@@ -173,18 +173,33 @@ def LDDFri : F3_2<3, 0b100011,
                   [(set DFPRegs:$dst, (load ADDRri:$addr))]>;
 
 // Section B.4 - Store Integer Instructions, p. 95
+def STBrr : F3_1<3, 0b000101,
+                 (ops MEMrr:$addr, IntRegs:$src),
+                 "stb $src, [$addr]",
+                 [(truncstore IntRegs:$src, ADDRrr:$addr, i8)]>;
 def STBri : F3_2<3, 0b000101,
                  (ops MEMri:$addr, IntRegs:$src),
                  "stb $src, [$addr]",
                  [(truncstore IntRegs:$src, ADDRri:$addr, i8)]>;
+def STHrr : F3_1<3, 0b000110,
+                 (ops MEMrr:$addr, IntRegs:$src),
+                 "sth $src, [$addr]",
+                 [(truncstore IntRegs:$src, ADDRrr:$addr, i16)]>;
 def STHri : F3_2<3, 0b000110,
                  (ops MEMri:$addr, IntRegs:$src),
                  "sth $src, [$addr]",
                  [(truncstore IntRegs:$src, ADDRri:$addr, i16)]>;
+def STrr  : F3_1<3, 0b000100,
+                 (ops MEMrr:$addr, IntRegs:$src),
+                 "st $src, [$addr]",
+                 [(store IntRegs:$src, ADDRrr:$addr)]>;
 def STri  : F3_2<3, 0b000100,
                  (ops MEMri:$addr, IntRegs:$src),
                  "st $src, [$addr]",
                  [(store IntRegs:$src, ADDRri:$addr)]>;
+def STDrr : F3_1<3, 0b000111,
+                 (ops MEMrr:$addr, IntRegs:$src),
+                 "std $src, [$addr]", []>;
 def STDri : F3_2<3, 0b000111,
                  (ops MEMri:$addr, IntRegs:$src),
                  "std $src, [$addr]", []>;