[llvm-commits] CVS: llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
Evan Cheng
evan.cheng at apple.com
Fri Jun 2 14:20:46 PDT 2006
Changes in directory llvm/lib/Target/X86:
X86ISelDAGToDAG.cpp updated: 1.71 -> 1.72
---
Log message:
Use xor to clear a register.
---
Diffs of the changes: (+4 -6)
X86ISelDAGToDAG.cpp | 10 ++++------
1 files changed, 4 insertions(+), 6 deletions(-)
Index: llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
diff -u llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.71 llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.72
--- llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.71 Tue May 30 15:24:48 2006
+++ llvm/lib/Target/X86/X86ISelDAGToDAG.cpp Fri Jun 2 16:20:34 2006
@@ -744,17 +744,17 @@
default: assert(0 && "Unsupported VT!");
case MVT::i8:
LoReg = X86::AL; HiReg = X86::AH;
- ClrOpcode = X86::MOV8ri;
+ ClrOpcode = X86::MOV8r0;
SExtOpcode = X86::CBW;
break;
case MVT::i16:
LoReg = X86::AX; HiReg = X86::DX;
- ClrOpcode = X86::MOV16ri;
+ ClrOpcode = X86::MOV16r0;
SExtOpcode = X86::CWD;
break;
case MVT::i32:
LoReg = X86::EAX; HiReg = X86::EDX;
- ClrOpcode = X86::MOV32ri;
+ ClrOpcode = X86::MOV32r0;
SExtOpcode = X86::CDQ;
break;
}
@@ -783,9 +783,7 @@
SDOperand(CurDAG->getTargetNode(SExtOpcode, MVT::Flag, InFlag), 0);
} else {
// Zero out the high part, effectively zero extending the input.
- SDOperand ClrNode =
- SDOperand(CurDAG->getTargetNode(ClrOpcode, NVT,
- CurDAG->getTargetConstant(0, NVT)), 0);
+ SDOperand ClrNode = SDOperand(CurDAG->getTargetNode(ClrOpcode, NVT), 0);
Chain = CurDAG->getCopyToReg(Chain, CurDAG->getRegister(HiReg, NVT),
ClrNode, InFlag);
InFlag = Chain.getValue(1);
More information about the llvm-commits
mailing list