aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/Sparc/SparcInstrInfo.td
diff options
context:
space:
mode:
authorBrian Gaeke <gaeke@uiuc.edu>2004-03-06 05:32:13 +0000
committerBrian Gaeke <gaeke@uiuc.edu>2004-03-06 05:32:13 +0000
commita8056fabebbc23c080b7cda81ca8f74eedc1a585 (patch)
tree4d8a7b529c43f4ebff62f9145b613ef05ec14a01 /lib/Target/Sparc/SparcInstrInfo.td
parentbda4a3c61aea14228dfab3d9ce956f870188eb8d (diff)
downloadexternal_llvm-a8056fabebbc23c080b7cda81ca8f74eedc1a585.zip
external_llvm-a8056fabebbc23c080b7cda81ca8f74eedc1a585.tar.gz
external_llvm-a8056fabebbc23c080b7cda81ca8f74eedc1a585.tar.bz2
Sort stanzas into Sparc V8 book page number order.
Add RET, RETL. Rename SAVE, RESTORE & JMPL for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12185 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Sparc/SparcInstrInfo.td')
-rw-r--r--lib/Target/Sparc/SparcInstrInfo.td40
1 files changed, 23 insertions, 17 deletions
diff --git a/lib/Target/Sparc/SparcInstrInfo.td b/lib/Target/Sparc/SparcInstrInfo.td
index 72ad34f..222cded 100644
--- a/lib/Target/Sparc/SparcInstrInfo.td
+++ b/lib/Target/Sparc/SparcInstrInfo.td
@@ -46,21 +46,11 @@ def ADJCALLSTACKUP : InstV8 {
let Name = "ADJCALLSTACKUP";
}
-// Section B.20: SAVE and RESTORE - p117
-def SAVEr : F3_1<2, 0b111100, "save">; // save r, r, r
-def SAVEi : F3_2<2, 0b111100, "save">; // save r, i, r
-def RESTOREr : F3_1<2, 0b111101, "restore">; // restore r, r, r
-def RESTOREi : F3_2<2, 0b111101, "restore">; // restore r, i, r
-
-// Section B.24: Call and Link - p125
-// This is the only Format 1 instruction
-def CALL : InstV8 {
- bits<30> disp;
-
- let op = 1;
- let Inst{29-0} = disp;
- let Name = "call";
-}
+// Section A.3 - Synthetic Instructions, p. 85
+let isReturn = 1, isTerminator = 1, simm13 = 8 in
+ def RET : F3_2<2, 0b111000, "ret">;
+let isReturn = 1, isTerminator = 1, simm13 = 8 in
+ def RETL : F3_2<2, 0b111000, "retl">;
// Section B.9 - SETHI Instruction, p. 104
def SETHIi: F2_1<0b100, "sethi">;
@@ -81,7 +71,23 @@ def ADDrr : F3_1<2, 0b000000, "add">;
// Section B.15 - Subtract Instructions, p. 110
def SUBrr : F3_1<2, 0b000100, "sub">;
+// Section B.20 - SAVE and RESTORE, p. 117
+def SAVErr : F3_1<2, 0b111100, "save">; // save r, r, r
+def SAVEri : F3_2<2, 0b111100, "save">; // save r, i, r
+def RESTORErr : F3_1<2, 0b111101, "restore">; // restore r, r, r
+def RESTOREri : F3_2<2, 0b111101, "restore">; // restore r, i, r
+
+// Section B.24 - Call and Link, p. 125
+// This is the only Format 1 instruction
+def CALL : InstV8 {
+ bits<30> disp;
+ let op = 1;
+ let Inst{29-0} = disp;
+ let Name = "call";
+ let isCall = 1;
+}
+
// Section B.25 - Jump and Link, p. 126
-def JMPLr : F3_1<2, 0b111000, "jmpl">; // jmpl [rs1+rs2], rd
-def JMPLi : F3_2<2, 0b111000, "jmpl">; // jmpl [rs1+imm], rd
+def JMPLrr : F3_1<2, 0b111000, "jmpl">; // jmpl [rs1+rs2], rd
+def JMPLri : F3_2<2, 0b111000, "jmpl">; // jmpl [rs1+imm], rd