@@ -27,7 +27,7 @@ extern "rust-intrinsic" {
27
27
// CHECK-LABEL: @reduce_any_32x2
28
28
#[ no_mangle]
29
29
pub unsafe fn reduce_any_32x2 ( x : mask32x2 ) -> bool {
30
- // CHECK: [[A:%[0-9]+]] = lshr <2 x i32> %{{x|1}}, <i32 31, i32 31>
30
+ // CHECK: [[A:%[0-9]+]] = lshr <2 x i32> %{{x|1}}, {{ <i32 31, i32 31>|splat \(i32 31\)}}
31
31
// CHECK: [[B:%[0-9]+]] = trunc <2 x i32> [[A]] to <2 x i1>
32
32
// CHECK: [[C:%[0-9]+]] = call i1 @llvm.vector.reduce.or.v2i1(<2 x i1> [[B]])
33
33
// CHECK: %{{[0-9]+}} = zext i1 [[C]] to i8
@@ -37,7 +37,7 @@ pub unsafe fn reduce_any_32x2(x: mask32x2) -> bool {
37
37
// CHECK-LABEL: @reduce_all_32x2
38
38
#[ no_mangle]
39
39
pub unsafe fn reduce_all_32x2 ( x : mask32x2 ) -> bool {
40
- // CHECK: [[A:%[0-9]+]] = lshr <2 x i32> %{{x|1}}, <i32 31, i32 31>
40
+ // CHECK: [[A:%[0-9]+]] = lshr <2 x i32> %{{x|1}}, {{ <i32 31, i32 31>|splat \(i32 31\)}}
41
41
// CHECK: [[B:%[0-9]+]] = trunc <2 x i32> [[A]] to <2 x i1>
42
42
// CHECK: [[C:%[0-9]+]] = call i1 @llvm.vector.reduce.and.v2i1(<2 x i1> [[B]])
43
43
// CHECK: %{{[0-9]+}} = zext i1 [[C]] to i8
@@ -47,7 +47,7 @@ pub unsafe fn reduce_all_32x2(x: mask32x2) -> bool {
47
47
// CHECK-LABEL: @reduce_any_8x16
48
48
#[ no_mangle]
49
49
pub unsafe fn reduce_any_8x16 ( x : mask8x16 ) -> bool {
50
- // CHECK: [[A:%[0-9]+]] = lshr <16 x i8> %{{x|1}}, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
50
+ // CHECK: [[A:%[0-9]+]] = lshr <16 x i8> %{{x|1}}, {{ <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>|splat \(i8 7\)}}
51
51
// CHECK: [[B:%[0-9]+]] = trunc <16 x i8> [[A]] to <16 x i1>
52
52
// CHECK: [[C:%[0-9]+]] = call i1 @llvm.vector.reduce.or.v16i1(<16 x i1> [[B]])
53
53
// CHECK: %{{[0-9]+}} = zext i1 [[C]] to i8
@@ -57,7 +57,7 @@ pub unsafe fn reduce_any_8x16(x: mask8x16) -> bool {
57
57
// CHECK-LABEL: @reduce_all_8x16
58
58
#[ no_mangle]
59
59
pub unsafe fn reduce_all_8x16 ( x : mask8x16 ) -> bool {
60
- // CHECK: [[A:%[0-9]+]] = lshr <16 x i8> %{{x|1}}, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
60
+ // CHECK: [[A:%[0-9]+]] = lshr <16 x i8> %{{x|1}}, {{ <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>|splat \(i8 7\)}}
61
61
// CHECK: [[B:%[0-9]+]] = trunc <16 x i8> [[A]] to <16 x i1>
62
62
// CHECK: [[C:%[0-9]+]] = call i1 @llvm.vector.reduce.and.v16i1(<16 x i1> [[B]])
63
63
// CHECK: %{{[0-9]+}} = zext i1 [[C]] to i8
0 commit comments