summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/PowerPC/fma-mutate.ll3
-rw-r--r--llvm/test/CodeGen/PowerPC/fmf-propagation.ll69
-rw-r--r--llvm/test/CodeGen/PowerPC/recipest.ll16
-rw-r--r--llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll2
4 files changed, 43 insertions, 47 deletions
diff --git a/llvm/test/CodeGen/PowerPC/fma-mutate.ll b/llvm/test/CodeGen/PowerPC/fma-mutate.ll
index 1d4695b3181..e03bb22617f 100644
--- a/llvm/test/CodeGen/PowerPC/fma-mutate.ll
+++ b/llvm/test/CodeGen/PowerPC/fma-mutate.ll
@@ -14,8 +14,7 @@ define double @foo3(double %a) nounwind {
ret double %r
; CHECK: @foo3
-; CHECK: fmr [[REG:[0-9]+]], [[REG2:[0-9]+]]
-; CHECK: xsnmsubadp [[REG]], {{[0-9]+}}, [[REG2]]
+; CHECK-NOT: fmr
; CHECK: xsmaddmdp
; CHECK: xsmaddadp
}
diff --git a/llvm/test/CodeGen/PowerPC/fmf-propagation.ll b/llvm/test/CodeGen/PowerPC/fmf-propagation.ll
index ea40e4edd34..0ce4701d683 100644
--- a/llvm/test/CodeGen/PowerPC/fmf-propagation.ll
+++ b/llvm/test/CodeGen/PowerPC/fmf-propagation.ll
@@ -284,16 +284,16 @@ define float @sqrt_afn(float %x) {
; FMF-NEXT: fcmpu 0, 1, 0
; FMF-NEXT: beq 0, .LBB10_2
; FMF-NEXT: # %bb.1:
+; FMF-NEXT: xsrsqrtesp 0, 1
; FMF-NEXT: addis 3, 2, .LCPI10_0@toc@ha
-; FMF-NEXT: xsrsqrtesp 3, 1
-; FMF-NEXT: lfs 0, .LCPI10_0@toc@l(3)
-; FMF-NEXT: xsmulsp 2, 1, 0
-; FMF-NEXT: xsmulsp 4, 3, 3
-; FMF-NEXT: xssubsp 2, 2, 1
-; FMF-NEXT: xsmulsp 2, 2, 4
-; FMF-NEXT: xssubsp 0, 0, 2
-; FMF-NEXT: xsmulsp 0, 3, 0
-; FMF-NEXT: xsmulsp 0, 0, 1
+; FMF-NEXT: addis 4, 2, .LCPI10_1@toc@ha
+; FMF-NEXT: lfs 2, .LCPI10_0@toc@l(3)
+; FMF-NEXT: lfs 3, .LCPI10_1@toc@l(4)
+; FMF-NEXT: xsmulsp 1, 1, 0
+; FMF-NEXT: xsmulsp 0, 1, 0
+; FMF-NEXT: xsmulsp 1, 1, 2
+; FMF-NEXT: xsaddsp 0, 0, 3
+; FMF-NEXT: xsmulsp 0, 1, 0
; FMF-NEXT: .LBB10_2:
; FMF-NEXT: fmr 1, 0
; FMF-NEXT: blr
@@ -304,16 +304,15 @@ define float @sqrt_afn(float %x) {
; GLOBAL-NEXT: fcmpu 0, 1, 0
; GLOBAL-NEXT: beq 0, .LBB10_2
; GLOBAL-NEXT: # %bb.1:
-; GLOBAL-NEXT: xsrsqrtesp 2, 1
-; GLOBAL-NEXT: fneg 0, 1
+; GLOBAL-NEXT: xsrsqrtesp 0, 1
; GLOBAL-NEXT: addis 3, 2, .LCPI10_0@toc@ha
-; GLOBAL-NEXT: fmr 4, 1
-; GLOBAL-NEXT: lfs 3, .LCPI10_0@toc@l(3)
-; GLOBAL-NEXT: xsmaddasp 4, 0, 3
-; GLOBAL-NEXT: xsmulsp 0, 2, 2
-; GLOBAL-NEXT: xsmaddasp 3, 4, 0
-; GLOBAL-NEXT: xsmulsp 0, 2, 3
-; GLOBAL-NEXT: xsmulsp 0, 0, 1
+; GLOBAL-NEXT: addis 4, 2, .LCPI10_1@toc@ha
+; GLOBAL-NEXT: lfs 2, .LCPI10_0@toc@l(3)
+; GLOBAL-NEXT: lfs 3, .LCPI10_1@toc@l(4)
+; GLOBAL-NEXT: xsmulsp 1, 1, 0
+; GLOBAL-NEXT: xsmaddasp 2, 1, 0
+; GLOBAL-NEXT: xsmulsp 0, 1, 3
+; GLOBAL-NEXT: xsmulsp 0, 0, 2
; GLOBAL-NEXT: .LBB10_2:
; GLOBAL-NEXT: fmr 1, 0
; GLOBAL-NEXT: blr
@@ -338,16 +337,15 @@ define float @sqrt_fast(float %x) {
; FMF-NEXT: fcmpu 0, 1, 0
; FMF-NEXT: beq 0, .LBB11_2
; FMF-NEXT: # %bb.1:
-; FMF-NEXT: xsrsqrtesp 2, 1
-; FMF-NEXT: fneg 0, 1
+; FMF-NEXT: xsrsqrtesp 0, 1
; FMF-NEXT: addis 3, 2, .LCPI11_0@toc@ha
-; FMF-NEXT: fmr 4, 1
-; FMF-NEXT: lfs 3, .LCPI11_0@toc@l(3)
-; FMF-NEXT: xsmaddasp 4, 0, 3
-; FMF-NEXT: xsmulsp 0, 2, 2
-; FMF-NEXT: xsmaddasp 3, 4, 0
-; FMF-NEXT: xsmulsp 0, 2, 3
-; FMF-NEXT: xsmulsp 0, 0, 1
+; FMF-NEXT: addis 4, 2, .LCPI11_1@toc@ha
+; FMF-NEXT: lfs 2, .LCPI11_0@toc@l(3)
+; FMF-NEXT: lfs 3, .LCPI11_1@toc@l(4)
+; FMF-NEXT: xsmulsp 1, 1, 0
+; FMF-NEXT: xsmaddasp 2, 1, 0
+; FMF-NEXT: xsmulsp 0, 1, 3
+; FMF-NEXT: xsmulsp 0, 0, 2
; FMF-NEXT: .LBB11_2:
; FMF-NEXT: fmr 1, 0
; FMF-NEXT: blr
@@ -358,16 +356,15 @@ define float @sqrt_fast(float %x) {
; GLOBAL-NEXT: fcmpu 0, 1, 0
; GLOBAL-NEXT: beq 0, .LBB11_2
; GLOBAL-NEXT: # %bb.1:
-; GLOBAL-NEXT: xsrsqrtesp 2, 1
-; GLOBAL-NEXT: fneg 0, 1
+; GLOBAL-NEXT: xsrsqrtesp 0, 1
; GLOBAL-NEXT: addis 3, 2, .LCPI11_0@toc@ha
-; GLOBAL-NEXT: fmr 4, 1
-; GLOBAL-NEXT: lfs 3, .LCPI11_0@toc@l(3)
-; GLOBAL-NEXT: xsmaddasp 4, 0, 3
-; GLOBAL-NEXT: xsmulsp 0, 2, 2
-; GLOBAL-NEXT: xsmaddasp 3, 4, 0
-; GLOBAL-NEXT: xsmulsp 0, 2, 3
-; GLOBAL-NEXT: xsmulsp 0, 0, 1
+; GLOBAL-NEXT: addis 4, 2, .LCPI11_1@toc@ha
+; GLOBAL-NEXT: lfs 2, .LCPI11_0@toc@l(3)
+; GLOBAL-NEXT: lfs 3, .LCPI11_1@toc@l(4)
+; GLOBAL-NEXT: xsmulsp 1, 1, 0
+; GLOBAL-NEXT: xsmaddasp 2, 1, 0
+; GLOBAL-NEXT: xsmulsp 0, 1, 3
+; GLOBAL-NEXT: xsmulsp 0, 0, 2
; GLOBAL-NEXT: .LBB11_2:
; GLOBAL-NEXT: fmr 1, 0
; GLOBAL-NEXT: blr
diff --git a/llvm/test/CodeGen/PowerPC/recipest.ll b/llvm/test/CodeGen/PowerPC/recipest.ll
index 3a8e2ff7d61..b7191875190 100644
--- a/llvm/test/CodeGen/PowerPC/recipest.ll
+++ b/llvm/test/CodeGen/PowerPC/recipest.ll
@@ -14,15 +14,16 @@ define double @foo(double %a, double %b) nounwind {
ret double %r
; CHECK: @foo
-; CHECK-DAG: frsqrte
-; CHECK-DAG: fnmsub
+; CHECK: frsqrte
; CHECK: fmul
; CHECK-NEXT: fmadd
; CHECK-NEXT: fmul
; CHECK-NEXT: fmul
+; CHECK-NEXT: fmul
; CHECK-NEXT: fmadd
; CHECK-NEXT: fmul
; CHECK-NEXT: fmul
+; CHECK-NEXT: fmul
; CHECK: blr
; CHECK-SAFE: @foo
@@ -53,10 +54,10 @@ define double @foof(double %a, float %b) nounwind {
; CHECK: @foof
; CHECK-DAG: frsqrtes
-; CHECK-DAG: fnmsubs
; CHECK: fmuls
; CHECK-NEXT: fmadds
; CHECK-NEXT: fmuls
+; CHECK-NEXT: fmuls
; CHECK-NEXT: fmul
; CHECK-NEXT: blr
@@ -74,13 +75,14 @@ define float @food(float %a, double %b) nounwind {
; CHECK: @foo
; CHECK-DAG: frsqrte
-; CHECK-DAG: fnmsub
; CHECK: fmul
; CHECK-NEXT: fmadd
; CHECK-NEXT: fmul
; CHECK-NEXT: fmul
+; CHECK-NEXT: fmul
; CHECK-NEXT: fmadd
; CHECK-NEXT: fmul
+; CHECK-NEXT: fmul
; CHECK-NEXT: frsp
; CHECK-NEXT: fmuls
; CHECK-NEXT: blr
@@ -98,11 +100,11 @@ define float @goo(float %a, float %b) nounwind {
; CHECK: @goo
; CHECK-DAG: frsqrtes
-; CHECK-DAG: fnmsubs
; CHECK: fmuls
; CHECK-NEXT: fmadds
; CHECK-NEXT: fmuls
; CHECK-NEXT: fmuls
+; CHECK-NEXT: fmuls
; CHECK-NEXT: blr
; CHECK-SAFE: @goo
@@ -138,7 +140,6 @@ define float @rsqrt_fmul(float %a, float %b, float %c) {
; CHECK-DAG: fres
; CHECK-DAG: fnmsubs
; CHECK-DAG: fmuls
-; CHECK-DAG: fnmsubs
; CHECK-DAG: fmadds
; CHECK-DAG: fmadds
; CHECK: fmuls
@@ -219,11 +220,11 @@ define double @foo3(double %a) nounwind {
; CHECK: @foo3
; CHECK: fcmpu
; CHECK-DAG: frsqrte
-; CHECK-DAG: fnmsub
; CHECK: fmul
; CHECK-NEXT: fmadd
; CHECK-NEXT: fmul
; CHECK-NEXT: fmul
+; CHECK-NEXT: fmul
; CHECK-NEXT: fmadd
; CHECK-NEXT: fmul
; CHECK-NEXT: fmul
@@ -241,7 +242,6 @@ define float @goo3(float %a) nounwind {
; CHECK: @goo3
; CHECK: fcmpu
; CHECK-DAG: frsqrtes
-; CHECK-DAG: fnmsubs
; CHECK: fmuls
; CHECK-NEXT: fmadds
; CHECK-NEXT: fmuls
diff --git a/llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll b/llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll
index 80e7afec3c3..d9738a3dda2 100644
--- a/llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll
+++ b/llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll
@@ -8,7 +8,7 @@ entry:
br i1 undef, label %for.body.lr.ph, label %for.end
; CHECK-LABEL: @LSH_recall_init
-; CHECK: xsnmsubadp
+; CHECK: xsmaddadp
for.body.lr.ph: ; preds = %entry
%conv3 = fpext float %W to double
OpenPOWER on IntegriCloud