[llvm-commits] CVS: llvm/include/llvm/Target/TargetLowering.h
Changes in directory llvm/include/llvm/Target: TargetLowering.h updated: 1.67 - 1.68 --- Log message: Provide a default impl of LowerArguments --- Diffs of the changes: (+1 -1) TargetLowering.h |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/include/llvm/Target/TargetLowering.h diff -u llvm/include/llvm/Target/TargetLowering.h:1.67 llvm/include/llvm/Target/TargetLowering.h:1.68 --- llvm/include/llvm/Target/TargetLowering.h:1.67 Tue Apr 4 12:21:22 2006 +++ llvm/include/llvm/Target/TargetLowering.h Wed Apr 12 11:21:12 2006 @@ -524,7 +524,7 @@ /// LowerArguments - This hook must be implemented to indicate how we should /// lower the arguments for the specified function, into the specified DAG. virtual std::vectorSDOperand - LowerArguments(Function F, SelectionDAG DAG) = 0; + LowerArguments(Function F, SelectionDAG DAG); /// LowerCallTo - This hook lowers an abstract call to a function into an /// actual call. This returns a pair of operands. The first element is the ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp SelectionDAG.cpp SelectionDAGISel.cpp
Changes in directory llvm/lib/CodeGen/SelectionDAG: LegalizeDAG.cpp updated: 1.361 - 1.362 SelectionDAG.cpp updated: 1.298 - 1.299 SelectionDAGISel.cpp updated: 1.221 - 1.222 --- Log message: Implement support for the formal_arguments node. To get this, targets shouldcustom legalize it and remove their XXXTargetLowering::LowerArguments overload --- Diffs of the changes: (+128 -3) LegalizeDAG.cpp | 11 +++- SelectionDAG.cpp |1 SelectionDAGISel.cpp | 119 +++ 3 files changed, 128 insertions(+), 3 deletions(-) Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.361 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.362 --- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.361 Tue Apr 11 01:33:39 2006 +++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Wed Apr 12 11:20:43 2006 @@ -826,7 +826,13 @@ Result = DAG.UpdateNodeOperands(Result, Ops); } break; - + + case ISD::FORMAL_ARGUMENTS: +// The only option for this is to custom lower it. +Result = TLI.LowerOperation(Result, DAG); +assert(Result.Val Target didn't custom lower ISD::FORMAL_ARGUMENTS!); +break; + case ISD::BUILD_VECTOR: switch (TLI.getOperationAction(ISD::BUILD_VECTOR, Node-getValueType(0))) { default: assert(0 This action is not supported yet!); @@ -2782,7 +2788,7 @@ Result = DAG.getNode(ISD::SETCC, TLI.getSetCCResultTy(),Node-getOperand(0), Node-getOperand(1), Node-getOperand(2)); break; - + case ISD::TRUNCATE: switch (getTypeAction(Node-getOperand(0).getValueType())) { case Legal: @@ -4057,7 +4063,6 @@ } } - /// ExpandOp - Expand the specified SDOperand into its two component pieces /// LoHi. Note that the Op MUST be an expanded type. As a result of this, the /// LegalizeNodes map is filled in for any results that are not expanded, the Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.298 llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.299 --- llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.298Tue Apr 11 22:25:41 2006 +++ llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Wed Apr 12 11:20:43 2006 @@ -2714,6 +2714,7 @@ case ISD::MERGE_VALUES: return mergevalues; case ISD::INLINEASM: return inlineasm; case ISD::HANDLENODE:return handlenode; + case ISD::FORMAL_ARGUMENTS: return formal_arguments; // Unary operators case ISD::FABS: return fabs; Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.221 llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.222 --- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.221Sat Apr 8 17:22:57 2006 +++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Wed Apr 12 11:20:43 2006 @@ -2230,6 +2230,125 @@ DAG.getSrcValue(I.getOperand(2; } +/// TargetLowering::LowerArguments - This is the default LowerArguments +/// implementation, which just inserts a FORMAL_ARGUMENTS node. FIXME: When all +/// targets are migrated to using FORMAL_ARGUMENTS, this hook should be removed. +std::vectorSDOperand +TargetLowering::LowerArguments(Function F, SelectionDAG DAG) { + // Add CC# and isVararg as operands to the FORMAL_ARGUMENTS node. + std::vectorSDOperand Ops; + Ops.push_back(DAG.getConstant(F.getCallingConv(), getPointerTy())); + Ops.push_back(DAG.getConstant(F.isVarArg(), getPointerTy())); + + // Add one result value for each formal argument. + std::vectorMVT::ValueType RetVals; + for (Function::arg_iterator I = F.arg_begin(), E = F.arg_end(); I != E; ++I) { +MVT::ValueType VT = getValueType(I-getType()); + +switch (getTypeAction(VT)) { +default: assert(0 Unknown type action!); +case Legal: + RetVals.push_back(VT); + break; +case Promote: + RetVals.push_back(getTypeToTransformTo(VT)); + break; +case Expand: + if (VT != MVT::Vector) { +// If this is a large integer, it needs to be broken up into small +// integers. Figure out what the destination type is and how many small +// integers it turns into. +MVT::ValueType NVT = getTypeToTransformTo(VT); +unsigned NumVals = MVT::getSizeInBits(VT)/MVT::getSizeInBits(NVT); +for (unsigned i = 0; i != NumVals; ++i) + RetVals.push_back(NVT); + } else { +// Otherwise, this is a vector type. We only support legal vectors +// right now. +unsigned NumElems = castPackedType(I-getType())-getNumElements(); +const Type *EltTy = castPackedType(I-getType())-getElementType(); + +// Figure out if there is a Packed type corresponding to this Vector +// type. If so, convert to the packed type. +MVT::ValueType TVT =
[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Changes in directory llvm/lib/CodeGen/SelectionDAG: LegalizeDAG.cpp updated: 1.362 - 1.363 --- Log message: Vector type promotion for ISD::LOAD and ISD::SELECT --- Diffs of the changes: (+23 -9) LegalizeDAG.cpp | 32 +++- 1 files changed, 23 insertions(+), 9 deletions(-) Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.362 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.363 --- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.362 Wed Apr 12 11:20:43 2006 +++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Wed Apr 12 11:33:18 2006 @@ -1256,25 +1256,36 @@ MVT::ValueType VT = Node-getValueType(0); Result = DAG.UpdateNodeOperands(Result, Tmp1, Tmp2, Node-getOperand(2)); -Tmp2 = Result.getValue(0); -Tmp3 = Result.getValue(1); +Tmp3 = Result.getValue(0); +Tmp4 = Result.getValue(1); switch (TLI.getOperationAction(Node-getOpcode(), VT)) { default: assert(0 This action is not supported yet!); case TargetLowering::Legal: break; case TargetLowering::Custom: - Tmp1 = TLI.LowerOperation(Tmp2, DAG); + Tmp1 = TLI.LowerOperation(Tmp3, DAG); if (Tmp1.Val) { -Tmp2 = LegalizeOp(Tmp1); -Tmp3 = LegalizeOp(Tmp1.getValue(1)); +Tmp3 = LegalizeOp(Tmp1); +Tmp4 = LegalizeOp(Tmp1.getValue(1)); } break; +case TargetLowering::Promote: { + // Only promote a load of vector type to another. + assert(MVT::isVector(VT) Cannot promote this load!); + // Change base type to a different vector type. + MVT::ValueType NVT = TLI.getTypeToPromoteTo(Node-getOpcode(), VT); + + Tmp1 = DAG.getLoad(NVT, Tmp1, Tmp2, Node-getOperand(2)); + Tmp3 = LegalizeOp(DAG.getNode(ISD::BIT_CONVERT, VT, Tmp1)); + Tmp4 = LegalizeOp(Tmp1.getValue(1)); + break; +} } // Since loads produce two values, make sure to remember that we // legalized both of them. -AddLegalizedOperand(SDOperand(Node, 0), Tmp2); -AddLegalizedOperand(SDOperand(Node, 1), Tmp3); -return Op.ResNo ? Tmp3 : Tmp2; +AddLegalizedOperand(SDOperand(Node, 0), Tmp3); +AddLegalizedOperand(SDOperand(Node, 1), Tmp4); +return Op.ResNo ? Tmp4 : Tmp3; } case ISD::EXTLOAD: case ISD::SEXTLOAD: @@ -1755,7 +1766,10 @@ MVT::ValueType NVT = TLI.getTypeToPromoteTo(ISD::SELECT, Tmp2.getValueType()); unsigned ExtOp, TruncOp; - if (MVT::isInteger(Tmp2.getValueType())) { + if (MVT::isVector(Tmp2.getValueType())) { +ExtOp = ISD::BIT_CONVERT; +TruncOp = ISD::BIT_CONVERT; + } else if (MVT::isInteger(Tmp2.getValueType())) { ExtOp = ISD::ANY_EXTEND; TruncOp = ISD::TRUNCATE; } else { ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/include/llvm/CodeGen/SelectionDAGNodes.h
Changes in directory llvm/include/llvm/CodeGen: SelectionDAGNodes.h updated: 1.128 - 1.129 --- Log message: Make sure both member variables are initialized in the default constructor for SDOperand. This gets rid of numerous warnings in lib/CodeGen and lib/Target when compiled with GCC 4.0.2 --- Diffs of the changes: (+1 -1) SelectionDAGNodes.h |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/include/llvm/CodeGen/SelectionDAGNodes.h diff -u llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.128 llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.129 --- llvm/include/llvm/CodeGen/SelectionDAGNodes.h:1.128 Tue Apr 11 16:30:42 2006 +++ llvm/include/llvm/CodeGen/SelectionDAGNodes.h Wed Apr 12 11:44:15 2006 @@ -609,7 +609,7 @@ SDNode *Val;// The node defining the value we are using. unsigned ResNo; // Which return value of the node we are using. - SDOperand() : Val(0) {} + SDOperand() : Val(0), ResNo(0) {} SDOperand(SDNode *val, unsigned resno) : Val(val), ResNo(resno) {} bool operator==(const SDOperand O) const { ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/PowerPC/vxor-canonicalize.ll
Changes in directory llvm/test/Regression/CodeGen/PowerPC: vxor-canonicalize.ll added (r1.1) --- Log message: new testcase --- Diffs of the changes: (+9 -0) vxor-canonicalize.ll |9 + 1 files changed, 9 insertions(+) Index: llvm/test/Regression/CodeGen/PowerPC/vxor-canonicalize.ll diff -c /dev/null llvm/test/Regression/CodeGen/PowerPC/vxor-canonicalize.ll:1.1 *** /dev/null Wed Apr 12 11:49:26 2006 --- llvm/test/Regression/CodeGen/PowerPC/vxor-canonicalize.ll Wed Apr 12 11:49:16 2006 *** *** 0 --- 1,9 + ; RUN: llvm-as %s | llc -march=ppc32 -mcpu=g5 | grep vxor | wc -l | grep 1 + ; There should be exactly one vxor here, not two. + + void %test(4 x float* %P1, 4 x int* %P2) { + store 4 x float zeroinitializer, 4 x float* %P1 + store 4 x int zeroinitializer, 4 x int* %P2 + ret void + } + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCISelLowering.cpp PPCInstrAltivec.td
Changes in directory llvm/lib/Target/PowerPC: PPCISelLowering.cpp updated: 1.144 - 1.145 PPCInstrAltivec.td updated: 1.47 - 1.48 --- Log message: Ensure that zero vectors are always v4i32, which forces them to CSE with each other. This implements CodeGen/PowerPC/vxor-canonicalize.ll --- Diffs of the changes: (+13 -8) PPCISelLowering.cpp | 14 +++--- PPCInstrAltivec.td |7 ++- 2 files changed, 13 insertions(+), 8 deletions(-) Index: llvm/lib/Target/PowerPC/PPCISelLowering.cpp diff -u llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.144 llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.145 --- llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.144 Mon Apr 10 20:38:39 2006 +++ llvm/lib/Target/PowerPC/PPCISelLowering.cpp Wed Apr 12 11:53:28 2006 @@ -923,11 +923,19 @@ case ISD::BUILD_VECTOR: // If this is a case we can't handle, return null and let the default // expansion code take care of it. If we CAN select this case, return Op. - -// See if this is all zeros. + // FIXME: We should handle splat(-0.0), and other cases here. -if (ISD::isBuildVectorAllZeros(Op.Val)) + +// See if this is all zeros. +if (ISD::isBuildVectorAllZeros(Op.Val)) { + // Canonicalize all zero vectors to be v4i32. + if (Op.getValueType() != MVT::v4i32) { +SDOperand Z = DAG.getConstant(0, MVT::i32); +Z = DAG.getNode(ISD::BUILD_VECTOR, MVT::v4i32, Z, Z, Z, Z); +Op = DAG.getNode(ISD::BIT_CONVERT, Op.getValueType(), Z); + } return Op; +} if (PPC::get_VSPLI_elt(Op.Val, 1, DAG).Val ||// vspltisb PPC::get_VSPLI_elt(Op.Val, 2, DAG).Val ||// vspltish Index: llvm/lib/Target/PowerPC/PPCInstrAltivec.td diff -u llvm/lib/Target/PowerPC/PPCInstrAltivec.td:1.47 llvm/lib/Target/PowerPC/PPCInstrAltivec.td:1.48 --- llvm/lib/Target/PowerPC/PPCInstrAltivec.td:1.47 Sat Apr 8 01:46:53 2006 +++ llvm/lib/Target/PowerPC/PPCInstrAltivec.td Wed Apr 12 11:53:28 2006 @@ -521,7 +521,7 @@ def V_SET0 : VXForm_setzero1220, (ops VRRC:$vD), vxor $vD, $vD, $vD, VecFP, - [(set VRRC:$vD, (v4f32 immAllZerosV))]; + [(set VRRC:$vD, (v4i32 immAllZerosV))]; } //===--===// @@ -544,9 +544,6 @@ def : Pat(v16i8 (undef)), (v16i8 (IMPLICIT_DEF_VRRC)); def : Pat(v8i16 (undef)), (v8i16 (IMPLICIT_DEF_VRRC)); def : Pat(v4i32 (undef)), (v4i32 (IMPLICIT_DEF_VRRC)); -def : Pat(v16i8 immAllZerosV), (v16i8 (V_SET0)); -def : Pat(v8i16 immAllZerosV), (v8i16 (V_SET0)); -def : Pat(v4i32 immAllZerosV), (v4i32 (V_SET0)); // Loads. def : Pat(v16i8 (load xoaddr:$src)), (v16i8 (LVX xoaddr:$src)); @@ -637,7 +634,7 @@ (v8i16 (VANDC VRRC:$A, VRRC:$B)); def : Pat(fmul VRRC:$vA, VRRC:$vB), - (VMADDFP VRRC:$vA, VRRC:$vB, (V_SET0)); + (VMADDFP VRRC:$vA, VRRC:$vB, (v4i32 (V_SET0))); // Fused multiply add and multiply sub for packed float. These are represented // separately from the real instructions above, for operations that must have ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/PowerPC/vxor-canonicalize.ll
Changes in directory llvm/test/Regression/CodeGen/PowerPC: vxor-canonicalize.ll updated: 1.1 - 1.2 --- Log message: Make this test more interesting by checking that the 0.0 used to implement vector fmul gets cse'd also. --- Diffs of the changes: (+7 -3) vxor-canonicalize.ll | 10 +++--- 1 files changed, 7 insertions(+), 3 deletions(-) Index: llvm/test/Regression/CodeGen/PowerPC/vxor-canonicalize.ll diff -u llvm/test/Regression/CodeGen/PowerPC/vxor-canonicalize.ll:1.1 llvm/test/Regression/CodeGen/PowerPC/vxor-canonicalize.ll:1.2 --- llvm/test/Regression/CodeGen/PowerPC/vxor-canonicalize.ll:1.1 Wed Apr 12 11:49:16 2006 +++ llvm/test/Regression/CodeGen/PowerPC/vxor-canonicalize.ll Wed Apr 12 11:57:39 2006 @@ -1,7 +1,11 @@ -; RUN: llvm-as %s | llc -march=ppc32 -mcpu=g5 | grep vxor | wc -l | grep 1 -; There should be exactly one vxor here, not two. +; RUN: llvm-as %s | llc -march=ppc32 -mcpu=g5 --enable-unsafe-fp-math | grep vxor | wc -l | grep 1 +; There should be exactly one vxor here. -void %test(4 x float* %P1, 4 x int* %P2) { +void %test(4 x float* %P1, 4 x int* %P2, 4 x float* %P3) { +%tmp = load 4 x float* %P3 +%tmp3 = load 4 x float* %P1 +%tmp4 = mul 4 x float %tmp, %tmp3 +store 4 x float %tmp4, 4 x float* %P3 store 4 x float zeroinitializer, 4 x float* %P1 store 4 x int zeroinitializer, 4 x int* %P2 ret void ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/PowerPC/buildvec_canonicalize.ll vxor-canonicalize.ll
Changes in directory llvm/test/Regression/CodeGen/PowerPC: buildvec_canonicalize.ll added (r1.1) vxor-canonicalize.ll (r1.2) removed --- Log message: Rename this file --- Diffs of the changes: (+13 -0) buildvec_canonicalize.ll | 13 + 1 files changed, 13 insertions(+) Index: llvm/test/Regression/CodeGen/PowerPC/buildvec_canonicalize.ll diff -c /dev/null llvm/test/Regression/CodeGen/PowerPC/buildvec_canonicalize.ll:1.1 *** /dev/null Wed Apr 12 12:01:21 2006 --- llvm/test/Regression/CodeGen/PowerPC/buildvec_canonicalize.ll Wed Apr 12 12:01:11 2006 *** *** 0 --- 1,13 + ; RUN: llvm-as %s | llc -march=ppc32 -mcpu=g5 --enable-unsafe-fp-math | grep vxor | wc -l | grep 1 + ; There should be exactly one vxor here. + + void %test(4 x float* %P1, 4 x int* %P2, 4 x float* %P3) { + %tmp = load 4 x float* %P3 + %tmp3 = load 4 x float* %P1 + %tmp4 = mul 4 x float %tmp, %tmp3 + store 4 x float %tmp4, 4 x float* %P3 + store 4 x float zeroinitializer, 4 x float* %P1 + store 4 x int zeroinitializer, 4 x int* %P2 + ret void + } + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/X86/X86ISelLowering.cpp X86InstrSSE.td
Changes in directory llvm/lib/Target/X86: X86ISelLowering.cpp updated: 1.162 - 1.163 X86InstrSSE.td updated: 1.78 - 1.79 --- Log message: Promote v4i32, v8i16, v16i8 load to v2i64 load. --- Diffs of the changes: (+41 -57) X86ISelLowering.cpp |7 +--- X86InstrSSE.td | 91 +--- 2 files changed, 41 insertions(+), 57 deletions(-) Index: llvm/lib/Target/X86/X86ISelLowering.cpp diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.162 llvm/lib/Target/X86/X86ISelLowering.cpp:1.163 --- llvm/lib/Target/X86/X86ISelLowering.cpp:1.162 Mon Apr 10 19:19:04 2006 +++ llvm/lib/Target/X86/X86ISelLowering.cpp Wed Apr 12 12:12:36 2006 @@ -302,10 +302,6 @@ setOperationAction(ISD::SUB,MVT::v4i32, Legal); setOperationAction(ISD::MUL,MVT::v2f64, Legal); setOperationAction(ISD::LOAD, MVT::v2f64, Legal); -setOperationAction(ISD::LOAD, MVT::v16i8, Legal); -setOperationAction(ISD::LOAD, MVT::v8i16, Legal); -setOperationAction(ISD::LOAD, MVT::v4i32, Legal); -setOperationAction(ISD::LOAD, MVT::v2i64, Legal); setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v16i8, Custom); setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v8i16, Custom); setOperationAction(ISD::BUILD_VECTOR, MVT::v2f64, Custom); @@ -329,7 +325,10 @@ VT != (unsigned)MVT::v2i64; VT++) { setOperationAction(ISD::SELECT, (MVT::ValueType)VT, Promote); AddPromotedToType (ISD::SELECT, (MVT::ValueType)VT, MVT::v2i64); + setOperationAction(ISD::LOAD, (MVT::ValueType)VT, Promote); + AddPromotedToType (ISD::LOAD, (MVT::ValueType)VT, MVT::v2i64); } +setOperationAction(ISD::LOAD, MVT::v2i64, Legal); setOperationAction(ISD::SELECT, MVT::v2i64, Custom); setOperationAction(ISD::SELECT, MVT::v2f64, Custom); } Index: llvm/lib/Target/X86/X86InstrSSE.td diff -u llvm/lib/Target/X86/X86InstrSSE.td:1.78 llvm/lib/Target/X86/X86InstrSSE.td:1.79 --- llvm/lib/Target/X86/X86InstrSSE.td:1.78 Wed Apr 12 00:20:24 2006 +++ llvm/lib/Target/X86/X86InstrSSE.td Wed Apr 12 12:12:36 2006 @@ -531,7 +531,7 @@ def Int_CVTTSD2SIrm: SDI0x2C, MRMSrcMem, (ops R32:$dst, f128mem:$src), cvttsd2si {$src, $dst|$dst, $src}, [(set R32:$dst, (int_x86_sse2_cvttsd2si - (load addr:$src)))]; + (loadv2f64 addr:$src)))]; def CVTSD2SIrr: SDI0x2D, MRMSrcReg, (ops R32:$dst, VR128:$src), cvtsd2si {$src, $dst|$dst, $src}, @@ -539,7 +539,7 @@ def CVTSD2SIrm: SDI0x2D, MRMSrcMem, (ops R32:$dst, f128mem:$src), cvtsd2si {$src, $dst|$dst, $src}, [(set R32:$dst, (int_x86_sse2_cvtsd2si - (load addr:$src)))]; + (loadv2f64 addr:$src)))]; // Comparison instructions let isTwoAddress = 1 in { @@ -834,7 +834,7 @@ def CVTDQ2PSrm : I0x5B, MRMSrcMem, (ops VR128:$dst, i128mem:$src), cvtdq2ps {$src, $dst|$dst, $src}, [(set VR128:$dst, (int_x86_sse2_cvtdq2ps - (load addr:$src)))], + (bc_v4i32 (loadv2i64 addr:$src], TB, Requires[HasSSE2]; // SSE2 instructions with XS prefix @@ -845,7 +845,7 @@ def CVTDQ2PDrm : I0xE6, MRMSrcMem, (ops VR128:$dst, i64mem:$src), cvtdq2pd {$src, $dst|$dst, $src}, [(set VR128:$dst, (int_x86_sse2_cvtdq2pd - (load addr:$src)))], + (bc_v4i32 (loadv2i64 addr:$src], XS, Requires[HasSSE2]; def CVTPS2PIrr : PSI0x2D, MRMSrcReg, (ops VR64:$dst, VR128:$src), @@ -863,7 +863,7 @@ def CVTPS2DQrm : PDI0x5B, MRMSrcMem, (ops VR128:$dst, f128mem:$src), cvtps2dq {$src, $dst|$dst, $src}, [(set VR128:$dst, (int_x86_sse2_cvtps2dq -(load addr:$src)))]; +(loadv4f32 addr:$src)))]; // SSE2 packed instructions with XS prefix def CVTTPS2DQrr : I0x5B, MRMSrcReg, (ops VR128:$dst, VR128:$src), cvttps2dq {$src, $dst|$dst, $src}, @@ -872,7 +872,7 @@ def CVTTPS2DQrm : I0x5B, MRMSrcMem, (ops VR128:$dst, f128mem:$src), cvttps2dq {$src, $dst|$dst, $src}, [(set VR128:$dst, (int_x86_sse2_cvttps2dq - (load addr:$src)))], + (loadv4f32 addr:$src)))], XS, Requires[HasSSE2]; // SSE2 packed instructions with XD prefix @@ -883,7 +883,7 @@ def CVTPD2DQrm : I0xE6, MRMSrcMem, (ops VR128:$dst, f128mem:$src),
[llvm-commits] CVS: llvm/test/Regression/CodeGen/PowerPC/buildvec_canonicalize.ll
Changes in directory llvm/test/Regression/CodeGen/PowerPC: buildvec_canonicalize.ll updated: 1.1 - 1.2 --- Log message: two equivalent vsplti*s in different types should be CSEd. --- Diffs of the changes: (+12 -2) buildvec_canonicalize.ll | 14 -- 1 files changed, 12 insertions(+), 2 deletions(-) Index: llvm/test/Regression/CodeGen/PowerPC/buildvec_canonicalize.ll diff -u llvm/test/Regression/CodeGen/PowerPC/buildvec_canonicalize.ll:1.1 llvm/test/Regression/CodeGen/PowerPC/buildvec_canonicalize.ll:1.2 --- llvm/test/Regression/CodeGen/PowerPC/buildvec_canonicalize.ll:1.1 Wed Apr 12 12:01:11 2006 +++ llvm/test/Regression/CodeGen/PowerPC/buildvec_canonicalize.ll Wed Apr 12 12:36:04 2006 @@ -1,7 +1,11 @@ -; RUN: llvm-as %s | llc -march=ppc32 -mcpu=g5 --enable-unsafe-fp-math | grep vxor | wc -l | grep 1 ; There should be exactly one vxor here. +; RUN: llvm-as %s | llc -march=ppc32 -mcpu=g5 --enable-unsafe-fp-math | grep vxor | wc -l | grep 1 -void %test(4 x float* %P1, 4 x int* %P2, 4 x float* %P3) { +; There should be exactly one vsplti here. +; RUN: llvm-as %s | llc -march=ppc32 -mcpu=g5 --enable-unsafe-fp-math | grep vsplti | wc -l | grep 1 + + +void %VXOR(4 x float* %P1, 4 x int* %P2, 4 x float* %P3) { %tmp = load 4 x float* %P3 %tmp3 = load 4 x float* %P1 %tmp4 = mul 4 x float %tmp, %tmp3 @@ -11,3 +15,9 @@ ret void } +void %VSPLTI(4 x int* %P2, 8 x short* %P3) { +store 4 x int cast (16 x sbyte sbyte -1, sbyte -1, sbyte -1, sbyte -1, sbyte -1, sbyte -1, sbyte -1, sbyte -1, sbyte -1, sbyte -1, sbyte -1, sbyte -1, sbyte -1, sbyte -1, sbyte -1, sbyte -1 to 4 x int), 4 x int* %P2 +store 8 x short short -1, short -1, short -1, short -1, short -1, short -1, short -1, short -1 , 8 x short* %P3 +ret void +} + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCISelLowering.cpp PPCISelLowering.h PPCInstrAltivec.td
Changes in directory llvm/lib/Target/PowerPC: PPCISelLowering.cpp updated: 1.145 - 1.146 PPCISelLowering.h updated: 1.45 - 1.46 PPCInstrAltivec.td updated: 1.48 - 1.49 --- Log message: Rename get_VSPLI_elt - get_VSPLTI_elt Canonicalize BUILD_VECTOR's that match VSPLTI's into a single type for each form, eliminating a bunch of Pat patterns in the .td file and allowing us to CSE stuff more aggressively. This implements PowerPC/buildvec_canonicalize.ll:VSPLTI --- Diffs of the changes: (+40 -32) PPCISelLowering.cpp | 35 --- PPCISelLowering.h |4 ++-- PPCInstrAltivec.td | 33 ++--- 3 files changed, 40 insertions(+), 32 deletions(-) Index: llvm/lib/Target/PowerPC/PPCISelLowering.cpp diff -u llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.145 llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.146 --- llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.145 Wed Apr 12 11:53:28 2006 +++ llvm/lib/Target/PowerPC/PPCISelLowering.cpp Wed Apr 12 12:37:20 2006 @@ -429,11 +429,11 @@ return castConstantSDNode(N-getOperand(0))-getValue() / EltSize; } -/// get_VSPLI_elt - If this is a build_vector of constants which can be formed +/// get_VSPLTI_elt - If this is a build_vector of constants which can be formed /// by using a vspltis[bhw] instruction of the specified element size, return /// the constant being splatted. The ByteSize field indicates the number of /// bytes of each element [124] - [bhw]. -SDOperand PPC::get_VSPLI_elt(SDNode *N, unsigned ByteSize, SelectionDAG DAG) { +SDOperand PPC::get_VSPLTI_elt(SDNode *N, unsigned ByteSize, SelectionDAG DAG) { SDOperand OpVal(0, 0); // If ByteSize of the splat is bigger than the element size of the @@ -920,7 +920,7 @@ // Load it out. return DAG.getLoad(Op.getValueType(), Store, FIdx, DAG.getSrcValue(NULL)); } - case ISD::BUILD_VECTOR: + case ISD::BUILD_VECTOR: { // If this is a case we can't handle, return null and let the default // expansion code take care of it. If we CAN select this case, return Op. @@ -937,13 +937,34 @@ return Op; } -if (PPC::get_VSPLI_elt(Op.Val, 1, DAG).Val ||// vspltisb -PPC::get_VSPLI_elt(Op.Val, 2, DAG).Val ||// vspltish -PPC::get_VSPLI_elt(Op.Val, 4, DAG).Val) // vspltisw +// Check to see if this is something we can use VSPLTI* to form. +MVT::ValueType CanonicalVT = MVT::Other; +SDNode *CST = 0; + +if ((CST = PPC::get_VSPLTI_elt(Op.Val, 4, DAG).Val)) // vspltisw + CanonicalVT = MVT::v4i32; +else if ((CST = PPC::get_VSPLTI_elt(Op.Val, 2, DAG).Val)) // vspltish + CanonicalVT = MVT::v8i16; +else if ((CST = PPC::get_VSPLTI_elt(Op.Val, 1, DAG).Val)) // vspltisb + CanonicalVT = MVT::v16i8; + +// If this matches one of the vsplti* patterns, force it to the canonical +// type for the pattern. +if (CST) { + if (Op.getValueType() != CanonicalVT) { +// Convert the splatted element to the right element type. +SDOperand Elt = DAG.getNode(ISD::TRUNCATE, +MVT::getVectorBaseType(CanonicalVT), +SDOperand(CST, 0)); +std::vectorSDOperand Ops(MVT::getVectorNumElements(CanonicalVT), Elt); +SDOperand Res = DAG.getNode(ISD::BUILD_VECTOR, CanonicalVT, Ops); +Op = DAG.getNode(ISD::BIT_CONVERT, Op.getValueType(), Res); + } return Op; +} return SDOperand(); - + } case ISD::VECTOR_SHUFFLE: { SDOperand V1 = Op.getOperand(0); SDOperand V2 = Op.getOperand(1); Index: llvm/lib/Target/PowerPC/PPCISelLowering.h diff -u llvm/lib/Target/PowerPC/PPCISelLowering.h:1.45 llvm/lib/Target/PowerPC/PPCISelLowering.h:1.46 --- llvm/lib/Target/PowerPC/PPCISelLowering.h:1.45 Sat Apr 8 01:46:53 2006 +++ llvm/lib/Target/PowerPC/PPCISelLowering.h Wed Apr 12 12:37:20 2006 @@ -131,11 +131,11 @@ /// specified isSplatShuffleMask VECTOR_SHUFFLE mask. unsigned getVSPLTImmediate(SDNode *N, unsigned EltSize); -/// get_VSPLI_elt - If this is a build_vector of constants which can be +/// get_VSPLTI_elt - If this is a build_vector of constants which can be /// formed by using a vspltis[bhw] instruction of the specified element /// size, return the constant being splatted. The ByteSize field indicates /// the number of bytes of each element [124] - [bhw]. -SDOperand get_VSPLI_elt(SDNode *N, unsigned ByteSize, SelectionDAG DAG); +SDOperand get_VSPLTI_elt(SDNode *N, unsigned ByteSize, SelectionDAG DAG); } class PPCTargetLowering : public TargetLowering { Index: llvm/lib/Target/PowerPC/PPCInstrAltivec.td diff -u llvm/lib/Target/PowerPC/PPCInstrAltivec.td:1.48 llvm/lib/Target/PowerPC/PPCInstrAltivec.td:1.49 --- llvm/lib/Target/PowerPC/PPCInstrAltivec.td:1.48 Wed Apr 12 11:53:28 2006 +++ llvm/lib/Target/PowerPC/PPCInstrAltivec.td Wed Apr 12
[llvm-commits] CVS: llvm/docs/ExtendingLLVM.html
Changes in directory llvm/docs: ExtendingLLVM.html updated: 1.26 - 1.27 --- Log message: Update adding an intrinsic to describe that you can now just plop it into the target .td file instead of adding SDNodes etc. --- Diffs of the changes: (+13 -21) ExtendingLLVM.html | 34 +- 1 files changed, 13 insertions(+), 21 deletions(-) Index: llvm/docs/ExtendingLLVM.html diff -u llvm/docs/ExtendingLLVM.html:1.26 llvm/docs/ExtendingLLVM.html:1.27 --- llvm/docs/ExtendingLLVM.html:1.26 Mon Mar 13 23:39:39 2006 +++ llvm/docs/ExtendingLLVM.htmlWed Apr 12 12:42:39 2006 @@ -53,9 +53,9 @@ emmany/em LLVM analyses and transformations, so it may be quite a bit of work./p -pAdding an a href=#intrinsicintrinsic function/a is easier than adding -an instruction, and is transparent to optimization passes which treat it as an -unanalyzable function. If your added functionality can be expressed as a +pAdding an a href=#intrinsicintrinsic function/a is far easier than +adding an instruction, and is transparent to optimization passes. If your added +functionality can be expressed as a function call, an intrinsic function is the method of choice for LLVM extension./p @@ -85,8 +85,9 @@ what the restrictions are. Talk to other people about it so that you are sure it's a good idea./li -littllvm/include/llvm/Intrinsics.td/tt: -Add an entry for your intrinsic./li +littllvm/include/llvm/Intrinsics*.td/tt: +Add an entry for your intrinsic. Describe its memory access characteristics +for optimization (this controls whether it will be DCE'd, CSE'd, etc)./li littllvm/lib/Analysis/ConstantFolding.cpp/tt: If it is possible to constant fold your intrinsic, add support to it in the @@ -116,22 +117,13 @@ /dd dl -dtAdd support to the SelectionDAG Instruction Selector in -ttlib/CodeGen/SelectionDAG//tt/dt +dtAdd support to the .td file for the target(s) of your choice in + ttlib/Target/*/*.td/tt./dt -ddSince most targets in LLVM use the SelectionDAG framework for generating -code, you will likely need to add support for your intrinsic there as well. -This is usually accomplished by adding a new node, and then teaching the -SelectionDAG code how to handle that node. To do this, follow the steps in -the a href=#sdnodeAdding a new SelectionDAG node/a section./dd - -dl -dtOnce you have added the new node, add code to -ttSelectionDAG/SelectionDAGISel.cpp/tt to recognize the intrinsic. In most -cases, the intrinsic will just be turned into the node you just added. For an -example of this, see how ttvisitIntrinsicCall/tt handles -ttIntrinsic::ctpop_*/tt. -/dt +ddThis is usually a matter of adding a pattern to the .td file that matches +the intrinsic, though it may obviously require adding the instructions you +want to generate as well. There are lots of examples in the PowerPC and X86 +backend to follow./dd /div @@ -390,7 +382,7 @@ a href=http://llvm.org;The LLVM Compiler Infrastructure/a br - Last modified: $Date: 2006/03/14 05:39:39 $ + Last modified: $Date: 2006/04/12 17:42:39 $ /address /body ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/utils/OldenDataRecover.pl
Changes in directory llvm/utils: OldenDataRecover.pl added (r1.1) --- Log message: make recovering running_Olden data easier when the nightly tester eats the graphs --- Diffs of the changes: (+37 -0) OldenDataRecover.pl | 37 + 1 files changed, 37 insertions(+) Index: llvm/utils/OldenDataRecover.pl diff -c /dev/null llvm/utils/OldenDataRecover.pl:1.1 *** /dev/null Wed Apr 12 12:41:29 2006 --- llvm/utils/OldenDataRecover.pl Wed Apr 12 12:41:19 2006 *** *** 0 --- 1,37 + #this script is intended to help recover the running graphs when + #the nightly tester decides to eat them. + + #zgrep -E (=)|(TEST-RESULT-llc-time) *-Olden-tests.txt* |perl this file + #zgrep -E (=)|(TEST-RESULT-compile.*bc) *-Olden-tests.tx* |perl this file + + while () { + if (/(\d*-\d*-\d*)-.*=.*\/(.*)\' Program/) { + #print $1 $2\n; + $curP = $2; + $curD = $1; + $dates{$1} = 1; + } elsif (/(\d*-\d*-\d*)-.*TEST-RESULT-.*: program (\d*\.\d*)/) { + #print $1 $2\n; + if ($curD eq $1) { + $$data{$curD}{$curP} = $2; + } + } elsif (/(\d*-\d*-\d*)-.*TEST-RESULT-.*: (\d*)/) { + #print $1 $2\n; + if ($curD eq $1) { + $$data{$curD}{$curP} = $2; + } + } + } + @progs = (bh, em3d, mst, power, tsp, bisort, health, perimeter, treeadd, voronoi); + + foreach $date (sort keys %dates) { + print $date: ; + foreach $prog (@progs) { + if ($$data{$date}{$prog}) { + print $$data{$date}{$prog}; + } else { + print 0; + } + } + print \n; + } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/VMCore/AutoUpgrade.cpp
Changes in directory llvm/lib/VMCore: AutoUpgrade.cpp updated: 1.17 - 1.18 --- Log message: Don't emit useless warning messages. --- Diffs of the changes: (+3 -2) AutoUpgrade.cpp |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) Index: llvm/lib/VMCore/AutoUpgrade.cpp diff -u llvm/lib/VMCore/AutoUpgrade.cpp:1.17 llvm/lib/VMCore/AutoUpgrade.cpp:1.18 --- llvm/lib/VMCore/AutoUpgrade.cpp:1.17Sat Mar 25 12:40:47 2006 +++ llvm/lib/VMCore/AutoUpgrade.cpp Wed Apr 12 12:56:16 2006 @@ -192,8 +192,9 @@ Function *llvm::UpgradeIntrinsicFunction(Function* F) { // See if its one of the name's we're interested in. if (Function *R = getUpgradedIntrinsic(F)) { -std::cerr WARNING: change F-getName() to - R-getName() \n; +if (R-getName() != F-getName()) + std::cerr WARNING: change F-getName() to + R-getName() \n; return R; } return 0; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/InstCombine/cast.ll
Changes in directory llvm/test/Regression/Transforms/InstCombine: cast.ll updated: 1.26 - 1.27 --- Log message: These casts should turn into gep instructions --- Diffs of the changes: (+12 -1) cast.ll | 13 - 1 files changed, 12 insertions(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/InstCombine/cast.ll diff -u llvm/test/Regression/Transforms/InstCombine/cast.ll:1.26 llvm/test/Regression/Transforms/InstCombine/cast.ll:1.27 --- llvm/test/Regression/Transforms/InstCombine/cast.ll:1.26Thu Jan 19 01:39:20 2006 +++ llvm/test/Regression/Transforms/InstCombine/cast.ll Wed Apr 12 13:07:41 2006 @@ -1,5 +1,5 @@ ; Tests to make sure elimination of casts is working correctly - +; RUN: llvm-as %s | opt -instcombine -disable-output ; RUN: llvm-as %s | opt -instcombine | llvm-dis | grep '%c' | not grep cast %inbuf = external global [32832 x ubyte] @@ -166,3 +166,14 @@ %D = cast double %c to int ret int %D } + +[4 x float]* %test27([9 x [4 x float]]* %A) { +%c = cast [9 x [4 x float]]* %A to [4 x float]* + ret [4 x float]* %c +} + +float* %test28([4 x float]* %A) { +%c = cast [4 x float]* %A to float* + ret float* %c +} + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Makefile
Changes in directory llvm/test: Makefile updated: 1.85 - 1.86 --- Log message: Added llvmgcc version to allow tests to be xfailed by frontend version. --- Diffs of the changes: (+1 -0) Makefile |1 + 1 files changed, 1 insertion(+) Index: llvm/test/Makefile diff -u llvm/test/Makefile:1.85 llvm/test/Makefile:1.86 --- llvm/test/Makefile:1.85 Thu Apr 6 17:22:08 2006 +++ llvm/test/Makefile Wed Apr 12 13:08:25 2006 @@ -41,6 +41,7 @@ @echo '# Do not edit here. If you wish to override these values' site.tmp @echo '# edit the last section' site.tmp @echo set target_triplet $(TARGET_TRIPLE) site.tmp + @echo set llvmgcc_version $(LLVMGCC_VERSION) site.tmp @echo 'set prcontext $(TCLSH) $(LLVM_SRC_ROOT)/test/Scripts/prcontext.tcl' site.tmp @echo 'set srcdir $(LLVM_SRC_ROOT)/test' site.tmp @echo set objdir $(LLVM_OBJ_ROOT)/test site.tmp ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.464 - 1.465 --- Log message: Turn casts into getelementptr's when possible. This enables SROA to be more aggressive in some cases where LLVMGCC 4 is inserting casts for no reason. This implements InstCombine/cast.ll:test27/28. --- Diffs of the changes: (+23 -0) InstructionCombining.cpp | 23 +++ 1 files changed, 23 insertions(+) Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.464 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.465 --- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.464 Mon Apr 10 18:06:36 2006 +++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Wed Apr 12 13:09:35 2006 @@ -4813,7 +4813,30 @@ if (isaPHINode(Src)) if (Instruction *NV = FoldOpIntoPhi(CI)) return NV; + + // If the source and destination are pointers, and this cast is equivalent to + // a getelementptr X, 0, 0, 0... turn it into the appropriate getelementptr. + // This can enhance SROA and other transforms that want type-safe pointers. + if (const PointerType *DstPTy = dyn_castPointerType(CI.getType())) +if (const PointerType *SrcPTy = dyn_castPointerType(Src-getType())) { + const Type *DstTy = DstPTy-getElementType(); + const Type *SrcTy = SrcPTy-getElementType(); + + Constant *ZeroUInt = Constant::getNullValue(Type::UIntTy); + unsigned NumZeros = 0; + while (SrcTy != DstTy + isaCompositeType(SrcTy) !isaPointerType(SrcTy)) { +SrcTy = castCompositeType(SrcTy)-getTypeAtIndex(ZeroUInt); +++NumZeros; + } + // If we found a path from the src to dest, create the getelementptr now. + if (SrcTy == DstTy) { +std::vectorValue* Idxs(NumZeros+1, ZeroUInt); +return new GetElementPtrInst(Src, Idxs); + } +} + // If the source value is an instruction with only this use, we can attempt to // propagate the cast into the instruction. Also, only handle integral types // for now. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/PowerPC/vec_constants.ll
Changes in directory llvm/test/Regression/CodeGen/PowerPC: vec_constants.ll added (r1.1) --- Log message: new testcase --- Diffs of the changes: (+20 -0) vec_constants.ll | 20 1 files changed, 20 insertions(+) Index: llvm/test/Regression/CodeGen/PowerPC/vec_constants.ll diff -c /dev/null llvm/test/Regression/CodeGen/PowerPC/vec_constants.ll:1.1 *** /dev/null Wed Apr 12 14:04:37 2006 --- llvm/test/Regression/CodeGen/PowerPC/vec_constants.ll Wed Apr 12 14:04:27 2006 *** *** 0 --- 1,20 + ; RUN: llvm-as %s | llc -march=ppc32 -mcpu=g5 + ; RUN: llvm-as %s | llc -march=ppc32 -mcpu=g5 | not grep CPI + + + ; Tests spltw(0x8000) and spltw(0x7FFF). + void %test1(4 x int* %P1, 4 x int* %P2, 4 x float* %P3) { + %tmp = load 4 x int* %P1 + %tmp4 = and 4 x int %tmp, int -2147483648, int -2147483648, int -2147483648, int -2147483648 + store 4 x int %tmp4, 4 x int* %P1 + %tmp7 = load 4 x int* %P2 + %tmp9 = and 4 x int %tmp7, int 2147483647, int 2147483647, int 2147483647, int 2147483647 + store 4 x int %tmp9, 4 x int* %P2 + %tmp = load 4 x float* %P3 + %tmp11 = cast 4 x float %tmp to 4 x int + %tmp12 = and 4 x int %tmp11, int 2147483647, int 2147483647, int 2147483647, int 2147483647 + %tmp13 = cast 4 x int %tmp12 to 4 x float + store 4 x float %tmp13, 4 x float* %P3 + ret void + } + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/utils/Makefile
Changes in directory llvm/utils: Makefile updated: 1.8 - 1.9 --- Log message: Add the llvm-config directory to the EXTRA_DIST line so it gets distributed even though its not being built currently. This prevents dist-check from failing because configure can't find llvm-config.in.in --- Diffs of the changes: (+2 -1) Makefile |3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm/utils/Makefile diff -u llvm/utils/Makefile:1.8 llvm/utils/Makefile:1.9 --- llvm/utils/Makefile:1.8 Thu Mar 23 17:21:29 2006 +++ llvm/utils/Makefile Wed Apr 12 14:06:14 2006 @@ -13,7 +13,8 @@ EXTRA_DIST = check-each-file codegen-diff countloc.sh cvsupdate emacs \ getsrcs.sh llvmdo llvmgrep llvm-native-gcc llvm-native-gxx \ makellvm NightlyTest.gnuplot NightlyTest.pl \ -NightlyTestTemplate.html profile.pl RegressionFinder.pl vim +NightlyTestTemplate.html profile.pl RegressionFinder.pl vim \ +llvm-config include $(LEVEL)/Makefile.common ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCISelLowering.cpp README_ALTIVEC.txt
Changes in directory llvm/lib/Target/PowerPC: PPCISelLowering.cpp updated: 1.146 - 1.147 README_ALTIVEC.txt updated: 1.20 - 1.21 --- Log message: Add a new way to match vector constants, which make it easier to bang bits of different types. Codegen spltw(0x7FFF) and spltw(0x8000) without a constant pool load, implementing PowerPC/vec_constants.ll:test1. This compiles: typedef float vf __attribute__ ((vector_size (16))); typedef int vi __attribute__ ((vector_size (16))); void test(vi *P1, vi *P2, vf *P3) { *P1 = (vi){0x8000,0x8000,0x8000,0x8000}; *P2 = (vi){0x7FFF,0x7FFF,0x7FFF,0x7FFF}; *P3 = vec_abs((vector float)*P3); } to: _test: mfspr r2, 256 oris r6, r2, 49152 mtspr 256: http://llvm.cs.uiuc.edu/PR256 , r6 vspltisw v0, -1 vslw v0, v0, v0 lvx v1, 0, r3 vand v1, v1, v0 stvx v1, 0, r3 lvx v1, 0, r4 vandc v1, v1, v0 stvx v1, 0, r4 lvx v1, 0, r5 vandc v0, v1, v0 stvx v0, 0, r5 mtspr 256: http://llvm.cs.uiuc.edu/PR256 , r2 blr instead of (with two constant pool entries): _test: mfspr r2, 256 oris r6, r2, 49152 mtspr 256: http://llvm.cs.uiuc.edu/PR256 , r6 li r6, lo16(LCPI1_0) lis r7, ha16(LCPI1_0) li r8, lo16(LCPI1_1) lis r9, ha16(LCPI1_1) lvx v0, r7, r6 lvx v1, 0, r3 vand v0, v1, v0 stvx v0, 0, r3 lvx v0, r9, r8 lvx v1, 0, r4 vand v1, v1, v0 stvx v1, 0, r4 lvx v1, 0, r5 vand v0, v1, v0 stvx v0, 0, r5 mtspr 256: http://llvm.cs.uiuc.edu/PR256 , r2 blr GCC produces (with 2 cp entries): _test: mfspr r0,256 stw r0,-4(r1) oris r0,r0,0xc00c mtspr 256: http://llvm.cs.uiuc.edu/PR256 ,r0 lis r2,ha16(LC0) lis r9,ha16(LC1) la r2,lo16(LC0)(r2) lvx v0,0,r3 lvx v1,0,r5 la r9,lo16(LC1)(r9) lwz r12,-4(r1) lvx v12,0,r2 lvx v13,0,r9 vand v0,v0,v12 stvx v0,0,r3 vspltisw v0,-1 vslw v12,v0,v0 vandc v1,v1,v12 stvx v1,0,r5 lvx v0,0,r4 vand v0,v0,v13 stvx v0,0,r4 mtspr 256: http://llvm.cs.uiuc.edu/PR256 ,r12 blr --- Diffs of the changes: (+91 -7) PPCISelLowering.cpp | 89 +--- README_ALTIVEC.txt |9 +++-- 2 files changed, 91 insertions(+), 7 deletions(-) Index: llvm/lib/Target/PowerPC/PPCISelLowering.cpp diff -u llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.146 llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.147 --- llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.146 Wed Apr 12 12:37:20 2006 +++ llvm/lib/Target/PowerPC/PPCISelLowering.cpp Wed Apr 12 14:07:14 2006 @@ -544,6 +544,48 @@ return SDOperand(); } +// If this is a vector of constants or undefs, get the bits. A bit in +// UndefBits is set if the corresponding element of the vector is an +// ISD::UNDEF value. For undefs, the corresponding VectorBits values are +// zero. Return true if this is not an array of constants, false if it is. +// +// Note that VectorBits/UndefBits are returned in 'little endian' form, so +// elements 0,1 go in VectorBits[0] and 2,3 go in VectorBits[1] for a v4i32. +static bool GetConstantBuildVectorBits(SDNode *BV, uint64_t VectorBits[2], + uint64_t UndefBits[2]) { + // Start with zero'd results. + VectorBits[0] = VectorBits[1] = UndefBits[0] = UndefBits[1] = 0; + + unsigned EltBitSize = MVT::getSizeInBits(BV-getOperand(0).getValueType()); + for (unsigned i = 0, e = BV-getNumOperands(); i != e; ++i) { +SDOperand OpVal = BV-getOperand(i); + +unsigned PartNo = i = e/2; // In the upper 128 bits? +unsigned SlotNo = i (e/2-1); // Which subpiece of the uint64_t it is. + +uint64_t EltBits = 0; +if (OpVal.getOpcode() == ISD::UNDEF) { + uint64_t EltUndefBits = ~0U (32-EltBitSize); + UndefBits[PartNo] |= EltUndefBits (SlotNo*EltBitSize); + continue; +} else if (ConstantSDNode *CN = dyn_castConstantSDNode(OpVal)) { + EltBits = CN-getValue() (~0U (32-EltBitSize)); +} else if (ConstantFPSDNode *CN = dyn_castConstantFPSDNode(OpVal)) { + assert(CN-getValueType(0) == MVT::f32 + Only one legal FP vector type!); + EltBits = FloatToBits(CN-getValue()); +} else { + // Nonconstant element. + return true; +} + +VectorBits[PartNo] |= EltBits (SlotNo*EltBitSize); + } + + //printf(%llx %llx %llx %llx\n, + // VectorBits[0], VectorBits[1], UndefBits[0], UndefBits[1]); + return false; +} /// LowerOperation - Provide custom lowering hooks for some operations. /// @@ -922,12 +964,20 @@ } case ISD::BUILD_VECTOR: { // If this is a case we can't handle, return null and let the default -//
[llvm-commits] CVS: llvm/Makefile
Changes in directory llvm: Makefile updated: 1.57 - 1.58 --- Log message: Include the win32 and Xcode directories in the distribution. --- Diffs of the changes: (+1 -1) Makefile |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/Makefile diff -u llvm/Makefile:1.57 llvm/Makefile:1.58 --- llvm/Makefile:1.57 Fri Apr 7 21:14:37 2006 +++ llvm/Makefile Wed Apr 12 15:53:14 2006 @@ -25,7 +25,7 @@ DIRS += docs endif endif -EXTRA_DIST := test llvm.spec include +EXTRA_DIST := test llvm.spec include win32 Xcode include $(LLVM_SRC_ROOT)/Makefile.rules ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/utils/Makefile
Changes in directory llvm/utils: Makefile updated: 1.9 - 1.10 --- Log message: Additional files to distribute. --- Diffs of the changes: (+7 -5) Makefile | 12 +++- 1 files changed, 7 insertions(+), 5 deletions(-) Index: llvm/utils/Makefile diff -u llvm/utils/Makefile:1.9 llvm/utils/Makefile:1.10 --- llvm/utils/Makefile:1.9 Wed Apr 12 14:06:14 2006 +++ llvm/utils/Makefile Wed Apr 12 15:54:01 2006 @@ -10,11 +10,13 @@ LEVEL = .. DIRS = Burg TableGen fpcmp -EXTRA_DIST = check-each-file codegen-diff countloc.sh cvsupdate emacs \ -getsrcs.sh llvmdo llvmgrep llvm-native-gcc llvm-native-gxx \ - makellvm NightlyTest.gnuplot NightlyTest.pl \ -NightlyTestTemplate.html profile.pl RegressionFinder.pl vim \ -llvm-config +EXTRA_DIST := cgiplotNLT.pl check-each-file codegen-diff countloc.sh cvsupdate \ + DSAclean.py DSAextract.py emacs findsym.pl GenLibDeps.pl \ + getsrcs.sh importNLT.pl llvmdo llvmgrep llvm-native-gcc \ + llvm-native-gxx makellvm NightlyTest.gnuplot NightlyTest.pl \ + NightlyTestTemplate.html NLT.schema parseNTL.pl plotNLT.pl \ + profile.pl RegressionFinder.pl userloc.pl webNLT.pl \ + vim llvm-config include $(LEVEL)/Makefile.common ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/Generic/vector.ll
Changes in directory llvm/test/Regression/CodeGen/Generic: vector.ll updated: 1.8 - 1.9 --- Log message: Don't dump the llc assembly output to stdout. --- Diffs of the changes: (+5 -5) vector.ll | 10 +- 1 files changed, 5 insertions(+), 5 deletions(-) Index: llvm/test/Regression/CodeGen/Generic/vector.ll diff -u llvm/test/Regression/CodeGen/Generic/vector.ll:1.8 llvm/test/Regression/CodeGen/Generic/vector.ll:1.9 --- llvm/test/Regression/CodeGen/Generic/vector.ll:1.8 Fri Mar 31 11:59:16 2006 +++ llvm/test/Regression/CodeGen/Generic/vector.ll Wed Apr 12 16:03:04 2006 @@ -1,9 +1,9 @@ ; Test that vectors are scalarized/lowered correctly. -; RUN: llvm-as %s | llc -; RUN: llvm-as %s | llc -march=ppc32 -mcpu=g5 -; RUN: llvm-as %s | llc -march=ppc32 -mcpu=g3 -; RUN: llvm-as %s | llc -march=x86 -mcpu=i386 -; RUN: llvm-as %s | llc -march=x86 -mcpu=yonah +; RUN: llvm-as %s | llc /dev/null +; RUN: llvm-as %s | llc -march=ppc32 -mcpu=g5 /dev/null +; RUN: llvm-as %s | llc -march=ppc32 -mcpu=g3 /dev/null +; RUN: llvm-as %s | llc -march=x86 -mcpu=i386 /dev/null +; RUN: llvm-as %s | llc -march=x86 -mcpu=yonah -o /dev/null %f1 = type 1 x float %f2 = type 2 x float ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Changes in directory llvm/lib/CodeGen/SelectionDAG: LegalizeDAG.cpp updated: 1.363 - 1.364 --- Log message: Promote vector AND, OR, and XOR --- Diffs of the changes: (+27 -0) LegalizeDAG.cpp | 27 +++ 1 files changed, 27 insertions(+) Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.363 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.364 --- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.363 Wed Apr 12 11:33:18 2006 +++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Wed Apr 12 16:20:24 2006 @@ -2076,6 +2076,25 @@ Result = DAG.getNode(ISD::BUILD_VECTOR, Node-getValueType(0), Ops); break; } +case TargetLowering::Promote: { + switch (Node-getOpcode()) { + default: assert(0 Do not know how to promote this BinOp!); + case ISD::AND: + case ISD::OR: + case ISD::XOR: { +MVT::ValueType OVT = Node-getValueType(0); +MVT::ValueType NVT = TLI.getTypeToPromoteTo(Node-getOpcode(), OVT); +assert(MVT::isVector(OVT) Cannot promote this BinOp!); +// Bit convert each of the values to the new type. +Tmp1 = DAG.getNode(ISD::BIT_CONVERT, NVT, Tmp1); +Tmp2 = DAG.getNode(ISD::BIT_CONVERT, NVT, Tmp2); +Result = DAG.getNode(Node-getOpcode(), NVT, Tmp1, Tmp2); +// Bit convert the result back the original type. +Result = DAG.getNode(ISD::BIT_CONVERT, OVT, Result); +break; + } + } +} } break; @@ -2953,6 +2972,14 @@ case ISD::AND: case ISD::OR: case ISD::XOR: +// The input may have strange things in the top bits of the registers, but +// these operations don't care. They may have weird bits going out, but +// that too is okay if they are integer operations. +Tmp1 = PromoteOp(Node-getOperand(0)); +Tmp2 = PromoteOp(Node-getOperand(1)); +assert(Tmp1.getValueType() == NVT Tmp2.getValueType() == NVT); +Result = DAG.getNode(Node-getOpcode(), NVT, Tmp1, Tmp2); +break; case ISD::ADD: case ISD::SUB: case ISD::MUL: ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/X86/README.txt X86ISelLowering.cpp X86InstrSSE.td
Changes in directory llvm/lib/Target/X86: README.txt updated: 1.85 - 1.86 X86ISelLowering.cpp updated: 1.163 - 1.164 X86InstrSSE.td updated: 1.79 - 1.80 --- Log message: All integer logical ops (pand, por, pxor) are now promoted to v2i64. Clean up and fix various logical ops issues. --- Diffs of the changes: (+71 -146) README.txt |4 + X86ISelLowering.cpp | 45 - X86InstrSSE.td | 168 3 files changed, 71 insertions(+), 146 deletions(-) Index: llvm/lib/Target/X86/README.txt diff -u llvm/lib/Target/X86/README.txt:1.85 llvm/lib/Target/X86/README.txt:1.86 --- llvm/lib/Target/X86/README.txt:1.85 Mon Apr 10 16:51:03 2006 +++ llvm/lib/Target/X86/README.txt Wed Apr 12 16:21:57 2006 @@ -794,3 +794,7 @@ X86RegisterInfo::copyRegToReg() returns X86::MOVAPSrr for VR128. Is it possible to choose between movaps, movapd, and movdqa based on types of source and destination? + +How about andps, andpd, and pand? Do we really care about the type of the packed +elements? If not, why not always use the ps variants which are likely to be +shorter. Index: llvm/lib/Target/X86/X86ISelLowering.cpp diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.163 llvm/lib/Target/X86/X86ISelLowering.cpp:1.164 --- llvm/lib/Target/X86/X86ISelLowering.cpp:1.163 Wed Apr 12 12:12:36 2006 +++ llvm/lib/Target/X86/X86ISelLowering.cpp Wed Apr 12 16:21:57 2006 @@ -275,6 +275,9 @@ if (Subtarget-hasSSE1()) { addRegisterClass(MVT::v4f32, X86::VR128RegisterClass); +setOperationAction(ISD::AND,MVT::v4f32, Legal); +setOperationAction(ISD::OR, MVT::v4f32, Legal); +setOperationAction(ISD::XOR,MVT::v4f32, Legal); setOperationAction(ISD::ADD,MVT::v4f32, Legal); setOperationAction(ISD::SUB,MVT::v4f32, Legal); setOperationAction(ISD::MUL,MVT::v4f32, Legal); @@ -301,36 +304,43 @@ setOperationAction(ISD::SUB,MVT::v8i16, Legal); setOperationAction(ISD::SUB,MVT::v4i32, Legal); setOperationAction(ISD::MUL,MVT::v2f64, Legal); -setOperationAction(ISD::LOAD, MVT::v2f64, Legal); + setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v16i8, Custom); setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v8i16, Custom); +setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v8i16, Custom); + +// Custom lower build_vector, vector_shuffle, and extract_vector_elt. +for (unsigned VT = (unsigned)MVT::v16i8; VT != (unsigned)MVT::v2i64; VT++) { + setOperationAction(ISD::BUILD_VECTOR,(MVT::ValueType)VT, Custom); + setOperationAction(ISD::VECTOR_SHUFFLE, (MVT::ValueType)VT, Custom); + setOperationAction(ISD::EXTRACT_VECTOR_ELT, (MVT::ValueType)VT, Custom); +} setOperationAction(ISD::BUILD_VECTOR, MVT::v2f64, Custom); -setOperationAction(ISD::BUILD_VECTOR, MVT::v16i8, Custom); -setOperationAction(ISD::BUILD_VECTOR, MVT::v8i16, Custom); -setOperationAction(ISD::BUILD_VECTOR, MVT::v4i32, Custom); setOperationAction(ISD::BUILD_VECTOR, MVT::v2i64, Custom); setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v2f64, Custom); -setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v16i8, Custom); -setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v8i16, Custom); -setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v4i32, Custom); setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v2i64, Custom); setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2f64, Custom); -setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v8i16, Custom); -setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4i32, Custom); -setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v8i16, Custom); +setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2i64, Custom); -// Promote v16i8, v8i16, v4i32 selects to v2i64. Custom lower v2i64, v2f64, -// and v4f32 selects. -for (unsigned VT = (unsigned)MVT::v16i8; - VT != (unsigned)MVT::v2i64; VT++) { - setOperationAction(ISD::SELECT, (MVT::ValueType)VT, Promote); - AddPromotedToType (ISD::SELECT, (MVT::ValueType)VT, MVT::v2i64); +// Promote v16i8, v8i16, v4i32 load, select, and, or, xor to v2i64. +for (unsigned VT = (unsigned)MVT::v16i8; VT != (unsigned)MVT::v2i64; VT++) { + setOperationAction(ISD::AND,(MVT::ValueType)VT, Promote); + AddPromotedToType (ISD::AND,(MVT::ValueType)VT, MVT::v2i64); + setOperationAction(ISD::OR, (MVT::ValueType)VT, Promote); + AddPromotedToType (ISD::OR, (MVT::ValueType)VT, MVT::v2i64); + setOperationAction(ISD::XOR,(MVT::ValueType)VT, Promote); + AddPromotedToType (ISD::XOR,(MVT::ValueType)VT, MVT::v2i64); setOperationAction(ISD::LOAD, (MVT::ValueType)VT, Promote); AddPromotedToType (ISD::LOAD, (MVT::ValueType)VT,
[llvm-commits] CVS: llvm/test/Regression/Linker/dg.exp
Changes in directory llvm/test/Regression/Linker: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Linker/dg.exp diff -u llvm/test/Regression/Linker/dg.exp:1.2 llvm/test/Regression/Linker/dg.exp:1.3 --- llvm/test/Regression/Linker/dg.exp:1.2 Fri Nov 19 16:43:50 2004 +++ llvm/test/Regression/Linker/dg.exp Wed Apr 12 16:57:35 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Other/dg.exp
Changes in directory llvm/test/Regression/Other: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Other/dg.exp diff -u llvm/test/Regression/Other/dg.exp:1.2 llvm/test/Regression/Other/dg.exp:1.3 --- llvm/test/Regression/Other/dg.exp:1.2 Fri Nov 19 16:43:52 2004 +++ llvm/test/Regression/Other/dg.exp Wed Apr 12 16:57:35 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/SCCP/dg.exp
Changes in directory llvm/test/Regression/Transforms/SCCP: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/SCCP/dg.exp diff -u llvm/test/Regression/Transforms/SCCP/dg.exp:1.2 llvm/test/Regression/Transforms/SCCP/dg.exp:1.3 --- llvm/test/Regression/Transforms/SCCP/dg.exp:1.2 Fri Nov 19 16:45:12 2004 +++ llvm/test/Regression/Transforms/SCCP/dg.exp Wed Apr 12 16:57:39 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/ADCE/dg.exp
Changes in directory llvm/test/Regression/Transforms/ADCE: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/ADCE/dg.exp diff -u llvm/test/Regression/Transforms/ADCE/dg.exp:1.2 llvm/test/Regression/Transforms/ADCE/dg.exp:1.3 --- llvm/test/Regression/Transforms/ADCE/dg.exp:1.2 Fri Nov 19 16:43:56 2004 +++ llvm/test/Regression/Transforms/ADCE/dg.exp Wed Apr 12 16:57:35 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/ExecutionEngine/dg.exp
Changes in directory llvm/test/Regression/ExecutionEngine: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/ExecutionEngine/dg.exp diff -u llvm/test/Regression/ExecutionEngine/dg.exp:1.2 llvm/test/Regression/ExecutionEngine/dg.exp:1.3 --- llvm/test/Regression/ExecutionEngine/dg.exp:1.2 Fri Nov 19 16:43:48 2004 +++ llvm/test/Regression/ExecutionEngine/dg.exp Wed Apr 12 16:57:35 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/Inline/dg.exp
Changes in directory llvm/test/Regression/Transforms/Inline: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/Inline/dg.exp diff -u llvm/test/Regression/Transforms/Inline/dg.exp:1.2 llvm/test/Regression/Transforms/Inline/dg.exp:1.3 --- llvm/test/Regression/Transforms/Inline/dg.exp:1.2 Fri Nov 19 16:44:29 2004 +++ llvm/test/Regression/Transforms/Inline/dg.exp Wed Apr 12 16:57:38 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Bytecode/dg.exp
Changes in directory llvm/test/Regression/Bytecode: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Bytecode/dg.exp diff -u llvm/test/Regression/Bytecode/dg.exp:1.2 llvm/test/Regression/Bytecode/dg.exp:1.3 --- llvm/test/Regression/Bytecode/dg.exp:1.2Fri Nov 19 16:43:20 2004 +++ llvm/test/Regression/Bytecode/dg.expWed Apr 12 16:57:33 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/LoopUnroll/dg.exp
Changes in directory llvm/test/Regression/Transforms/LoopUnroll: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/LoopUnroll/dg.exp diff -u llvm/test/Regression/Transforms/LoopUnroll/dg.exp:1.2 llvm/test/Regression/Transforms/LoopUnroll/dg.exp:1.3 --- llvm/test/Regression/Transforms/LoopUnroll/dg.exp:1.2 Fri Nov 19 16:44:39 2004 +++ llvm/test/Regression/Transforms/LoopUnroll/dg.exp Wed Apr 12 16:57:38 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Analysis/Dominators/dg.exp
Changes in directory llvm/test/Regression/Analysis/Dominators: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Analysis/Dominators/dg.exp diff -u llvm/test/Regression/Analysis/Dominators/dg.exp:1.2 llvm/test/Regression/Analysis/Dominators/dg.exp:1.3 --- llvm/test/Regression/Analysis/Dominators/dg.exp:1.2 Fri Nov 19 16:42:59 2004 +++ llvm/test/Regression/Analysis/Dominators/dg.exp Wed Apr 12 16:57:33 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/LICM/dg.exp
Changes in directory llvm/test/Regression/Transforms/LICM: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/LICM/dg.exp diff -u llvm/test/Regression/Transforms/LICM/dg.exp:1.2 llvm/test/Regression/Transforms/LICM/dg.exp:1.3 --- llvm/test/Regression/Transforms/LICM/dg.exp:1.2 Fri Nov 19 16:44:34 2004 +++ llvm/test/Regression/Transforms/LICM/dg.exp Wed Apr 12 16:57:38 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/SparcV9/dg.exp
Changes in directory llvm/test/Regression/CodeGen/SparcV9: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/CodeGen/SparcV9/dg.exp diff -u llvm/test/Regression/CodeGen/SparcV9/dg.exp:1.2 llvm/test/Regression/CodeGen/SparcV9/dg.exp:1.3 --- llvm/test/Regression/CodeGen/SparcV9/dg.exp:1.2 Fri Nov 19 16:43:40 2004 +++ llvm/test/Regression/CodeGen/SparcV9/dg.exp Wed Apr 12 16:57:35 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Archive/dg.exp
Changes in directory llvm/test/Regression/Archive: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Archive/dg.exp diff -u llvm/test/Regression/Archive/dg.exp:1.2 llvm/test/Regression/Archive/dg.exp:1.3 --- llvm/test/Regression/Archive/dg.exp:1.2 Sat Nov 20 01:25:10 2004 +++ llvm/test/Regression/Archive/dg.exp Wed Apr 12 16:57:33 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/ConstProp/dg.exp
Changes in directory llvm/test/Regression/Transforms/ConstProp: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/ConstProp/dg.exp diff -u llvm/test/Regression/Transforms/ConstProp/dg.exp:1.2 llvm/test/Regression/Transforms/ConstProp/dg.exp:1.3 --- llvm/test/Regression/Transforms/ConstProp/dg.exp:1.2Fri Nov 19 16:44:05 2004 +++ llvm/test/Regression/Transforms/ConstProp/dg.expWed Apr 12 16:57:36 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/IA64/dg.exp
Changes in directory llvm/test/Regression/CodeGen/IA64: dg.exp updated: 1.1 - 1.2 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/CodeGen/IA64/dg.exp diff -u llvm/test/Regression/CodeGen/IA64/dg.exp:1.1 llvm/test/Regression/CodeGen/IA64/dg.exp:1.2 --- llvm/test/Regression/CodeGen/IA64/dg.exp:1.1Mon Aug 22 12:15:41 2005 +++ llvm/test/Regression/CodeGen/IA64/dg.expWed Apr 12 16:57:34 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/LowerSetJmp/dg.exp
Changes in directory llvm/test/Regression/Transforms/LowerSetJmp: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/LowerSetJmp/dg.exp diff -u llvm/test/Regression/Transforms/LowerSetJmp/dg.exp:1.2 llvm/test/Regression/Transforms/LowerSetJmp/dg.exp:1.3 --- llvm/test/Regression/Transforms/LowerSetJmp/dg.exp:1.2 Fri Nov 19 16:44:43 2004 +++ llvm/test/Regression/Transforms/LowerSetJmp/dg.exp Wed Apr 12 16:57:39 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Analysis/Andersens/dg.exp
Changes in directory llvm/test/Regression/Analysis/Andersens: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+2 -1) dg.exp |3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm/test/Regression/Analysis/Andersens/dg.exp diff -u llvm/test/Regression/Analysis/Andersens/dg.exp:1.2 llvm/test/Regression/Analysis/Andersens/dg.exp:1.3 --- llvm/test/Regression/Analysis/Andersens/dg.exp:1.2 Fri Nov 19 16:42:49 2004 +++ llvm/test/Regression/Analysis/Andersens/dg.exp Wed Apr 12 16:57:32 2006 @@ -1,3 +1,4 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/InstCombine/dg.exp
Changes in directory llvm/test/Regression/Transforms/InstCombine: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/InstCombine/dg.exp diff -u llvm/test/Regression/Transforms/InstCombine/dg.exp:1.2 llvm/test/Regression/Transforms/InstCombine/dg.exp:1.3 --- llvm/test/Regression/Transforms/InstCombine/dg.exp:1.2 Fri Nov 19 16:44:30 2004 +++ llvm/test/Regression/Transforms/InstCombine/dg.exp Wed Apr 12 16:57:38 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/GlobalOpt/dg.exp
Changes in directory llvm/test/Regression/Transforms/GlobalOpt: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/GlobalOpt/dg.exp diff -u llvm/test/Regression/Transforms/GlobalOpt/dg.exp:1.2 llvm/test/Regression/Transforms/GlobalOpt/dg.exp:1.3 --- llvm/test/Regression/Transforms/GlobalOpt/dg.exp:1.2Fri Nov 19 16:44:23 2004 +++ llvm/test/Regression/Transforms/GlobalOpt/dg.expWed Apr 12 16:57:37 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/PruneEH/dg.exp
Changes in directory llvm/test/Regression/Transforms/PruneEH: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/PruneEH/dg.exp diff -u llvm/test/Regression/Transforms/PruneEH/dg.exp:1.2 llvm/test/Regression/Transforms/PruneEH/dg.exp:1.3 --- llvm/test/Regression/Transforms/PruneEH/dg.exp:1.2 Fri Nov 19 16:45:01 2004 +++ llvm/test/Regression/Transforms/PruneEH/dg.exp Wed Apr 12 16:57:39 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/Generic/dg.exp
Changes in directory llvm/test/Regression/CodeGen/Generic: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/CodeGen/Generic/dg.exp diff -u llvm/test/Regression/CodeGen/Generic/dg.exp:1.2 llvm/test/Regression/CodeGen/Generic/dg.exp:1.3 --- llvm/test/Regression/CodeGen/Generic/dg.exp:1.2 Fri Nov 19 16:43:33 2004 +++ llvm/test/Regression/CodeGen/Generic/dg.exp Wed Apr 12 16:57:34 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/DSAnalysis/dg.exp
Changes in directory llvm/test/Regression/Transforms/DSAnalysis: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/DSAnalysis/dg.exp diff -u llvm/test/Regression/Transforms/DSAnalysis/dg.exp:1.2 llvm/test/Regression/Transforms/DSAnalysis/dg.exp:1.3 --- llvm/test/Regression/Transforms/DSAnalysis/dg.exp:1.2 Fri Nov 19 16:44:10 2004 +++ llvm/test/Regression/Transforms/DSAnalysis/dg.exp Wed Apr 12 16:57:36 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/Reassociate/dg.exp
Changes in directory llvm/test/Regression/Transforms/Reassociate: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/Reassociate/dg.exp diff -u llvm/test/Regression/Transforms/Reassociate/dg.exp:1.2 llvm/test/Regression/Transforms/Reassociate/dg.exp:1.3 --- llvm/test/Regression/Transforms/Reassociate/dg.exp:1.2 Fri Nov 19 16:45:09 2004 +++ llvm/test/Regression/Transforms/Reassociate/dg.exp Wed Apr 12 16:57:39 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/X86/dg.exp
Changes in directory llvm/test/Regression/CodeGen/X86: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/CodeGen/X86/dg.exp diff -u llvm/test/Regression/CodeGen/X86/dg.exp:1.2 llvm/test/Regression/CodeGen/X86/dg.exp:1.3 --- llvm/test/Regression/CodeGen/X86/dg.exp:1.2 Fri Nov 19 16:43:43 2004 +++ llvm/test/Regression/CodeGen/X86/dg.exp Wed Apr 12 16:57:35 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/LowerSwitch/dg.exp
Changes in directory llvm/test/Regression/Transforms/LowerSwitch: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/LowerSwitch/dg.exp diff -u llvm/test/Regression/Transforms/LowerSwitch/dg.exp:1.2 llvm/test/Regression/Transforms/LowerSwitch/dg.exp:1.3 --- llvm/test/Regression/Transforms/LowerSwitch/dg.exp:1.2 Fri Nov 19 16:44:45 2004 +++ llvm/test/Regression/Transforms/LowerSwitch/dg.exp Wed Apr 12 16:57:39 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Analysis/GlobalsModRef/dg.exp
Changes in directory llvm/test/Regression/Analysis/GlobalsModRef: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Analysis/GlobalsModRef/dg.exp diff -u llvm/test/Regression/Analysis/GlobalsModRef/dg.exp:1.2 llvm/test/Regression/Analysis/GlobalsModRef/dg.exp:1.3 --- llvm/test/Regression/Analysis/GlobalsModRef/dg.exp:1.2 Fri Nov 19 16:43:02 2004 +++ llvm/test/Regression/Analysis/GlobalsModRef/dg.exp Wed Apr 12 16:57:33 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/BlockPlacement/dg.exp
Changes in directory llvm/test/Regression/Transforms/BlockPlacement: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/BlockPlacement/dg.exp diff -u llvm/test/Regression/Transforms/BlockPlacement/dg.exp:1.2 llvm/test/Regression/Transforms/BlockPlacement/dg.exp:1.3 --- llvm/test/Regression/Transforms/BlockPlacement/dg.exp:1.2 Fri Nov 19 16:44:00 2004 +++ llvm/test/Regression/Transforms/BlockPlacement/dg.exp Wed Apr 12 16:57:35 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/LoopSimplify/dg.exp
Changes in directory llvm/test/Regression/Transforms/LoopSimplify: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/LoopSimplify/dg.exp diff -u llvm/test/Regression/Transforms/LoopSimplify/dg.exp:1.2 llvm/test/Regression/Transforms/LoopSimplify/dg.exp:1.3 --- llvm/test/Regression/Transforms/LoopSimplify/dg.exp:1.2 Fri Nov 19 16:44:37 2004 +++ llvm/test/Regression/Transforms/LoopSimplify/dg.exp Wed Apr 12 16:57:38 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Analysis/BasicAA/dg.exp
Changes in directory llvm/test/Regression/Analysis/BasicAA: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Analysis/BasicAA/dg.exp diff -u llvm/test/Regression/Analysis/BasicAA/dg.exp:1.2 llvm/test/Regression/Analysis/BasicAA/dg.exp:1.3 --- llvm/test/Regression/Analysis/BasicAA/dg.exp:1.2Fri Nov 19 16:42:53 2004 +++ llvm/test/Regression/Analysis/BasicAA/dg.expWed Apr 12 16:57:32 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/SimplifyLibCalls/dg.exp
Changes in directory llvm/test/Regression/Transforms/SimplifyLibCalls: dg.exp updated: 1.1 - 1.2 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/SimplifyLibCalls/dg.exp diff -u llvm/test/Regression/Transforms/SimplifyLibCalls/dg.exp:1.1 llvm/test/Regression/Transforms/SimplifyLibCalls/dg.exp:1.2 --- llvm/test/Regression/Transforms/SimplifyLibCalls/dg.exp:1.1 Sun Apr 24 21:50:08 2005 +++ llvm/test/Regression/Transforms/SimplifyLibCalls/dg.exp Wed Apr 12 16:57:39 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/TailCallElim/dg.exp
Changes in directory llvm/test/Regression/Transforms/TailCallElim: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/TailCallElim/dg.exp diff -u llvm/test/Regression/Transforms/TailCallElim/dg.exp:1.2 llvm/test/Regression/Transforms/TailCallElim/dg.exp:1.3 --- llvm/test/Regression/Transforms/TailCallElim/dg.exp:1.2 Fri Nov 19 16:45:18 2004 +++ llvm/test/Regression/Transforms/TailCallElim/dg.exp Wed Apr 12 16:57:40 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/lib/llvm-dg.exp
Changes in directory llvm/test/lib: llvm-dg.exp updated: 1.12 - 1.13 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+6 -2) llvm-dg.exp |8 ++-- 1 files changed, 6 insertions(+), 2 deletions(-) Index: llvm/test/lib/llvm-dg.exp diff -u llvm/test/lib/llvm-dg.exp:1.12 llvm/test/lib/llvm-dg.exp:1.13 --- llvm/test/lib/llvm-dg.exp:1.12 Wed Mar 8 16:32:20 2006 +++ llvm/test/lib/llvm-dg.exp Wed Apr 12 16:57:40 2006 @@ -1,4 +1,5 @@ -proc llvm-runtest { programs objdir srcdir subdir target_triplet llvmgcc llvmgxx prcontext} { +proc llvm-runtest { programs objdir srcdir subdir target_triplet llvmgcc llvmgxx prcontext llvmgcc_version} { + set timeout 60 @@ -65,7 +66,6 @@ puts $scriptFileId $new_runline } elseif {[regexp {XFAIL:[ *](.+)} $line match targets]} { set targets - #split up target if more then 1 specified foreach target [split $targets ,] { @@ -73,6 +73,10 @@ set outcome XFAIL } elseif { [regexp $target $target_triplet match] } { set outcome XFAIL + } elseif { [regexp {llvmgcc(([0-9]+)|([0-9]+[.][0-9]+))} $target match submatch submatch2] } { + if { [regexp ^($submatch)$|^(($submatch)(\.)) $llvmgcc_version match] } { + set outcome XFAIL + } } } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/CorrelatedExprs/dg.exp
Changes in directory llvm/test/Regression/Transforms/CorrelatedExprs: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/CorrelatedExprs/dg.exp diff -u llvm/test/Regression/Transforms/CorrelatedExprs/dg.exp:1.2 llvm/test/Regression/Transforms/CorrelatedExprs/dg.exp:1.3 --- llvm/test/Regression/Transforms/CorrelatedExprs/dg.exp:1.2 Fri Nov 19 16:44:09 2004 +++ llvm/test/Regression/Transforms/CorrelatedExprs/dg.exp Wed Apr 12 16:57:36 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Verifier/2004-01-22-FloatNormalization.ll 2005-03-21-UndefinedTypeReference.ll dg.exp
Changes in directory llvm/test/Regression/Verifier: 2004-01-22-FloatNormalization.ll updated: 1.2 - 1.3 2005-03-21-UndefinedTypeReference.ll updated: 1.1 - 1.2 dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+2 -3) 2004-01-22-FloatNormalization.ll |2 +- 2005-03-21-UndefinedTypeReference.ll |1 - dg.exp |2 +- 3 files changed, 2 insertions(+), 3 deletions(-) Index: llvm/test/Regression/Verifier/2004-01-22-FloatNormalization.ll diff -u llvm/test/Regression/Verifier/2004-01-22-FloatNormalization.ll:1.2 llvm/test/Regression/Verifier/2004-01-22-FloatNormalization.ll:1.3 --- llvm/test/Regression/Verifier/2004-01-22-FloatNormalization.ll:1.2 Fri Dec 23 10:13:52 2005 +++ llvm/test/Regression/Verifier/2004-01-22-FloatNormalization.ll Wed Apr 12 16:57:40 2006 @@ -1,5 +1,5 @@ ; RUN: not llvm-as %s -o /dev/null -f -; XFAIL: * +; XFAIL: 3.4 ; make sure that invalid 'float' values are caught. Index: llvm/test/Regression/Verifier/2005-03-21-UndefinedTypeReference.ll diff -u llvm/test/Regression/Verifier/2005-03-21-UndefinedTypeReference.ll:1.1 llvm/test/Regression/Verifier/2005-03-21-UndefinedTypeReference.ll:1.2 --- llvm/test/Regression/Verifier/2005-03-21-UndefinedTypeReference.ll:1.1 Mon Mar 21 00:24:53 2005 +++ llvm/test/Regression/Verifier/2005-03-21-UndefinedTypeReference.ll Wed Apr 12 16:57:40 2006 @@ -1,5 +1,4 @@ ; RUN: not llvm-as -f %s -o /dev/null - void %test() { malloc %InvalidType ret void Index: llvm/test/Regression/Verifier/dg.exp diff -u llvm/test/Regression/Verifier/dg.exp:1.2 llvm/test/Regression/Verifier/dg.exp:1.3 --- llvm/test/Regression/Verifier/dg.exp:1.2Fri Nov 19 16:45:25 2004 +++ llvm/test/Regression/Verifier/dg.expWed Apr 12 16:57:40 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/DeadArgElim/dg.exp
Changes in directory llvm/test/Regression/Transforms/DeadArgElim: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/DeadArgElim/dg.exp diff -u llvm/test/Regression/Transforms/DeadArgElim/dg.exp:1.2 llvm/test/Regression/Transforms/DeadArgElim/dg.exp:1.3 --- llvm/test/Regression/Transforms/DeadArgElim/dg.exp:1.2 Fri Nov 19 16:44:12 2004 +++ llvm/test/Regression/Transforms/DeadArgElim/dg.exp Wed Apr 12 16:57:36 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/CBackend/dg.exp
Changes in directory llvm/test/Regression/CodeGen/CBackend: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/CodeGen/CBackend/dg.exp diff -u llvm/test/Regression/CodeGen/CBackend/dg.exp:1.2 llvm/test/Regression/CodeGen/CBackend/dg.exp:1.3 --- llvm/test/Regression/CodeGen/CBackend/dg.exp:1.2Fri Nov 19 16:43:28 2004 +++ llvm/test/Regression/CodeGen/CBackend/dg.expWed Apr 12 16:57:34 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/IndVarsSimplify/dg.exp
Changes in directory llvm/test/Regression/Transforms/IndVarsSimplify: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/IndVarsSimplify/dg.exp diff -u llvm/test/Regression/Transforms/IndVarsSimplify/dg.exp:1.2 llvm/test/Regression/Transforms/IndVarsSimplify/dg.exp:1.3 --- llvm/test/Regression/Transforms/IndVarsSimplify/dg.exp:1.2 Fri Nov 19 16:44:27 2004 +++ llvm/test/Regression/Transforms/IndVarsSimplify/dg.exp Wed Apr 12 16:57:38 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/RaiseAllocations/dg.exp
Changes in directory llvm/test/Regression/Transforms/RaiseAllocations: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/RaiseAllocations/dg.exp diff -u llvm/test/Regression/Transforms/RaiseAllocations/dg.exp:1.2 llvm/test/Regression/Transforms/RaiseAllocations/dg.exp:1.3 --- llvm/test/Regression/Transforms/RaiseAllocations/dg.exp:1.2 Fri Nov 19 16:45:05 2004 +++ llvm/test/Regression/Transforms/RaiseAllocations/dg.exp Wed Apr 12 16:57:39 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/LoopUnswitch/dg.exp
Changes in directory llvm/test/Regression/Transforms/LoopUnswitch: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/LoopUnswitch/dg.exp diff -u llvm/test/Regression/Transforms/LoopUnswitch/dg.exp:1.2 llvm/test/Regression/Transforms/LoopUnswitch/dg.exp:1.3 --- llvm/test/Regression/Transforms/LoopUnswitch/dg.exp:1.2 Fri Nov 19 16:44:40 2004 +++ llvm/test/Regression/Transforms/LoopUnswitch/dg.exp Wed Apr 12 16:57:38 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/IPConstantProp/dg.exp
Changes in directory llvm/test/Regression/Transforms/IPConstantProp: dg.exp updated: 1.2 - 1.3 --- Log message: Added the ability to xfail based on llvmgcc version --- Diffs of the changes: (+1 -1) dg.exp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Transforms/IPConstantProp/dg.exp diff -u llvm/test/Regression/Transforms/IPConstantProp/dg.exp:1.2 llvm/test/Regression/Transforms/IPConstantProp/dg.exp:1.3 --- llvm/test/Regression/Transforms/IPConstantProp/dg.exp:1.2 Fri Nov 19 16:44:25 2004 +++ llvm/test/Regression/Transforms/IPConstantProp/dg.exp Wed Apr 12 16:57:37 2006 @@ -1,3 +1,3 @@ load_lib llvm-dg.exp -llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext +llvm-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,llx,c,cpp,tr}]] $objdir $srcdir $subdir $target_triplet $llvmgcc $llvmgxx $prcontext $llvmgcc_version ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/include/llvm/IntrinsicsX86.td
Changes in directory llvm/include/llvm: IntrinsicsX86.td updated: 1.20 - 1.21 --- Log message: SSE / SSE2 conversion intrinsics. --- Diffs of the changes: (+11 -7) IntrinsicsX86.td | 18 +++--- 1 files changed, 11 insertions(+), 7 deletions(-) Index: llvm/include/llvm/IntrinsicsX86.td diff -u llvm/include/llvm/IntrinsicsX86.td:1.20 llvm/include/llvm/IntrinsicsX86.td:1.21 --- llvm/include/llvm/IntrinsicsX86.td:1.20 Wed Apr 12 00:20:24 2006 +++ llvm/include/llvm/IntrinsicsX86.td Wed Apr 12 18:42:44 2006 @@ -112,16 +112,11 @@ let TargetPrefix = x86 in { // All intrinsics start with llvm.x86.. def int_x86_sse_cvtss2si : GCCBuiltin__builtin_ia32_cvtss2si, Intrinsic[llvm_int_ty, llvm_v4f32_ty], [IntrNoMem]; - def int_x86_sse_cvtps2pi : GCCBuiltin__builtin_ia32_cvtps2pi, - Intrinsic[llvm_v2i32_ty, llvm_v4i32_ty], [IntrNoMem]; def int_x86_sse_cvttss2si : GCCBuiltin__builtin_ia32_cvttss2si, Intrinsic[llvm_int_ty, llvm_v4f32_ty], [IntrNoMem]; - def int_x86_sse_cvttps2pi : GCCBuiltin__builtin_ia32_cvttps2pi, - Intrinsic[llvm_v2i32_ty, llvm_v4i32_ty], [IntrNoMem]; def int_x86_sse_cvtsi2ss : GCCBuiltin__builtin_ia32_cvtsi2ss, - Intrinsic[llvm_v4f32_ty, llvm_int_ty], [IntrNoMem]; - def int_x86_sse_cvtpi2ps : GCCBuiltin__builtin_ia32_cvtpi2ps, - Intrinsic[llvm_v4f32_ty, llvm_v2i32_ty], [IntrNoMem]; + Intrinsic[llvm_v4f32_ty, llvm_v4f32_ty, + llvm_int_ty], [IntrNoMem]; } // SIMD load ops @@ -287,6 +282,15 @@ Intrinsic[llvm_int_ty, llvm_v2f64_ty], [IntrNoMem]; def int_x86_sse2_cvttsd2si : GCCBuiltin__builtin_ia32_cvttsd2si, Intrinsic[llvm_int_ty, llvm_v2f64_ty], [IntrNoMem]; + def int_x86_sse2_cvtsi2sd : GCCBuiltin__builtin_ia32_cvtsi2sd, + Intrinsic[llvm_v2f64_ty, llvm_v2f64_ty, + llvm_int_ty], [IntrNoMem]; + def int_x86_sse2_cvtsd2ss : GCCBuiltin__builtin_ia32_cvtsd2ss, + Intrinsic[llvm_v4f32_ty, llvm_v4f32_ty, + llvm_v2f64_ty], [IntrNoMem]; + def int_x86_sse2_cvtss2sd : GCCBuiltin__builtin_ia32_cvtss2sd, + Intrinsic[llvm_v2f64_ty, llvm_v2f64_ty, + llvm_v4f32_ty], [IntrNoMem]; } // SIMD load ops ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrSSE.td
Changes in directory llvm/lib/Target/X86: X86InstrSSE.td updated: 1.81 - 1.82 --- Log message: Naming inconsistency. --- Diffs of the changes: (+1 -1) X86InstrSSE.td |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/Target/X86/X86InstrSSE.td diff -u llvm/lib/Target/X86/X86InstrSSE.td:1.81 llvm/lib/Target/X86/X86InstrSSE.td:1.82 --- llvm/lib/Target/X86/X86InstrSSE.td:1.81 Wed Apr 12 18:42:44 2006 +++ llvm/lib/Target/X86/X86InstrSSE.td Wed Apr 12 19:00:23 2006 @@ -1613,7 +1613,7 @@ [(set R32:$dst, (int_x86_sse_movmsk_ps VR128:$src))]; def MOVMSKPDrr : PSI0x50, MRMSrcReg, (ops R32:$dst, VR128:$src), movmskpd {$src, $dst|$dst, $src}, - [(set R32:$dst, (int_x86_sse2_movmskpd VR128:$src))]; + [(set R32:$dst, (int_x86_sse2_movmsk_pd VR128:$src))]; def PMOVMSKBrr : PDI0xD7, MRMSrcReg, (ops R32:$dst, VR128:$src), pmovmskb {$src, $dst|$dst, $src}, ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/include/llvm/IntrinsicsX86.td
Changes in directory llvm/include/llvm: IntrinsicsX86.td updated: 1.21 - 1.22 --- Log message: Naming inconsistency. --- Diffs of the changes: (+1 -1) IntrinsicsX86.td |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/include/llvm/IntrinsicsX86.td diff -u llvm/include/llvm/IntrinsicsX86.td:1.21 llvm/include/llvm/IntrinsicsX86.td:1.22 --- llvm/include/llvm/IntrinsicsX86.td:1.21 Wed Apr 12 18:42:44 2006 +++ llvm/include/llvm/IntrinsicsX86.td Wed Apr 12 19:00:23 2006 @@ -341,7 +341,7 @@ // FIXME: Temporary workaround since 2-wide shuffle is broken. def int_x86_sse2_movl_dq : GCCBuiltin__builtin_ia32_movqv4si, Intrinsic[llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]; - def int_x86_sse2_movmskpd : GCCBuiltin__builtin_ia32_movmskpd, + def int_x86_sse2_movmsk_pd : GCCBuiltin__builtin_ia32_movmskpd, Intrinsic[llvm_int_ty, llvm_v2f64_ty], [IntrNoMem]; def int_x86_sse2_pmovmskb_128 : GCCBuiltin__builtin_ia32_pmovmskb128, Intrinsic[llvm_int_ty, llvm_v16i8_ty], [IntrNoMem]; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrSSE.td
Changes in directory llvm/lib/Target/X86: X86InstrSSE.td updated: 1.82 - 1.83 --- Log message: padds{b|w}, paddus{b|w}, psubs{b|w}, psubus{b|w} intrinsics. --- Diffs of the changes: (+78 -8) X86InstrSSE.td | 86 +++-- 1 files changed, 78 insertions(+), 8 deletions(-) Index: llvm/lib/Target/X86/X86InstrSSE.td diff -u llvm/lib/Target/X86/X86InstrSSE.td:1.82 llvm/lib/Target/X86/X86InstrSSE.td:1.83 --- llvm/lib/Target/X86/X86InstrSSE.td:1.82 Wed Apr 12 19:00:23 2006 +++ llvm/lib/Target/X86/X86InstrSSE.td Wed Apr 12 19:43:35 2006 @@ -1283,23 +1283,59 @@ paddq {$src2, $dst|$dst, $src2}, [(set VR128:$dst, (v2i64 (add VR128:$src1, VR128:$src2)))]; } -def PADDBrm : PDI0xFC, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f128mem:$src2), +def PADDBrm : PDI0xFC, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), paddb {$src2, $dst|$dst, $src2}, [(set VR128:$dst, (v16i8 (add VR128:$src1, (load addr:$src2]; -def PADDWrm : PDI0xFD, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f128mem:$src2), +def PADDWrm : PDI0xFD, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), paddw {$src2, $dst|$dst, $src2}, [(set VR128:$dst, (v8i16 (add VR128:$src1, (load addr:$src2]; -def PADDDrm : PDI0xFE, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f128mem:$src2), +def PADDDrm : PDI0xFE, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), paddd {$src2, $dst|$dst, $src2}, [(set VR128:$dst, (v4i32 (add VR128:$src1, (load addr:$src2]; -def PADDQrm : PDI0xD4, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f128mem:$src2), +def PADDQrm : PDI0xD4, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), paddd {$src2, $dst|$dst, $src2}, [(set VR128:$dst, (v2i64 (add VR128:$src1, (load addr:$src2]; +let isCommutable = 1 in { +def PADDSBrr : PDI0xEC, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), + paddsb {$src2, $dst|$dst, $src2}, + [(set VR128:$dst, (int_x86_sse2_padds_b VR128:$src1, + VR128:$src2))]; +def PADDSWrr : PDI0xED, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), + paddsw {$src2, $dst|$dst, $src2}, + [(set VR128:$dst, (int_x86_sse2_padds_w VR128:$src1, + VR128:$src2))]; +def PADDUSBrr : PDI0xDC, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), +paddusb {$src2, $dst|$dst, $src2}, +[(set VR128:$dst, (int_x86_sse2_paddus_b VR128:$src1, + VR128:$src2))]; +def PADDUSWrr : PDI0xDD, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), + paddusw {$src2, $dst|$dst, $src2}, +[(set VR128:$dst, (int_x86_sse2_paddus_w VR128:$src1, + VR128:$src2))]; +} +def PADDSBrm : PDI0xEC, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), + paddsb {$src2, $dst|$dst, $src2}, + [(set VR128:$dst, (int_x86_sse2_padds_b VR128:$src1, + (bc_v16i8 (loadv2i64 addr:$src2]; +def PADDSWrm : PDI0xED, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), + paddsw {$src2, $dst|$dst, $src2}, + [(set VR128:$dst, (int_x86_sse2_padds_w VR128:$src1, + (bc_v8i16 (loadv2i64 addr:$src2]; +def PADDUSBrm : PDI0xDC, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), +paddusb {$src2, $dst|$dst, $src2}, +[(set VR128:$dst, (int_x86_sse2_paddus_b VR128:$src1, + (bc_v16i8 (loadv2i64 addr:$src2]; +def PADDUSWrm : PDI0xDD, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), + paddusw {$src2, $dst|$dst, $src2}, +[(set VR128:$dst, (int_x86_sse2_paddus_w VR128:$src1, + (bc_v8i16 (loadv2i64 addr:$src2]; + + def PSUBBrr : PDI0xF8, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), psubb {$src2, $dst|$dst, $src2}, [(set VR128:$dst, (v16i8 (sub VR128:$src1, VR128:$src2)))]; @@ -1313,22 +1349,56 @@ psubq {$src2, $dst|$dst, $src2}, [(set VR128:$dst, (v2i64 (sub VR128:$src1, VR128:$src2)))]; -def PSUBBrm : PDI0xF8, MRMSrcMem, (ops VR128:$dst, VR128:$src1, f128mem:$src2), +def PSUBBrm : PDI0xF8, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), psubb {$src2, $dst|$dst, $src2}, [(set VR128:$dst, (v16i8 (sub VR128:$src1,
[llvm-commits] CVS: llvm/CREDITS.TXT
Changes in directory llvm: CREDITS.TXT updated: 1.50 - 1.51 --- Log message: quick update --- Diffs of the changes: (+1 -0) CREDITS.TXT |1 + 1 files changed, 1 insertion(+) Index: llvm/CREDITS.TXT diff -u llvm/CREDITS.TXT:1.50 llvm/CREDITS.TXT:1.51 --- llvm/CREDITS.TXT:1.50 Wed Apr 12 16:28:14 2006 +++ llvm/CREDITS.TXTWed Apr 12 21:05:30 2006 @@ -109,6 +109,7 @@ E: [EMAIL PROTECTED] W: http://www.lenharth.org/~andrewl/ D: Alpha backend +D: Sampling based profiling N: Duraid Madina E: [EMAIL PROTECTED] ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/utils/llvm-config/llvm-config.in.in
Changes in directory llvm/utils/llvm-config: llvm-config.in.in updated: 1.3 - 1.4 --- Log message: one too many l's --- Diffs of the changes: (+1 -1) llvm-config.in.in |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/utils/llvm-config/llvm-config.in.in diff -u llvm/utils/llvm-config/llvm-config.in.in:1.3 llvm/utils/llvm-config/llvm-config.in.in:1.4 --- llvm/utils/llvm-config/llvm-config.in.in:1.3Thu Mar 23 19:10:39 2006 +++ llvm/utils/llvm-config/llvm-config.in.inWed Apr 12 23:21:31 2006 @@ -5,7 +5,7 @@ # Synopsis: Prints out compiler options needed to build against an installed # copy of LLVM. # -# Syntax: lllvm-config OPTIONS... [COMPONENTS...] +# Syntax: llvm-config OPTIONS... [COMPONENTS...] # # This file was written by Eric Kidd, and is placed into the public domain. # ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/include/llvm/IntrinsicsX86.td
Changes in directory llvm/include/llvm: IntrinsicsX86.td updated: 1.23 - 1.24 --- Log message: pmul*, pmadd*, and pavg* intrinsics. --- Diffs of the changes: (+18 -0) IntrinsicsX86.td | 18 ++ 1 files changed, 18 insertions(+) Index: llvm/include/llvm/IntrinsicsX86.td diff -u llvm/include/llvm/IntrinsicsX86.td:1.23 llvm/include/llvm/IntrinsicsX86.td:1.24 --- llvm/include/llvm/IntrinsicsX86.td:1.23 Wed Apr 12 19:43:35 2006 +++ llvm/include/llvm/IntrinsicsX86.td Thu Apr 13 00:09:06 2006 @@ -276,6 +276,24 @@ def int_x86_sse2_psubus_w : GCCBuiltin__builtin_ia32_psubusw128, Intrinsic[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]; + def int_x86_sse2_pmulhu_w : GCCBuiltin__builtin_ia32_pmulhuw128, + Intrinsic[llvm_v8i16_ty, llvm_v8i16_ty, + llvm_v8i16_ty], [IntrNoMem]; + def int_x86_sse2_pmulh_w : GCCBuiltin__builtin_ia32_pmulhw128, + Intrinsic[llvm_v8i16_ty, llvm_v8i16_ty, + llvm_v8i16_ty], [IntrNoMem]; + def int_x86_sse2_pmulu_dq : GCCBuiltin__builtin_ia32_pmuludq128, + Intrinsic[llvm_v2i64_ty, llvm_v4i32_ty, + llvm_v4i32_ty], [IntrNoMem]; + def int_x86_sse2_pmadd_wd : GCCBuiltin__builtin_ia32_pmaddwd128, + Intrinsic[llvm_v4i32_ty, llvm_v8i16_ty, + llvm_v8i16_ty], [IntrNoMem]; + def int_x86_sse2_pavg_b : GCCBuiltin__builtin_ia32_pavgb128, + Intrinsic[llvm_v16i8_ty, llvm_v16i8_ty, + llvm_v16i8_ty], [IntrNoMem]; + def int_x86_sse2_pavg_w : GCCBuiltin__builtin_ia32_pavgw128, + Intrinsic[llvm_v8i16_ty, llvm_v8i16_ty, + llvm_v8i16_ty], [IntrNoMem]; } // Integer shift ops. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/X86/README.txt
Changes in directory llvm/lib/Target/X86: README.txt updated: 1.86 - 1.87 --- Log message: Update --- Diffs of the changes: (+12 -0) README.txt | 12 1 files changed, 12 insertions(+) Index: llvm/lib/Target/X86/README.txt diff -u llvm/lib/Target/X86/README.txt:1.86 llvm/lib/Target/X86/README.txt:1.87 --- llvm/lib/Target/X86/README.txt:1.86 Wed Apr 12 16:21:57 2006 +++ llvm/lib/Target/X86/README.txt Thu Apr 13 00:09:45 2006 @@ -191,6 +191,18 @@ should be made smart enough to cannonicalize the load into the RHS of a compare when it can invert the result of the compare for free. +How about intrinsics? An example is: + *res = _mm_mulhi_epu16(*A, _mm_mul_epu32(*B, *C)); + +compiles to + pmuludq (%eax), %xmm0 + movl 8(%esp), %eax + movdqa (%eax), %xmm1 + pmulhuw %xmm0, %xmm1 + +The transformation probably requires a X86 specific pass or a DAG combiner +target specific hook. + //===-===// LSR should be turned on for the X86 backend and tuned to take advantage of its ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/X86/X86ISelLowering.cpp
Changes in directory llvm/lib/Target/X86: X86ISelLowering.cpp updated: 1.164 - 1.165 --- Log message: X86 SSE2 supports v8i16 multiplication --- Diffs of the changes: (+1 -0) X86ISelLowering.cpp |1 + 1 files changed, 1 insertion(+) Index: llvm/lib/Target/X86/X86ISelLowering.cpp diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.164 llvm/lib/Target/X86/X86ISelLowering.cpp:1.165 --- llvm/lib/Target/X86/X86ISelLowering.cpp:1.164 Wed Apr 12 16:21:57 2006 +++ llvm/lib/Target/X86/X86ISelLowering.cpp Thu Apr 13 00:10:25 2006 @@ -303,6 +303,7 @@ setOperationAction(ISD::SUB,MVT::v16i8, Legal); setOperationAction(ISD::SUB,MVT::v8i16, Legal); setOperationAction(ISD::SUB,MVT::v4i32, Legal); +setOperationAction(ISD::MUL,MVT::v8i16, Legal); setOperationAction(ISD::MUL,MVT::v2f64, Legal); setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v16i8, Custom); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/lib/Target/X86/X86InstrSSE.td
Changes in directory llvm/lib/Target/X86: X86InstrSSE.td updated: 1.83 - 1.84 --- Log message: Various SSE2 packed integer intrinsics: pmulhuw, pavgw, etc. --- Diffs of the changes: (+71 -4) X86InstrSSE.td | 75 + 1 files changed, 71 insertions(+), 4 deletions(-) Index: llvm/lib/Target/X86/X86InstrSSE.td diff -u llvm/lib/Target/X86/X86InstrSSE.td:1.83 llvm/lib/Target/X86/X86InstrSSE.td:1.84 --- llvm/lib/Target/X86/X86InstrSSE.td:1.83 Wed Apr 12 19:43:35 2006 +++ llvm/lib/Target/X86/X86InstrSSE.td Thu Apr 13 00:24:54 2006 @@ -1383,22 +1383,89 @@ [(set VR128:$dst, (int_x86_sse2_psubus_w VR128:$src1, VR128:$src2))]; -def PSUBSBrm : PDI0xE8, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), +def PSUBSBrm : PDI0xE8, MRMSrcMem, + (ops VR128:$dst, VR128:$src1, i128mem:$src2), psubsb {$src2, $dst|$dst, $src2}, [(set VR128:$dst, (int_x86_sse2_psubs_b VR128:$src1, (bc_v16i8 (loadv2i64 addr:$src2]; -def PSUBSWrm : PDI0xE9, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), +def PSUBSWrm : PDI0xE9, MRMSrcMem, + (ops VR128:$dst, VR128:$src1, i128mem:$src2), psubsw {$src2, $dst|$dst, $src2}, [(set VR128:$dst, (int_x86_sse2_psubs_w VR128:$src1, (bc_v8i16 (loadv2i64 addr:$src2]; -def PSUBUSBrm : PDI0xD8, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), +def PSUBUSBrm : PDI0xD8, MRMSrcMem, +(ops VR128:$dst, VR128:$src1, i128mem:$src2), psubusb {$src2, $dst|$dst, $src2}, [(set VR128:$dst, (int_x86_sse2_psubus_b VR128:$src1, (bc_v16i8 (loadv2i64 addr:$src2]; -def PSUBUSWrm : PDI0xD9, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), +def PSUBUSWrm : PDI0xD9, MRMSrcMem, +(ops VR128:$dst, VR128:$src1, i128mem:$src2), psubusw {$src2, $dst|$dst, $src2}, [(set VR128:$dst, (int_x86_sse2_psubus_w VR128:$src1, (bc_v8i16 (loadv2i64 addr:$src2]; + +let isCommutable = 1 in { +def PMULHUWrr : PDI0xE4, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), +pmulhuw {$src2, $dst|$dst, $src2}, +[(set VR128:$dst, (int_x86_sse2_pmulhu_w VR128:$src1, + VR128:$src2))]; +def PMULHWrr : PDI0xE5, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), +pmulhw {$src2, $dst|$dst, $src2}, +[(set VR128:$dst, (int_x86_sse2_pmulh_w VR128:$src1, + VR128:$src2))]; +def PMULLWrr : PDI0xD5, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), + pmullw {$src2, $dst|$dst, $src2}, + [(set VR128:$dst, (v8i16 (mul VR128:$src1, VR128:$src2)))]; +def PMULUDQrr : PDI0xF4, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), +pmuludq {$src2, $dst|$dst, $src2}, +[(set VR128:$dst, (int_x86_sse2_pmulu_dq VR128:$src1, + VR128:$src2))]; +} + +def PMULHUWrm : PDI0xE4, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), +pmulhuw {$src2, $dst|$dst, $src2}, +[(set VR128:$dst, (int_x86_sse2_pmulhu_w VR128:$src1, + (bc_v8i16 (loadv2i64 addr:$src2]; +def PMULHWrm : PDI0xE5, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), +pmulhw {$src2, $dst|$dst, $src2}, +[(set VR128:$dst, (int_x86_sse2_pmulh_w VR128:$src1, + (bc_v8i16 (loadv2i64 addr:$src2]; +def PMULLWrm : PDI0xD5, MRMSrcMem, + (ops VR128:$dst, VR128:$src1, i128mem:$src2), + pmullw {$src2, $dst|$dst, $src2}, + [(set VR128:$dst, (v8i16 (mul VR128:$src1, + (bc_v8i16 (loadv2i64 addr:$src2)]; +def PMULUDQrm : PDI0xF4, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2), +pmuludq {$src2, $dst|$dst, $src2}, +[(set VR128:$dst, (int_x86_sse2_pmulu_dq VR128:$src1, + (bc_v4i32 (loadv2i64 addr:$src2]; + +def PMADDWDrr : PDI0xF5, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), +pmaddwd {$src2, $dst|$dst, $src2}, +[(set VR128:$dst, (int_x86_sse2_pmadd_wd VR128:$src1, + VR128:$src2))]; +def PMADDWDrm : PDI0xF5, MRMSrcMem, +(ops VR128:$dst, VR128:$src1, i128mem:$src2), +pmaddwd {$src2, $dst|$dst, $src2}, +