Changes in directory llvm/lib/Target/X86:
X86ISelDAGToDAG.cpp updated: 1.101 -> 1.102 --- Log message: Don't performance load/op/store transformation if op produces a floating point or vector result. X86 does not have load/mod/store variants of those instructions. --- Diffs of the changes: (+3 -1) X86ISelDAGToDAG.cpp | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) Index: llvm/lib/Target/X86/X86ISelDAGToDAG.cpp diff -u llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.101 llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.102 --- llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.101 Tue Aug 29 13:28:33 2006 +++ llvm/lib/Target/X86/X86ISelDAGToDAG.cpp Tue Aug 29 13:37:37 2006 @@ -312,7 +312,9 @@ SDOperand N1 = I->getOperand(1); SDOperand N2 = I->getOperand(2); - if (!N1.hasOneUse()) + if (MVT::isFloatingPoint(N1.getValueType()) && + MVT::isVector(N1.getValueType()) && + !N1.hasOneUse()) continue; bool RModW = false; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits