diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-12-02 16:42:25 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-12-02 16:42:25 +0000 |
commit | cdae9242fa11b0bb9a575dc4632fc3008c662339 (patch) | |
tree | 8db862ed764482d2dab7db73149953f73e18e83e /llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp | |
parent | 371e5865441314e2e4f19f60260fb35a60f089ac (diff) | |
download | bcm5719-llvm-cdae9242fa11b0bb9a575dc4632fc3008c662339.tar.gz bcm5719-llvm-cdae9242fa11b0bb9a575dc4632fc3008c662339.zip |
When expanding the MOVCCi32imm, make sure to use the ARM movt/movw opcodes,
not thumb2.
llvm-svn: 120711
Diffstat (limited to 'llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp b/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp index 1cc5bd60b92..1c02c34e826 100644 --- a/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp +++ b/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp @@ -755,13 +755,14 @@ bool ARMExpandPseudo::ExpandMBB(MachineBasicBlock &MBB) { break; } + bool isThumb = + (Opcode == ARM::t2MOVi32imm || Opcode == ARM::t2MOVCCi32imm); + LO16 = BuildMI(MBB, MBBI, MI.getDebugLoc(), - TII->get(Opcode == ARM::MOVi32imm ? - ARM::MOVi16 : ARM::t2MOVi16), + TII->get(isThumb ? ARM::t2MOVi16 : ARM::MOVi16), DstReg); HI16 = BuildMI(MBB, MBBI, MI.getDebugLoc(), - TII->get(Opcode == ARM::MOVi32imm ? - ARM::MOVTi16 : ARM::t2MOVTi16)) + TII->get(isThumb ? ARM::t2MOVTi16 : ARM::MOVTi16)) .addReg(DstReg, RegState::Define | getDeadRegState(DstIsDead)) .addReg(DstReg); |