From 65aafe284183c3a635e67a9deeca46f78384199c Mon Sep 17 00:00:00 2001 From: ebotcazou Date: Mon, 4 Jan 2016 08:56:49 +0000 Subject: [PATCH] * 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 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/arm.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fa7b0c4a4b88..6e0a160cc98f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-01-04 Eric Botcazou + + * 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 PR target/69100 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; -- 2.47.3