mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-25 23:45:36 +00:00
[InstCombine] add vector test for (X <<nsw C1) >>s C2 --> X <<nsw (C1 - C2); NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293566 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ac9b2ba76d
commit
deb5ed0b1a
@ -987,6 +987,8 @@ define <2 x i32> @test51_no_nuw_splat_vec(<2 x i32> %x) {
|
||||
ret <2 x i32> %B
|
||||
}
|
||||
|
||||
; (X <<nsw C1) >>s C2 --> X <<nsw (C1 - C2)
|
||||
|
||||
define i32 @test52(i32 %x) {
|
||||
; CHECK-LABEL: @test52(
|
||||
; CHECK-NEXT: [[B:%.*]] = shl nsw i32 %x, 2
|
||||
@ -997,6 +999,19 @@ define i32 @test52(i32 %x) {
|
||||
ret i32 %B
|
||||
}
|
||||
|
||||
; (X <<nsw C1) >>s C2 --> X <<nsw (C1 - C2)
|
||||
|
||||
define <2 x i32> @test52_splat_vec(<2 x i32> %x) {
|
||||
; CHECK-LABEL: @test52_splat_vec(
|
||||
; CHECK-NEXT: [[A:%.*]] = shl nsw <2 x i32> %x, <i32 3, i32 3>
|
||||
; CHECK-NEXT: [[B:%.*]] = ashr exact <2 x i32> [[A]], <i32 1, i32 1>
|
||||
; CHECK-NEXT: ret <2 x i32> [[B]]
|
||||
;
|
||||
%A = shl nsw <2 x i32> %x, <i32 3, i32 3>
|
||||
%B = ashr <2 x i32> %A, <i32 1, i32 1>
|
||||
ret <2 x i32> %B
|
||||
}
|
||||
|
||||
; (X <<nuw C1) >>u C2 --> X <<nuw (C1 - C2)
|
||||
|
||||
define i32 @test53(i32 %x) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user