diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-10-16 13:35:13 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-10-16 13:35:13 +0000 |
commit | d77a7669ec1a6bba7e45791b1aa1e65a603dda92 (patch) | |
tree | 13629a441c0081ea606b7a9b6e22b4667329a1fb /test/CodeGen/SystemZ | |
parent | 648a2e6714885e9b3d2a4f380434fe44ef2c4b5b (diff) | |
download | external_llvm-d77a7669ec1a6bba7e45791b1aa1e65a603dda92.zip external_llvm-d77a7669ec1a6bba7e45791b1aa1e65a603dda92.tar.gz external_llvm-d77a7669ec1a6bba7e45791b1aa1e65a603dda92.tar.bz2 |
[SystemZ] Handle extensions in RxSBG optimizations
The input to an RxSBG operation can be narrower as long as the upper bits
are don't care. This fixes a FIXME added in r192783.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192790 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/SystemZ')
-rw-r--r-- | test/CodeGen/SystemZ/shift-10.ll | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/test/CodeGen/SystemZ/shift-10.ll b/test/CodeGen/SystemZ/shift-10.ll index 47cd002..3fd9657 100644 --- a/test/CodeGen/SystemZ/shift-10.ll +++ b/test/CodeGen/SystemZ/shift-10.ll @@ -52,11 +52,10 @@ define i64 @f4(i32 %a) { } ; Repeat the previous test in a case where all bits outside the -; bottom 3 matter. FIXME: can still use RISBG here. +; bottom 3 matter. define i64 @f5(i32 %a) { ; CHECK-LABEL: f5: -; CHECK: srl %r2, 30 -; CHECK: sllg %r2, %r2, 33 +; CHECK: risbg %r2, %r2, 29, 158, 3 ; CHECK: lhi %r2, 7 ; CHECK: br %r14 %shr = lshr i32 %a, 30 |