Skip to content

Commit ed8dae9

Browse files
committed
[InstSimplify] add tests for strict fadd with SNaN operand; NFC
1 parent 64233ae commit ed8dae9

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

llvm/test/Transforms/InstSimplify/strictfp-fadd.ll

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,31 @@ define float @fold_fadd_qnan_qnan_ebstrict() #0 {
370370
ret float %add
371371
}
372372

373+
define float @fold_fadd_snan_variable_ebignore(float %x) #0 {
374+
; CHECK-LABEL: @fold_fadd_snan_variable_ebignore(
375+
; CHECK-NEXT: ret float 0x7FF4000000000000
376+
;
377+
%add = call float @llvm.experimental.constrained.fadd.f32(float 0x7ff4000000000000, float %x, metadata !"round.tonearest", metadata !"fpexcept.ignore") #0
378+
ret float %add
379+
}
380+
381+
define float @fold_fadd_snan_variable_ebmaytrap(float %x) #0 {
382+
; CHECK-LABEL: @fold_fadd_snan_variable_ebmaytrap(
383+
; CHECK-NEXT: ret float 0x7FF4000000000000
384+
;
385+
%add = call float @llvm.experimental.constrained.fadd.f32(float 0x7ff4000000000000, float %x, metadata !"round.tonearest", metadata !"fpexcept.maytrap") #0
386+
ret float %add
387+
}
388+
389+
define float @fold_fadd_snan_variable_ebstrict(float %x) #0 {
390+
; CHECK-LABEL: @fold_fadd_snan_variable_ebstrict(
391+
; CHECK-NEXT: [[ADD:%.*]] = call float @llvm.experimental.constrained.fadd.f32(float 0x7FF4000000000000, float [[X:%.*]], metadata !"round.tonearest", metadata !"fpexcept.strict") #[[ATTR0]]
392+
; CHECK-NEXT: ret float [[ADD]]
393+
;
394+
%add = call float @llvm.experimental.constrained.fadd.f32(float 0x7ff4000000000000, float %x, metadata !"round.tonearest", metadata !"fpexcept.strict") #0
395+
ret float %add
396+
}
397+
373398
define float @fold_fadd_snan_qnan_ebmaytrap() #0 {
374399
; CHECK-LABEL: @fold_fadd_snan_qnan_ebmaytrap(
375400
; CHECK-NEXT: ret float 0x7FFC000000000000

0 commit comments

Comments
 (0)