[llvm-commits] CVS: llvm/lib/Target/Sparc/SparcV9.td

Misha Brukman brukman at cs.uiuc.edu
Mon Jun 2 20:17:01 PDT 2003


Changes in directory llvm/lib/Target/Sparc:

SparcV9.td updated: 1.10 -> 1.11

---
Log message:

* Added section A.34: Move FP register on int reg condition (FMOVr)
* Labeled sections that are not currently used in the Sparc backend as not
  requiring completion at this time.


---
Diffs of the changes:

Index: llvm/lib/Target/Sparc/SparcV9.td
diff -u llvm/lib/Target/Sparc/SparcV9.td:1.10 llvm/lib/Target/Sparc/SparcV9.td:1.11
--- llvm/lib/Target/Sparc/SparcV9.td:1.10	Mon Jun  2 16:16:54 2003
+++ llvm/lib/Target/Sparc/SparcV9.td	Mon Jun  2 20:16:27 2003
@@ -252,10 +252,10 @@
 // FIXME: A.21: Flush Register Windows - p169
 
 // A.22: Illegal instruction Trap - p170
-// Not used
+// Not currently used
 
 // A.23: Implementation-Dependent Instructions - p171
-// Not used
+// Not currently used
 
 // Section A.24: Jump and Link - p172
 // Mimicking the Sparc's instr def...
@@ -337,8 +337,8 @@
 // Section A.32: Memory Barrier - p186
 // Not currently used in the Sparc backend
 
-#if 0
 // Section A.33: Move Floating-Point Register on Condition (FMOVcc)
+#if 0
 // For integer condition codes
 def FMOVA   : F4_7<2, 0b110101, 0b1000, "fmova">;        // fmova r, r
 def FMOVN   : F4_7<2, 0b110101, 0b0000, "fmovn">;        // fmovn r, r
@@ -376,7 +376,27 @@
 def FMOVFO   : F4_7<2, 0b110101, 0b1111, "fmovfo">;      // fmovfo r, r
 #endif
 
-// FIXME: Section A.34: Move F-P Register on Integer Register (FMOVr)
+// Section A.34: Move FP Register on Integer Register condition (FMOVr) - p192
+def FMOVRSZ   : F4_6<2, 0b110101, 0b001, 0b00101, "fmovrsz">;  //fmovsrz r,r,rd
+def FMOVRSLEZ : F4_6<2, 0b110101, 0b010, 0b00101, "fmovrslez">;//fmovsrz r,r,rd
+def FMOVRSLZ  : F4_6<2, 0b110101, 0b011, 0b00101, "fmovrslz">; //fmovsrz r,r,rd
+def FMOVRSNZ  : F4_6<2, 0b110101, 0b101, 0b00101, "fmovrsne">; //fmovsrz r,r,rd
+def FMOVRSGZ  : F4_6<2, 0b110101, 0b110, 0b00101, "fmovrsgz">; //fmovsrz r,r,rd
+def FMOVRSGEZ : F4_6<2, 0b110101, 0b111, 0b00101, "fmovrsgez">;//fmovsrz r,r,rd
+
+def FMOVRDZ   : F4_6<2, 0b110101, 0b001, 0b00110, "fmovrdz">;  //fmovsrz r,r,rd
+def FMOVRDLEZ : F4_6<2, 0b110101, 0b010, 0b00110, "fmovrdlez">;//fmovsrz r,r,rd
+def FMOVRDLZ  : F4_6<2, 0b110101, 0b011, 0b00110, "fmovrdlz">; //fmovsrz r,r,rd
+def FMOVRDNZ  : F4_6<2, 0b110101, 0b101, 0b00110, "fmovrdne">; //fmovsrz r,r,rd
+def FMOVRDGZ  : F4_6<2, 0b110101, 0b110, 0b00110, "fmovrdgz">; //fmovsrz r,r,rd
+def FMOVRDGEZ : F4_6<2, 0b110101, 0b111, 0b00110, "fmovrdgez">;//fmovsrz r,r,rd
+
+def FMOVRQZ   : F4_6<2, 0b110101, 0b001, 0b00111, "fmovrqz">;  //fmovsrz r,r,rd
+def FMOVRQLEZ : F4_6<2, 0b110101, 0b010, 0b00111, "fmovrqlez">;//fmovsrz r,r,rd
+def FMOVRQLZ  : F4_6<2, 0b110101, 0b011, 0b00111, "fmovrqlz">; //fmovsrz r,r,rd
+def FMOVRQNZ  : F4_6<2, 0b110101, 0b101, 0b00111, "fmovrqne">; //fmovsrz r,r,rd
+def FMOVRQGZ  : F4_6<2, 0b110101, 0b110, 0b00111, "fmovrqgz">; //fmovsrz r,r,rd
+def FMOVRQGEZ : F4_6<2, 0b110101, 0b111, 0b00111, "fmovrqgez">;//fmovsrz r,r,rd
 
 
 // Section A.35: Move Integer Register on Condition (MOVcc) - p194
@@ -487,7 +507,8 @@
 }
 #endif
 
-// Section A.39: FIXME
+// Section A.39: Multiply Step - p202
+// Not currently used in the Sparc backend
 
 // Section A.40: No operation - p204
 // NOP is really a pseudo-instruction (special case of SETHI)
@@ -499,9 +520,14 @@
   }
 }
 
-// Section A.41: FIXME
-// Section A.42: FIXME
-// Section A.43: FIXME
+// Section A.41: Population Count - p205
+// Not currently used in the Sparc backend
+
+// Section A.42: Prefetch Data - p206
+// Not currently used in the Sparc backend
+
+// Section A.43: Read Privileged Register - p211
+// Not currently used in the Sparc backend
 
 // Section A.44: Read State Register
 // The only instr from this section currently used is RDCCR
@@ -570,9 +596,11 @@
 def SRLXi6 : F3_13<2, 0b100110, "srlx">;                 // srlx r, shcnt64, r
 def SRAXi6 : F3_13<2, 0b100111, "srax">;                 // srax r, shcnt64, r
 
-// Section A.50: FIXME
+// Section A.50: Sofware-Initiated Reset - p223
+// Not currently used in the Sparc backend
 
-// Section A.51: FIXME
+// Section A.51: Store Barrier - p224
+// Not currently used in the Sparc backend
 
 // Section A.52: Store Floating-point -p225
 def STFr  : F3_1<3, 0b100100, "st">;                      // st r, [r+r]
@@ -593,7 +621,8 @@
 def STXFSRr : F3_1<3, 0b100101, "stq">;                   // stx r, [r+r]
 def STXFSRi : F3_2<3, 0b100101, "stq">;                   // stx r, [r+i]
 
-// Section A.53: FIXME
+// Section A.53: Store Floating-Point into Alternate Space - p227
+// Not currently used in the Sparc backend
 
 // Section A.54: Store Integer - p229
 def STBr : F3_1<3, 0b000101, "stb">;                     // stb r, [r+r]
@@ -605,8 +634,8 @@
 def STXr : F3_1<3, 0b001110, "stb">;                     // stb r, [r+r]
 def STXi : F3_2<3, 0b001110, "stb">;                     // stb r, [r+i]
 
-// Floating point store...
-// Section A.55: FIXME
+// Section A.55: Store Integer into Alternate Space - p231
+// Not currently used in the Sparc backend
 
 // Section A.56: Subtract - p233
 def SUBr    : F3_1<2, 0b000100, "sub">;                   // sub r, r, r





More information about the llvm-commits mailing list