aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sparc/sparc.h5
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.target/sparc/20160104-2.c11
4 files changed, 23 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4b29c22..fa7b0c4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
+ PR target/69100
+ * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
+ mode for %f0-%f31 only if TARGET_FPU.
+
+2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
PR target/69072
* config/sparc/sparc.c (scan_record_type): Take into account subfields
to compute the PACKED_P predicate.
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index ae8e962..9fa2a5a 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1176,9 +1176,8 @@ extern char leaf_reg_remap[];
On SPARC, these are the "output" registers. v9 also uses %f0-%f31. */
#define FUNCTION_ARG_REGNO_P(N) \
-(TARGET_ARCH64 \
- ? (((N) >= 8 && (N) <= 13) || ((N) >= 32 && (N) <= 63)) \
- : ((N) >= 8 && (N) <= 13))
+ (((N) >= 8 && (N) <= 13) \
+ || (TARGET_ARCH64 && TARGET_FPU && (N) >= 32 && (N) <= 63))
/* Define a data type for recording info about an argument list
during the scan of that argument list. This data type should
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 148ac10..f2f9629 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,9 @@
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
+ * gcc.target/sparc/20160104-2.c: New test.
+
+2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
* gcc.target/sparc/20160104-1.c: New test.
2016-01-03 Paul Thomas <pault@gcc.gnu.org>
diff --git a/gcc/testsuite/gcc.target/sparc/20160104-2.c b/gcc/testsuite/gcc.target/sparc/20160104-2.c
new file mode 100644
index 0000000..837161d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/sparc/20160104-2.c
@@ -0,0 +1,11 @@
+/* PR target/69100 */
+/* Reported by Zdenek Sojka <zsojka@seznam.cz> */
+
+/* { dg-do compile } */
+/* { dg-options "-mno-fpu" } */
+
+void
+foo (void)
+{
+ __builtin_apply (0, 0, 0);
+}