aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2021-03-30 12:26:33 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2021-03-30 13:11:10 +0000
commit6f93a7c7fc62b2d6ab47e5d5eb60d41366e1ee9e (patch)
treea18012171a5855ccb378db337be42f7972a22c7c /gcc
parent41d57b2a97c44ae7b0a5b01ae703a8f0d0495238 (diff)
downloadgcc-6f93a7c7fc62b2d6ab47e5d5eb60d41366e1ee9e.zip
gcc-6f93a7c7fc62b2d6ab47e5d5eb60d41366e1ee9e.tar.gz
gcc-6f93a7c7fc62b2d6ab47e5d5eb60d41366e1ee9e.tar.bz2
arm: Fix emission of Tag_ABI_VFP_args with MVE and -mfloat-abi=hard (PR target/99773)
When compiling with -mfloat-abi=hard -march=armv8.1-m.main+mve, we want to emit Tag_ABI_VFP_args even though we are not emitting floating-point instructions (we need "+mve.fp" for that), because we use MVE registers to pass FP arguments. This patch removes the condition on (! TARGET_SOFT_FLOAT) because this is a case where TARGET_SOFT_FLOAT is true, and TARGET_HARD_FLOAT_ABI is true too. 2021-03-30 Richard Earnshaw <rearnsha@arm.com> gcc/ PR target/99773 * config/arm/arm.c (arm_file_start): Fix emission of Tag_ABI_VFP_args attribute.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/arm/arm.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index e89f5e2..518bfed 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -28150,14 +28150,11 @@ arm_file_start (void)
if (print_tune_info)
arm_print_tune_info ();
- if (! TARGET_SOFT_FLOAT)
- {
- if (TARGET_HARD_FLOAT && TARGET_VFP_SINGLE)
- arm_emit_eabi_attribute ("Tag_ABI_HardFP_use", 27, 1);
+ if (TARGET_HARD_FLOAT && TARGET_VFP_SINGLE)
+ arm_emit_eabi_attribute ("Tag_ABI_HardFP_use", 27, 1);
- if (TARGET_HARD_FLOAT_ABI)
- arm_emit_eabi_attribute ("Tag_ABI_VFP_args", 28, 1);
- }
+ if (TARGET_HARD_FLOAT_ABI)
+ arm_emit_eabi_attribute ("Tag_ABI_VFP_args", 28, 1);
/* Some of these attributes only apply when the corresponding features
are used. However we don't have any easy way of figuring this out.