aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/Sparc/SparcInstrInfo.td9
-rw-r--r--lib/Target/SparcV8/SparcV8InstrInfo.td9
2 files changed, 12 insertions, 6 deletions
diff --git a/lib/Target/Sparc/SparcInstrInfo.td b/lib/Target/Sparc/SparcInstrInfo.td
index bc137017c0..ea49adbf59 100644
--- a/lib/Target/Sparc/SparcInstrInfo.td
+++ b/lib/Target/Sparc/SparcInstrInfo.td
@@ -175,13 +175,16 @@ def LDDFri : F3_2<3, 0b100011,
// Section B.4 - Store Integer Instructions, p. 95
def STBri : F3_2<3, 0b000101,
(ops MEMri:$addr, IntRegs:$src),
- "stb $src, [$addr]", []>;
+ "stb $src, [$addr]",
+ [(truncstore IntRegs:$src, ADDRri:$addr, i8)]>;
def STHri : F3_2<3, 0b000110,
(ops MEMri:$addr, IntRegs:$src),
- "sth $src, [$addr]", []>;
+ "sth $src, [$addr]",
+ [(truncstore IntRegs:$src, ADDRri:$addr, i16)]>;
def STri : F3_2<3, 0b000100,
(ops MEMri:$addr, IntRegs:$src),
- "st $src, [$addr]", []>;
+ "st $src, [$addr]",
+ [(store IntRegs:$src, ADDRri:$addr)]>;
def STDri : F3_2<3, 0b000111,
(ops MEMri:$addr, IntRegs:$src),
"std $src, [$addr]", []>;
diff --git a/lib/Target/SparcV8/SparcV8InstrInfo.td b/lib/Target/SparcV8/SparcV8InstrInfo.td
index bc137017c0..ea49adbf59 100644
--- a/lib/Target/SparcV8/SparcV8InstrInfo.td
+++ b/lib/Target/SparcV8/SparcV8InstrInfo.td
@@ -175,13 +175,16 @@ def LDDFri : F3_2<3, 0b100011,
// Section B.4 - Store Integer Instructions, p. 95
def STBri : F3_2<3, 0b000101,
(ops MEMri:$addr, IntRegs:$src),
- "stb $src, [$addr]", []>;
+ "stb $src, [$addr]",
+ [(truncstore IntRegs:$src, ADDRri:$addr, i8)]>;
def STHri : F3_2<3, 0b000110,
(ops MEMri:$addr, IntRegs:$src),
- "sth $src, [$addr]", []>;
+ "sth $src, [$addr]",
+ [(truncstore IntRegs:$src, ADDRri:$addr, i16)]>;
def STri : F3_2<3, 0b000100,
(ops MEMri:$addr, IntRegs:$src),
- "st $src, [$addr]", []>;
+ "st $src, [$addr]",
+ [(store IntRegs:$src, ADDRri:$addr)]>;
def STDri : F3_2<3, 0b000111,
(ops MEMri:$addr, IntRegs:$src),
"std $src, [$addr]", []>;