Lines Matching refs:FMA
2 …own-unknown -mattr=+avx,+fma -fp-contract=fast | FileCheck %s --check-prefix=ALL --check-prefix=FMA
12 ; FMA-LABEL: test_f32_fmadd:
13 ; FMA: # BB#0:
14 ; FMA-NEXT: vfmadd213ss %xmm2, %xmm1, %xmm0
15 ; FMA-NEXT: retq
33 ; FMA-LABEL: test_4f32_fmadd:
34 ; FMA: # BB#0:
35 ; FMA-NEXT: vfmadd213ps %xmm2, %xmm1, %xmm0
36 ; FMA-NEXT: retq
53 ; FMA-LABEL: test_8f32_fmadd:
54 ; FMA: # BB#0:
55 ; FMA-NEXT: vfmadd213ps %ymm2, %ymm1, %ymm0
56 ; FMA-NEXT: retq
73 ; FMA-LABEL: test_f64_fmadd:
74 ; FMA: # BB#0:
75 ; FMA-NEXT: vfmadd213sd %xmm2, %xmm1, %xmm0
76 ; FMA-NEXT: retq
94 ; FMA-LABEL: test_2f64_fmadd:
95 ; FMA: # BB#0:
96 ; FMA-NEXT: vfmadd213pd %xmm2, %xmm1, %xmm0
97 ; FMA-NEXT: retq
114 ; FMA-LABEL: test_4f64_fmadd:
115 ; FMA: # BB#0:
116 ; FMA-NEXT: vfmadd213pd %ymm2, %ymm1, %ymm0
117 ; FMA-NEXT: retq
138 ; FMA-LABEL: test_f32_fmsub:
139 ; FMA: # BB#0:
140 ; FMA-NEXT: vfmsub213ss %xmm2, %xmm1, %xmm0
141 ; FMA-NEXT: retq
159 ; FMA-LABEL: test_4f32_fmsub:
160 ; FMA: # BB#0:
161 ; FMA-NEXT: vfmsub213ps %xmm2, %xmm1, %xmm0
162 ; FMA-NEXT: retq
179 ; FMA-LABEL: test_8f32_fmsub:
180 ; FMA: # BB#0:
181 ; FMA-NEXT: vfmsub213ps %ymm2, %ymm1, %ymm0
182 ; FMA-NEXT: retq
199 ; FMA-LABEL: test_f64_fmsub:
200 ; FMA: # BB#0:
201 ; FMA-NEXT: vfmsub213sd %xmm2, %xmm1, %xmm0
202 ; FMA-NEXT: retq
220 ; FMA-LABEL: test_2f64_fmsub:
221 ; FMA: # BB#0:
222 ; FMA-NEXT: vfmsub213pd %xmm2, %xmm1, %xmm0
223 ; FMA-NEXT: retq
240 ; FMA-LABEL: test_4f64_fmsub:
241 ; FMA: # BB#0:
242 ; FMA-NEXT: vfmsub213pd %ymm2, %ymm1, %ymm0
243 ; FMA-NEXT: retq
264 ; FMA-LABEL: test_f32_fnmadd:
265 ; FMA: # BB#0:
266 ; FMA-NEXT: vfnmadd213ss %xmm2, %xmm1, %xmm0
267 ; FMA-NEXT: retq
285 ; FMA-LABEL: test_4f32_fnmadd:
286 ; FMA: # BB#0:
287 ; FMA-NEXT: vfnmadd213ps %xmm2, %xmm1, %xmm0
288 ; FMA-NEXT: retq
305 ; FMA-LABEL: test_8f32_fnmadd:
306 ; FMA: # BB#0:
307 ; FMA-NEXT: vfnmadd213ps %ymm2, %ymm1, %ymm0
308 ; FMA-NEXT: retq
325 ; FMA-LABEL: test_f64_fnmadd:
326 ; FMA: # BB#0:
327 ; FMA-NEXT: vfnmadd213sd %xmm2, %xmm1, %xmm0
328 ; FMA-NEXT: retq
346 ; FMA-LABEL: test_2f64_fnmadd:
347 ; FMA: # BB#0:
348 ; FMA-NEXT: vfnmadd213pd %xmm2, %xmm1, %xmm0
349 ; FMA-NEXT: retq
366 ; FMA-LABEL: test_4f64_fnmadd:
367 ; FMA: # BB#0:
368 ; FMA-NEXT: vfnmadd213pd %ymm2, %ymm1, %ymm0
369 ; FMA-NEXT: retq
390 ; FMA-LABEL: test_f32_fnmsub:
391 ; FMA: # BB#0:
392 ; FMA-NEXT: vfnmsub213ss %xmm2, %xmm1, %xmm0
393 ; FMA-NEXT: retq
412 ; FMA-LABEL: test_4f32_fnmsub:
413 ; FMA: # BB#0:
414 ; FMA-NEXT: vfnmsub213ps %xmm2, %xmm1, %xmm0
415 ; FMA-NEXT: retq
433 ; FMA-LABEL: test_8f32_fnmsub:
434 ; FMA: # BB#0:
435 ; FMA-NEXT: vfnmsub213ps %ymm2, %ymm1, %ymm0
436 ; FMA-NEXT: retq
454 ; FMA-LABEL: test_f64_fnmsub:
455 ; FMA: # BB#0:
456 ; FMA-NEXT: vfnmsub213sd %xmm2, %xmm1, %xmm0
457 ; FMA-NEXT: retq
476 ; FMA-LABEL: test_2f64_fnmsub:
477 ; FMA: # BB#0:
478 ; FMA-NEXT: vfnmsub213pd %xmm2, %xmm1, %xmm0
479 ; FMA-NEXT: retq
497 ; FMA-LABEL: test_4f64_fnmsub:
498 ; FMA: # BB#0:
499 ; FMA-NEXT: vfnmsub213pd %ymm2, %ymm1, %ymm0
500 ; FMA-NEXT: retq
522 ; FMA-LABEL: test_4f32_fmadd_load:
523 ; FMA: # BB#0:
524 ; FMA-NEXT: vfmadd132ps (%rdi), %xmm1, %xmm0
525 ; FMA-NEXT: retq
545 ; FMA-LABEL: test_2f64_fmsub_load:
546 ; FMA: # BB#0:
547 ; FMA-NEXT: vfmsub132pd (%rdi), %xmm1, %xmm0
548 ; FMA-NEXT: retq
572 ; FMA-LABEL: test_v4f32_mul_add_x_one_y:
573 ; FMA: # BB#0:
574 ; FMA-NEXT: vfmadd213ps %xmm1, %xmm1, %xmm0
575 ; FMA-NEXT: retq
592 ; FMA-LABEL: test_v4f32_mul_y_add_x_one:
593 ; FMA: # BB#0:
594 ; FMA-NEXT: vfmadd213ps %xmm1, %xmm1, %xmm0
595 ; FMA-NEXT: retq
612 ; FMA-LABEL: test_v4f32_mul_add_x_negone_y:
613 ; FMA: # BB#0:
614 ; FMA-NEXT: vfmsub213ps %xmm1, %xmm1, %xmm0
615 ; FMA-NEXT: retq
632 ; FMA-LABEL: test_v4f32_mul_y_add_x_negone:
633 ; FMA: # BB#0:
634 ; FMA-NEXT: vfmsub213ps %xmm1, %xmm1, %xmm0
635 ; FMA-NEXT: retq
652 ; FMA-LABEL: test_v4f32_mul_sub_one_x_y:
653 ; FMA: # BB#0:
654 ; FMA-NEXT: vfnmadd213ps %xmm1, %xmm1, %xmm0
655 ; FMA-NEXT: retq
672 ; FMA-LABEL: test_v4f32_mul_y_sub_one_x:
673 ; FMA: # BB#0:
674 ; FMA-NEXT: vfnmadd213ps %xmm1, %xmm1, %xmm0
675 ; FMA-NEXT: retq
692 ; FMA-LABEL: test_v4f32_mul_sub_negone_x_y:
693 ; FMA: # BB#0:
694 ; FMA-NEXT: vfnmsub213ps %xmm1, %xmm1, %xmm0
695 ; FMA-NEXT: retq
712 ; FMA-LABEL: test_v4f32_mul_y_sub_negone_x:
713 ; FMA: # BB#0:
714 ; FMA-NEXT: vfnmsub213ps %xmm1, %xmm1, %xmm0
715 ; FMA-NEXT: retq
732 ; FMA-LABEL: test_v4f32_mul_sub_x_one_y:
733 ; FMA: # BB#0:
734 ; FMA-NEXT: vfmsub213ps %xmm1, %xmm1, %xmm0
735 ; FMA-NEXT: retq
752 ; FMA-LABEL: test_v4f32_mul_y_sub_x_one:
753 ; FMA: # BB#0:
754 ; FMA-NEXT: vfmsub213ps %xmm1, %xmm1, %xmm0
755 ; FMA-NEXT: retq
772 ; FMA-LABEL: test_v4f32_mul_sub_x_negone_y:
773 ; FMA: # BB#0:
774 ; FMA-NEXT: vfmadd213ps %xmm1, %xmm1, %xmm0
775 ; FMA-NEXT: retq
792 ; FMA-LABEL: test_v4f32_mul_y_sub_x_negone:
793 ; FMA: # BB#0:
794 ; FMA-NEXT: vfmadd213ps %xmm1, %xmm1, %xmm0
795 ; FMA-NEXT: retq
816 ; FMA-LABEL: test_f32_interp:
817 ; FMA: # BB#0:
818 ; FMA-NEXT: vfnmadd213ss %xmm1, %xmm2, %xmm1
819 ; FMA-NEXT: vfmadd213ss %xmm1, %xmm2, %xmm0
820 ; FMA-NEXT: retq
842 ; FMA-LABEL: test_v4f32_interp:
843 ; FMA: # BB#0:
844 ; FMA-NEXT: vfnmadd213ps %xmm1, %xmm2, %xmm1
845 ; FMA-NEXT: vfmadd213ps %xmm1, %xmm2, %xmm0
846 ; FMA-NEXT: retq
868 ; FMA-LABEL: test_v8f32_interp:
869 ; FMA: # BB#0:
870 ; FMA-NEXT: vfnmadd213ps %ymm1, %ymm2, %ymm1
871 ; FMA-NEXT: vfmadd213ps %ymm1, %ymm2, %ymm0
872 ; FMA-NEXT: retq
894 ; FMA-LABEL: test_f64_interp:
895 ; FMA: # BB#0:
896 ; FMA-NEXT: vfnmadd213sd %xmm1, %xmm2, %xmm1
897 ; FMA-NEXT: vfmadd213sd %xmm1, %xmm2, %xmm0
898 ; FMA-NEXT: retq
920 ; FMA-LABEL: test_v2f64_interp:
921 ; FMA: # BB#0:
922 ; FMA-NEXT: vfnmadd213pd %xmm1, %xmm2, %xmm1
923 ; FMA-NEXT: vfmadd213pd %xmm1, %xmm2, %xmm0
924 ; FMA-NEXT: retq
946 ; FMA-LABEL: test_v4f64_interp:
947 ; FMA: # BB#0:
948 ; FMA-NEXT: vfnmadd213pd %ymm1, %ymm2, %ymm1
949 ; FMA-NEXT: vfmadd213pd %ymm1, %ymm2, %ymm0
950 ; FMA-NEXT: retq
976 ; FMA-LABEL: test_v4f32_fneg_fmadd:
977 ; FMA: # BB#0:
978 ; FMA-NEXT: vfnmsub213ps %xmm2, %xmm1, %xmm0
979 ; FMA-NEXT: retq
997 ; FMA-LABEL: test_v4f64_fneg_fmsub:
998 ; FMA: # BB#0:
999 ; FMA-NEXT: vfnmadd213pd %ymm2, %ymm1, %ymm0
1000 ; FMA-NEXT: retq
1018 ; FMA-LABEL: test_v4f32_fneg_fnmadd:
1019 ; FMA: # BB#0:
1020 ; FMA-NEXT: vfmsub213ps %xmm2, %xmm1, %xmm0
1021 ; FMA-NEXT: retq
1040 ; FMA-LABEL: test_v4f64_fneg_fnmsub:
1041 ; FMA: # BB#0:
1042 ; FMA-NEXT: vfmadd213pd %ymm2, %ymm1, %ymm0
1043 ; FMA-NEXT: retq
1066 ; FMA-LABEL: test_v4f32_fma_x_c1_fmul_x_c2:
1067 ; FMA: # BB#0:
1068 ; FMA-NEXT: vmulps {{.*}}(%rip), %xmm0, %xmm0
1069 ; FMA-NEXT: retq
1091 ; FMA-LABEL: test_v4f32_fma_fmul_x_c1_c2_y:
1092 ; FMA: # BB#0:
1093 ; FMA-NEXT: vfmadd132ps {{.*}}(%rip), %xmm1, %xmm0
1094 ; FMA-NEXT: retq
1115 ; FMA-LABEL: test_f64_fneg_fmul:
1116 ; FMA: # BB#0:
1117 ; FMA-NEXT: vxorpd %xmm2, %xmm2, %xmm2
1118 ; FMA-NEXT: vfnmsub213sd %xmm2, %xmm1, %xmm0
1119 ; FMA-NEXT: retq
1139 ; FMA-LABEL: test_v4f32_fneg_fmul:
1140 ; FMA: # BB#0:
1141 ; FMA-NEXT: vxorps %xmm2, %xmm2, %xmm2
1142 ; FMA-NEXT: vfnmsub213ps %xmm2, %xmm1, %xmm0
1143 ; FMA-NEXT: retq
1162 ; FMA-LABEL: test_v4f64_fneg_fmul:
1163 ; FMA: # BB#0:
1164 ; FMA-NEXT: vxorpd %ymm2, %ymm2, %ymm2
1165 ; FMA-NEXT: vfnmsub213pd %ymm2, %ymm1, %ymm0
1166 ; FMA-NEXT: retq