re PR target/69100 (ICE in final_scan_insn with -msoft-float and __builtin_apply)

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
This commit is contained in:
Eric Botcazou 2016-01-04 08:14:12 +00:00 committed by Eric Botcazou
parent e8d65a35d5
commit 9e3b2fe375
4 changed files with 23 additions and 3 deletions

View File

@ -1,3 +1,9 @@
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

View File

@ -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

View File

@ -1,3 +1,7 @@
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.

View File

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