@@ -21,7 +21,7 @@ define <4 x float> @test_x86_fmadd_aba_ss(<4 x float> %a, <4 x float> %b) #0 {
21
21
; FMA-LABEL: test_x86_fmadd_aba_ss:
22
22
; FMA: # %bb.0:
23
23
; FMA-NEXT: vmovaps (%rcx), %xmm0
24
- ; FMA-NEXT: vfmadd132ss (%rdx), %xmm0, % xmm0
24
+ ; FMA-NEXT: vfmadd132ss {{.*#+}} xmm0 = (xmm0 * mem) + xmm0
25
25
; FMA-NEXT: retq
26
26
%res = call <4 x float > @llvm.x86.fma.vfmadd.ss (<4 x float > %a , <4 x float > %b , <4 x float > %a ) nounwind
27
27
ret <4 x float > %res
@@ -31,7 +31,7 @@ define <4 x float> @test_x86_fmadd_bba_ss(<4 x float> %a, <4 x float> %b) #0 {
31
31
; FMA-LABEL: test_x86_fmadd_bba_ss:
32
32
; FMA: # %bb.0:
33
33
; FMA-NEXT: vmovaps (%rdx), %xmm0
34
- ; FMA-NEXT: vfmadd213ss (%rcx), % xmm0, % xmm0
34
+ ; FMA-NEXT: vfmadd213ss {{.*#+}} xmm0 = ( xmm0 * xmm0) + mem
35
35
; FMA-NEXT: retq
36
36
%res = call <4 x float > @llvm.x86.fma.vfmadd.ss (<4 x float > %b , <4 x float > %b , <4 x float > %a ) nounwind
37
37
ret <4 x float > %res
@@ -115,7 +115,7 @@ define <2 x double> @test_x86_fmadd_aba_sd(<2 x double> %a, <2 x double> %b) #0
115
115
; FMA-LABEL: test_x86_fmadd_aba_sd:
116
116
; FMA: # %bb.0:
117
117
; FMA-NEXT: vmovapd (%rcx), %xmm0
118
- ; FMA-NEXT: vfmadd132sd (%rdx), %xmm0, % xmm0
118
+ ; FMA-NEXT: vfmadd132sd {{.*#+}} xmm0 = (xmm0 * mem) + xmm0
119
119
; FMA-NEXT: retq
120
120
%res = call <2 x double > @llvm.x86.fma.vfmadd.sd (<2 x double > %a , <2 x double > %b , <2 x double > %a ) nounwind
121
121
ret <2 x double > %res
@@ -125,7 +125,7 @@ define <2 x double> @test_x86_fmadd_bba_sd(<2 x double> %a, <2 x double> %b) #0
125
125
; FMA-LABEL: test_x86_fmadd_bba_sd:
126
126
; FMA: # %bb.0:
127
127
; FMA-NEXT: vmovapd (%rdx), %xmm0
128
- ; FMA-NEXT: vfmadd213sd (%rcx), % xmm0, % xmm0
128
+ ; FMA-NEXT: vfmadd213sd {{.*#+}} xmm0 = ( xmm0 * xmm0) + mem
129
129
; FMA-NEXT: retq
130
130
%res = call <2 x double > @llvm.x86.fma.vfmadd.sd (<2 x double > %b , <2 x double > %b , <2 x double > %a ) nounwind
131
131
ret <2 x double > %res
@@ -210,7 +210,7 @@ define <4 x float> @test_x86_fnmadd_aba_ss(<4 x float> %a, <4 x float> %b) #0 {
210
210
; FMA-LABEL: test_x86_fnmadd_aba_ss:
211
211
; FMA: # %bb.0:
212
212
; FMA-NEXT: vmovaps (%rcx), %xmm0
213
- ; FMA-NEXT: vfnmadd132ss (%rdx), %xmm0, % xmm0
213
+ ; FMA-NEXT: vfnmadd132ss {{.*#+}} xmm0 = -(xmm0 * mem) + xmm0
214
214
; FMA-NEXT: retq
215
215
%res = call <4 x float > @llvm.x86.fma.vfnmadd.ss (<4 x float > %a , <4 x float > %b , <4 x float > %a ) nounwind
216
216
ret <4 x float > %res
@@ -220,7 +220,7 @@ define <4 x float> @test_x86_fnmadd_bba_ss(<4 x float> %a, <4 x float> %b) #0 {
220
220
; FMA-LABEL: test_x86_fnmadd_bba_ss:
221
221
; FMA: # %bb.0:
222
222
; FMA-NEXT: vmovaps (%rdx), %xmm0
223
- ; FMA-NEXT: vfnmadd213ss (%rcx), % xmm0, % xmm0
223
+ ; FMA-NEXT: vfnmadd213ss {{.*#+}} xmm0 = -( xmm0 * xmm0) + mem
224
224
; FMA-NEXT: retq
225
225
%res = call <4 x float > @llvm.x86.fma.vfnmadd.ss (<4 x float > %b , <4 x float > %b , <4 x float > %a ) nounwind
226
226
ret <4 x float > %res
@@ -304,7 +304,7 @@ define <2 x double> @test_x86_fnmadd_aba_sd(<2 x double> %a, <2 x double> %b) #0
304
304
; FMA-LABEL: test_x86_fnmadd_aba_sd:
305
305
; FMA: # %bb.0:
306
306
; FMA-NEXT: vmovapd (%rcx), %xmm0
307
- ; FMA-NEXT: vfnmadd132sd (%rdx), %xmm0, % xmm0
307
+ ; FMA-NEXT: vfnmadd132sd {{.*#+}} xmm0 = -(xmm0 * mem) + xmm0
308
308
; FMA-NEXT: retq
309
309
%res = call <2 x double > @llvm.x86.fma.vfnmadd.sd (<2 x double > %a , <2 x double > %b , <2 x double > %a ) nounwind
310
310
ret <2 x double > %res
@@ -314,7 +314,7 @@ define <2 x double> @test_x86_fnmadd_bba_sd(<2 x double> %a, <2 x double> %b) #0
314
314
; FMA-LABEL: test_x86_fnmadd_bba_sd:
315
315
; FMA: # %bb.0:
316
316
; FMA-NEXT: vmovapd (%rdx), %xmm0
317
- ; FMA-NEXT: vfnmadd213sd (%rcx), % xmm0, % xmm0
317
+ ; FMA-NEXT: vfnmadd213sd {{.*#+}} xmm0 = -( xmm0 * xmm0) + mem
318
318
; FMA-NEXT: retq
319
319
%res = call <2 x double > @llvm.x86.fma.vfnmadd.sd (<2 x double > %b , <2 x double > %b , <2 x double > %a ) nounwind
320
320
ret <2 x double > %res
@@ -398,7 +398,7 @@ define <4 x float> @test_x86_fmsub_aba_ss(<4 x float> %a, <4 x float> %b) #0 {
398
398
; FMA-LABEL: test_x86_fmsub_aba_ss:
399
399
; FMA: # %bb.0:
400
400
; FMA-NEXT: vmovaps (%rcx), %xmm0
401
- ; FMA-NEXT: vfmsub132ss (%rdx), %xmm0, % xmm0
401
+ ; FMA-NEXT: vfmsub132ss {{.*#+}} xmm0 = (xmm0 * mem) - xmm0
402
402
; FMA-NEXT: retq
403
403
%res = call <4 x float > @llvm.x86.fma.vfmsub.ss (<4 x float > %a , <4 x float > %b , <4 x float > %a ) nounwind
404
404
ret <4 x float > %res
@@ -408,7 +408,7 @@ define <4 x float> @test_x86_fmsub_bba_ss(<4 x float> %a, <4 x float> %b) #0 {
408
408
; FMA-LABEL: test_x86_fmsub_bba_ss:
409
409
; FMA: # %bb.0:
410
410
; FMA-NEXT: vmovaps (%rdx), %xmm0
411
- ; FMA-NEXT: vfmsub213ss (%rcx), % xmm0, % xmm0
411
+ ; FMA-NEXT: vfmsub213ss {{.*#+}} xmm0 = ( xmm0 * xmm0) - mem
412
412
; FMA-NEXT: retq
413
413
%res = call <4 x float > @llvm.x86.fma.vfmsub.ss (<4 x float > %b , <4 x float > %b , <4 x float > %a ) nounwind
414
414
ret <4 x float > %res
@@ -492,7 +492,7 @@ define <2 x double> @test_x86_fmsub_aba_sd(<2 x double> %a, <2 x double> %b) #0
492
492
; FMA-LABEL: test_x86_fmsub_aba_sd:
493
493
; FMA: # %bb.0:
494
494
; FMA-NEXT: vmovapd (%rcx), %xmm0
495
- ; FMA-NEXT: vfmsub132sd (%rdx), %xmm0, % xmm0
495
+ ; FMA-NEXT: vfmsub132sd {{.*#+}} xmm0 = (xmm0 * mem) - xmm0
496
496
; FMA-NEXT: retq
497
497
%res = call <2 x double > @llvm.x86.fma.vfmsub.sd (<2 x double > %a , <2 x double > %b , <2 x double > %a ) nounwind
498
498
ret <2 x double > %res
@@ -502,7 +502,7 @@ define <2 x double> @test_x86_fmsub_bba_sd(<2 x double> %a, <2 x double> %b) #0
502
502
; FMA-LABEL: test_x86_fmsub_bba_sd:
503
503
; FMA: # %bb.0:
504
504
; FMA-NEXT: vmovapd (%rdx), %xmm0
505
- ; FMA-NEXT: vfmsub213sd (%rcx), % xmm0, % xmm0
505
+ ; FMA-NEXT: vfmsub213sd {{.*#+}} xmm0 = ( xmm0 * xmm0) - mem
506
506
; FMA-NEXT: retq
507
507
%res = call <2 x double > @llvm.x86.fma.vfmsub.sd (<2 x double > %b , <2 x double > %b , <2 x double > %a ) nounwind
508
508
ret <2 x double > %res
@@ -587,7 +587,7 @@ define <4 x float> @test_x86_fnmsub_aba_ss(<4 x float> %a, <4 x float> %b) #0 {
587
587
; FMA-LABEL: test_x86_fnmsub_aba_ss:
588
588
; FMA: # %bb.0:
589
589
; FMA-NEXT: vmovaps (%rcx), %xmm0
590
- ; FMA-NEXT: vfnmsub132ss (%rdx), %xmm0, % xmm0
590
+ ; FMA-NEXT: vfnmsub132ss {{.*#+}} xmm0 = -(xmm0 * mem) - xmm0
591
591
; FMA-NEXT: retq
592
592
%res = call <4 x float > @llvm.x86.fma.vfnmsub.ss (<4 x float > %a , <4 x float > %b , <4 x float > %a ) nounwind
593
593
ret <4 x float > %res
@@ -597,7 +597,7 @@ define <4 x float> @test_x86_fnmsub_bba_ss(<4 x float> %a, <4 x float> %b) #0 {
597
597
; FMA-LABEL: test_x86_fnmsub_bba_ss:
598
598
; FMA: # %bb.0:
599
599
; FMA-NEXT: vmovaps (%rdx), %xmm0
600
- ; FMA-NEXT: vfnmsub213ss (%rcx), % xmm0, % xmm0
600
+ ; FMA-NEXT: vfnmsub213ss {{.*#+}} xmm0 = -( xmm0 * xmm0) - mem
601
601
; FMA-NEXT: retq
602
602
%res = call <4 x float > @llvm.x86.fma.vfnmsub.ss (<4 x float > %b , <4 x float > %b , <4 x float > %a ) nounwind
603
603
ret <4 x float > %res
@@ -681,7 +681,7 @@ define <2 x double> @test_x86_fnmsub_aba_sd(<2 x double> %a, <2 x double> %b) #0
681
681
; FMA-LABEL: test_x86_fnmsub_aba_sd:
682
682
; FMA: # %bb.0:
683
683
; FMA-NEXT: vmovapd (%rcx), %xmm0
684
- ; FMA-NEXT: vfnmsub132sd (%rdx), %xmm0, % xmm0
684
+ ; FMA-NEXT: vfnmsub132sd {{.*#+}} xmm0 = -(xmm0 * mem) - xmm0
685
685
; FMA-NEXT: retq
686
686
%res = call <2 x double > @llvm.x86.fma.vfnmsub.sd (<2 x double > %a , <2 x double > %b , <2 x double > %a ) nounwind
687
687
ret <2 x double > %res
@@ -691,7 +691,7 @@ define <2 x double> @test_x86_fnmsub_bba_sd(<2 x double> %a, <2 x double> %b) #0
691
691
; FMA-LABEL: test_x86_fnmsub_bba_sd:
692
692
; FMA: # %bb.0:
693
693
; FMA-NEXT: vmovapd (%rdx), %xmm0
694
- ; FMA-NEXT: vfnmsub213sd (%rcx), % xmm0, % xmm0
694
+ ; FMA-NEXT: vfnmsub213sd {{.*#+}} xmm0 = -( xmm0 * xmm0) - mem
695
695
; FMA-NEXT: retq
696
696
%res = call <2 x double > @llvm.x86.fma.vfnmsub.sd (<2 x double > %b , <2 x double > %b , <2 x double > %a ) nounwind
697
697
ret <2 x double > %res
0 commit comments