[llvm] [InstCombine] Allow folding cross-lane operations into PHIs/selects (PR #164388)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 21 03:35:43 PDT 2025
================
@@ -132,7 +132,7 @@ define float @test_select_frexp_fast_math_select(float %x, i1 %cond) {
; CHECK-SAME: float [[X:%.*]], i1 [[COND:%.*]]) {
; CHECK-NEXT: [[FREXP1:%.*]] = call { float, i32 } @llvm.frexp.f32.i32(float [[X]])
; CHECK-NEXT: [[MANTISSA:%.*]] = extractvalue { float, i32 } [[FREXP1]], 0
-; CHECK-NEXT: [[SELECT_FREXP:%.*]] = select nnan ninf nsz i1 [[COND]], float 5.000000e-01, float [[MANTISSA]]
+; CHECK-NEXT: [[SELECT_FREXP:%.*]] = select i1 [[COND]], float 5.000000e-01, float [[MANTISSA]]
----------------
MacDue wrote:
The FMFs end up getting dropped here as this was previously handled by `foldFrexpOfSelect`, but now the more general `FoldOpIntoSelect` handles it first.
https://github.com/llvm/llvm-project/pull/164388
More information about the llvm-commits
mailing list