diff options
| author | Nirav Dave <niravd@google.com> | 2017-04-05 15:42:48 +0000 |
|---|---|---|
| committer | Nirav Dave <niravd@google.com> | 2017-04-05 15:42:48 +0000 |
| commit | aa65a2beb875e2bbe2c1b71ea3bf648d35101469 (patch) | |
| tree | 7ae7a1e5ce7629c4522e9a1dded91ab347f45b7c /llvm/test | |
| parent | dfeea506c0eb05ad83e9996ad0653d3e4e4bc727 (diff) | |
| download | bcm5719-llvm-aa65a2beb875e2bbe2c1b71ea3bf648d35101469.tar.gz bcm5719-llvm-aa65a2beb875e2bbe2c1b71ea3bf648d35101469.zip | |
[SystemZ] Prevent Merging Bitcast with non-normal loads
Fixes PR32505.
Reviewers: uweigand, jonpa
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D31609
llvm-svn: 299552
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/SystemZ/pr32505.ll | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/SystemZ/pr32505.ll b/llvm/test/CodeGen/SystemZ/pr32505.ll new file mode 100644 index 00000000000..6abad022016 --- /dev/null +++ b/llvm/test/CodeGen/SystemZ/pr32505.ll @@ -0,0 +1,20 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc -mcpu=zEC12 -o - %s | FileCheck %s + +target triple = "s390x-ibm-linux" + +define <2 x float> @pr32505(<2 x i8> * %a) { +; CHECK-LABEL: pr32505: +; CHECK: # BB#0: +; CHECK-NEXT: lbh %r0, 0(%r2) +; CHECK-NEXT: ldgr %f0, %r0 +; CHECK-NEXT: lbh %r0, 1(%r2) +; CHECK-NEXT: ldgr %f2, %r0 +; CHECK-NEXT: # kill: %F0S<def> %F0S<kill> %F0D<kill> +; CHECK-NEXT: # kill: %F2S<def> %F2S<kill> %F2D<kill> +; CHECK-NEXT: br %r14 + %L17 = load <2 x i8>, <2 x i8>* %a + %Se21 = sext <2 x i8> %L17 to <2 x i32> + %BC = bitcast <2 x i32> %Se21 to <2 x float> + ret <2 x float> %BC +} |

