[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrFPStack.td X86InstrInfo.td X86InstrSSE.td
Evan Cheng
evan.cheng at apple.com
Fri Mar 17 11:56:04 PST 2006
Changes in directory llvm/lib/Target/X86:
X86InstrFPStack.td updated: 1.3 -> 1.4
X86InstrInfo.td updated: 1.254 -> 1.255
X86InstrSSE.td updated: 1.5 -> 1.6
---
Log message:
Move some pattern fragments to the right files.
---
Diffs of the changes: (+37 -27)
X86InstrFPStack.td | 26 ++++++++++++++++++++++++++
X86InstrInfo.td | 28 +---------------------------
X86InstrSSE.td | 10 ++++++++++
3 files changed, 37 insertions(+), 27 deletions(-)
Index: llvm/lib/Target/X86/X86InstrFPStack.td
diff -u llvm/lib/Target/X86/X86InstrFPStack.td:1.3 llvm/lib/Target/X86/X86InstrFPStack.td:1.4
--- llvm/lib/Target/X86/X86InstrFPStack.td:1.3 Tue Feb 21 14:00:20 2006
+++ llvm/lib/Target/X86/X86InstrFPStack.td Fri Mar 17 13:55:52 2006
@@ -13,6 +13,32 @@
//
//===----------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
+// FPStack pattern fragments
+//===----------------------------------------------------------------------===//
+
+def fp32imm0 : PatLeaf<(f32 fpimm), [{
+ return N->isExactlyValue(+0.0);
+}]>;
+
+def fp64imm0 : PatLeaf<(f64 fpimm), [{
+ return N->isExactlyValue(+0.0);
+}]>;
+
+def fp64immneg0 : PatLeaf<(f64 fpimm), [{
+ return N->isExactlyValue(-0.0);
+}]>;
+
+def fp64imm1 : PatLeaf<(f64 fpimm), [{
+ return N->isExactlyValue(+1.0);
+}]>;
+
+def fp64immneg1 : PatLeaf<(f64 fpimm), [{
+ return N->isExactlyValue(-1.0);
+}]>;
+
+def extloadf64f32 : PatFrag<(ops node:$ptr), (f64 (extload node:$ptr, f32))>;
+
// Some 'special' instructions
let usesCustomDAGSchedInserter = 1 in { // Expanded by the scheduler.
def FP_TO_INT16_IN_MEM : I<0, Pseudo,
Index: llvm/lib/Target/X86/X86InstrInfo.td
diff -u llvm/lib/Target/X86/X86InstrInfo.td:1.254 llvm/lib/Target/X86/X86InstrInfo.td:1.255
--- llvm/lib/Target/X86/X86InstrInfo.td:1.254 Thu Mar 16 20:24:04 2006
+++ llvm/lib/Target/X86/X86InstrInfo.td Fri Mar 17 13:55:52 2006
@@ -319,36 +319,14 @@
return (unsigned)N->getValue() == (unsigned char)N->getValue();
}]>;
-def fp32imm0 : PatLeaf<(f32 fpimm), [{
- return N->isExactlyValue(+0.0);
-}]>;
-
-def fp64imm0 : PatLeaf<(f64 fpimm), [{
- return N->isExactlyValue(+0.0);
-}]>;
-
-def fp64immneg0 : PatLeaf<(f64 fpimm), [{
- return N->isExactlyValue(-0.0);
-}]>;
-
-def fp64imm1 : PatLeaf<(f64 fpimm), [{
- return N->isExactlyValue(+1.0);
-}]>;
-
-def fp64immneg1 : PatLeaf<(f64 fpimm), [{
- return N->isExactlyValue(-1.0);
-}]>;
-
// Helper fragments for loads.
def loadi8 : PatFrag<(ops node:$ptr), (i8 (load node:$ptr))>;
def loadi16 : PatFrag<(ops node:$ptr), (i16 (load node:$ptr))>;
def loadi32 : PatFrag<(ops node:$ptr), (i32 (load node:$ptr))>;
+
def loadf32 : PatFrag<(ops node:$ptr), (f32 (load node:$ptr))>;
def loadf64 : PatFrag<(ops node:$ptr), (f64 (load node:$ptr))>;
-def X86loadv4f32 : PatFrag<(ops node:$ptr), (v4f32 (load node:$ptr))>;
-def X86loadv2f64 : PatFrag<(ops node:$ptr), (v2f64 (load node:$ptr))>;
-
def sextloadi16i1 : PatFrag<(ops node:$ptr), (i16 (sextload node:$ptr, i1))>;
def sextloadi32i1 : PatFrag<(ops node:$ptr), (i32 (sextload node:$ptr, i1))>;
def sextloadi16i8 : PatFrag<(ops node:$ptr), (i16 (sextload node:$ptr, i8))>;
@@ -363,10 +341,6 @@
def zextloadi32i16 : PatFrag<(ops node:$ptr), (i32 (zextload node:$ptr, i16))>;
def extloadi8i1 : PatFrag<(ops node:$ptr), (i8 (extload node:$ptr, i1))>;
-def extloadf64f32 : PatFrag<(ops node:$ptr), (f64 (extload node:$ptr, f32))>;
-
-def X86loadpf32 : PatFrag<(ops node:$ptr), (f32 (X86loadp node:$ptr))>;
-def X86loadpf64 : PatFrag<(ops node:$ptr), (f64 (X86loadp node:$ptr))>;
//===----------------------------------------------------------------------===//
// Instruction templates...
Index: llvm/lib/Target/X86/X86InstrSSE.td
diff -u llvm/lib/Target/X86/X86InstrSSE.td:1.5 llvm/lib/Target/X86/X86InstrSSE.td:1.6
--- llvm/lib/Target/X86/X86InstrSSE.td:1.5 Tue Feb 21 20:26:30 2006
+++ llvm/lib/Target/X86/X86InstrSSE.td Fri Mar 17 13:55:52 2006
@@ -14,6 +14,16 @@
//===----------------------------------------------------------------------===//
//===----------------------------------------------------------------------===//
+// SSE pattern fragments
+//===----------------------------------------------------------------------===//
+
+def X86loadpf32 : PatFrag<(ops node:$ptr), (f32 (X86loadp node:$ptr))>;
+def X86loadpf64 : PatFrag<(ops node:$ptr), (f64 (X86loadp node:$ptr))>;
+
+def X86loadv4f32 : PatFrag<(ops node:$ptr), (v4f32 (load node:$ptr))>;
+def X86loadv2f64 : PatFrag<(ops node:$ptr), (v2f64 (load node:$ptr))>;
+
+//===----------------------------------------------------------------------===//
// SSE scalar FP Instructions
//===----------------------------------------------------------------------===//
More information about the llvm-commits
mailing list