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

Brian Gaeke gaeke at cs.uiuc.edu
Wed Jun 9 16:56:08 PDT 2004


Changes in directory llvm/lib/Target/SparcV9:

SparcV9.td updated: 1.31 -> 1.32

---
Log message:

Fix encoding of ST*FSR instructions.


---
Diffs of the changes:  (+7 -7)

Index: llvm/lib/Target/SparcV9/SparcV9.td
diff -u llvm/lib/Target/SparcV9/SparcV9.td:1.31 llvm/lib/Target/SparcV9/SparcV9.td:1.32
--- llvm/lib/Target/SparcV9/SparcV9.td:1.31	Sun Apr 25 02:04:49 2004
+++ llvm/lib/Target/SparcV9/SparcV9.td	Wed Jun  9 16:54:58 2004
@@ -739,17 +739,17 @@
 def STQFi : F3_2rd<3, 0b100110, "stq">;                     // stq r, [r+i]
 */
 
-// FIXME: An encoding needs to be chosen here, because STFSRx expect rd=0,
-// while STXFSRx expect rd=1, but assembly syntax dictates %fsr as first arg.
-// These are being disabled because they aren't used in the SparcV9 backend.
+// WARNING: We encode %fsr as 1, because we only use STXFSRx, but STFSRx wants
+// you to encode %fsr as 0. If STFSRx instrs are ever enabled, this will
+// need to be worked around.
 /*
 let isDeprecated = 1 in {
-  def STFSRr : F3_1<3, 0b100101, "st">;                   // st  %fsr, [r+r]
-  def STFSRi : F3_2<3, 0b100101, "st">;                   // st  %fsr, [r+i]
+  def STFSRr : F3_1rd<3, 0b100101, "st">;                 // st  %fsr, [r+r]
+  def STFSRi : F3_2rd<3, 0b100101, "st">;                 // st  %fsr, [r+i]
 }
 */
-def STXFSRr : F3_1<3, 0b100101, "stx">;                   // stx %fsr, [r+r]
-def STXFSRi : F3_2<3, 0b100101, "stx">;                   // stx %fsr, [r+i]
+def STXFSRr : F3_1rd<3, 0b100101, "stx">;                 // stx %fsr, [r+r]
+def STXFSRi : F3_2rd<3, 0b100101, "stx">;                 // stx %fsr, [r+i]
 
 // Section A.53: Store Floating-Point into Alternate Space - p227
 // Not currently used in the SparcV9 backend





More information about the llvm-commits mailing list