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

Reply via email to