@@ -7,14 +7,8 @@ define i32 @all_true_16_i8(<16 x i8> %v) {
7
7
; CHECK-LABEL: all_true_16_i8:
8
8
; CHECK: .functype all_true_16_i8 (v128) -> (i32)
9
9
; 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
18
12
%1 = icmp eq <16 x i8 > %v , zeroinitializer
19
13
%2 = bitcast <16 x i1 > %1 to i16
20
14
%3 = icmp eq i16 %2 , 0
@@ -27,14 +21,8 @@ define i32 @all_true_4_i32(<4 x i32> %v) {
27
21
; CHECK-LABEL: all_true_4_i32:
28
22
; CHECK: .functype all_true_4_i32 (v128) -> (i32)
29
23
; 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
38
26
%1 = icmp eq <4 x i32 > %v , zeroinitializer
39
27
%2 = bitcast <4 x i1 > %1 to i4
40
28
%3 = icmp eq i4 %2 , 0
@@ -47,14 +35,8 @@ define i32 @all_true_8_i16(<8 x i16> %v) {
47
35
; CHECK-LABEL: all_true_8_i16:
48
36
; CHECK: .functype all_true_8_i16 (v128) -> (i32)
49
37
; 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
58
40
%1 = icmp eq <8 x i16 > %v , zeroinitializer
59
41
%2 = bitcast <8 x i1 > %1 to i8
60
42
%3 = icmp eq i8 %2 , 0
@@ -88,14 +70,8 @@ define i32 @all_true_2_i64(<2 x i64> %v) {
88
70
; CHECK-LABEL: all_true_2_i64:
89
71
; CHECK: .functype all_true_2_i64 (v128) -> (i32)
90
72
; CHECK-NEXT: # %bb.0:
91
- ; CHECK-NEXT: v128.const $push0=, 0, 0
92
- ; CHECK-NEXT: i64x2.eq $push1=, $0, $pop0
93
- ; CHECK-NEXT: v128.any_true $push2=, $pop1
94
- ; CHECK-NEXT: i32.const $push3=, -1
95
- ; CHECK-NEXT: i32.xor $push4=, $pop2, $pop3
96
- ; CHECK-NEXT: i32.const $push5=, 1
97
- ; CHECK-NEXT: i32.and $push6=, $pop4, $pop5
98
- ; CHECK-NEXT: return $pop6
73
+ ; CHECK-NEXT: i64x2.all_true $push0=, $0
74
+ ; CHECK-NEXT: return $pop0
99
75
%1 = icmp eq <2 x i64 > %v , zeroinitializer
100
76
%2 = bitcast <2 x i1 > %1 to i2
101
77
%3 = icmp eq i2 %2 , 0
0 commit comments