aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86/InstSelectSimple.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-04-12 00:12:04 +0000
committerChris Lattner <sabre@nondot.org>2004-04-12 00:12:04 +0000
commit13c07feb20be193a1c5e6bc0a27ff428d5a7ab6f (patch)
treeed5a8497345a2210124d05a05445bdb77f04f408 /lib/Target/X86/InstSelectSimple.cpp
parent36ee07ff9d26a2c6ebf9faf9ba90923644db29c5 (diff)
Adjust some comments, fix a bug in my previous patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12848 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/InstSelectSimple.cpp')
-rw-r--r--lib/Target/X86/InstSelectSimple.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/Target/X86/InstSelectSimple.cpp b/lib/Target/X86/InstSelectSimple.cpp
index 6584981947..2477da0020 100644
--- a/lib/Target/X86/InstSelectSimple.cpp
+++ b/lib/Target/X86/InstSelectSimple.cpp
@@ -1877,7 +1877,7 @@ void ISel::emitBinaryFPOperation(MachineBasicBlock *BB,
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 @@ void ISel::emitBinaryFPOperation(MachineBasicBlock *BB,
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 @@ void ISel::visitLoadInst(LoadInst &I) {
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 @@ void ISel::visitLoadInst(LoadInst &I) {
User = 0;
}
break;
+
case Instruction::Add:
case Instruction::Sub:
case Instruction::And:
@@ -2653,7 +2653,7 @@ void ISel::visitLoadInst(LoadInst &I) {
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;
}