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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29957 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng 2006-08-29 18:37:37 +00:00
parent e50794adda
commit 780413d462

View File

@ -312,7 +312,9 @@ void X86DAGToDAGISel::InstructionSelectPreprocess(SelectionDAG &DAG) {
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;