diff options
author | Michael Ilseman <milseman@apple.com> | 2012-11-27 00:47:20 +0000 |
---|---|---|
committer | Michael Ilseman <milseman@apple.com> | 2012-11-27 00:47:20 +0000 |
commit | bb22ad1e1be484085ba2225e9cf1f6558276ea0e (patch) | |
tree | c567b46b1784e6df452b24e616d79dcd3023fe69 | |
parent | eb61c920f12cacee38815bf10821d2f294b66f3a (diff) |
Fast-math test for SimplifyInstruction: fold multiply by 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168649 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | 0007-Fast-math-test-for-SimplifyInstruction-fold-multiply.patch | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/0007-Fast-math-test-for-SimplifyInstruction-fold-multiply.patch b/0007-Fast-math-test-for-SimplifyInstruction-fold-multiply.patch new file mode 100644 index 0000000000..54fd614394 --- /dev/null +++ b/0007-Fast-math-test-for-SimplifyInstruction-fold-multiply.patch @@ -0,0 +1,55 @@ +From a3d62a84e2805fc54fe721610de350cf23469aa4 Mon Sep 17 00:00:00 2001 +From: Michael Ilseman <milseman@apple.com> +Date: Thu, 15 Nov 2012 10:04:58 -0800 +Subject: [PATCH 7/8] Fast-math test for SimplifyInstruction: fold multiply by + 0 + +--- + test/Transforms/InstSimplify/fast-math.ll | 35 +++++++++++++++++++++++++++++++ + 1 file changed, 35 insertions(+) + create mode 100644 test/Transforms/InstSimplify/fast-math.ll + +diff --git a/test/Transforms/InstSimplify/fast-math.ll b/test/Transforms/InstSimplify/fast-math.ll +new file mode 100644 +index 0000000..e4b3ea3 +--- /dev/null ++++ b/test/Transforms/InstSimplify/fast-math.ll +@@ -0,0 +1,35 @@ ++; RUN: opt < %s -instsimplify -S | FileCheck %s ++ ++;; x * 0 ==> 0 when no-nans and no-signed-zero ++; CHECK: mul_zero_1 ++define float @mul_zero_1(float %a) { ++ %b = fmul nsz nnan float %a, 0.0 ++; CHECK: ret float 0.0 ++ ret float %b ++} ++; CHECK: mul_zero_2 ++define float @mul_zero_2(float %a) { ++ %b = fmul fast float 0.0, %a ++; CHECK: ret float 0.0 ++ ret float %b ++} ++ ++;; x * 0 =/=> 0 when there could be nans or -0 ++; CHECK: no_mul_zero_1 ++define float @no_mul_zero_1(float %a) { ++ %b = fmul nsz float %a, 0.0 ++; CHECK: ret float %b ++ ret float %b ++} ++; CHECK: no_mul_zero_2 ++define float @no_mul_zero_2(float %a) { ++ %b = fmul nnan float %a, 0.0 ++; CHECK: ret float %b ++ ret float %b ++} ++; CHECK: no_mul_zero_3 ++define float @no_mul_zero_3(float %a) { ++ %b = fmul float %a, 0.0 ++; CHECK: ret float %b ++ ret float %b ++} +-- +1.7.12.2 (Apple Git-36) + |