[llvm] 53dbedc - [InstCombine] add test for copysign with FMF propagation; NFC

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 1 05:53:05 PST 2022


Author: Sanjay Patel
Date: 2022-03-01T08:51:40-05:00
New Revision: 53dbedcd188a83cb945d95a8e7d536917a2e9934

URL: https://github.com/llvm/llvm-project/commit/53dbedcd188a83cb945d95a8e7d536917a2e9934
DIFF: https://github.com/llvm/llvm-project/commit/53dbedcd188a83cb945d95a8e7d536917a2e9934.diff

LOG: [InstCombine] add test for copysign with FMF propagation; NFC

This is a miscompile as noted in #54077.

Added: 
    

Modified: 
    llvm/test/Transforms/InstCombine/select.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/InstCombine/select.ll b/llvm/test/Transforms/InstCombine/select.ll
index a5f716c79a36f..124d96f743646 100644
--- a/llvm/test/Transforms/InstCombine/select.ll
+++ b/llvm/test/Transforms/InstCombine/select.ll
@@ -1654,6 +1654,17 @@ define float @copysign1(float %x) {
   ret float %r
 }
 
+define float @copysign1_fmf(float %x) {
+; CHECK-LABEL: @copysign1_fmf(
+; CHECK-NEXT:    [[R:%.*]] = call ninf nsz float @llvm.copysign.f32(float 1.000000e+00, float [[X:%.*]])
+; CHECK-NEXT:    ret float [[R]]
+;
+  %i = bitcast float %x to i32
+  %ispos = icmp sgt i32 %i, -1
+  %r = select nsz ninf i1 %ispos, float 1.0, float -1.0
+  ret float %r
+}
+
 define <2 x float> @copysign2(<2 x float> %x) {
 ; CHECK-LABEL: @copysign2(
 ; CHECK-NEXT:    [[TMP1:%.*]] = fneg nsz <2 x float> [[X:%.*]]


        


More information about the llvm-commits mailing list