aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2016-01-04 08:56:49 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2016-01-04 08:56:49 +0000
commit8db883aa82562867eba7e8a82b34ed70204bad6b (patch)
tree60af570af4efe153a3eda337353d8c5a5c87f59b /gcc
parent9e3b2fe375baa8b1a959892661e64766f32c613a (diff)
downloadgcc-8db883aa82562867eba7e8a82b34ed70204bad6b.zip
gcc-8db883aa82562867eba7e8a82b34ed70204bad6b.tar.gz
gcc-8db883aa82562867eba7e8a82b34ed70204bad6b.tar.bz2
arm.c (aapcs_vfp_allocate_return_reg): Treat all integer modes larger than TImode as TImode if NEON is not enabled.
* config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer modes larger than TImode as TImode if NEON is not enabled. From-SVN: r232051
Diffstat (limited to 'gcc')
-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;