Skip to content

Commit 50422a4

Browse files
committed
Rework isFPImmLegal
Created using spr 1.3.5
1 parent 840c95d commit 50422a4

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

llvm/lib/Target/Sparc/SparcISelLowering.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3613,15 +3613,14 @@ bool SparcTargetLowering::isFNegFree(EVT VT) const {
36133613

36143614
bool SparcTargetLowering::isFPImmLegal(const APFloat &Imm, EVT VT,
36153615
bool ForCodeSize) const {
3616-
bool CanLower = false;
36173616
if (VT != MVT::f32 && VT != MVT::f64)
36183617
return false;
3619-
if (Subtarget->isVIS())
3620-
CanLower = CanLower || Imm.isZero();
3618+
if (Subtarget->isVIS() && Imm.isZero())
3619+
return true;
36213620
if (Subtarget->isVIS3())
3622-
CanLower =
3623-
CanLower || (Imm.isExactlyValue(+0.5) || Imm.isExactlyValue(-0.5));
3624-
return CanLower;
3621+
return Imm.isExactlyValue(+0.5) || Imm.isExactlyValue(-0.5) ||
3622+
Imm.getExactLog2Abs() == -1;
3623+
return false;
36253624
}
36263625

36273626
bool SparcTargetLowering::isCtlzFast() const { return Subtarget->isVIS3(); }

0 commit comments

Comments
 (0)