[llvm-commits] CVS: llvm/lib/Target/X86/X86ISelDAGToDAG.cpp

Evan Cheng evan.cheng at apple.com
Tue Aug 29 11:37:51 PDT 2006



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;






More information about the llvm-commits mailing list