diff options
author | Chris Lattner <sabre@nondot.org> | 2005-12-17 20:26:45 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-12-17 20:26:45 +0000 |
commit | 1963783fab96e91cfcba59a4fa08d132040f0a7a (patch) | |
tree | c4d157dc4d24bc5f9ca89d11ec0a4f6d41f072b1 /lib/Target/Sparc | |
parent | 331355cf7da6613ff86732550ccc1d32ee1dce61 (diff) |
Add integer load[r+r] forms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24785 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Sparc')
-rw-r--r-- | lib/Target/Sparc/SparcInstrInfo.td | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/Target/Sparc/SparcInstrInfo.td b/lib/Target/Sparc/SparcInstrInfo.td index 100c4aca59..aceb035fbe 100644 --- a/lib/Target/Sparc/SparcInstrInfo.td +++ b/lib/Target/Sparc/SparcInstrInfo.td @@ -107,26 +107,49 @@ let rd = 0 in "cmp $b, $c", []>; // Section B.1 - Load Integer Instructions, p. 90 +def LDSBrr : F3_1<3, 0b001001, + (ops IntRegs:$dst, MEMrr:$addr), + "ldsb [$addr], $dst", + [(set IntRegs:$dst, (sextload ADDRrr:$addr, i8))]>; def LDSBri : F3_2<3, 0b001001, (ops IntRegs:$dst, MEMri:$addr), "ldsb [$addr], $dst", [(set IntRegs:$dst, (sextload ADDRri:$addr, i8))]>; +def LDSHrr : F3_1<3, 0b001010, + (ops IntRegs:$dst, MEMrr:$addr), + "ldsh [$addr], $dst", + [(set IntRegs:$dst, (sextload ADDRrr:$addr, i16))]>; def LDSHri : F3_2<3, 0b001010, (ops IntRegs:$dst, MEMri:$addr), "ldsh [$addr], $dst", [(set IntRegs:$dst, (sextload ADDRri:$addr, i16))]>; +def LDUBrr : F3_1<3, 0b000001, + (ops IntRegs:$dst, MEMrr:$addr), + "ldub [$addr], $dst", + [(set IntRegs:$dst, (zextload ADDRrr:$addr, i8))]>; def LDUBri : F3_2<3, 0b000001, (ops IntRegs:$dst, MEMri:$addr), "ldub [$addr], $dst", [(set IntRegs:$dst, (zextload ADDRri:$addr, i8))]>; +def LDUHrr : F3_1<3, 0b000010, + (ops IntRegs:$dst, MEMrr:$addr), + "lduh [$addr], $dst", + [(set IntRegs:$dst, (zextload ADDRrr:$addr, i16))]>; def LDUHri : F3_2<3, 0b000010, (ops IntRegs:$dst, MEMri:$addr), "lduh [$addr], $dst", [(set IntRegs:$dst, (zextload ADDRri:$addr, i16))]>; +def LDrr : F3_1<3, 0b000000, + (ops IntRegs:$dst, MEMrr:$addr), + "ld [$addr], $dst", + [(set IntRegs:$dst, (load ADDRrr:$addr))]>; def LDri : F3_2<3, 0b000000, (ops IntRegs:$dst, MEMri:$addr), "ld [$addr], $dst", [(set IntRegs:$dst, (load ADDRri:$addr))]>; +def LDDrr : F3_1<3, 0b000011, + (ops IntRegs:$dst, MEMrr:$addr), + "ldd [$addr], $dst", []>; def LDDri : F3_2<3, 0b000011, (ops IntRegs:$dst, MEMri:$addr), "ldd [$addr], $dst", []>; |