You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some tests had scalable vector intrinsic names with fixed vector types.
Some had types in the wrong order.
Remove scalable vector test from fixed vector files.
Also replace insert+shuffle constexprs with fixed constant vectors.
declare <2 x i1> @llvm.vp.trunc.nxv2i16.nxv2i1(<2 x i16>, <2 x i1>, i32)
5
+
declare <2 x i1> @llvm.vp.trunc.v2i1.v2i16(<2 x i16>, <2 x i1>, i32)
6
6
7
-
define <2 x i1> @vtrunc_nxv2i1_nxv2i16(<2 x i16> %a, <2 x i1> %m, i32zeroext%vl) {
8
-
; CHECK-LABEL: vtrunc_nxv2i1_nxv2i16:
7
+
define <2 x i1> @vtrunc_v2i1_v2i16(<2 x i16> %a, <2 x i1> %m, i32zeroext%vl) {
8
+
; CHECK-LABEL: vtrunc_v2i1_v2i16:
9
9
; CHECK: # %bb.0:
10
10
; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, mu
11
11
; CHECK-NEXT: vand.vi v8, v8, 1, v0.t
12
12
; CHECK-NEXT: vsetvli zero, zero, e16, mf4, ta, ma
13
13
; CHECK-NEXT: vmsne.vi v0, v8, 0, v0.t
14
14
; CHECK-NEXT: ret
15
-
%v = call <2 x i1> @llvm.vp.trunc.nxv2i16.nxv2i1(<2 x i16> %a, <2 x i1> %m, i32%vl)
15
+
%v = call <2 x i1> @llvm.vp.trunc.v2i1.v2i16(<2 x i16> %a, <2 x i1> %m, i32%vl)
16
16
ret <2 x i1> %v
17
17
}
18
18
19
-
define <2 x i1> @vtrunc_nxv2i1_nxv2i16_unmasked(<2 x i16> %a, i32zeroext%vl) {
20
-
; CHECK-LABEL: vtrunc_nxv2i1_nxv2i16_unmasked:
19
+
define <2 x i1> @vtrunc_v2i1_v2i16_unmasked(<2 x i16> %a, i32zeroext%vl) {
20
+
; CHECK-LABEL: vtrunc_v2i1_v2i16_unmasked:
21
21
; CHECK: # %bb.0:
22
22
; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, ma
23
23
; CHECK-NEXT: vand.vi v8, v8, 1
24
24
; CHECK-NEXT: vmsne.vi v0, v8, 0
25
25
; CHECK-NEXT: ret
26
-
%v = call <2 x i1> @llvm.vp.trunc.nxv2i16.nxv2i1(<2 x i16> %a, <2 x i1> shufflevector (<2 x i1> insertelement (<2 x i1> undef, i1true, i320), <2 x i1> undef, <2 x i32> zeroinitializer), i32%vl)
26
+
%v = call <2 x i1> @llvm.vp.trunc.v2i1.v2i16(<2 x i16> %a, <2 x i1> <i1true, i1true>, i32%vl)
27
27
ret <2 x i1> %v
28
28
}
29
29
30
-
declare <2 x i1> @llvm.vp.trunc.nxv2i1.nxv2i32(<2 x i32>, <2 x i1>, i32)
30
+
declare <2 x i1> @llvm.vp.trunc.v2i1.v2i32(<2 x i32>, <2 x i1>, i32)
31
31
32
-
define <2 x i1> @vtrunc_nxv2i1_nxv2i32(<2 x i32> %a, <2 x i1> %m, i32zeroext%vl) {
33
-
; CHECK-LABEL: vtrunc_nxv2i1_nxv2i32:
32
+
define <2 x i1> @vtrunc_v2i1_v2i32(<2 x i32> %a, <2 x i1> %m, i32zeroext%vl) {
33
+
; CHECK-LABEL: vtrunc_v2i1_v2i32:
34
34
; CHECK: # %bb.0:
35
35
; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, mu
36
36
; CHECK-NEXT: vand.vi v8, v8, 1, v0.t
37
37
; CHECK-NEXT: vsetvli zero, zero, e32, mf2, ta, ma
38
38
; CHECK-NEXT: vmsne.vi v0, v8, 0, v0.t
39
39
; CHECK-NEXT: ret
40
-
%v = call <2 x i1> @llvm.vp.trunc.nxv2i1.nxv2i32(<2 x i32> %a, <2 x i1> %m, i32%vl)
40
+
%v = call <2 x i1> @llvm.vp.trunc.v2i1.v2i32(<2 x i32> %a, <2 x i1> %m, i32%vl)
41
41
ret <2 x i1> %v
42
42
}
43
43
44
-
define <2 x i1> @vtrunc_nxv2i1_nxv2i32_unmasked(<2 x i32> %a, i32zeroext%vl) {
45
-
; CHECK-LABEL: vtrunc_nxv2i1_nxv2i32_unmasked:
44
+
define <2 x i1> @vtrunc_v2i1_v2i32_unmasked(<2 x i32> %a, i32zeroext%vl) {
45
+
; CHECK-LABEL: vtrunc_v2i1_v2i32_unmasked:
46
46
; CHECK: # %bb.0:
47
47
; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, ma
48
48
; CHECK-NEXT: vand.vi v8, v8, 1
49
49
; CHECK-NEXT: vmsne.vi v0, v8, 0
50
50
; CHECK-NEXT: ret
51
-
%v = call <2 x i1> @llvm.vp.trunc.nxv2i1.nxv2i32(<2 x i32> %a, <2 x i1> shufflevector (<2 x i1> insertelement (<2 x i1> undef, i1true, i320), <2 x i1> undef, <2 x i32> zeroinitializer), i32%vl)
51
+
%v = call <2 x i1> @llvm.vp.trunc.v2i1.v2i32(<2 x i32> %a, <2 x i1> <i1true, i1true>, i32%vl)
52
52
ret <2 x i1> %v
53
53
}
54
54
55
-
declare <2 x i1> @llvm.vp.trunc.nxv2i1.nxv2i64(<2 x i64>, <2 x i1>, i32)
55
+
declare <2 x i1> @llvm.vp.trunc.v2i1.v2i64(<2 x i64>, <2 x i1>, i32)
56
56
57
-
define <2 x i1> @vtrunc_nxv2i1_nxv2i64(<2 x i64> %a, <2 x i1> %m, i32zeroext%vl) {
58
-
; CHECK-LABEL: vtrunc_nxv2i1_nxv2i64:
57
+
define <2 x i1> @vtrunc_v2i1_v2i64(<2 x i64> %a, <2 x i1> %m, i32zeroext%vl) {
58
+
; CHECK-LABEL: vtrunc_v2i1_v2i64:
59
59
; CHECK: # %bb.0:
60
60
; CHECK-NEXT: vsetvli zero, a0, e64, m1, ta, mu
61
61
; CHECK-NEXT: vand.vi v8, v8, 1, v0.t
62
62
; CHECK-NEXT: vsetvli zero, zero, e64, m1, ta, ma
63
63
; CHECK-NEXT: vmsne.vi v0, v8, 0, v0.t
64
64
; CHECK-NEXT: ret
65
-
%v = call <2 x i1> @llvm.vp.trunc.nxv2i1.nxv2i64(<2 x i64> %a, <2 x i1> %m, i32%vl)
65
+
%v = call <2 x i1> @llvm.vp.trunc.v2i1.v2i64(<2 x i64> %a, <2 x i1> %m, i32%vl)
66
66
ret <2 x i1> %v
67
67
}
68
68
69
-
define <2 x i1> @vtrunc_nxv2i1_nxv2i64_unmasked(<2 x i64> %a, i32zeroext%vl) {
70
-
; CHECK-LABEL: vtrunc_nxv2i1_nxv2i64_unmasked:
69
+
define <2 x i1> @vtrunc_v2i1_v2i64_unmasked(<2 x i64> %a, i32zeroext%vl) {
70
+
; CHECK-LABEL: vtrunc_v2i1_v2i64_unmasked:
71
71
; CHECK: # %bb.0:
72
72
; CHECK-NEXT: vsetvli zero, a0, e64, m1, ta, ma
73
73
; CHECK-NEXT: vand.vi v8, v8, 1
74
74
; CHECK-NEXT: vmsne.vi v0, v8, 0
75
75
; CHECK-NEXT: ret
76
-
%v = call <2 x i1> @llvm.vp.trunc.nxv2i1.nxv2i64(<2 x i64> %a, <2 x i1> shufflevector (<2 x i1> insertelement (<2 x i1> undef, i1true, i320), <2 x i1> undef, <2 x i32> zeroinitializer), i32%vl)
76
+
%v = call <2 x i1> @llvm.vp.trunc.v2i1.v2i64(<2 x i64> %a, <2 x i1> <i1true, i1true>, i32%vl)
declare <2 x i7> @llvm.vp.trunc.nxv2i7.nxv2i16(<2 x i16>, <2 x i1>, i32)
5
+
declare <2 x i7> @llvm.vp.trunc.v2i7.v2i16(<2 x i16>, <2 x i1>, i32)
6
6
7
-
define <2 x i7> @vtrunc_nxv2i7_nxv2i16(<2 x i16> %a, <2 x i1> %m, i32zeroext%vl) {
8
-
; CHECK-LABEL: vtrunc_nxv2i7_nxv2i16:
7
+
define <2 x i7> @vtrunc_v2i7_v2i16(<2 x i16> %a, <2 x i1> %m, i32zeroext%vl) {
8
+
; CHECK-LABEL: vtrunc_v2i7_v2i16:
9
9
; CHECK: # %bb.0:
10
10
; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, mu
11
11
; CHECK-NEXT: vnsrl.wi v8, v8, 0, v0.t
12
12
; CHECK-NEXT: ret
13
-
%v = call <2 x i7> @llvm.vp.trunc.nxv2i7.nxv2i16(<2 x i16> %a, <2 x i1> %m, i32%vl)
13
+
%v = call <2 x i7> @llvm.vp.trunc.v2i7.v2i16(<2 x i16> %a, <2 x i1> %m, i32%vl)
14
14
ret <2 x i7> %v
15
15
}
16
16
17
-
declare <2 x i8> @llvm.vp.trunc.nxv2i8.nxv2i15(<2 x i15>, <2 x i1>, i32)
17
+
declare <2 x i8> @llvm.vp.trunc.v2i8.v2i15(<2 x i15>, <2 x i1>, i32)
18
18
19
-
define <2 x i8> @vtrunc_nxv2i8_nxv2i15(<2 x i15> %a, <2 x i1> %m, i32zeroext%vl) {
20
-
; CHECK-LABEL: vtrunc_nxv2i8_nxv2i15:
19
+
define <2 x i8> @vtrunc_v2i8_v2i15(<2 x i15> %a, <2 x i1> %m, i32zeroext%vl) {
20
+
; CHECK-LABEL: vtrunc_v2i8_v2i15:
21
21
; CHECK: # %bb.0:
22
22
; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, mu
23
23
; CHECK-NEXT: vnsrl.wi v8, v8, 0, v0.t
24
24
; CHECK-NEXT: ret
25
-
%v = call <2 x i8> @llvm.vp.trunc.nxv2i8.nxv2i15(<2 x i15> %a, <2 x i1> %m, i32%vl)
25
+
%v = call <2 x i8> @llvm.vp.trunc.v2i8.v2i15(<2 x i15> %a, <2 x i1> %m, i32%vl)
26
26
ret <2 x i8> %v
27
27
}
28
28
29
-
declare <2 x i8> @llvm.vp.trunc.nxv2i8.nxv2i16(<2 x i16>, <2 x i1>, i32)
29
+
declare <2 x i8> @llvm.vp.trunc.v2i8.v2i16(<2 x i16>, <2 x i1>, i32)
30
30
31
-
define <2 x i8> @vtrunc_nxv2i8_nxv2i16(<2 x i16> %a, <2 x i1> %m, i32zeroext%vl) {
32
-
; CHECK-LABEL: vtrunc_nxv2i8_nxv2i16:
31
+
define <2 x i8> @vtrunc_v2i8_v2i16(<2 x i16> %a, <2 x i1> %m, i32zeroext%vl) {
32
+
; CHECK-LABEL: vtrunc_v2i8_v2i16:
33
33
; CHECK: # %bb.0:
34
34
; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, mu
35
35
; CHECK-NEXT: vnsrl.wi v8, v8, 0, v0.t
36
36
; CHECK-NEXT: ret
37
-
%v = call <2 x i8> @llvm.vp.trunc.nxv2i8.nxv2i16(<2 x i16> %a, <2 x i1> %m, i32%vl)
37
+
%v = call <2 x i8> @llvm.vp.trunc.v2i8.v2i16(<2 x i16> %a, <2 x i1> %m, i32%vl)
38
38
ret <2 x i8> %v
39
39
}
40
40
41
-
define <2 x i8> @vtrunc_nxv2i8_nxv2i16_unmasked(<2 x i16> %a, i32zeroext%vl) {
42
-
; CHECK-LABEL: vtrunc_nxv2i8_nxv2i16_unmasked:
41
+
define <2 x i8> @vtrunc_v2i8_v2i16_unmasked(<2 x i16> %a, i32zeroext%vl) {
42
+
; CHECK-LABEL: vtrunc_v2i8_v2i16_unmasked:
43
43
; CHECK: # %bb.0:
44
44
; CHECK-NEXT: vsetvli zero, a0, e8, mf8, ta, ma
45
45
; CHECK-NEXT: vnsrl.wi v8, v8, 0
46
46
; CHECK-NEXT: ret
47
-
%v = call <2 x i8> @llvm.vp.trunc.nxv2i8.nxv2i16(<2 x i16> %a, <2 x i1> shufflevector (<2 x i1> insertelement (<2 x i1> undef, i1true, i320), <2 x i1> undef, <2 x i32> zeroinitializer), i32%vl)
47
+
%v = call <2 x i8> @llvm.vp.trunc.v2i8.v2i16(<2 x i16> %a, <2 x i1> <i1true, i1true>, i32%vl)
48
48
ret <2 x i8> %v
49
49
}
50
50
51
-
declare <128 x i7> @llvm.vp.trunc.nxv128i7.nxv128i16(<128 x i16>, <128 x i1>, i32)
51
+
declare <128 x i7> @llvm.vp.trunc.v128i7.v128i16(<128 x i16>, <128 x i1>, i32)
52
52
53
-
define <128 x i7> @vtrunc_nxv128i7_nxv128i16(<128 x i16> %a, <128 x i1> %m, i32zeroext%vl) {
54
-
; CHECK-LABEL: vtrunc_nxv128i7_nxv128i16:
53
+
define <128 x i7> @vtrunc_v128i7_v128i16(<128 x i16> %a, <128 x i1> %m, i32zeroext%vl) {
54
+
; CHECK-LABEL: vtrunc_v128i7_v128i16:
55
55
; CHECK: # %bb.0:
56
56
; CHECK-NEXT: addi sp, sp, -16
57
57
; CHECK-NEXT: .cfi_def_cfa_offset 16
@@ -90,40 +90,40 @@ define <128 x i7> @vtrunc_nxv128i7_nxv128i16(<128 x i16> %a, <128 x i1> %m, i32
90
90
; CHECK-NEXT: add sp, sp, a0
91
91
; CHECK-NEXT: addi sp, sp, 16
92
92
; CHECK-NEXT: ret
93
-
%v = call <128 x i7> @llvm.vp.trunc.nxv128i7.nxv128i16(<128 x i16> %a, <128 x i1> %m, i32%vl)
93
+
%v = call <128 x i7> @llvm.vp.trunc.v128i7.v128i16(<128 x i16> %a, <128 x i1> %m, i32%vl)
94
94
ret <128 x i7> %v
95
95
}
96
96
97
-
declare <2 x i8> @llvm.vp.trunc.nxv2i8.nxv2i32(<2 x i32>, <2 x i1>, i32)
97
+
declare <2 x i8> @llvm.vp.trunc.v2i8.v2i32(<2 x i32>, <2 x i1>, i32)
98
98
99
-
define <2 x i8> @vtrunc_nxv2i8_nxv2i32(<2 x i32> %a, <2 x i1> %m, i32zeroext%vl) {
100
-
; CHECK-LABEL: vtrunc_nxv2i8_nxv2i32:
99
+
define <2 x i8> @vtrunc_v2i8_v2i32(<2 x i32> %a, <2 x i1> %m, i32zeroext%vl) {
100
+
; CHECK-LABEL: vtrunc_v2i8_v2i32:
101
101
; CHECK: # %bb.0:
102
102
; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, mu
103
103
; CHECK-NEXT: vnsrl.wi v8, v8, 0, v0.t
104
104
; CHECK-NEXT: vsetvli zero, zero, e8, mf8, ta, mu
105
105
; CHECK-NEXT: vnsrl.wi v8, v8, 0, v0.t
106
106
; CHECK-NEXT: ret
107
-
%v = call <2 x i8> @llvm.vp.trunc.nxv2i8.nxv2i32(<2 x i32> %a, <2 x i1> %m, i32%vl)
107
+
%v = call <2 x i8> @llvm.vp.trunc.v2i8.v2i32(<2 x i32> %a, <2 x i1> %m, i32%vl)
108
108
ret <2 x i8> %v
109
109
}
110
110
111
-
define <2 x i8> @vtrunc_nxv2i8_nxv2i32_unmasked(<2 x i32> %a, i32zeroext%vl) {
112
-
; CHECK-LABEL: vtrunc_nxv2i8_nxv2i32_unmasked:
111
+
define <2 x i8> @vtrunc_v2i8_v2i32_unmasked(<2 x i32> %a, i32zeroext%vl) {
112
+
; CHECK-LABEL: vtrunc_v2i8_v2i32_unmasked:
113
113
; CHECK: # %bb.0:
114
114
; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, ma
115
115
; CHECK-NEXT: vnsrl.wi v8, v8, 0
116
116
; CHECK-NEXT: vsetvli zero, zero, e8, mf8, ta, ma
117
117
; CHECK-NEXT: vnsrl.wi v8, v8, 0
118
118
; CHECK-NEXT: ret
119
-
%v = call <2 x i8> @llvm.vp.trunc.nxv2i8.nxv2i32(<2 x i32> %a, <2 x i1> shufflevector (<2 x i1> insertelement (<2 x i1> undef, i1true, i320), <2 x i1> undef, <2 x i32> zeroinitializer), i32%vl)
119
+
%v = call <2 x i8> @llvm.vp.trunc.v2i8.v2i32(<2 x i32> %a, <2 x i1> <i1true, i1true>, i32%vl)
120
120
ret <2 x i8> %v
121
121
}
122
122
123
-
declare <2 x i8> @llvm.vp.trunc.nxv2i8.nxv2i64(<2 x i64>, <2 x i1>, i32)
123
+
declare <2 x i8> @llvm.vp.trunc.v2i8.v2i64(<2 x i64>, <2 x i1>, i32)
124
124
125
-
define <2 x i8> @vtrunc_nxv2i8_nxv2i64(<2 x i64> %a, <2 x i1> %m, i32zeroext%vl) {
126
-
; CHECK-LABEL: vtrunc_nxv2i8_nxv2i64:
125
+
define <2 x i8> @vtrunc_v2i8_v2i64(<2 x i64> %a, <2 x i1> %m, i32zeroext%vl) {
126
+
; CHECK-LABEL: vtrunc_v2i8_v2i64:
127
127
; CHECK: # %bb.0:
128
128
; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, mu
129
129
; CHECK-NEXT: vnsrl.wi v8, v8, 0, v0.t
@@ -132,12 +132,12 @@ define <2 x i8> @vtrunc_nxv2i8_nxv2i64(<2 x i64> %a, <2 x i1> %m, i32 zeroext %v
132
132
; CHECK-NEXT: vsetvli zero, zero, e8, mf8, ta, mu
133
133
; CHECK-NEXT: vnsrl.wi v8, v8, 0, v0.t
134
134
; CHECK-NEXT: ret
135
-
%v = call <2 x i8> @llvm.vp.trunc.nxv2i8.nxv2i64(<2 x i64> %a, <2 x i1> %m, i32%vl)
135
+
%v = call <2 x i8> @llvm.vp.trunc.v2i8.v2i64(<2 x i64> %a, <2 x i1> %m, i32%vl)
136
136
ret <2 x i8> %v
137
137
}
138
138
139
-
define <2 x i8> @vtrunc_nxv2i8_nxv2i64_unmasked(<2 x i64> %a, i32zeroext%vl) {
140
-
; CHECK-LABEL: vtrunc_nxv2i8_nxv2i64_unmasked:
139
+
define <2 x i8> @vtrunc_v2i8_v2i64_unmasked(<2 x i64> %a, i32zeroext%vl) {
140
+
; CHECK-LABEL: vtrunc_v2i8_v2i64_unmasked:
141
141
; CHECK: # %bb.0:
142
142
; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, ma
143
143
; CHECK-NEXT: vnsrl.wi v8, v8, 0
@@ -146,98 +146,98 @@ define <2 x i8> @vtrunc_nxv2i8_nxv2i64_unmasked(<2 x i64> %a, i32 zeroext %vl) {
146
146
; CHECK-NEXT: vsetvli zero, zero, e8, mf8, ta, ma
147
147
; CHECK-NEXT: vnsrl.wi v8, v8, 0
148
148
; CHECK-NEXT: ret
149
-
%v = call <2 x i8> @llvm.vp.trunc.nxv2i8.nxv2i64(<2 x i64> %a, <2 x i1> shufflevector (<2 x i1> insertelement (<2 x i1> undef, i1true, i320), <2 x i1> undef, <2 x i32> zeroinitializer), i32%vl)
149
+
%v = call <2 x i8> @llvm.vp.trunc.v2i8.v2i64(<2 x i64> %a, <2 x i1> <i1true, i1true>, i32%vl)
150
150
ret <2 x i8> %v
151
151
}
152
152
153
-
declare <2 x i16> @llvm.vp.trunc.nxv2i16.nxv2i32(<2 x i32>, <2 x i1>, i32)
153
+
declare <2 x i16> @llvm.vp.trunc.v2i16.v2i32(<2 x i32>, <2 x i1>, i32)
154
154
155
-
define <2 x i16> @vtrunc_nxv2i16_nxv2i32(<2 x i32> %a, <2 x i1> %m, i32zeroext%vl) {
156
-
; CHECK-LABEL: vtrunc_nxv2i16_nxv2i32:
155
+
define <2 x i16> @vtrunc_v2i16_v2i32(<2 x i32> %a, <2 x i1> %m, i32zeroext%vl) {
156
+
; CHECK-LABEL: vtrunc_v2i16_v2i32:
157
157
; CHECK: # %bb.0:
158
158
; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, mu
159
159
; CHECK-NEXT: vnsrl.wi v8, v8, 0, v0.t
160
160
; CHECK-NEXT: ret
161
-
%v = call <2 x i16> @llvm.vp.trunc.nxv2i16.nxv2i32(<2 x i32> %a, <2 x i1> %m, i32%vl)
161
+
%v = call <2 x i16> @llvm.vp.trunc.v2i16.v2i32(<2 x i32> %a, <2 x i1> %m, i32%vl)
162
162
ret <2 x i16> %v
163
163
}
164
164
165
-
define <2 x i16> @vtrunc_nxv2i16_nxv2i32_unmasked(<2 x i32> %a, i32zeroext%vl) {
166
-
; CHECK-LABEL: vtrunc_nxv2i16_nxv2i32_unmasked:
165
+
define <2 x i16> @vtrunc_v2i16_v2i32_unmasked(<2 x i32> %a, i32zeroext%vl) {
166
+
; CHECK-LABEL: vtrunc_v2i16_v2i32_unmasked:
167
167
; CHECK: # %bb.0:
168
168
; CHECK-NEXT: vsetvli zero, a0, e16, mf4, ta, ma
169
169
; CHECK-NEXT: vnsrl.wi v8, v8, 0
170
170
; CHECK-NEXT: ret
171
-
%v = call <2 x i16> @llvm.vp.trunc.nxv2i16.nxv2i32(<2 x i32> %a, <2 x i1> shufflevector (<2 x i1> insertelement (<2 x i1> undef, i1true, i320), <2 x i1> undef, <2 x i32> zeroinitializer), i32%vl)
171
+
%v = call <2 x i16> @llvm.vp.trunc.v2i16.v2i32(<2 x i32> %a, <2 x i1> <i1true, i1true>, i32%vl)
172
172
ret <2 x i16> %v
173
173
}
174
174
175
-
declare <2 x i16> @llvm.vp.trunc.nxv2i16.nxv2i64(<2 x i64>, <2 x i1>, i32)
175
+
declare <2 x i16> @llvm.vp.trunc.v2i16.v2i64(<2 x i64>, <2 x i1>, i32)
176
176
177
-
define <2 x i16> @vtrunc_nxv2i16_nxv2i64(<2 x i64> %a, <2 x i1> %m, i32zeroext%vl) {
178
-
; CHECK-LABEL: vtrunc_nxv2i16_nxv2i64:
177
+
define <2 x i16> @vtrunc_v2i16_v2i64(<2 x i64> %a, <2 x i1> %m, i32zeroext%vl) {
178
+
; CHECK-LABEL: vtrunc_v2i16_v2i64:
179
179
; CHECK: # %bb.0:
180
180
; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, mu
181
181
; CHECK-NEXT: vnsrl.wi v8, v8, 0, v0.t
182
182
; CHECK-NEXT: vsetvli zero, zero, e16, mf4, ta, mu
183
183
; CHECK-NEXT: vnsrl.wi v8, v8, 0, v0.t
184
184
; CHECK-NEXT: ret
185
-
%v = call <2 x i16> @llvm.vp.trunc.nxv2i16.nxv2i64(<2 x i64> %a, <2 x i1> %m, i32%vl)
185
+
%v = call <2 x i16> @llvm.vp.trunc.v2i16.v2i64(<2 x i64> %a, <2 x i1> %m, i32%vl)
186
186
ret <2 x i16> %v
187
187
}
188
188
189
-
define <2 x i16> @vtrunc_nxv2i16_nxv2i64_unmasked(<2 x i64> %a, i32zeroext%vl) {
190
-
; CHECK-LABEL: vtrunc_nxv2i16_nxv2i64_unmasked:
189
+
define <2 x i16> @vtrunc_v2i16_v2i64_unmasked(<2 x i64> %a, i32zeroext%vl) {
190
+
; CHECK-LABEL: vtrunc_v2i16_v2i64_unmasked:
191
191
; CHECK: # %bb.0:
192
192
; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, ma
193
193
; CHECK-NEXT: vnsrl.wi v8, v8, 0
194
194
; CHECK-NEXT: vsetvli zero, zero, e16, mf4, ta, ma
195
195
; CHECK-NEXT: vnsrl.wi v8, v8, 0
196
196
; CHECK-NEXT: ret
197
-
%v = call <2 x i16> @llvm.vp.trunc.nxv2i16.nxv2i64(<2 x i64> %a, <2 x i1> shufflevector (<2 x i1> insertelement (<2 x i1> undef, i1true, i320), <2 x i1> undef, <2 x i32> zeroinitializer), i32%vl)
197
+
%v = call <2 x i16> @llvm.vp.trunc.v2i16.v2i64(<2 x i64> %a, <2 x i1> <i1true, i1true>, i32%vl)
198
198
ret <2 x i16> %v
199
199
}
200
200
201
-
declare <15 x i16> @llvm.vp.trunc.nxv15i16.nxv15i64(<15 x i64>, <15 x i1>, i32)
201
+
declare <15 x i16> @llvm.vp.trunc.v15i16.v15i64(<15 x i64>, <15 x i1>, i32)
202
202
203
-
define <15 x i16> @vtrunc_nxv15i16_nxv15i64(<15 x i64> %a, <15 x i1> %m, i32zeroext%vl) {
204
-
; CHECK-LABEL: vtrunc_nxv15i16_nxv15i64:
203
+
define <15 x i16> @vtrunc_v15i16_v15i64(<15 x i64> %a, <15 x i1> %m, i32zeroext%vl) {
204
+
; CHECK-LABEL: vtrunc_v15i16_v15i64:
205
205
; CHECK: # %bb.0:
206
206
; CHECK-NEXT: vsetvli zero, a0, e32, m4, ta, mu
207
207
; CHECK-NEXT: vnsrl.wi v16, v8, 0, v0.t
208
208
; CHECK-NEXT: vsetvli zero, zero, e16, m2, ta, mu
209
209
; CHECK-NEXT: vnsrl.wi v8, v16, 0, v0.t
210
210
; CHECK-NEXT: ret
211
-
%v = call <15 x i16> @llvm.vp.trunc.nxv15i16.nxv15i64(<15 x i64> %a, <15 x i1> %m, i32%vl)
211
+
%v = call <15 x i16> @llvm.vp.trunc.v15i16.v15i64(<15 x i64> %a, <15 x i1> %m, i32%vl)
212
212
ret <15 x i16> %v
213
213
}
214
214
215
-
declare <2 x i32> @llvm.vp.trunc.nxv2i64.nxv2i32(<2 x i64>, <2 x i1>, i32)
215
+
declare <2 x i32> @llvm.vp.trunc.v2i32.v2i64(<2 x i64>, <2 x i1>, i32)
216
216
217
-
define <2 x i32> @vtrunc_nxv2i32_nxv2i64(<2 x i64> %a, <2 x i1> %m, i32zeroext%vl) {
218
-
; CHECK-LABEL: vtrunc_nxv2i32_nxv2i64:
217
+
define <2 x i32> @vtrunc_v2i32_v2i64(<2 x i64> %a, <2 x i1> %m, i32zeroext%vl) {
218
+
; CHECK-LABEL: vtrunc_v2i32_v2i64:
219
219
; CHECK: # %bb.0:
220
220
; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, mu
221
221
; CHECK-NEXT: vnsrl.wi v8, v8, 0, v0.t
222
222
; CHECK-NEXT: ret
223
-
%v = call <2 x i32> @llvm.vp.trunc.nxv2i64.nxv2i32(<2 x i64> %a, <2 x i1> %m, i32%vl)
223
+
%v = call <2 x i32> @llvm.vp.trunc.v2i32.v2i64(<2 x i64> %a, <2 x i1> %m, i32%vl)
224
224
ret <2 x i32> %v
225
225
}
226
226
227
-
define <2 x i32> @vtrunc_nxv2i32_nxv2i64_unmasked(<2 x i64> %a, i32zeroext%vl) {
228
-
; CHECK-LABEL: vtrunc_nxv2i32_nxv2i64_unmasked:
227
+
define <2 x i32> @vtrunc_v2i32_v2i64_unmasked(<2 x i64> %a, i32zeroext%vl) {
228
+
; CHECK-LABEL: vtrunc_v2i32_v2i64_unmasked:
229
229
; CHECK: # %bb.0:
230
230
; CHECK-NEXT: vsetvli zero, a0, e32, mf2, ta, ma
231
231
; CHECK-NEXT: vnsrl.wi v8, v8, 0
232
232
; CHECK-NEXT: ret
233
-
%v = call <2 x i32> @llvm.vp.trunc.nxv2i64.nxv2i32(<2 x i64> %a, <2 x i1> shufflevector (<2 x i1> insertelement (<2 x i1> undef, i1true, i320), <2 x i1> undef, <2 x i32> zeroinitializer), i32%vl)
233
+
%v = call <2 x i32> @llvm.vp.trunc.v2i32.v2i64(<2 x i64> %a, <2 x i1> <i1true, i1true>, i32%vl)
234
234
ret <2 x i32> %v
235
235
}
236
236
237
-
declare <128 x i32> @llvm.vp.trunc.nxv128i64.nxv128i32(<128 x i64>, <128 x i1>, i32)
237
+
declare <128 x i32> @llvm.vp.trunc.v128i32.v128i64(<128 x i64>, <128 x i1>, i32)
238
238
239
-
define <128 x i32> @vtrunc_nxv128i32_nxv128i64(<128 x i64> %a, <128 x i1> %m, i32zeroext%vl) {
240
-
; CHECK-LABEL: vtrunc_nxv128i32_nxv128i64:
239
+
define <128 x i32> @vtrunc_v128i32_v128i64(<128 x i64> %a, <128 x i1> %m, i32zeroext%vl) {
240
+
; CHECK-LABEL: vtrunc_v128i32_v128i64:
241
241
; CHECK: # %bb.0:
242
242
; CHECK-NEXT: addi sp, sp, -16
243
243
; CHECK-NEXT: .cfi_def_cfa_offset 16
@@ -490,14 +490,14 @@ define <128 x i32> @vtrunc_nxv128i32_nxv128i64(<128 x i64> %a, <128 x i1> %m, i3
490
490
; CHECK-NEXT: add sp, sp, a0
491
491
; CHECK-NEXT: addi sp, sp, 16
492
492
; CHECK-NEXT: ret
493
-
%v = call <128 x i32> @llvm.vp.trunc.nxv128i64.nxv128i32(<128 x i64> %a, <128 x i1> %m, i32%vl)
493
+
%v = call <128 x i32> @llvm.vp.trunc.v128i32.v128i64(<128 x i64> %a, <128 x i1> %m, i32%vl)
494
494
ret <128 x i32> %v
495
495
}
496
496
497
-
declare <32 x i32> @llvm.vp.trunc.nxv32i64.nxv32i32(<32 x i64>, <32 x i1>, i32)
497
+
declare <32 x i32> @llvm.vp.trunc.v32i32.v32i64(<32 x i64>, <32 x i1>, i32)
498
498
499
-
define <32 x i32> @vtrunc_nxv32i32_nxv32i64(<32 x i64> %a, <32 x i1> %m, i32zeroext%vl) {
500
-
; CHECK-LABEL: vtrunc_nxv32i32_nxv32i64:
499
+
define <32 x i32> @vtrunc_v32i32_v32i64(<32 x i64> %a, <32 x i1> %m, i32zeroext%vl) {
500
+
; CHECK-LABEL: vtrunc_v32i32_v32i64:
501
501
; CHECK: # %bb.0:
502
502
; CHECK-NEXT: addi sp, sp, -16
503
503
; CHECK-NEXT: .cfi_def_cfa_offset 16
@@ -536,6 +536,6 @@ define <32 x i32> @vtrunc_nxv32i32_nxv32i64(<32 x i64> %a, <32 x i1> %m, i32 zer
536
536
; CHECK-NEXT: add sp, sp, a0
537
537
; CHECK-NEXT: addi sp, sp, 16
538
538
; CHECK-NEXT: ret
539
-
%v = call <32 x i32> @llvm.vp.trunc.nxv32i64.nxv32i32(<32 x i64> %a, <32 x i1> %m, i32%vl)
539
+
%v = call <32 x i32> @llvm.vp.trunc.v32i32.v32i64(<32 x i64> %a, <32 x i1> %m, i32%vl)
0 commit comments