diff options
Diffstat (limited to 'test/Transforms/InstCombine/fsub.ll')
-rw-r--r-- | test/Transforms/InstCombine/fsub.ll | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/fsub.ll b/test/Transforms/InstCombine/fsub.ll new file mode 100644 index 0000000..af2fadd --- /dev/null +++ b/test/Transforms/InstCombine/fsub.ll @@ -0,0 +1,23 @@ +; RUN: opt < %s -instcombine -S | FileCheck %s + +; PR4374 +define float @test1(float %a, float %b) nounwind { + %t1 = fsub float %a, %b + %t2 = fsub float -0.000000e+00, %t1 + +; CHECK: %t1 = fsub float %a, %b +; CHECK-NEXT: %t2 = fsub float -0.000000e+00, %t1 + + ret float %t2 +} + +; <rdar://problem/7530098> +define double @test2(double %x, double %y) nounwind { + %t1 = fadd double %x, %y + %t2 = fsub double %x, %t1 + +; CHECK: %t1 = fadd double %x, %y +; CHECK-NEXT: %t2 = fsub double %x, %t1 + + ret double %t2 +} |