aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sparc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2016-01-04 08:14:12 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2016-01-04 08:14:12 +0000
commit9e3b2fe375baa8b1a959892661e64766f32c613a (patch)
tree025e3876ff3d0f5307ce054945768f98ee6aedb4 /gcc/config/sparc
parente8d65a35d50c59fa657329032943b0e5ec241147 (diff)
downloadgcc-9e3b2fe375baa8b1a959892661e64766f32c613a.zip
gcc-9e3b2fe375baa8b1a959892661e64766f32c613a.tar.gz
gcc-9e3b2fe375baa8b1a959892661e64766f32c613a.tar.bz2
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
Diffstat (limited to 'gcc/config/sparc')
-rw-r--r--gcc/config/sparc/sparc.h5
1 files changed, 2 insertions, 3 deletions
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