Skip to content

Commit c8bc89a

Browse files
committed
Regenerate FMA tests
1 parent 2398752 commit c8bc89a

File tree

5 files changed

+421
-154
lines changed

5 files changed

+421
-154
lines changed

llvm/test/CodeGen/X86/extended-fma-contraction.ll

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
12
; RUN: llc -mcpu=bdver2 -mattr=-fma -mtriple=i686-apple-darwin < %s | FileCheck %s
23
; RUN: llc -mcpu=bdver2 -mattr=-fma,-fma4 -mtriple=i686-apple-darwin < %s | FileCheck %s --check-prefix=CHECK-NOFMA
34

4-
; CHECK-LABEL: fmafunc
55
define <3 x float> @fmafunc(<3 x float> %a, <3 x float> %b, <3 x float> %c) {
6-
7-
; CHECK-NOT: vmulps
8-
; CHECK-NOT: vaddps
9-
; CHECK: vfmaddps
10-
; CHECK-NOT: vmulps
11-
; CHECK-NOT: vaddps
12-
13-
; CHECK-NOFMA-NOT: calll
14-
; CHECK-NOFMA: vmulps
15-
; CHECK-NOFMA: vaddps
16-
; CHECK-NOFMA-NOT: calll
17-
6+
; CHECK-LABEL: fmafunc:
7+
; CHECK: ## %bb.0:
8+
; CHECK-NEXT: vfmaddps %xmm2, %xmm1, %xmm0, %xmm0
9+
; CHECK-NEXT: retl
10+
;
11+
; CHECK-NOFMA-LABEL: fmafunc:
12+
; CHECK-NOFMA: ## %bb.0:
13+
; CHECK-NOFMA-NEXT: vmulps %xmm1, %xmm0, %xmm0
14+
; CHECK-NOFMA-NEXT: vaddps %xmm2, %xmm0, %xmm0
15+
; CHECK-NOFMA-NEXT: retl
1816
%ret = tail call <3 x float> @llvm.fmuladd.v3f32(<3 x float> %a, <3 x float> %b, <3 x float> %c)
1917
ret <3 x float> %ret
2018
}

