From: Simon Atanasyan Date: Sat, 12 Oct 2019 07:42:44 +0000 (+0000) Subject: [mips] Fix `loadImmediate` calls when load non-address values. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=684885085c120c043de5dd65699cba4e3db4da78;p=llvm [mips] Fix `loadImmediate` calls when load non-address values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374640 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/Mips/AsmParser/MipsAsmParser.cpp b/lib/Target/Mips/AsmParser/MipsAsmParser.cpp index 86f50185c2d..5ce86943ed3 100644 --- a/lib/Target/Mips/AsmParser/MipsAsmParser.cpp +++ b/lib/Target/Mips/AsmParser/MipsAsmParser.cpp @@ -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; } diff --git a/test/MC/Mips/macro-li.d.s b/test/MC/Mips/macro-li.d.s index 20cc88e8673..fae5b3d6ec7 100644 --- a/test/MC/Mips/macro-li.d.s +++ b/test/MC/Mips/macro-li.d.s @@ -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