Another revsh pattern. rdar://9609059

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133064 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng
2011-06-15 17:17:48 +00:00
parent 4cb971ce1c
commit f60ceac9cd
3 changed files with 21 additions and 0 deletions

View File

@@ -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
}