1 ; RUN: llc -verify-machineinstrs -mcpu=pwr10 < %s -mtriple=powerpc64le-unknown-linux-gnu | FileCheck -check-prefixes=CHECK-PWR9,CHECK-ALL %s
2 ; RUN: llc -verify-machineinstrs -mcpu=pwr9 < %s -mtriple=powerpc64le-unknown-linux-gnu | FileCheck -check-prefixes=CHECK-PWR9,CHECK-ALL %s
3 ; RUN: llc -verify-machineinstrs -mcpu=pwr8 < %s -mtriple=powerpc64le-unknown-linux-gnu | FileCheck -check-prefixes=CHECK-PWR8,CHECK-ALL %s
4 ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64le-unknown-linux-gnu | FileCheck -check-prefixes=CHECK-PWR8,CHECK-ALL %s
5 ; RUN: llc -verify-machineinstrs -mcpu=pwr10 < %s -mtriple=powerpc-ibm-aix-xcoff | FileCheck -check-prefixes=CHECK-PWR10,CHECK-ALL %s
6 ; RUN: llc -verify-machineinstrs -mcpu=pwr9 < %s -mtriple=powerpc-ibm-aix-xcoff | FileCheck -check-prefixes=CHECK-PWR9,CHECK-ALL %s
7 ; RUN: llc -verify-machineinstrs -mcpu=pwr8 < %s -mtriple=powerpc-ibm-aix-xcoff | FileCheck -check-prefixes=CHECK-PWR8,CHECK-ALL %s
8 ; RUN: llc -verify-machineinstrs -mcpu=pwr7 < %s -mtriple=powerpc-ibm-aix-xcoff | FileCheck -check-prefixes=CHECK-PWR7,CHECK-ALL %s
9 ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-ibm-aix-xcoff | FileCheck -check-prefixes=CHECK-PWR7,CHECK-ALL %s
11 declare <2 x double> @__cbrtd2(<2 x double>)
12 declare <4 x float> @__cbrtf4(<4 x float>)
14 declare <2 x double> @__powd2(<2 x double>, <2 x double>)
15 declare <4 x float> @__powf4(<4 x float>, <4 x float>)
17 declare <2 x double> @__expd2(<2 x double>)
18 declare <4 x float> @__expf4(<4 x float>)
20 declare <2 x double> @__exp2d2(<2 x double>)
21 declare <4 x float> @__exp2f4(<4 x float>)
23 declare <2 x double> @__expm1d2(<2 x double>)
24 declare <4 x float> @__expm1f4(<4 x float>)
26 declare <2 x double> @__logd2(<2 x double>)
27 declare <4 x float> @__logf4(<4 x float>)
29 declare <2 x double> @__log1pd2(<2 x double>)
30 declare <4 x float> @__log1pf4(<4 x float>)
32 declare <2 x double> @__log10d2(<2 x double>)
33 declare <4 x float> @__log10f4(<4 x float>)
35 declare <2 x double> @__log2d2(<2 x double>)
36 declare <4 x float> @__log2f4(<4 x float>)
38 declare <2 x double> @__sind2(<2 x double>)
39 declare <4 x float> @__sinf4(<4 x float>)
41 declare <2 x double> @__cosd2(<2 x double>)
42 declare <4 x float> @__cosf4(<4 x float>)
44 declare <2 x double> @__tand2(<2 x double>)
45 declare <4 x float> @__tanf4(<4 x float>)
47 declare <2 x double> @__asind2(<2 x double>)
48 declare <4 x float> @__asinf4(<4 x float>)
50 declare <2 x double> @__acosd2(<2 x double>)
51 declare <4 x float> @__acosf4(<4 x float>)
53 declare <2 x double> @__atand2(<2 x double>)
54 declare <4 x float> @__atanf4(<4 x float>)
56 declare <2 x double> @__atan2d2(<2 x double>)
57 declare <4 x float> @__atan2f4(<4 x float>)
59 declare <2 x double> @__sinhd2(<2 x double>)
60 declare <4 x float> @__sinhf4(<4 x float>)
62 declare <2 x double> @__coshd2(<2 x double>)
63 declare <4 x float> @__coshf4(<4 x float>)
65 declare <2 x double> @__tanhd2(<2 x double>)
66 declare <4 x float> @__tanhf4(<4 x float>)
68 declare <2 x double> @__asinhd2(<2 x double>)
69 declare <4 x float> @__asinhf4(<4 x float>)
71 declare <2 x double> @__acoshd2(<2 x double>)
72 declare <4 x float> @__acoshf4(<4 x float>)
74 declare <2 x double> @__atanhd2(<2 x double>)
75 declare <4 x float> @__atanhf4(<4 x float>)
77 ; following tests check generation of subtarget-specific calls
79 define <2 x double> @cbrt_f64_massv(<2 x double> %opnd) {
80 ; CHECK-ALL-LABEL: @cbrt_f64_massv
81 ; CHECK-PWR10: __cbrtd2_P10
82 ; CHECK-PWR9: __cbrtd2_P9
83 ; CHECK-PWR8: __cbrtd2_P8
84 ; CHECK-PWR7: __cbrtd2_P7
85 ; CHECK-NOT: __cbrtd2_massv
88 %1 = call <2 x double> @__cbrtd2(<2 x double> %opnd)
92 define <4 x float> @cbrt_f32_massv(<4 x float> %opnd) {
93 ; CHECK-ALL-LABEL: @cbrt_f32_massv
94 ; CHECK-PWR10: __cbrtf4_P10
95 ; CHECK-PWR9: __cbrtf4_P9
96 ; CHECK-PWR8: __cbrtf4_P8
97 ; CHECK-PWR7: __cbrtf4_P7
98 ; CHECK-NOT: __cbrtf4_massv
101 %1 = call <4 x float> @__cbrtf4(<4 x float> %opnd)
106 define <2 x double> @pow_f64_massv(<2 x double> %opnd1, <2 x double> %opnd2) {
107 ; CHECK-ALL-LABEL: @pow_f64_massv
108 ; CHECK-PWR10: __powd2_P10
109 ; CHECK-PWR9: __powd2_P9
110 ; CHECK-PWR8: __powd2_P8
111 ; CHECK-PWR7: __powd2_P7
112 ; CHECK-NOT: __powd2_massv
115 %1 = call <2 x double> @__powd2(<2 x double> %opnd1, <2 x double> %opnd2)
119 define <4 x float> @pow_f32_massv(<4 x float> %opnd1, <4 x float> %opnd2) {
120 ; CHECK-ALL-LABEL: @pow_f32_massv
121 ; CHECK-PWR10: __powf4_P10
122 ; CHECK-PWR9: __powf4_P9
123 ; CHECK-PWR8: __powf4_P8
124 ; CHECK-PWR7: __powf4_P7
125 ; CHECK-NOT: __powf4_massv
128 %1 = call <4 x float> @__powf4(<4 x float> %opnd1, <4 x float> %opnd2)
133 define <2 x double> @exp_f64_massv(<2 x double> %opnd) {
134 ; CHECK-ALL-LABEL: @exp_f64_massv
135 ; CHECK-PWR10: __expd2_P10
136 ; CHECK-PWR9: __expd2_P9
137 ; CHECK-PWR8: __expd2_P8
138 ; CHECK-PWR7: __expd2_P7
139 ; CHECK-NOT: __expd2_massv
142 %1 = call <2 x double> @__expd2(<2 x double> %opnd)
146 define <4 x float> @exp_f32_massv(<4 x float> %opnd) {
147 ; CHECK-ALL-LABEL: @exp_f32_massv
148 ; CHECK-PWR10: __expf4_P10
149 ; CHECK-PWR9: __expf4_P9
150 ; CHECK-PWR8: __expf4_P8
151 ; CHECK-PWR7: __expf4_P7
152 ; CHECK-NOT: __expf4_massv
155 %1 = call <4 x float> @__expf4(<4 x float> %opnd)
160 define <2 x double> @exp2_f64_massv(<2 x double> %opnd) {
161 ; CHECK-ALL-LABEL: @exp2_f64_massv
162 ; CHECK-PWR10: __exp2d2_P10
163 ; CHECK-PWR9: __exp2d2_P9
164 ; CHECK-PWR8: __exp2d2_P8
165 ; CHECK-PWR7: __exp2d2_P7
166 ; CHECK-NOT: __exp2d2_massv
169 %1 = call <2 x double> @__exp2d2(<2 x double> %opnd)
173 define <4 x float> @exp2_f32_massv(<4 x float> %opnd) {
174 ; CHECK-ALL-LABEL: @exp2_f32_massv
175 ; CHECK-PWR10: __exp2f4_P10
176 ; CHECK-PWR9: __exp2f4_P9
177 ; CHECK-PWR8: __exp2f4_P8
178 ; CHECK-PWR7: __exp2f4_P7
179 ; CHECK-NOT: __exp2f4_massv
182 %1 = call <4 x float> @__exp2f4(<4 x float> %opnd)
187 define <2 x double> @expm1_f64_massv(<2 x double> %opnd) {
188 ; CHECK-ALL-LABEL: @expm1_f64_massv
189 ; CHECK-PWR10: __expm1d2_P10
190 ; CHECK-PWR9: __expm1d2_P9
191 ; CHECK-PWR8: __expm1d2_P8
192 ; CHECK-PWR7: __expm1d2_P7
193 ; CHECK-NOT: __expm1d2_massv
196 %1 = call <2 x double> @__expm1d2(<2 x double> %opnd)
200 define <4 x float> @expm1_f32_massv(<4 x float> %opnd) {
201 ; CHECK-ALL-LABEL: @expm1_f32_massv
202 ; CHECK-PWR10: __expm1f4_P10
203 ; CHECK-PWR9: __expm1f4_P9
204 ; CHECK-PWR8: __expm1f4_P8
205 ; CHECK-PWR7: __expm1f4_P7
206 ; CHECK-NOT: __expm1f4_massv
209 %1 = call <4 x float> @__expm1f4(<4 x float> %opnd)
214 define <2 x double> @log_f64_massv(<2 x double> %opnd) {
215 ; CHECK-ALL-LABEL: @log_f64_massv
216 ; CHECK-PWR10: __logd2_P10
217 ; CHECK-PWR9: __logd2_P9
218 ; CHECK-PWR8: __logd2_P8
219 ; CHECK-PWR7: __logd2_P7
220 ; CHECK-NOT: __logd2_massv
223 %1 = call <2 x double> @__logd2(<2 x double> %opnd)
227 define <4 x float> @log_f32_massv(<4 x float> %opnd) {
228 ; CHECK-ALL-LABEL: @log_f32_massv
229 ; CHECK-PWR10: __logf4_P10
230 ; CHECK-PWR9: __logf4_P9
231 ; CHECK-PWR8: __logf4_P8
232 ; CHECK-PWR7: __logf4_P7
233 ; CHECK-NOT: __logf4_massv
236 %1 = call <4 x float> @__logf4(<4 x float> %opnd)
241 define <2 x double> @log1p_f64_massv(<2 x double> %opnd) {
242 ; CHECK-ALL-LABEL: @log1p_f64_massv
243 ; CHECK-PWR10: __log1pd2_P10
244 ; CHECK-PWR9: __log1pd2_P9
245 ; CHECK-PWR8: __log1pd2_P8
246 ; CHECK-PWR7: __log1pd2_P7
247 ; CHECK-NOT: __log1pd2_massv
250 %1 = call <2 x double> @__log1pd2(<2 x double> %opnd)
254 define <4 x float> @log1p_f32_massv(<4 x float> %opnd) {
255 ; CHECK-ALL-LABEL: @log1p_f32_massv
256 ; CHECK-PWR10: __log1pf4_P10
257 ; CHECK-PWR9: __log1pf4_P9
258 ; CHECK-PWR8: __log1pf4_P8
259 ; CHECK-PWR7: __log1pf4_P7
260 ; CHECK-NOT: __log1pf4_massv
263 %1 = call <4 x float> @__log1pf4(<4 x float> %opnd)
268 define <2 x double> @log10_f64_massv(<2 x double> %opnd) {
269 ; CHECK-ALL-LABEL: @log10_f64_massv
270 ; CHECK-PWR10: __log10d2_P10
271 ; CHECK-PWR9: __log10d2_P9
272 ; CHECK-PWR8: __log10d2_P8
273 ; CHECK-PWR7: __log10d2_P7
274 ; CHECK-NOT: __log10d2_massv
277 %1 = call <2 x double> @__log10d2(<2 x double> %opnd)
281 define <4 x float> @log10_f32_massv(<4 x float> %opnd) {
282 ; CHECK-ALL-LABEL: @log10_f32_massv
283 ; CHECK-PWR10: __log10f4_P10
284 ; CHECK-PWR9: __log10f4_P9
285 ; CHECK-PWR8: __log10f4_P8
286 ; CHECK-PWR7: __log10f4_P7
287 ; CHECK-NOT: __log10f4_massv
290 %1 = call <4 x float> @__log10f4(<4 x float> %opnd)
295 define <2 x double> @log2_f64_massv(<2 x double> %opnd) {
296 ; CHECK-ALL-LABEL: @log2_f64_massv
297 ; CHECK-PWR10: __log2d2_P10
298 ; CHECK-PWR9: __log2d2_P9
299 ; CHECK-PWR8: __log2d2_P8
300 ; CHECK-PWR7: __log2d2_P7
301 ; CHECK-NOT: __log2d2_massv
304 %1 = call <2 x double> @__log2d2(<2 x double> %opnd)
308 define <4 x float> @log2_f32_massv(<4 x float> %opnd) {
309 ; CHECK-ALL-LABEL: @log2_f32_massv
310 ; CHECK-PWR10: __log2f4_P10
311 ; CHECK-PWR9: __log2f4_P9
312 ; CHECK-PWR8: __log2f4_P8
313 ; CHECK-PWR7: __log2f4_P7
314 ; CHECK-NOT: __log2f4_massv
317 %1 = call <4 x float> @__log2f4(<4 x float> %opnd)
322 define <2 x double> @sin_f64_massv(<2 x double> %opnd) {
323 ; CHECK-ALL-LABEL: @sin_f64_massv
324 ; CHECK-PWR10: __sind2_P10
325 ; CHECK-PWR9: __sind2_P9
326 ; CHECK-PWR8: __sind2_P8
327 ; CHECK-PWR7: __sind2_P7
328 ; CHECK-NOT: __sind2_massv
331 %1 = call <2 x double> @__sind2(<2 x double> %opnd)
335 define <4 x float> @sin_f32_massv(<4 x float> %opnd) {
336 ; CHECK-ALL-LABEL: @sin_f32_massv
337 ; CHECK-PWR10: __sinf4_P10
338 ; CHECK-PWR9: __sinf4_P9
339 ; CHECK-PWR8: __sinf4_P8
340 ; CHECK-PWR7: __sinf4_P7
341 ; CHECK-NOT: __sinf4_massv
344 %1 = call <4 x float> @__sinf4(<4 x float> %opnd)
349 define <2 x double> @cos_f64_massv(<2 x double> %opnd) {
350 ; CHECK-ALL-LABEL: @cos_f64_massv
351 ; CHECK-PWR10: __cosd2_P10
352 ; CHECK-PWR9: __cosd2_P9
353 ; CHECK-PWR8: __cosd2_P8
354 ; CHECK-PWR7: __cosd2_P7
355 ; CHECK-NOT: __cosd2_massv
358 %1 = call <2 x double> @__cosd2(<2 x double> %opnd)
362 define <4 x float> @cos_f32_massv(<4 x float> %opnd) {
363 ; CHECK-ALL-LABEL: @cos_f32_massv
364 ; CHECK-PWR10: __cosf4_P10
365 ; CHECK-PWR9: __cosf4_P9
366 ; CHECK-PWR8: __cosf4_P8
367 ; CHECK-PWR7: __cosf4_P7
368 ; CHECK-NOT: __cosf4_massv
371 %1 = call <4 x float> @__cosf4(<4 x float> %opnd)
376 define <2 x double> @tan_f64_massv(<2 x double> %opnd) {
377 ; CHECK-ALL-LABEL: @tan_f64_massv
378 ; CHECK-PWR10: __tand2_P10
379 ; CHECK-PWR9: __tand2_P9
380 ; CHECK-PWR8: __tand2_P8
381 ; CHECK-PWR7: __tand2_P7
382 ; CHECK-NOT: __tand2_massv
385 %1 = call <2 x double> @__tand2(<2 x double> %opnd)
389 define <4 x float> @tan_f32_massv(<4 x float> %opnd) {
390 ; CHECK-ALL-LABEL: @tan_f32_massv
391 ; CHECK-PWR10: __tanf4_P10
392 ; CHECK-PWR9: __tanf4_P9
393 ; CHECK-PWR8: __tanf4_P8
394 ; CHECK-PWR7: __tanf4_P7
395 ; CHECK-NOT: __tanf4_massv
398 %1 = call <4 x float> @__tanf4(<4 x float> %opnd)
403 define <2 x double> @asin_f64_massv(<2 x double> %opnd) {
404 ; CHECK-ALL-LABEL: @asin_f64_massv
405 ; CHECK-PWR10: __asind2_P10
406 ; CHECK-PWR9: __asind2_P9
407 ; CHECK-PWR8: __asind2_P8
408 ; CHECK-PWR7: __asind2_P7
409 ; CHECK-NOT: __asind2_massv
412 %1 = call <2 x double> @__asind2(<2 x double> %opnd)
416 define <4 x float> @asin_f32_massv(<4 x float> %opnd) {
417 ; CHECK-ALL-LABEL: @asin_f32_massv
418 ; CHECK-PWR10: __asinf4_P10
419 ; CHECK-PWR9: __asinf4_P9
420 ; CHECK-PWR8: __asinf4_P8
421 ; CHECK-PWR7: __asinf4_P7
422 ; CHECK-NOT: __asinf4_massv
425 %1 = call <4 x float> @__asinf4(<4 x float> %opnd)
430 define <2 x double> @acos_f64_massv(<2 x double> %opnd) {
431 ; CHECK-ALL-LABEL: @acos_f64_massv
432 ; CHECK-PWR10: __acosd2_P10
433 ; CHECK-PWR9: __acosd2_P9
434 ; CHECK-PWR8: __acosd2_P8
435 ; CHECK-PWR7: __acosd2_P7
436 ; CHECK-NOT: __acosd2_massv
439 %1 = call <2 x double> @__acosd2(<2 x double> %opnd)
443 define <4 x float> @acos_f32_massv(<4 x float> %opnd) {
444 ; CHECK-ALL-LABEL: @acos_f32_massv
445 ; CHECK-PWR10: __acosf4_P10
446 ; CHECK-PWR9: __acosf4_P9
447 ; CHECK-PWR8: __acosf4_P8
448 ; CHECK-PWR7: __acosf4_P7
449 ; CHECK-NOT: __acosf4_massv
452 %1 = call <4 x float> @__acosf4(<4 x float> %opnd)
457 define <2 x double> @atan_f64_massv(<2 x double> %opnd) {
458 ; CHECK-ALL-LABEL: @atan_f64_massv
459 ; CHECK-PWR10: __atand2_P10
460 ; CHECK-PWR9: __atand2_P9
461 ; CHECK-PWR8: __atand2_P8
462 ; CHECK-PWR7: __atand2_P7
463 ; CHECK-NOT: __atand2_massv
466 %1 = call <2 x double> @__atand2(<2 x double> %opnd)
470 define <4 x float> @atan_f32_massv(<4 x float> %opnd) {
471 ; CHECK-ALL-LABEL: @atan_f32_massv
472 ; CHECK-PWR10: __atanf4_P10
473 ; CHECK-PWR9: __atanf4_P9
474 ; CHECK-PWR8: __atanf4_P8
475 ; CHECK-PWR7: __atanf4_P7
476 ; CHECK-NOT: __atanf4_massv
479 %1 = call <4 x float> @__atanf4(<4 x float> %opnd)
484 define <2 x double> @atan2_f64_massv(<2 x double> %opnd) {
485 ; CHECK-ALL-LABEL: @atan2_f64_massv
486 ; CHECK-PWR10: __atan2d2_P10
487 ; CHECK-PWR9: __atan2d2_P9
488 ; CHECK-PWR8: __atan2d2_P8
489 ; CHECK-PWR7: __atan2d2_P7
490 ; CHECK-NOT: __atan2d2_massv
493 %1 = call <2 x double> @__atan2d2(<2 x double> %opnd)
497 define <4 x float> @atan2_f32_massv(<4 x float> %opnd) {
498 ; CHECK-ALL-LABEL: @atan2_f32_massv
499 ; CHECK-PWR10: __atan2f4_P10
500 ; CHECK-PWR9: __atan2f4_P9
501 ; CHECK-PWR8: __atan2f4_P8
502 ; CHECK-PWR7: __atan2f4_P7
503 ; CHECK-NOT: __atan2f4_massv
506 %1 = call <4 x float> @__atan2f4(<4 x float> %opnd)
511 define <2 x double> @sinh_f64_massv(<2 x double> %opnd) {
512 ; CHECK-ALL-LABEL: @sinh_f64_massv
513 ; CHECK-PWR10: __sinhd2_P10
514 ; CHECK-PWR9: __sinhd2_P9
515 ; CHECK-PWR8: __sinhd2_P8
516 ; CHECK-PWR7: __sinhd2_P7
517 ; CHECK-NOT: __sinhd2_massv
520 %1 = call <2 x double> @__sinhd2(<2 x double> %opnd)
524 define <4 x float> @sinh_f32_massv(<4 x float> %opnd) {
525 ; CHECK-ALL-LABEL: @sinh_f32_massv
526 ; CHECK-PWR10: __sinhf4_P10
527 ; CHECK-PWR9: __sinhf4_P9
528 ; CHECK-PWR8: __sinhf4_P8
529 ; CHECK-PWR7: __sinhf4_P7
530 ; CHECK-NOT: __sinhf4_massv
533 %1 = call <4 x float> @__sinhf4(<4 x float> %opnd)
538 define <2 x double> @cosh_f64_massv(<2 x double> %opnd) {
539 ; CHECK-ALL-LABEL: @cosh_f64_massv
540 ; CHECK-PWR10: __coshd2_P10
541 ; CHECK-PWR9: __coshd2_P9
542 ; CHECK-PWR8: __coshd2_P8
543 ; CHECK-PWR7: __coshd2_P7
544 ; CHECK-NOT: __coshd2_massv
547 %1 = call <2 x double> @__coshd2(<2 x double> %opnd)
551 define <4 x float> @cosh_f32_massv(<4 x float> %opnd) {
552 ; CHECK-ALL-LABEL: @cosh_f32_massv
553 ; CHECK-PWR10: __coshf4_P10
554 ; CHECK-PWR9: __coshf4_P9
555 ; CHECK-PWR8: __coshf4_P8
556 ; CHECK-PWR7: __coshf4_P7
557 ; CHECK-NOT: __coshf4_massv
560 %1 = call <4 x float> @__coshf4(<4 x float> %opnd)
565 define <2 x double> @tanh_f64_massv(<2 x double> %opnd) {
566 ; CHECK-ALL-LABEL: @tanh_f64_massv
567 ; CHECK-PWR10: __tanhd2_P10
568 ; CHECK-PWR9: __tanhd2_P9
569 ; CHECK-PWR8: __tanhd2_P8
570 ; CHECK-PWR7: __tanhd2_P7
571 ; CHECK-NOT: __tanhd2_massv
574 %1 = call <2 x double> @__tanhd2(<2 x double> %opnd)
578 define <4 x float> @tanh_f32_massv(<4 x float> %opnd) {
579 ; CHECK-ALL-LABEL: @tanh_f32_massv
580 ; CHECK-PWR10: __tanhf4_P10
581 ; CHECK-PWR9: __tanhf4_P9
582 ; CHECK-PWR8: __tanhf4_P8
583 ; CHECK-PWR7: __tanhf4_P7
584 ; CHECK-NOT: __tanhf4_massv
587 %1 = call <4 x float> @__tanhf4(<4 x float> %opnd)
592 define <2 x double> @asinh_f64_massv(<2 x double> %opnd) {
593 ; CHECK-ALL-LABEL: @asinh_f64_massv
594 ; CHECK-PWR10: __asinhd2_P10
595 ; CHECK-PWR9: __asinhd2_P9
596 ; CHECK-PWR8: __asinhd2_P8
597 ; CHECK-PWR7: __asinhd2_P7
598 ; CHECK-NOT: __asinhd2_massv
601 %1 = call <2 x double> @__asinhd2(<2 x double> %opnd)
605 define <4 x float> @asinh_f32_massv(<4 x float> %opnd) {
606 ; CHECK-ALL-LABEL: @asinh_f32_massv
607 ; CHECK-PWR10: __asinhf4_P10
608 ; CHECK-PWR9: __asinhf4_P9
609 ; CHECK-PWR8: __asinhf4_P8
610 ; CHECK-PWR7: __asinhf4_P7
611 ; CHECK-NOT: __asinhf4_massv
614 %1 = call <4 x float> @__asinhf4(<4 x float> %opnd)
619 define <2 x double> @acosh_f64_massv(<2 x double> %opnd) {
620 ; CHECK-ALL-LABEL: @acosh_f64_massv
621 ; CHECK-PWR10: __acoshd2_P10
622 ; CHECK-PWR9: __acoshd2_P9
623 ; CHECK-PWR8: __acoshd2_P8
624 ; CHECK-PWR7: __acoshd2_P7
625 ; CHECK-NOT: __acoshd2_massv
628 %1 = call <2 x double> @__acoshd2(<2 x double> %opnd)
632 define <4 x float> @acosh_f32_massv(<4 x float> %opnd) {
633 ; CHECK-ALL-LABEL: @acosh_f32_massv
634 ; CHECK-PWR10: __acoshf4_P10
635 ; CHECK-PWR9: __acoshf4_P9
636 ; CHECK-PWR8: __acoshf4_P8
637 ; CHECK-PWR7: __acoshf4_P7
638 ; CHECK-NOT: __acoshf4_massv
641 %1 = call <4 x float> @__acoshf4(<4 x float> %opnd)
646 define <2 x double> @atanh_f64_massv(<2 x double> %opnd) {
647 ; CHECK-ALL-LABEL: @atanh_f64_massv
648 ; CHECK-PWR10: __atanhd2_P10
649 ; CHECK-PWR9: __atanhd2_P9
650 ; CHECK-PWR8: __atanhd2_P8
651 ; CHECK-PWR7: __atanhd2_P7
652 ; CHECK-NOT: __atanhd2_massv
655 %1 = call <2 x double> @__atanhd2(<2 x double> %opnd)
659 define <4 x float> @atanh_f32_massv(<4 x float> %opnd) {
660 ; CHECK-ALL-LABEL: @atanh_f32_massv
661 ; CHECK-PWR10: __atanhf4_P10
662 ; CHECK-PWR9: __atanhf4_P9
663 ; CHECK-PWR8: __atanhf4_P8
664 ; CHECK-PWR7: __atanhf4_P7
665 ; CHECK-NOT: __atanhf4_massv
668 %1 = call <4 x float> @__atanhf4(<4 x float> %opnd)