@@ -15,7 +15,7 @@ declare <vscale x 2 x double> @llvm.cos.nxv2f64(<vscale x 2 x double>)
15
15
declare <vscale x 4 x float > @llvm.cos.nxv4f32 (<vscale x 4 x float >)
16
16
17
17
;.
18
- ; CHECK: @llvm.compiler.used = appending global [16 x ptr] [ptr @armpl_vcosq_f64, ptr @armpl_vcosq_f32, ptr @armpl_vsinq_f64, ptr @armpl_vsinq_f32, ptr @armpl_vexpq_f64, ptr @armpl_vexpq_f32, ptr @armpl_vexp2q_f64, ptr @armpl_vexp2q_f32, ptr @armpl_vexp10q_f64, ptr @armpl_vexp10q_f32, ptr @armpl_vlogq_f64, ptr @armpl_vlogq_f32, ptr @armpl_vlog2q_f64, ptr @armpl_vlog2q_f32, ptr @armpl_vlog10q_f64, ptr @armpl_vlog10q_f32], section "llvm.metadata"
18
+ ; CHECK: @llvm.compiler.used = appending global [32 x ptr] [ptr @armpl_vcosq_f64, ptr @armpl_vcosq_f32, ptr @armpl_svcos_f64_x, ptr @armpl_svcos_f32_x, ptr @ armpl_vsinq_f64, ptr @armpl_vsinq_f32, ptr @armpl_svsin_f64_x, ptr @armpl_svsin_f32_x, ptr @ armpl_vexpq_f64, ptr @armpl_vexpq_f32, ptr @armpl_svexp_f64_x, ptr @armpl_svexp_f32_x, ptr @ armpl_vexp2q_f64, ptr @armpl_vexp2q_f32, ptr @armpl_svexp2_f64_x, ptr @armpl_svexp2_f32_x, ptr @ armpl_vexp10q_f64, ptr @armpl_vexp10q_f32, ptr @armpl_svexp10_f64_x, ptr @armpl_svexp10_f32_x, ptr @ armpl_vlogq_f64, ptr @armpl_vlogq_f32, ptr @armpl_svlog_f64_x, ptr @armpl_svlog_f32_x, ptr @ armpl_vlog2q_f64, ptr @armpl_vlog2q_f32, ptr @armpl_svlog2_f64_x, ptr @armpl_svlog2_f32_x, ptr @ armpl_vlog10q_f64, ptr @armpl_vlog10q_f32, ptr @armpl_svlog10_f64_x, ptr @armpl_svlog10_f32_x ], section "llvm.metadata"
19
19
;.
20
20
define <2 x double > @llvm_cos_f64 (<2 x double > %in ) {
21
21
; CHECK-LABEL: define <2 x double> @llvm_cos_f64
@@ -40,7 +40,7 @@ define <4 x float> @llvm_cos_f32(<4 x float> %in) {
40
40
define <vscale x 2 x double > @llvm_cos_vscale_f64 (<vscale x 2 x double > %in ) #0 {
41
41
; CHECK-LABEL: define <vscale x 2 x double> @llvm_cos_vscale_f64
42
42
; CHECK-SAME: (<vscale x 2 x double> [[IN:%.*]]) #[[ATTR1:[0-9]+]] {
43
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @llvm.cos.nxv2f64 (<vscale x 2 x double> [[IN]])
43
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @armpl_svcos_f64_x (<vscale x 2 x double> [[IN]])
44
44
; CHECK-NEXT: ret <vscale x 2 x double> [[TMP1]]
45
45
;
46
46
%1 = call fast <vscale x 2 x double > @llvm.cos.nxv2f64 (<vscale x 2 x double > %in )
@@ -50,7 +50,7 @@ define <vscale x 2 x double> @llvm_cos_vscale_f64(<vscale x 2 x double> %in) #0
50
50
define <vscale x 4 x float > @llvm_cos_vscale_f32 (<vscale x 4 x float > %in ) #0 {
51
51
; CHECK-LABEL: define <vscale x 4 x float> @llvm_cos_vscale_f32
52
52
; CHECK-SAME: (<vscale x 4 x float> [[IN:%.*]]) #[[ATTR1]] {
53
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @llvm.cos.nxv4f32 (<vscale x 4 x float> [[IN]])
53
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @armpl_svcos_f32_x (<vscale x 4 x float> [[IN]])
54
54
; CHECK-NEXT: ret <vscale x 4 x float> [[TMP1]]
55
55
;
56
56
%1 = call fast <vscale x 4 x float > @llvm.cos.nxv4f32 (<vscale x 4 x float > %in )
@@ -85,7 +85,7 @@ define <4 x float> @llvm_sin_f32(<4 x float> %in) {
85
85
define <vscale x 2 x double > @llvm_sin_vscale_f64 (<vscale x 2 x double > %in ) #0 {
86
86
; CHECK-LABEL: define <vscale x 2 x double> @llvm_sin_vscale_f64
87
87
; CHECK-SAME: (<vscale x 2 x double> [[IN:%.*]]) #[[ATTR1]] {
88
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @llvm.sin.nxv2f64 (<vscale x 2 x double> [[IN]])
88
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @armpl_svsin_f64_x (<vscale x 2 x double> [[IN]])
89
89
; CHECK-NEXT: ret <vscale x 2 x double> [[TMP1]]
90
90
;
91
91
%1 = call fast <vscale x 2 x double > @llvm.sin.nxv2f64 (<vscale x 2 x double > %in )
@@ -95,7 +95,7 @@ define <vscale x 2 x double> @llvm_sin_vscale_f64(<vscale x 2 x double> %in) #0
95
95
define <vscale x 4 x float > @llvm_sin_vscale_f32 (<vscale x 4 x float > %in ) #0 {
96
96
; CHECK-LABEL: define <vscale x 4 x float> @llvm_sin_vscale_f32
97
97
; CHECK-SAME: (<vscale x 4 x float> [[IN:%.*]]) #[[ATTR1]] {
98
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @llvm.sin.nxv4f32 (<vscale x 4 x float> [[IN]])
98
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @armpl_svsin_f32_x (<vscale x 4 x float> [[IN]])
99
99
; CHECK-NEXT: ret <vscale x 4 x float> [[TMP1]]
100
100
;
101
101
%1 = call fast <vscale x 4 x float > @llvm.sin.nxv4f32 (<vscale x 4 x float > %in )
@@ -130,7 +130,7 @@ define <4 x float> @llvm_exp_f32(<4 x float> %in) {
130
130
define <vscale x 2 x double > @llvm_exp_vscale_f64 (<vscale x 2 x double > %in ) #0 {
131
131
; CHECK-LABEL: define <vscale x 2 x double> @llvm_exp_vscale_f64
132
132
; CHECK-SAME: (<vscale x 2 x double> [[IN:%.*]]) #[[ATTR1]] {
133
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @llvm.exp.nxv2f64 (<vscale x 2 x double> [[IN]])
133
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @armpl_svexp_f64_x (<vscale x 2 x double> [[IN]])
134
134
; CHECK-NEXT: ret <vscale x 2 x double> [[TMP1]]
135
135
;
136
136
%1 = call fast <vscale x 2 x double > @llvm.exp.nxv2f64 (<vscale x 2 x double > %in )
@@ -140,7 +140,7 @@ define <vscale x 2 x double> @llvm_exp_vscale_f64(<vscale x 2 x double> %in) #0
140
140
define <vscale x 4 x float > @llvm_exp_vscale_f32 (<vscale x 4 x float > %in ) #0 {
141
141
; CHECK-LABEL: define <vscale x 4 x float> @llvm_exp_vscale_f32
142
142
; CHECK-SAME: (<vscale x 4 x float> [[IN:%.*]]) #[[ATTR1]] {
143
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @llvm.exp.nxv4f32 (<vscale x 4 x float> [[IN]])
143
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @armpl_svexp_f32_x (<vscale x 4 x float> [[IN]])
144
144
; CHECK-NEXT: ret <vscale x 4 x float> [[TMP1]]
145
145
;
146
146
%1 = call fast <vscale x 4 x float > @llvm.exp.nxv4f32 (<vscale x 4 x float > %in )
@@ -175,7 +175,7 @@ define <4 x float> @llvm_exp2_f32(<4 x float> %in) {
175
175
define <vscale x 2 x double > @llvm_exp2_vscale_f64 (<vscale x 2 x double > %in ) #0 {
176
176
; CHECK-LABEL: define <vscale x 2 x double> @llvm_exp2_vscale_f64
177
177
; CHECK-SAME: (<vscale x 2 x double> [[IN:%.*]]) #[[ATTR1]] {
178
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @llvm.exp2.nxv2f64 (<vscale x 2 x double> [[IN]])
178
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @armpl_svexp2_f64_x (<vscale x 2 x double> [[IN]])
179
179
; CHECK-NEXT: ret <vscale x 2 x double> [[TMP1]]
180
180
;
181
181
%1 = call fast <vscale x 2 x double > @llvm.exp2.nxv2f64 (<vscale x 2 x double > %in )
@@ -185,7 +185,7 @@ define <vscale x 2 x double> @llvm_exp2_vscale_f64(<vscale x 2 x double> %in) #0
185
185
define <vscale x 4 x float > @llvm_exp2_vscale_f32 (<vscale x 4 x float > %in ) #0 {
186
186
; CHECK-LABEL: define <vscale x 4 x float> @llvm_exp2_vscale_f32
187
187
; CHECK-SAME: (<vscale x 4 x float> [[IN:%.*]]) #[[ATTR1]] {
188
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @llvm.exp2.nxv4f32 (<vscale x 4 x float> [[IN]])
188
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @armpl_svexp2_f32_x (<vscale x 4 x float> [[IN]])
189
189
; CHECK-NEXT: ret <vscale x 4 x float> [[TMP1]]
190
190
;
191
191
%1 = call fast <vscale x 4 x float > @llvm.exp2.nxv4f32 (<vscale x 4 x float > %in )
@@ -220,7 +220,7 @@ define <4 x float> @llvm_exp10_f32(<4 x float> %in) {
220
220
define <vscale x 2 x double > @llvm_exp10_vscale_f64 (<vscale x 2 x double > %in ) #0 {
221
221
; CHECK-LABEL: define <vscale x 2 x double> @llvm_exp10_vscale_f64
222
222
; CHECK-SAME: (<vscale x 2 x double> [[IN:%.*]]) #[[ATTR1]] {
223
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @llvm.exp10.nxv2f64 (<vscale x 2 x double> [[IN]])
223
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @armpl_svexp10_f64_x (<vscale x 2 x double> [[IN]])
224
224
; CHECK-NEXT: ret <vscale x 2 x double> [[TMP1]]
225
225
;
226
226
%1 = call fast <vscale x 2 x double > @llvm.exp10.nxv2f64 (<vscale x 2 x double > %in )
@@ -230,7 +230,7 @@ define <vscale x 2 x double> @llvm_exp10_vscale_f64(<vscale x 2 x double> %in) #
230
230
define <vscale x 4 x float > @llvm_exp10_vscale_f32 (<vscale x 4 x float > %in ) #0 {
231
231
; CHECK-LABEL: define <vscale x 4 x float> @llvm_exp10_vscale_f32
232
232
; CHECK-SAME: (<vscale x 4 x float> [[IN:%.*]]) #[[ATTR1]] {
233
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @llvm.exp10.nxv4f32 (<vscale x 4 x float> [[IN]])
233
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @armpl_svexp10_f32_x (<vscale x 4 x float> [[IN]])
234
234
; CHECK-NEXT: ret <vscale x 4 x float> [[TMP1]]
235
235
;
236
236
%1 = call fast <vscale x 4 x float > @llvm.exp10.nxv4f32 (<vscale x 4 x float > %in )
@@ -265,7 +265,7 @@ define <4 x float> @llvm_log_f32(<4 x float> %in) {
265
265
define <vscale x 2 x double > @llvm_log_vscale_f64 (<vscale x 2 x double > %in ) #0 {
266
266
; CHECK-LABEL: define <vscale x 2 x double> @llvm_log_vscale_f64
267
267
; CHECK-SAME: (<vscale x 2 x double> [[IN:%.*]]) #[[ATTR1]] {
268
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @llvm.log.nxv2f64 (<vscale x 2 x double> [[IN]])
268
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @armpl_svlog_f64_x (<vscale x 2 x double> [[IN]])
269
269
; CHECK-NEXT: ret <vscale x 2 x double> [[TMP1]]
270
270
;
271
271
%1 = call fast <vscale x 2 x double > @llvm.log.nxv2f64 (<vscale x 2 x double > %in )
@@ -275,7 +275,7 @@ define <vscale x 2 x double> @llvm_log_vscale_f64(<vscale x 2 x double> %in) #0
275
275
define <vscale x 4 x float > @llvm_log_vscale_f32 (<vscale x 4 x float > %in ) #0 {
276
276
; CHECK-LABEL: define <vscale x 4 x float> @llvm_log_vscale_f32
277
277
; CHECK-SAME: (<vscale x 4 x float> [[IN:%.*]]) #[[ATTR1]] {
278
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @llvm.log.nxv4f32 (<vscale x 4 x float> [[IN]])
278
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @armpl_svlog_f32_x (<vscale x 4 x float> [[IN]])
279
279
; CHECK-NEXT: ret <vscale x 4 x float> [[TMP1]]
280
280
;
281
281
%1 = call fast <vscale x 4 x float > @llvm.log.nxv4f32 (<vscale x 4 x float > %in )
@@ -310,7 +310,7 @@ define <4 x float> @llvm_log2_f32(<4 x float> %in) {
310
310
define <vscale x 2 x double > @llvm_log2_vscale_f64 (<vscale x 2 x double > %in ) #0 {
311
311
; CHECK-LABEL: define <vscale x 2 x double> @llvm_log2_vscale_f64
312
312
; CHECK-SAME: (<vscale x 2 x double> [[IN:%.*]]) #[[ATTR1]] {
313
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @llvm.log2.nxv2f64 (<vscale x 2 x double> [[IN]])
313
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @armpl_svlog2_f64_x (<vscale x 2 x double> [[IN]])
314
314
; CHECK-NEXT: ret <vscale x 2 x double> [[TMP1]]
315
315
;
316
316
%1 = call fast <vscale x 2 x double > @llvm.log2.nxv2f64 (<vscale x 2 x double > %in )
@@ -320,7 +320,7 @@ define <vscale x 2 x double> @llvm_log2_vscale_f64(<vscale x 2 x double> %in) #0
320
320
define <vscale x 4 x float > @llvm_log2_vscale_f32 (<vscale x 4 x float > %in ) #0 {
321
321
; CHECK-LABEL: define <vscale x 4 x float> @llvm_log2_vscale_f32
322
322
; CHECK-SAME: (<vscale x 4 x float> [[IN:%.*]]) #[[ATTR1]] {
323
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @llvm.log2.nxv4f32 (<vscale x 4 x float> [[IN]])
323
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @armpl_svlog2_f32_x (<vscale x 4 x float> [[IN]])
324
324
; CHECK-NEXT: ret <vscale x 4 x float> [[TMP1]]
325
325
;
326
326
%1 = call fast <vscale x 4 x float > @llvm.log2.nxv4f32 (<vscale x 4 x float > %in )
@@ -355,7 +355,7 @@ define <4 x float> @llvm_log10_f32(<4 x float> %in) {
355
355
define <vscale x 2 x double > @llvm_log10_vscale_f64 (<vscale x 2 x double > %in ) #0 {
356
356
; CHECK-LABEL: define <vscale x 2 x double> @llvm_log10_vscale_f64
357
357
; CHECK-SAME: (<vscale x 2 x double> [[IN:%.*]]) #[[ATTR1]] {
358
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @llvm.log10.nxv2f64 (<vscale x 2 x double> [[IN]])
358
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 2 x double> @armpl_svlog10_f64_x (<vscale x 2 x double> [[IN]])
359
359
; CHECK-NEXT: ret <vscale x 2 x double> [[TMP1]]
360
360
;
361
361
%1 = call fast <vscale x 2 x double > @llvm.log10.nxv2f64 (<vscale x 2 x double > %in )
@@ -365,7 +365,7 @@ define <vscale x 2 x double> @llvm_log10_vscale_f64(<vscale x 2 x double> %in) #
365
365
define <vscale x 4 x float > @llvm_log10_vscale_f32 (<vscale x 4 x float > %in ) #0 {
366
366
; CHECK-LABEL: define <vscale x 4 x float> @llvm_log10_vscale_f32
367
367
; CHECK-SAME: (<vscale x 4 x float> [[IN:%.*]]) #[[ATTR1]] {
368
- ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @llvm.log10.nxv4f32 (<vscale x 4 x float> [[IN]])
368
+ ; CHECK-NEXT: [[TMP1:%.*]] = call fast <vscale x 4 x float> @armpl_svlog10_f32_x (<vscale x 4 x float> [[IN]])
369
369
; CHECK-NEXT: ret <vscale x 4 x float> [[TMP1]]
370
370
;
371
371
%1 = call fast <vscale x 4 x float > @llvm.log10.nxv4f32 (<vscale x 4 x float > %in )
@@ -380,7 +380,7 @@ declare <vscale x 4 x float> @llvm.pow.nxv4f32(<vscale x 4 x float>, <vscale x 4
380
380
;
381
381
; There is a bug in the replace-with-veclib pass, and for intrinsics which take
382
382
; more than one arguments, but has just one overloaded type, it incorrectly
383
- ; reconstructs the scalar name, for pow specificlly it is searching for:
383
+ ; reconstructs the scalar name, for pow specifically it is searching for:
384
384
; llvm.pow.f64.f64 and llvm.pow.f32.f32
385
385
;
386
386
0 commit comments