[mips] Fix `loadImmediate` calls when load non-address values.

llvm-svn: 374640
This commit is contained in:
Simon Atanasyan 2019-10-12 07:42:44 +00:00
parent fe88be8c3a
commit 4a46af845f
2 changed files with 7 additions and 7 deletions

View File

@ -3324,7 +3324,7 @@ bool MipsAsmParser::expandLoadSingleImmToGPR(MCInst &Inst, SMLoc IDLoc,
uint32_t ImmOp32 = covertDoubleImmToSingleImm(convertIntToDoubleImm(ImmOp64));
return loadImmediate(ImmOp32, FirstReg, Mips::NoRegister, true, true, IDLoc,
return loadImmediate(ImmOp32, FirstReg, Mips::NoRegister, true, false, IDLoc,
Out, STI);
}
@ -3397,15 +3397,15 @@ bool MipsAsmParser::expandLoadDoubleImmToGPR(MCInst &Inst, SMLoc IDLoc,
if (Lo_32(ImmOp64) == 0) {
if (isABI_N32() || isABI_N64()) {
if (loadImmediate(ImmOp64, FirstReg, Mips::NoRegister, false, true, IDLoc,
Out, STI))
if (loadImmediate(ImmOp64, FirstReg, Mips::NoRegister, false, false,
IDLoc, Out, STI))
return true;
} else {
if (loadImmediate(Hi_32(ImmOp64), FirstReg, Mips::NoRegister, true, true,
if (loadImmediate(Hi_32(ImmOp64), FirstReg, Mips::NoRegister, true, false,
IDLoc, Out, STI))
return true;
if (loadImmediate(0, nextReg(FirstReg), Mips::NoRegister, true, true,
if (loadImmediate(0, nextReg(FirstReg), Mips::NoRegister, true, false,
IDLoc, Out, STI))
return true;
}

View File

@ -9,12 +9,12 @@
li.d $4, 0
# O32: addiu $4, $zero, 0 # encoding: [0x00,0x00,0x04,0x24]
# O32: addiu $5, $zero, 0 # encoding: [0x00,0x00,0x05,0x24]
# N32-N64: daddiu $4, $zero, 0 # encoding: [0x00,0x00,0x04,0x64]
# N32-N64: addiu $4, $zero, 0 # encoding: [0x00,0x00,0x04,0x24]
li.d $4, 0.0
# O32: addiu $4, $zero, 0 # encoding: [0x00,0x00,0x04,0x24]
# O32: addiu $5, $zero, 0 # encoding: [0x00,0x00,0x05,0x24]
# N32-N64: daddiu $4, $zero, 0 # encoding: [0x00,0x00,0x04,0x64]
# N32-N64: addiu $4, $zero, 0 # encoding: [0x00,0x00,0x04,0x24]
li.d $4, 1.12345
# ALL: .section .rodata,"a",@progbits