1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00

Fix the JIT failures from last night.

llvm-svn: 24659
This commit is contained in:
Chris Lattner 2005-12-11 07:37:41 +00:00
parent c432a93381
commit d27c96f723

View File

@ -242,11 +242,12 @@ int PPCCodeEmitter::getMachineOpValue(MachineInstr &MI, MachineOperand &MO) {
unsigned index = MO.getConstantPoolIndex(); unsigned index = MO.getConstantPoolIndex();
unsigned Opcode = MI.getOpcode(); unsigned Opcode = MI.getOpcode();
rv = MCE.getConstantPoolEntryAddress(index); rv = MCE.getConstantPoolEntryAddress(index);
if (Opcode == PPC::LIS) { if (Opcode == PPC::LIS || Opcode == PPC::ADDIS) {
// lis wants hi16(addr) // lis wants hi16(addr)
if ((short)rv < 0) rv += 1 << 16; if ((short)rv < 0) rv += 1 << 16;
rv >>= 16; rv >>= 16;
} else if (Opcode == PPC::LWZ || Opcode == PPC::LA || } else if (Opcode == PPC::LWZ || Opcode == PPC::LA ||
Opcode == PPC::LI ||
Opcode == PPC::LFS || Opcode == PPC::LFD) { Opcode == PPC::LFS || Opcode == PPC::LFD) {
// These load opcodes want lo16(addr) // These load opcodes want lo16(addr)
rv &= 0xffff; rv &= 0xffff;