Lines Matching refs:FMA
2 …mtriple=x86_64-unknown-unknown -mattr=+avx,+fma -fp-contract=fast | FileCheck %s --check-prefix=FMA
12 ; FMA-LABEL: test_16f32_fmadd:
13 ; FMA: # BB#0:
14 ; FMA-NEXT: vfmadd213ps %ymm4, %ymm2, %ymm0
15 ; FMA-NEXT: vfmadd213ps %ymm5, %ymm3, %ymm1
16 ; FMA-NEXT: retq
34 ; FMA-LABEL: test_8f64_fmadd:
35 ; FMA: # BB#0:
36 ; FMA-NEXT: vfmadd213pd %ymm4, %ymm2, %ymm0
37 ; FMA-NEXT: vfmadd213pd %ymm5, %ymm3, %ymm1
38 ; FMA-NEXT: retq
60 ; FMA-LABEL: test_16f32_fmsub:
61 ; FMA: # BB#0:
62 ; FMA-NEXT: vfmsub213ps %ymm4, %ymm2, %ymm0
63 ; FMA-NEXT: vfmsub213ps %ymm5, %ymm3, %ymm1
64 ; FMA-NEXT: retq
82 ; FMA-LABEL: test_8f64_fmsub:
83 ; FMA: # BB#0:
84 ; FMA-NEXT: vfmsub213pd %ymm4, %ymm2, %ymm0
85 ; FMA-NEXT: vfmsub213pd %ymm5, %ymm3, %ymm1
86 ; FMA-NEXT: retq
108 ; FMA-LABEL: test_16f32_fnmadd:
109 ; FMA: # BB#0:
110 ; FMA-NEXT: vfnmadd213ps %ymm4, %ymm2, %ymm0
111 ; FMA-NEXT: vfnmadd213ps %ymm5, %ymm3, %ymm1
112 ; FMA-NEXT: retq
130 ; FMA-LABEL: test_8f64_fnmadd:
131 ; FMA: # BB#0:
132 ; FMA-NEXT: vfnmadd213pd %ymm4, %ymm2, %ymm0
133 ; FMA-NEXT: vfnmadd213pd %ymm5, %ymm3, %ymm1
134 ; FMA-NEXT: retq
156 ; FMA-LABEL: test_16f32_fnmsub:
157 ; FMA: # BB#0:
158 ; FMA-NEXT: vfnmsub213ps %ymm4, %ymm2, %ymm0
159 ; FMA-NEXT: vfnmsub213ps %ymm5, %ymm3, %ymm1
160 ; FMA-NEXT: retq
179 ; FMA-LABEL: test_8f64_fnmsub:
180 ; FMA: # BB#0:
181 ; FMA-NEXT: vfnmsub213pd %ymm4, %ymm2, %ymm0
182 ; FMA-NEXT: vfnmsub213pd %ymm5, %ymm3, %ymm1
183 ; FMA-NEXT: retq
206 ; FMA-LABEL: test_16f32_fmadd_load:
207 ; FMA: # BB#0:
208 ; FMA-NEXT: vfmadd132ps (%rdi), %ymm2, %ymm0
209 ; FMA-NEXT: vfmadd132ps 32(%rdi), %ymm3, %ymm1
210 ; FMA-NEXT: retq
231 ; FMA-LABEL: test_8f64_fmsub_load:
232 ; FMA: # BB#0:
233 ; FMA-NEXT: vfmsub132pd (%rdi), %ymm2, %ymm0
234 ; FMA-NEXT: vfmsub132pd 32(%rdi), %ymm3, %ymm1
235 ; FMA-NEXT: retq
260 ; FMA-LABEL: test_v16f32_mul_add_x_one_y:
261 ; FMA: # BB#0:
262 ; FMA-NEXT: vfmadd213ps %ymm2, %ymm2, %ymm0
263 ; FMA-NEXT: vfmadd213ps %ymm3, %ymm3, %ymm1
264 ; FMA-NEXT: retq
282 ; FMA-LABEL: test_v8f64_mul_y_add_x_one:
283 ; FMA: # BB#0:
284 ; FMA-NEXT: vfmadd213pd %ymm2, %ymm2, %ymm0
285 ; FMA-NEXT: vfmadd213pd %ymm3, %ymm3, %ymm1
286 ; FMA-NEXT: retq
304 ; FMA-LABEL: test_v16f32_mul_add_x_negone_y:
305 ; FMA: # BB#0:
306 ; FMA-NEXT: vfmsub213ps %ymm2, %ymm2, %ymm0
307 ; FMA-NEXT: vfmsub213ps %ymm3, %ymm3, %ymm1
308 ; FMA-NEXT: retq
326 ; FMA-LABEL: test_v8f64_mul_y_add_x_negone:
327 ; FMA: # BB#0:
328 ; FMA-NEXT: vfmsub213pd %ymm2, %ymm2, %ymm0
329 ; FMA-NEXT: vfmsub213pd %ymm3, %ymm3, %ymm1
330 ; FMA-NEXT: retq
348 ; FMA-LABEL: test_v16f32_mul_sub_one_x_y:
349 ; FMA: # BB#0:
350 ; FMA-NEXT: vfnmadd213ps %ymm2, %ymm2, %ymm0
351 ; FMA-NEXT: vfnmadd213ps %ymm3, %ymm3, %ymm1
352 ; FMA-NEXT: retq
370 ; FMA-LABEL: test_v8f64_mul_y_sub_one_x:
371 ; FMA: # BB#0:
372 ; FMA-NEXT: vfnmadd213pd %ymm2, %ymm2, %ymm0
373 ; FMA-NEXT: vfnmadd213pd %ymm3, %ymm3, %ymm1
374 ; FMA-NEXT: retq
392 ; FMA-LABEL: test_v16f32_mul_sub_negone_x_y:
393 ; FMA: # BB#0:
394 ; FMA-NEXT: vfnmsub213ps %ymm2, %ymm2, %ymm0
395 ; FMA-NEXT: vfnmsub213ps %ymm3, %ymm3, %ymm1
396 ; FMA-NEXT: retq
414 ; FMA-LABEL: test_v8f64_mul_y_sub_negone_x:
415 ; FMA: # BB#0:
416 ; FMA-NEXT: vfnmsub213pd %ymm2, %ymm2, %ymm0
417 ; FMA-NEXT: vfnmsub213pd %ymm3, %ymm3, %ymm1
418 ; FMA-NEXT: retq
436 ; FMA-LABEL: test_v16f32_mul_sub_x_one_y:
437 ; FMA: # BB#0:
438 ; FMA-NEXT: vfmsub213ps %ymm2, %ymm2, %ymm0
439 ; FMA-NEXT: vfmsub213ps %ymm3, %ymm3, %ymm1
440 ; FMA-NEXT: retq
458 ; FMA-LABEL: test_v8f64_mul_y_sub_x_one:
459 ; FMA: # BB#0:
460 ; FMA-NEXT: vfmsub213pd %ymm2, %ymm2, %ymm0
461 ; FMA-NEXT: vfmsub213pd %ymm3, %ymm3, %ymm1
462 ; FMA-NEXT: retq
480 ; FMA-LABEL: test_v16f32_mul_sub_x_negone_y:
481 ; FMA: # BB#0:
482 ; FMA-NEXT: vfmadd213ps %ymm2, %ymm2, %ymm0
483 ; FMA-NEXT: vfmadd213ps %ymm3, %ymm3, %ymm1
484 ; FMA-NEXT: retq
502 ; FMA-LABEL: test_v8f64_mul_y_sub_x_negone:
503 ; FMA: # BB#0:
504 ; FMA-NEXT: vfmadd213pd %ymm2, %ymm2, %ymm0
505 ; FMA-NEXT: vfmadd213pd %ymm3, %ymm3, %ymm1
506 ; FMA-NEXT: retq
528 ; FMA-LABEL: test_v16f32_interp:
529 ; FMA: # BB#0:
530 ; FMA-NEXT: vfnmadd213ps %ymm3, %ymm5, %ymm3
531 ; FMA-NEXT: vfnmadd213ps %ymm2, %ymm4, %ymm2
532 ; FMA-NEXT: vfmadd213ps %ymm2, %ymm4, %ymm0
533 ; FMA-NEXT: vfmadd213ps %ymm3, %ymm5, %ymm1
534 ; FMA-NEXT: retq
558 ; FMA-LABEL: test_v8f64_interp:
559 ; FMA: # BB#0:
560 ; FMA-NEXT: vfnmadd213pd %ymm3, %ymm5, %ymm3
561 ; FMA-NEXT: vfnmadd213pd %ymm2, %ymm4, %ymm2
562 ; FMA-NEXT: vfmadd213pd %ymm2, %ymm4, %ymm0
563 ; FMA-NEXT: vfmadd213pd %ymm3, %ymm5, %ymm1
564 ; FMA-NEXT: retq
592 ; FMA-LABEL: test_v16f32_fneg_fmadd:
593 ; FMA: # BB#0:
594 ; FMA-NEXT: vfnmsub213ps %ymm4, %ymm2, %ymm0
595 ; FMA-NEXT: vfnmsub213ps %ymm5, %ymm3, %ymm1
596 ; FMA-NEXT: retq
615 ; FMA-LABEL: test_v8f64_fneg_fmsub:
616 ; FMA: # BB#0:
617 ; FMA-NEXT: vfnmadd213pd %ymm4, %ymm2, %ymm0
618 ; FMA-NEXT: vfnmadd213pd %ymm5, %ymm3, %ymm1
619 ; FMA-NEXT: retq
638 ; FMA-LABEL: test_v16f32_fneg_fnmadd:
639 ; FMA: # BB#0:
640 ; FMA-NEXT: vfmsub213ps %ymm4, %ymm2, %ymm0
641 ; FMA-NEXT: vfmsub213ps %ymm5, %ymm3, %ymm1
642 ; FMA-NEXT: retq
662 ; FMA-LABEL: test_v8f64_fneg_fnmsub:
663 ; FMA: # BB#0:
664 ; FMA-NEXT: vfmadd213pd %ymm4, %ymm2, %ymm0
665 ; FMA-NEXT: vfmadd213pd %ymm5, %ymm3, %ymm1
666 ; FMA-NEXT: retq
690 ; FMA-LABEL: test_v16f32_fma_x_c1_fmul_x_c2:
691 ; FMA: # BB#0:
692 ; FMA-NEXT: vmulps {{.*}}(%rip), %ymm0, %ymm0
693 ; FMA-NEXT: vmulps {{.*}}(%rip), %ymm1, %ymm1
694 ; FMA-NEXT: retq
717 ; FMA-LABEL: test_v16f32_fma_fmul_x_c1_c2_y:
718 ; FMA: # BB#0:
719 ; FMA-NEXT: vfmadd132ps {{.*}}(%rip), %ymm2, %ymm0
720 ; FMA-NEXT: vfmadd132ps {{.*}}(%rip), %ymm3, %ymm1
721 ; FMA-NEXT: retq
743 ; FMA-LABEL: test_v16f32_fneg_fmul:
744 ; FMA: # BB#0:
745 ; FMA-NEXT: vxorps %ymm4, %ymm4, %ymm4
746 ; FMA-NEXT: vfnmsub213ps %ymm4, %ymm2, %ymm0
747 ; FMA-NEXT: vfnmsub213ps %ymm4, %ymm3, %ymm1
748 ; FMA-NEXT: retq
768 ; FMA-LABEL: test_v8f64_fneg_fmul:
769 ; FMA: # BB#0:
770 ; FMA-NEXT: vxorpd %ymm4, %ymm4, %ymm4
771 ; FMA-NEXT: vfnmsub213pd %ymm4, %ymm2, %ymm0
772 ; FMA-NEXT: vfnmsub213pd %ymm4, %ymm3, %ymm1
773 ; FMA-NEXT: retq
793 ; FMA-LABEL: test_v8f64_fneg_fmul_no_nsz:
794 ; FMA: # BB#0:
795 ; FMA-NEXT: vmulpd %ymm3, %ymm1, %ymm1
796 ; FMA-NEXT: vmulpd %ymm2, %ymm0, %ymm0
797 ; FMA-NEXT: vmovapd {{.*#+}} ymm2 = [9223372036854775808,9223372036854775808,9223372036854775808…
798 ; FMA-NEXT: vxorpd %ymm2, %ymm0, %ymm0
799 ; FMA-NEXT: vxorpd %ymm2, %ymm1, %ymm1
800 ; FMA-NEXT: retq