aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMisha Brukman <brukman+llvm@gmail.com>2004-09-22 21:38:42 +0000
committerMisha Brukman <brukman+llvm@gmail.com>2004-09-22 21:38:42 +0000
commitc42077d37194a1872dc402522d4d7a0e81f83047 (patch)
tree6042a2a00b5794c163e6e71bd9b4666db284d708 /lib
parent31b5edd2e996cbf28db7630a38d1a24dc13ec9a4 (diff)
downloadexternal_llvm-c42077d37194a1872dc402522d4d7a0e81f83047.zip
external_llvm-c42077d37194a1872dc402522d4d7a0e81f83047.tar.gz
external_llvm-c42077d37194a1872dc402522d4d7a0e81f83047.tar.bz2
Combine the F2 and F3 instruction classes into one file for simplicity
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16484 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/Sparc/SparcInstrFormats.td (renamed from lib/Target/Sparc/SparcV8InstrInfo_F3.td)42
-rw-r--r--lib/Target/Sparc/SparcInstrInfo.td3
-rw-r--r--lib/Target/Sparc/SparcV8InstrInfo_F2.td44
-rw-r--r--lib/Target/SparcV8/SparcV8InstrFormats.td (renamed from lib/Target/SparcV8/SparcV8InstrInfo_F3.td)42
-rw-r--r--lib/Target/SparcV8/SparcV8InstrInfo.td3
-rw-r--r--lib/Target/SparcV8/SparcV8InstrInfo_F2.td44
6 files changed, 80 insertions, 98 deletions
diff --git a/lib/Target/Sparc/SparcV8InstrInfo_F3.td b/lib/Target/Sparc/SparcInstrFormats.td
index 4906b9d..cef4ecb 100644
--- a/lib/Target/Sparc/SparcV8InstrInfo_F3.td
+++ b/lib/Target/Sparc/SparcInstrFormats.td
@@ -1,14 +1,50 @@
-//===- SparcV8Instrs_F3.td - Format 3 Instructions: SparcV8 Target --------===//
-//
+//===- SparcV8InstrFormats.td - SparcV8 Instr Formats ------*- tablegen -*-===//
+//
// The LLVM Compiler Infrastructure
//
// This file was developed by the LLVM research group and is distributed under
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
+
+//===----------------------------------------------------------------------===//
+// Format #2 instruction classes in the SparcV8
+//===----------------------------------------------------------------------===//
+
+class F2 : InstV8 { // Format 2 instructions
+ bits<3> op2;
+ bits<22> imm22;
+ let op = 0; // op = 0
+ let Inst{24-22} = op2;
+ let Inst{21-0} = imm22;
+}
+
+// Specific F2 classes: SparcV8 manual, page 44
//
+class F2_1<bits<3> op2Val, string name> : F2 {
+ bits<5> rd;
+ bits<22> imm;
+
+ let op2 = op2Val;
+ let Name = name;
+
+ let Inst{29-25} = rd;
+}
+
+class F2_2<bits<4> condVal, bits<3> op2Val, string name> : F2 {
+ bits<4> cond;
+ bit annul = 0; // currently unused
+
+ let cond = condVal;
+ let op2 = op2Val;
+ let Name = name;
+
+ let Inst{29} = annul;
+ let Inst{28-25} = cond;
+}
+
+//===----------------------------------------------------------------------===//
// Format #3 instruction classes in the SparcV8
-//
//===----------------------------------------------------------------------===//
class F3 : InstV8 {
diff --git a/lib/Target/Sparc/SparcInstrInfo.td b/lib/Target/Sparc/SparcInstrInfo.td
index 07491eb..110ac8b 100644
--- a/lib/Target/Sparc/SparcInstrInfo.td
+++ b/lib/Target/Sparc/SparcInstrInfo.td
@@ -28,8 +28,7 @@ class InstV8 : Instruction { // SparcV8 instruction baseline
bit isPrivileged = 0; // Is this a privileged instruction?
}
-include "SparcV8InstrInfo_F2.td"
-include "SparcV8InstrInfo_F3.td"
+include "SparcV8InstrFormats.td"
//===----------------------------------------------------------------------===//
// Instructions
diff --git a/lib/Target/Sparc/SparcV8InstrInfo_F2.td b/lib/Target/Sparc/SparcV8InstrInfo_F2.td
deleted file mode 100644
index 7b550bd..0000000
--- a/lib/Target/Sparc/SparcV8InstrInfo_F2.td
+++ /dev/null
@@ -1,44 +0,0 @@
-//===- SparcV8Instrs_F2.td - Format 2 instructions: SparcV8 Target --------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// Format #2 instruction classes in the SparcV8
-//
-//===----------------------------------------------------------------------===//
-
-class F2 : InstV8 { // Format 2 instructions
- bits<3> op2;
- bits<22> imm22;
- let op = 0; // op = 0
- let Inst{24-22} = op2;
- let Inst{21-0} = imm22;
-}
-
-// Specific F2 classes: SparcV8 manual, page 44
-//
-class F2_1<bits<3> op2Val, string name> : F2 {
- bits<5> rd;
- bits<22> imm;
-
- let op2 = op2Val;
- let Name = name;
-
- let Inst{29-25} = rd;
-}
-
-class F2_2<bits<4> condVal, bits<3> op2Val, string name> : F2 {
- bits<4> cond;
- bit annul = 0; // currently unused
-
- let cond = condVal;
- let op2 = op2Val;
- let Name = name;
-
- let Inst{29} = annul;
- let Inst{28-25} = cond;
-}
diff --git a/lib/Target/SparcV8/SparcV8InstrInfo_F3.td b/lib/Target/SparcV8/SparcV8InstrFormats.td
index 4906b9d..cef4ecb 100644
--- a/lib/Target/SparcV8/SparcV8InstrInfo_F3.td
+++ b/lib/Target/SparcV8/SparcV8InstrFormats.td
@@ -1,14 +1,50 @@
-//===- SparcV8Instrs_F3.td - Format 3 Instructions: SparcV8 Target --------===//
-//
+//===- SparcV8InstrFormats.td - SparcV8 Instr Formats ------*- tablegen -*-===//
+//
// The LLVM Compiler Infrastructure
//
// This file was developed by the LLVM research group and is distributed under
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
+
+//===----------------------------------------------------------------------===//
+// Format #2 instruction classes in the SparcV8
+//===----------------------------------------------------------------------===//
+
+class F2 : InstV8 { // Format 2 instructions
+ bits<3> op2;
+ bits<22> imm22;
+ let op = 0; // op = 0
+ let Inst{24-22} = op2;
+ let Inst{21-0} = imm22;
+}
+
+// Specific F2 classes: SparcV8 manual, page 44
//
+class F2_1<bits<3> op2Val, string name> : F2 {
+ bits<5> rd;
+ bits<22> imm;
+
+ let op2 = op2Val;
+ let Name = name;
+
+ let Inst{29-25} = rd;
+}
+
+class F2_2<bits<4> condVal, bits<3> op2Val, string name> : F2 {
+ bits<4> cond;
+ bit annul = 0; // currently unused
+
+ let cond = condVal;
+ let op2 = op2Val;
+ let Name = name;
+
+ let Inst{29} = annul;
+ let Inst{28-25} = cond;
+}
+
+//===----------------------------------------------------------------------===//
// Format #3 instruction classes in the SparcV8
-//
//===----------------------------------------------------------------------===//
class F3 : InstV8 {
diff --git a/lib/Target/SparcV8/SparcV8InstrInfo.td b/lib/Target/SparcV8/SparcV8InstrInfo.td
index 07491eb..110ac8b 100644
--- a/lib/Target/SparcV8/SparcV8InstrInfo.td
+++ b/lib/Target/SparcV8/SparcV8InstrInfo.td
@@ -28,8 +28,7 @@ class InstV8 : Instruction { // SparcV8 instruction baseline
bit isPrivileged = 0; // Is this a privileged instruction?
}
-include "SparcV8InstrInfo_F2.td"
-include "SparcV8InstrInfo_F3.td"
+include "SparcV8InstrFormats.td"
//===----------------------------------------------------------------------===//
// Instructions
diff --git a/lib/Target/SparcV8/SparcV8InstrInfo_F2.td b/lib/Target/SparcV8/SparcV8InstrInfo_F2.td
deleted file mode 100644
index 7b550bd..0000000
--- a/lib/Target/SparcV8/SparcV8InstrInfo_F2.td
+++ /dev/null
@@ -1,44 +0,0 @@
-//===- SparcV8Instrs_F2.td - Format 2 instructions: SparcV8 Target --------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// Format #2 instruction classes in the SparcV8
-//
-//===----------------------------------------------------------------------===//
-
-class F2 : InstV8 { // Format 2 instructions
- bits<3> op2;
- bits<22> imm22;
- let op = 0; // op = 0
- let Inst{24-22} = op2;
- let Inst{21-0} = imm22;
-}
-
-// Specific F2 classes: SparcV8 manual, page 44
-//
-class F2_1<bits<3> op2Val, string name> : F2 {
- bits<5> rd;
- bits<22> imm;
-
- let op2 = op2Val;
- let Name = name;
-
- let Inst{29-25} = rd;
-}
-
-class F2_2<bits<4> condVal, bits<3> op2Val, string name> : F2 {
- bits<4> cond;
- bit annul = 0; // currently unused
-
- let cond = condVal;
- let op2 = op2Val;
- let Name = name;
-
- let Inst{29} = annul;
- let Inst{28-25} = cond;
-}