diff options
| author | Wenju He <wenju.he@intel.com> | 2026-02-02 09:58:58 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-02 09:58:58 +0800 |
| commit | dc152f0d2d085dcfb7542d0e71e19ebfa1aa3794 (patch) | |
| tree | 15e95ef10551b5eaf6222f3f33abd89612cc8131 /llvm/test/Transforms | |
| parent | cf60af88b4d3791b5e225373e51186f4f86ad50f (diff) | |
| download | llvm-main.zip llvm-main.tar.gz llvm-main.tar.bz2 | |
`fpmath` is precision metadata rather than UB-implying metadata. This
avoids `fpmath` from being dropped in InstCombine FoldOpIntoSelect.
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/fold-fops-into-selects.ll | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/fold-fops-into-selects.ll b/llvm/test/Transforms/InstCombine/fold-fops-into-selects.ll index 22af7e3..c986004 100644 --- a/llvm/test/Transforms/InstCombine/fold-fops-into-selects.ll +++ b/llvm/test/Transforms/InstCombine/fold-fops-into-selects.ll @@ -69,3 +69,12 @@ EntryBlock: ; CHECK: select i1 %A, float 0x3FD5555560000000, float [[OP]] } +define float @test8(i1 %A, float %B) { +EntryBlock: + %cf = select i1 %A, float 1.000000e+00, float %B + %op = fdiv float 3.000000e+00, %cf, !fpmath !{float 2.5} + ret float %op +; CHECK-LABEL: @test8( +; CHECK: [[OP:%.*]] = fdiv float 3.000000e+00, %B, !fpmath +; CHECK: select i1 %A, float 3.000000e+00, float [[OP]] +} |
