mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-27 15:57:30 +00:00
[Stackmaps][X86TTI] Fix think-o in getIntImmCost calculation.
The cost for the first four stackmap operands was always TCC_Free. This is only true for the first two operands. All other operands are TCC_Free if they are within 64bit. llvm-svn: 204738
This commit is contained in:
parent
47790bba49
commit
5e317b86d2
@ -858,17 +858,16 @@ unsigned X86TTI::getIntImmCost(Intrinsic::ID IID, unsigned Idx,
|
||||
case Intrinsic::umul_with_overflow:
|
||||
if ((Idx == 1) && Imm.getBitWidth() <= 64 && isInt<32>(Imm.getSExtValue()))
|
||||
return TCC_Free;
|
||||
else
|
||||
return X86TTI::getIntImmCost(Imm, Ty);
|
||||
break;
|
||||
case Intrinsic::experimental_stackmap:
|
||||
if (Idx < 2)
|
||||
if ((Idx < 2) || (Imm.getBitWidth() <= 64 && isInt<64>(Imm.getSExtValue())))
|
||||
return TCC_Free;
|
||||
break;
|
||||
case Intrinsic::experimental_patchpoint_void:
|
||||
case Intrinsic::experimental_patchpoint_i64:
|
||||
if ((Idx < 4 ) ||
|
||||
(Imm.getBitWidth() <= 64 && isInt<64>(Imm.getSExtValue())))
|
||||
if ((Idx < 4) || (Imm.getBitWidth() <= 64 && isInt<64>(Imm.getSExtValue())))
|
||||
return TCC_Free;
|
||||
else
|
||||
return X86TTI::getIntImmCost(Imm, Ty);
|
||||
break;
|
||||
}
|
||||
return X86TTI::getIntImmCost(Imm, Ty);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user