@@ -7,14 +7,8 @@ define i32 @all_true_16_i8(<16 x i8> %v) {
77; CHECK-LABEL: all_true_16_i8:
88; CHECK: .functype all_true_16_i8 (v128) -> (i32)
99; CHECK-NEXT: # %bb.0:
10- ; CHECK-NEXT: v128.const $push0=, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
11- ; CHECK-NEXT: i8x16.eq $push1=, $0, $pop0
12- ; CHECK-NEXT: v128.any_true $push2=, $pop1
13- ; CHECK-NEXT: i32.const $push3=, -1
14- ; CHECK-NEXT: i32.xor $push4=, $pop2, $pop3
15- ; CHECK-NEXT: i32.const $push5=, 1
16- ; CHECK-NEXT: i32.and $push6=, $pop4, $pop5
17- ; CHECK-NEXT: return $pop6
10+ ; CHECK-NEXT: i8x16.all_true $push0=, $0
11+ ; CHECK-NEXT: return $pop0
1812 %1 = icmp eq <16 x i8 > %v , zeroinitializer
1913 %2 = bitcast <16 x i1 > %1 to i16
2014 %3 = icmp eq i16 %2 , 0
@@ -27,14 +21,8 @@ define i32 @all_true_4_i32(<4 x i32> %v) {
2721; CHECK-LABEL: all_true_4_i32:
2822; CHECK: .functype all_true_4_i32 (v128) -> (i32)
2923; CHECK-NEXT: # %bb.0:
30- ; CHECK-NEXT: v128.const $push0=, 0, 0, 0, 0
31- ; CHECK-NEXT: i32x4.eq $push1=, $0, $pop0
32- ; CHECK-NEXT: v128.any_true $push2=, $pop1
33- ; CHECK-NEXT: i32.const $push3=, -1
34- ; CHECK-NEXT: i32.xor $push4=, $pop2, $pop3
35- ; CHECK-NEXT: i32.const $push5=, 1
36- ; CHECK-NEXT: i32.and $push6=, $pop4, $pop5
37- ; CHECK-NEXT: return $pop6
24+ ; CHECK-NEXT: i32x4.all_true $push0=, $0
25+ ; CHECK-NEXT: return $pop0
3826 %1 = icmp eq <4 x i32 > %v , zeroinitializer
3927 %2 = bitcast <4 x i1 > %1 to i4
4028 %3 = icmp eq i4 %2 , 0
@@ -47,14 +35,8 @@ define i32 @all_true_8_i16(<8 x i16> %v) {
4735; CHECK-LABEL: all_true_8_i16:
4836; CHECK: .functype all_true_8_i16 (v128) -> (i32)
4937; CHECK-NEXT: # %bb.0:
50- ; CHECK-NEXT: v128.const $push0=, 0, 0, 0, 0, 0, 0, 0, 0
51- ; CHECK-NEXT: i16x8.eq $push1=, $0, $pop0
52- ; CHECK-NEXT: v128.any_true $push2=, $pop1
53- ; CHECK-NEXT: i32.const $push3=, -1
54- ; CHECK-NEXT: i32.xor $push4=, $pop2, $pop3
55- ; CHECK-NEXT: i32.const $push5=, 1
56- ; CHECK-NEXT: i32.and $push6=, $pop4, $pop5
57- ; CHECK-NEXT: return $pop6
38+ ; CHECK-NEXT: i16x8.all_true $push0=, $0
39+ ; CHECK-NEXT: return $pop0
5840 %1 = icmp eq <8 x i16 > %v , zeroinitializer
5941 %2 = bitcast <8 x i1 > %1 to i8
6042 %3 = icmp eq i8 %2 , 0
@@ -67,14 +49,8 @@ define i32 @all_true_2_i64(<2 x i64> %v) {
6749; CHECK-LABEL: all_true_2_i64:
6850; CHECK: .functype all_true_2_i64 (v128) -> (i32)
6951; CHECK-NEXT: # %bb.0:
70- ; CHECK-NEXT: v128.const $push0=, 0, 0
71- ; CHECK-NEXT: i64x2.eq $push1=, $0, $pop0
72- ; CHECK-NEXT: v128.any_true $push2=, $pop1
73- ; CHECK-NEXT: i32.const $push3=, -1
74- ; CHECK-NEXT: i32.xor $push4=, $pop2, $pop3
75- ; CHECK-NEXT: i32.const $push5=, 1
76- ; CHECK-NEXT: i32.and $push6=, $pop4, $pop5
77- ; CHECK-NEXT: return $pop6
52+ ; CHECK-NEXT: i64x2.all_true $push0=, $0
53+ ; CHECK-NEXT: return $pop0
7854 %1 = icmp eq <2 x i64 > %v , zeroinitializer
7955 %2 = bitcast <2 x i1 > %1 to i2
8056 %3 = icmp eq i2 %2 , 0
0 commit comments