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 | 3e382972d9c51541fc9e14b5b961e2c31c246002 (patch) | |
| tree | e063684ab423746c71d57bf6286af3fea00b4e88 /llvm/test/CodeGen | |
| parent | e5f2139f6825f6a42265bb4642d3243abc495020 (diff) | |
| download | bcm5719-llvm-3e382972d9c51541fc9e14b5b961e2c31c246002.tar.gz bcm5719-llvm-3e382972d9c51541fc9e14b5b961e2c31c246002.zip | |
[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.
llvm-svn: 192790
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/SystemZ/shift-10.ll | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/SystemZ/shift-10.ll b/llvm/test/CodeGen/SystemZ/shift-10.ll index 47cd0027f14..3fd965745ed 100644 --- a/llvm/test/CodeGen/SystemZ/shift-10.ll +++ b/llvm/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 |

