summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2016-01-04 08:56:49 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2016-01-04 08:56:49 +0000
commit65aafe284183c3a635e67a9deeca46f78384199c (patch)
tree60af570af4efe153a3eda337353d8c5a5c87f59b /gcc
parentb8f4a5f92626ced3a03711ee9c73c428cdbd6f6f (diff)
* config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
modes larger than TImode as TImode if NEON is not enabled. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232051 138bc75d-0d04-0410-961f-82ee72b054a4
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 fa7b0c4a4b88..6e0a160cc98f 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 f89411eac5b9..e193f02b7d47 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;