llvm/test/CodeGen/X86/fma-commute-x86.ll

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ define <4 x float> @test_x86_fmadd_aba_ss(<4 x float> %a, <4 x float> %b) #0 {
2121
; FMA-LABEL: test_x86_fmadd_aba_ss:
2222
; FMA: # %bb.0:
2323
; FMA-NEXT: vmovaps (%rcx), %xmm0
24-
; FMA-NEXT: vfmadd132ss (%rdx), %xmm0, %xmm0
24+
; FMA-NEXT: vfmadd132ss {{.*#+}} xmm0 = (xmm0 * mem) + xmm0
2525
; FMA-NEXT: retq
2626
%res = call <4 x float> @llvm.x86.fma.vfmadd.ss(<4 x float> %a, <4 x float> %b, <4 x float> %a) nounwind
2727
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 {
3131
; FMA-LABEL: test_x86_fmadd_bba_ss:
3232
; FMA: # %bb.0:
3333
; FMA-NEXT: vmovaps (%rdx), %xmm0
34-
; FMA-NEXT: vfmadd213ss (%rcx), %xmm0, %xmm0
34+
; FMA-NEXT: vfmadd213ss {{.*#+}} xmm0 = (xmm0 * xmm0) + mem
3535
; FMA-NEXT: retq
3636
%res = call <4 x float> @llvm.x86.fma.vfmadd.ss(<4 x float> %b, <4 x float> %b, <4 x float> %a) nounwind
3737
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
115115
; FMA-LABEL: test_x86_fmadd_aba_sd:
116116
; FMA: # %bb.0:
117117
; FMA-NEXT: vmovapd (%rcx), %xmm0
118-
; FMA-NEXT: vfmadd132sd (%rdx), %xmm0, %xmm0
118+
; FMA-NEXT: vfmadd132sd {{.*#+}} xmm0 = (xmm0 * mem) + xmm0
119119
; FMA-NEXT: retq
120120
%res = call <2 x double> @llvm.x86.fma.vfmadd.sd(<2 x double> %a, <2 x double> %b, <2 x double> %a) nounwind
121121
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
125125
; FMA-LABEL: test_x86_fmadd_bba_sd:
126126
; FMA: # %bb.0:
127127
; FMA-NEXT: vmovapd (%rdx), %xmm0
128-
; FMA-NEXT: vfmadd213sd (%rcx), %xmm0, %xmm0
128+
; FMA-NEXT: vfmadd213sd {{.*#+}} xmm0 = (xmm0 * xmm0) + mem
129129
; FMA-NEXT: retq
130130
%res = call <2 x double> @llvm.x86.fma.vfmadd.sd(<2 x double> %b, <2 x double> %b, <2 x double> %a) nounwind
131131
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 {
210210
; FMA-LABEL: test_x86_fnmadd_aba_ss:
211211
; FMA: # %bb.0:
212212
; FMA-NEXT: vmovaps (%rcx), %xmm0
213-
; FMA-NEXT: vfnmadd132ss (%rdx), %xmm0, %xmm0
213+
; FMA-NEXT: vfnmadd132ss {{.*#+}} xmm0 = -(xmm0 * mem) + xmm0
214214
; FMA-NEXT: retq
215215
%res = call <4 x float> @llvm.x86.fma.vfnmadd.ss(<4 x float> %a, <4 x float> %b, <4 x float> %a) nounwind
216216
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 {
220220
; FMA-LABEL: test_x86_fnmadd_bba_ss:
221221
; FMA: # %bb.0:
222222
; FMA-NEXT: vmovaps (%rdx), %xmm0
223-
; FMA-NEXT: vfnmadd213ss (%rcx), %xmm0, %xmm0
223+
; FMA-NEXT: vfnmadd213ss {{.*#+}} xmm0 = -(xmm0 * xmm0) + mem
224224
; FMA-NEXT: retq
225225
%res = call <4 x float> @llvm.x86.fma.vfnmadd.ss(<4 x float> %b, <4 x float> %b, <4 x float> %a) nounwind
226226
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
304304
; FMA-LABEL: test_x86_fnmadd_aba_sd:
305305
; FMA: # %bb.0:
306306
; FMA-NEXT: vmovapd (%rcx), %xmm0
307-
; FMA-NEXT: vfnmadd132sd (%rdx), %xmm0, %xmm0
307+
; FMA-NEXT: vfnmadd132sd {{.*#+}} xmm0 = -(xmm0 * mem) + xmm0
308308
; FMA-NEXT: retq
309309
%res = call <2 x double> @llvm.x86.fma.vfnmadd.sd(<2 x double> %a, <2 x double> %b, <2 x double> %a) nounwind
310310
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
314314
; FMA-LABEL: test_x86_fnmadd_bba_sd:
315315
; FMA: # %bb.0:
316316
; FMA-NEXT: vmovapd (%rdx), %xmm0
317-
; FMA-NEXT: vfnmadd213sd (%rcx), %xmm0, %xmm0
317+
; FMA-NEXT: vfnmadd213sd {{.*#+}} xmm0 = -(xmm0 * xmm0) + mem
318318
; FMA-NEXT: retq
319319
%res = call <2 x double> @llvm.x86.fma.vfnmadd.sd(<2 x double> %b, <2 x double> %b, <2 x double> %a) nounwind
320320
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 {
398398
; FMA-LABEL: test_x86_fmsub_aba_ss:
399399
; FMA: # %bb.0:
400400
; FMA-NEXT: vmovaps (%rcx), %xmm0
401-
; FMA-NEXT: vfmsub132ss (%rdx), %xmm0, %xmm0
401+
; FMA-NEXT: vfmsub132ss {{.*#+}} xmm0 = (xmm0 * mem) - xmm0
402402
; FMA-NEXT: retq
403403
%res = call <4 x float> @llvm.x86.fma.vfmsub.ss(<4 x float> %a, <4 x float> %b, <4 x float> %a) nounwind
404404
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 {
408408
; FMA-LABEL: test_x86_fmsub_bba_ss:
409409
; FMA: # %bb.0:
410410
; FMA-NEXT: vmovaps (%rdx), %xmm0
411-
; FMA-NEXT: vfmsub213ss (%rcx), %xmm0, %xmm0
411+
; FMA-NEXT: vfmsub213ss {{.*#+}} xmm0 = (xmm0 * xmm0) - mem
412412
; FMA-NEXT: retq
413413
%res = call <4 x float> @llvm.x86.fma.vfmsub.ss(<4 x float> %b, <4 x float> %b, <4 x float> %a) nounwind
414414
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
492492
; FMA-LABEL: test_x86_fmsub_aba_sd:
493493
; FMA: # %bb.0:
494494
; FMA-NEXT: vmovapd (%rcx), %xmm0
495-
; FMA-NEXT: vfmsub132sd (%rdx), %xmm0, %xmm0
495+
; FMA-NEXT: vfmsub132sd {{.*#+}} xmm0 = (xmm0 * mem) - xmm0
496496
; FMA-NEXT: retq
497497
%res = call <2 x double> @llvm.x86.fma.vfmsub.sd(<2 x double> %a, <2 x double> %b, <2 x double> %a) nounwind
498498
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
502502
; FMA-LABEL: test_x86_fmsub_bba_sd:
503503
; FMA: # %bb.0:
504504
; FMA-NEXT: vmovapd (%rdx), %xmm0
505-
; FMA-NEXT: vfmsub213sd (%rcx), %xmm0, %xmm0
505+
; FMA-NEXT: vfmsub213sd {{.*#+}} xmm0 = (xmm0 * xmm0) - mem
506506
; FMA-NEXT: retq
507507
%res = call <2 x double> @llvm.x86.fma.vfmsub.sd(<2 x double> %b, <2 x double> %b, <2 x double> %a) nounwind
508508
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 {
587587
; FMA-LABEL: test_x86_fnmsub_aba_ss:
588588
; FMA: # %bb.0:
589589
; FMA-NEXT: vmovaps (%rcx), %xmm0
590-
; FMA-NEXT: vfnmsub132ss (%rdx), %xmm0, %xmm0
590+
; FMA-NEXT: vfnmsub132ss {{.*#+}} xmm0 = -(xmm0 * mem) - xmm0
591591
; FMA-NEXT: retq
592592
%res = call <4 x float> @llvm.x86.fma.vfnmsub.ss(<4 x float> %a, <4 x float> %b, <4 x float> %a) nounwind
593593
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 {
597597
; FMA-LABEL: test_x86_fnmsub_bba_ss:
598598
; FMA: # %bb.0:
599599
; FMA-NEXT: vmovaps (%rdx), %xmm0
600-
; FMA-NEXT: vfnmsub213ss (%rcx), %xmm0, %xmm0
600+
; FMA-NEXT: vfnmsub213ss {{.*#+}} xmm0 = -(xmm0 * xmm0) - mem
601601
; FMA-NEXT: retq
602602
%res = call <4 x float> @llvm.x86.fma.vfnmsub.ss(<4 x float> %b, <4 x float> %b, <4 x float> %a) nounwind
603603
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
681681
; FMA-LABEL: test_x86_fnmsub_aba_sd:
682682
; FMA: # %bb.0:
683683
; FMA-NEXT: vmovapd (%rcx), %xmm0
684-
; FMA-NEXT: vfnmsub132sd (%rdx), %xmm0, %xmm0
684+
; FMA-NEXT: vfnmsub132sd {{.*#+}} xmm0 = -(xmm0 * mem) - xmm0
685685
; FMA-NEXT: retq
686686
%res = call <2 x double> @llvm.x86.fma.vfnmsub.sd(<2 x double> %a, <2 x double> %b, <2 x double> %a) nounwind
687687
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
691691
; FMA-LABEL: test_x86_fnmsub_bba_sd:
692692
; FMA: # %bb.0:
693693
; FMA-NEXT: vmovapd (%rdx), %xmm0
694-
; FMA-NEXT: vfnmsub213sd (%rcx), %xmm0, %xmm0
694+
; FMA-NEXT: vfnmsub213sd {{.*#+}} xmm0 = -(xmm0 * xmm0) - mem
695695
; FMA-NEXT: retq
696696
%res = call <2 x double> @llvm.x86.fma.vfnmsub.sd(<2 x double> %b, <2 x double> %b, <2 x double> %a) nounwind
697697
ret <2 x double> %res

0 commit comments

Comments
 (0)