@@ -3732,21 +3732,19 @@ define <4 x i64> @test_avx2_psrl_0() {
3732
3732
ret <4 x i64 > %16
3733
3733
}
3734
3734
3735
- define <2 x i64 > @pr125228 (<2 x i64 > %v , <2 x i64 > %s ) {
3736
- ; CHECK-LABEL: @pr125228(
3737
- ; CHECK-NEXT: entry:
3735
+ define <2 x i64 > @PR125228 (<2 x i64 > %v , <2 x i64 > %s ) {
3736
+ ; CHECK-LABEL: @PR125228(
3738
3737
; CHECK-NEXT: [[MASK:%.*]] = and <2 x i64> [[S:%.*]], splat (i64 63)
3739
- ; CHECK-NEXT: [[TMP0 :%.*]] = shufflevector <2 x i64> [[MASK]], <2 x i64> poison, <2 x i32> zeroinitializer
3740
- ; CHECK-NEXT: [[SLL0:%.*]] = shl <2 x i64> [[V:%.*]], [[TMP0 ]]
3738
+ ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <2 x i64> [[MASK]], <2 x i64> poison, <2 x i32> zeroinitializer
3739
+ ; CHECK-NEXT: [[SLL0:%.*]] = shl <2 x i64> [[V:%.*]], [[TMP1 ]]
3741
3740
; CHECK-NEXT: [[CAST:%.*]] = bitcast <2 x i64> [[MASK]] to <16 x i8>
3742
3741
; CHECK-NEXT: [[PSRLDQ:%.*]] = shufflevector <16 x i8> [[CAST]], <16 x i8> poison, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison>
3743
3742
; CHECK-NEXT: [[CAST3:%.*]] = bitcast <16 x i8> [[PSRLDQ]] to <2 x i64>
3744
- ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <2 x i64> [[CAST3]], <2 x i64> poison, <2 x i32> zeroinitializer
3745
- ; CHECK-NEXT: [[SLL1:%.*]] = shl <2 x i64> [[V]], [[TMP1 ]]
3743
+ ; CHECK-NEXT: [[TMP2 :%.*]] = shufflevector <2 x i64> [[CAST3]], <2 x i64> poison, <2 x i32> zeroinitializer
3744
+ ; CHECK-NEXT: [[SLL1:%.*]] = shl <2 x i64> [[V]], [[TMP2 ]]
3746
3745
; CHECK-NEXT: [[SHUFP_UNCASTED:%.*]] = shufflevector <2 x i64> [[SLL0]], <2 x i64> [[SLL1]], <2 x i32> <i32 0, i32 3>
3747
3746
; CHECK-NEXT: ret <2 x i64> [[SHUFP_UNCASTED]]
3748
3747
;
3749
- entry:
3750
3748
%mask = and <2 x i64 > %s , splat (i64 63 )
3751
3749
%sll0 = call <2 x i64 > @llvm.x86.sse2.psll.q (<2 x i64 > %v , <2 x i64 > %mask )
3752
3750
%cast = bitcast <2 x i64 > %mask to <16 x i8 >
0 commit comments