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);
+}