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 //===----------------------------------------------------------------------===// _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits