From 8db883aa82562867eba7e8a82b34ed70204bad6b Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 4 Jan 2016 08:56:49 +0000 Subject: [PATCH] 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 --- 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 fa7b0c4a4b8..6e0a160cc98 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 f89411eac5b..e193f02b7d4 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.30.2