summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/SPARC/64abi.ll
diff options
context:
space:
mode:
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>2018-02-24 08:24:31 +0000
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>2018-02-24 08:24:31 +0000
commit8ff0773b132f351db4e1a036c23c478699a5cf8d (patch)
treeba83e91b7d30dfe5d4bcb83d240a53cf0db06e54 /llvm/test/CodeGen/SPARC/64abi.ll
parent2b772b930e097ed6f06d698a51e291c7fd318baa (diff)
downloadbcm5719-llvm-8ff0773b132f351db4e1a036c23c478699a5cf8d.tar.gz
bcm5719-llvm-8ff0773b132f351db4e1a036c23c478699a5cf8d.zip
[Sparc] Return true in enableMultipleCopyHints().
Enable multiple COPY hints to eliminate more COPYs during register allocation. Note that this is something all targets should do, see https://reviews.llvm.org/D38128. Review: James Y Knight llvm-svn: 326028
Diffstat (limited to 'llvm/test/CodeGen/SPARC/64abi.ll')
-rw-r--r--llvm/test/CodeGen/SPARC/64abi.ll19
1 files changed, 8 insertions, 11 deletions
diff --git a/llvm/test/CodeGen/SPARC/64abi.ll b/llvm/test/CodeGen/SPARC/64abi.ll
index 771cc409554..91816dcbdb1 100644
--- a/llvm/test/CodeGen/SPARC/64abi.ll
+++ b/llvm/test/CodeGen/SPARC/64abi.ll
@@ -65,7 +65,7 @@ define void @call_intarg(i32 %i0, i8* %i1) {
; SOFT: save %sp, -176, %sp
; SOFT: srl %i0, 0, %o0
; SOFT-NEXT: call __extendsfdf2
-; SOFT: mov %o0, %i0
+; SOFT: mov %o0, %o1
; SOFT: mov %i1, %o0
; SOFT: mov %i2, %o0
; SOFT: mov %i3, %o0
@@ -145,13 +145,11 @@ define void @call_floatarg(float %f1, double %d2, float %f5, double *%p) {
; HARD: fstod %f3
; HARD: faddd %f6
; HARD: faddd %f16
-; SOFT: mov %o0, %i1
+; SOFT: mov %o0, %o1
; SOFT-NEXT: mov %i3, %o0
-; SOFT-NEXT: mov %i1, %o1
; SOFT-NEXT: call __adddf3
-; SOFT: mov %o0, %i1
+; SOFT: mov %o0, %o1
; SOFT-NEXT: mov %i0, %o0
-; SOFT-NEXT: mov %i1, %o1
; SOFT-NEXT: call __adddf3
; HARD: std %f0, [%i1]
; SOFT: stx %o0, [%i5]
@@ -217,8 +215,8 @@ define i32 @inreg_fi(i32 inreg %a0, ; high bits of %i0
; CHECK-LABEL: call_inreg_fi:
; Allocate space for 6 arguments, even when only 2 are used.
; CHECK: save %sp, -176, %sp
-; HARD: sllx %i1, 32, %o0
-; HARD: fmovs %f5, %f1
+; HARD-DAG: sllx %i1, 32, %o0
+; HARD-DAG: fmovs %f5, %f1
; SOFT: srl %i2, 0, %i0
; SOFT: sllx %i1, 32, %i1
; SOFT: or %i1, %i0, %o0
@@ -240,8 +238,8 @@ define float @inreg_ff(float inreg %a0, ; %f0
}
; CHECK-LABEL: call_inreg_ff:
-; HARD: fmovs %f3, %f0
-; HARD: fmovs %f5, %f1
+; HARD-DAG: fmovs %f3, %f0
+; HARD-DAG: fmovs %f5, %f1
; SOFT: srl %i2, 0, %i0
; SOFT: sllx %i1, 32, %i1
; SOFT: or %i1, %i0, %o0
@@ -527,9 +525,8 @@ entry:
; CHECK: call sinf
; HARD: ld [%fp+[[Offset1]]], %f1
; HARD: fmuls %f1, %f0, %f0
-; SOFT: mov %o0, %i0
+; SOFT: mov %o0, %o1
; SOFT: mov %i1, %o0
-; SOFT: mov %i0, %o1
; SOFT: call __mulsf3
; SOFT: sllx %o0, 32, %i0
OpenPOWER on IntegriCloud