[llvm-commits] CVS: llvm/lib/Target/X86/InstSelectSimple.cpp
Chris Lattner
lattner at cs.uiuc.edu
Sun Apr 11 19:12:00 PDT 2004
Changes in directory llvm/lib/Target/X86:
InstSelectSimple.cpp updated: 1.230 -> 1.231
---
Log message:
Adjust some comments, fix a bug in my previous patch
---
Diffs of the changes: (+4 -4)
Index: llvm/lib/Target/X86/InstSelectSimple.cpp
diff -u llvm/lib/Target/X86/InstSelectSimple.cpp:1.230 llvm/lib/Target/X86/InstSelectSimple.cpp:1.231
--- llvm/lib/Target/X86/InstSelectSimple.cpp:1.230 Sun Apr 11 18:21:26 2004
+++ llvm/lib/Target/X86/InstSelectSimple.cpp Sun Apr 11 19:12:04 2004
@@ -1877,7 +1877,7 @@
return;
}
- // Special case: R1 = sub <const fp>, R2
+ // Special case: R1 = op <const fp>, R2
if (ConstantFP *CFP = dyn_cast<ConstantFP>(Op0))
if (CFP->isExactlyValue(-0.0) && OperatorClass == 1) {
// -0.0 - X === -X
@@ -1885,7 +1885,7 @@
BuildMI(*BB, IP, X86::FCHS, 1, DestReg).addReg(op1Reg);
return;
} else if (!CFP->isExactlyValue(+0.0) && !CFP->isExactlyValue(+1.0)) {
- // R1 = sub CST, R2 --> R1 = subr R2, CST
+ // R1 = op CST, R2 --> R1 = opr R2, CST
// Create a constant pool entry for this constant.
MachineConstantPool *CP = F->getConstantPool();
@@ -2634,7 +2634,6 @@
static const unsigned Opcode[] = {
0/*BYTE*/, X86::FILD16m, X86::FILD32m, 0/*FP*/, X86::FILD64m
};
-
unsigned BaseReg = 0, Scale = 1, IndexReg = 0, Disp = 0;
getAddressingMode(I.getOperand(0), BaseReg, Scale, IndexReg, Disp);
addFullAddress(BuildMI(BB, Opcode[Class], 5, DestReg),
@@ -2644,6 +2643,7 @@
User = 0;
}
break;
+
case Instruction::Add:
case Instruction::Sub:
case Instruction::And:
@@ -2653,7 +2653,7 @@
break;
case Instruction::Mul:
case Instruction::Div:
- if (Class == cFP) User = 0;
+ if (Class != cFP) User = 0;
break; // Folding only implemented for floating point.
default: User = 0; break;
}
More information about the llvm-commits
mailing list