[llvm-commits] CVS: llvm/lib/Target/Sparc/SparcV9.td
Misha Brukman
brukman at cs.uiuc.edu
Tue Jul 29 16:22:01 PDT 2003
Changes in directory llvm/lib/Target/Sparc:
SparcV9.td updated: 1.24 -> 1.25
---
Log message:
* Cleaned up and corrected comments wrt instruction formats
* Enabled STXFSR instructions
---
Diffs of the changes:
Index: llvm/lib/Target/Sparc/SparcV9.td
diff -u llvm/lib/Target/Sparc/SparcV9.td:1.24 llvm/lib/Target/Sparc/SparcV9.td:1.25
--- llvm/lib/Target/Sparc/SparcV9.td:1.24 Mon Jul 7 17:18:42 2003
+++ llvm/lib/Target/Sparc/SparcV9.td Tue Jul 29 16:21:20 2003
@@ -98,7 +98,7 @@
}
// Section A.5: Branch on FP condition codes with prediction - p143
-// Not used in the Sparc backend
+// Not used in the Sparc backend (directly)
#if 0
set op2 = 0b101 in {
def FBPA : F2_3<0b1000, "fba">; // Branch always
@@ -121,7 +121,7 @@
#endif
// Section A.6: Branch on Integer condition codes (Bicc) - p146
-#if 0 /* instead of using deprecated version, use the predicted version below */
+#if 0
set isDeprecated = 1 in {
set op2 = 0b010 in {
def BA : F2_2<0b1000, "ba">; // Branch always
@@ -146,7 +146,7 @@
// Using the format of A.7 instructions...
set op2 = 0b001 in {
- set cc = 0 in { // BA and BN don't read condition codes
+ set cc = 0 in { // BA and BN don't read condition codes
def BA : F2_3<0b1000, "ba">; // Branch always
def BN : F2_3<0b0000, "bn">; // Branch never
}
@@ -226,13 +226,13 @@
}
#endif
-// Section A.12: Floating-Point Add and Subtract - p182
-def FADDS : F3_16<2, 0b110100, 0x41, "fadds">; // fadds f, f, f
-def FADDD : F3_16<2, 0b110100, 0x42, "faddd">; // faddd f, f, f
-def FADDQ : F3_16<2, 0b110100, 0x43, "faddq">; // faddq f, f, f
-def FSUBS : F3_16<2, 0b110100, 0x45, "fsubs">; // fsubs f, f, f
-def FSUBD : F3_16<2, 0b110100, 0x46, "fsubd">; // fsubd f, f, f
-def FSUBQ : F3_16<2, 0b110100, 0x47, "fsubq">; // fsubq f, f, f
+// Section A.12: Floating-Point Add and Subtract - p156
+def FADDS : F3_16<2, 0b110100, 0x41, "fadds">; // fadds frs1, frs2, frd
+def FADDD : F3_16<2, 0b110100, 0x42, "faddd">; // faddd frs1, frs2, frd
+def FADDQ : F3_16<2, 0b110100, 0x43, "faddq">; // faddq frs1, frs2, frd
+def FSUBS : F3_16<2, 0b110100, 0x45, "fsubs">; // fsubs frs1, frs2, frd
+def FSUBD : F3_16<2, 0b110100, 0x46, "fsubd">; // fsubd frs1, frs2, frd
+def FSUBQ : F3_16<2, 0b110100, 0x47, "fsubq">; // fsubq frs1, frs2, frd
// Section A.13: Floating-point compare - p159
def FCMPS : F3_15<2, 0b110101, 0b001010001, "fcmps">; // fcmps %fcc, r1, r2
@@ -590,7 +590,7 @@
def MOVFOr : F4_3<2, 0b101100, 0b1111, "movfo">; // movfo i/xcc, rs2, rd
def MOVFOi : F4_4<2, 0b101100, 0b1111, "movfo">; // movfo i/xcc, imm, rd
-// Section A.36: Move Integer Register on Register Condition (MOVR)
+// Section A.36: Move Integer Register on Register Condition (MOVR) - p198
def MOVRZr : F3_5<2, 0b101111, 0b001, "movrz">; // movrz rs1, rs2, rd
def MOVRZi : F3_6<2, 0b101111, 0b001, "movrz">; // movrz rs1, imm, rd
def MOVRLEZr : F3_5<2, 0b101111, 0b010, "movrlez">; // movrlez rs1, rs2, rd
@@ -737,9 +737,9 @@
def STFSRr : F3_1<3, 0b100101, "st">; // st %fsr, [r+r]
def STFSRi : F3_2<3, 0b100101, "st">; // st %fsr, [r+i]
}
+#endif
def STXFSRr : F3_1<3, 0b100101, "stx">; // stx %fsr, [r+r]
def STXFSRi : F3_2<3, 0b100101, "stx">; // stx %fsr, [r+i]
-#endif
// Section A.53: Store Floating-Point into Alternate Space - p227
// Not currently used in the Sparc backend
@@ -748,12 +748,12 @@
// Store instructions all want their rd register first
def STBr : F3_1rd<3, 0b000101, "stb">; // stb r, [r+r]
def STBi : F3_2rd<3, 0b000101, "stb">; // stb r, [r+i]
-def STHr : F3_1rd<3, 0b000110, "sth">; // stb r, [r+r]
-def STHi : F3_2rd<3, 0b000110, "sth">; // stb r, [r+i]
-def STWr : F3_1rd<3, 0b000100, "stw">; // stb r, [r+r]
-def STWi : F3_2rd<3, 0b000100, "stw">; // stb r, [r+i]
-def STXr : F3_1rd<3, 0b001110, "stx">; // stb r, [r+r]
-def STXi : F3_2rd<3, 0b001110, "stx">; // stb r, [r+i]
+def STHr : F3_1rd<3, 0b000110, "sth">; // sth r, [r+r]
+def STHi : F3_2rd<3, 0b000110, "sth">; // sth r, [r+i]
+def STWr : F3_1rd<3, 0b000100, "stw">; // stw r, [r+r]
+def STWi : F3_2rd<3, 0b000100, "stw">; // stw r, [r+i]
+def STXr : F3_1rd<3, 0b001110, "stx">; // stx r, [r+r]
+def STXi : F3_2rd<3, 0b001110, "stx">; // stx r, [r+i]
// Section A.55: Store Integer into Alternate Space - p231
// Not currently used in the Sparc backend
More information about the llvm-commits
mailing list