From d55e1ca5ef96821d8c96da6f0d79e3f96d810cdd Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 17 Dec 2005 20:44:36 +0000 Subject: [PATCH] Add [reg+reg] integer stores git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24789 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Sparc/SparcInstrInfo.td | 15 +++++++++++++++ lib/Target/SparcV8/SparcV8InstrInfo.td | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/lib/Target/Sparc/SparcInstrInfo.td b/lib/Target/Sparc/SparcInstrInfo.td index ea49adbf59f..2cafd24d029 100644 --- a/lib/Target/Sparc/SparcInstrInfo.td +++ b/lib/Target/Sparc/SparcInstrInfo.td @@ -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]", []>; diff --git a/lib/Target/SparcV8/SparcV8InstrInfo.td b/lib/Target/SparcV8/SparcV8InstrInfo.td index ea49adbf59f..2cafd24d029 100644 --- a/lib/Target/SparcV8/SparcV8InstrInfo.td +++ b/lib/Target/SparcV8/SparcV8InstrInfo.td @@ -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]", []>; -- 2.34.1