PR target/69100
* config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
mode for %f0-%f31 only if TARGET_FPU.
From-SVN: r232050
+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
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))
\f
/* Define a data type for recording info about an argument list
during the scan of that argument list. This data type should
+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.
--- /dev/null
+/* 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);
+}