diff options
author | Evan Cheng <evan.cheng@apple.com> | 2011-06-15 17:17:48 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2011-06-15 17:17:48 +0000 |
commit | f60ceac9cd7230e0d5ff911fced396f6b5d8c815 (patch) | |
tree | 063b270dcf79f670b7409e2e06be37309dae7f29 /test | |
parent | 4cb971ce1c8b254f29365c988b55f6dcfe86d21e (diff) | |
download | external_llvm-f60ceac9cd7230e0d5ff911fced396f6b5d8c815.zip external_llvm-f60ceac9cd7230e0d5ff911fced396f6b5d8c815.tar.gz external_llvm-f60ceac9cd7230e0d5ff911fced396f6b5d8c815.tar.bz2 |
Another revsh pattern. rdar://9609059
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133064 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/ARM/rev.ll | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/rev.ll b/test/CodeGen/ARM/rev.ll index 4170ff3..5739086 100644 --- a/test/CodeGen/ARM/rev.ll +++ b/test/CodeGen/ARM/rev.ll @@ -54,3 +54,16 @@ entry: %conv8 = ashr exact i32 %sext, 16 ret i32 %conv8 } + +; rdar://9609059 +define i32 @test5(i32 %i) nounwind readnone { +entry: +; CHECK: test5 +; CHECK: revsh r0, r0 + %shl = shl i32 %i, 24 + %shr = ashr exact i32 %shl, 16 + %shr23 = lshr i32 %i, 8 + %and = and i32 %shr23, 255 + %or = or i32 %shr, %and + ret i32 %or +} |