aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fa7b0c4..6e0a160 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
+ * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
+ modes larger than TImode as TImode if NEON is not enabled.
+
+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.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index f89411e..e193f02 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -5846,7 +5846,10 @@ aapcs_vfp_allocate_return_reg (enum arm_pcs pcs_variant ATTRIBUTE_UNUSED,
if (!use_vfp_abi (pcs_variant, false))
return NULL;
- if (mode == BLKmode || (mode == TImode && !TARGET_NEON))
+ if (mode == BLKmode
+ || (GET_MODE_CLASS (mode) == MODE_INT
+ && GET_MODE_SIZE (mode) >= GET_MODE_SIZE (TImode)
+ && !TARGET_NEON))
{
int count;
machine_mode ag_mode;