X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=lib%2FTarget%2FMips%2FMipsAnalyzeImmediate.cpp;h=44c7769b37d53c4ab71cb094e35181f7c3907a40;hp=26c719694cc9fd7dfb0b2856de6ce98c53e3a6f9;hb=5990bd7ba645d6fd067d9f015f4f48a9b8bf872b;hpb=c76ad82140761093df698e1c959d79eba73f67d0 diff --git a/lib/Target/Mips/MipsAnalyzeImmediate.cpp b/lib/Target/Mips/MipsAnalyzeImmediate.cpp index 26c719694cc..44c7769b37d 100644 --- a/lib/Target/Mips/MipsAnalyzeImmediate.cpp +++ b/lib/Target/Mips/MipsAnalyzeImmediate.cpp @@ -90,7 +90,7 @@ void MipsAnalyzeImmediate::ReplaceADDiuSLLWithLUi(InstSeq &Seq) { return; // Sign-extend and shift operand of ADDiu and see if it still fits in 16-bit. - int64_t Imm = (((int64_t)Seq[0].ImmOpnd) << 48) >> 48; + int64_t Imm = SignExtend64<16>(Seq[0].ImmOpnd); int64_t ShiftedImm = Imm << (Seq[1].ImmOpnd - 16); if (!isInt<16>(ShiftedImm))