[llvm] [InstCombine] Handle isNanOrInf idioms (PR #80414)
    Matt Arsenault via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Sat Feb  3 07:05:58 PST 2024
    
    
  
================
@@ -75,6 +75,32 @@ define i1 @f32_fcnan(float %a) {
   ret i1 %res
 }
 
+define i1 @f32_fcnan_fcinf_strictfp(float %a) strictfp {
+; CHECK-LABEL: define i1 @f32_fcnan_fcinf_strictfp(
+; CHECK-SAME: float [[A:%.*]]) #[[ATTR0:[0-9]+]] {
+; CHECK-NEXT:    [[TMP1:%.*]] = call float @llvm.fabs.f32(float [[A]])
+; CHECK-NEXT:    [[CMP:%.*]] = fcmp ueq float [[TMP1]], 0x7FF0000000000000
----------------
arsenm wrote:
this shows a bug, we're not emitting a strict compare. doesn't need to be fixed in this patch though, existing issue 
https://github.com/llvm/llvm-project/pull/80414
    
    
More information about the llvm-commits
mailing list