ping?

On Thu, 22 Apr 2021 at 09:01, Christophe Lyon
<christophe.l...@linaro.org> wrote:
>
> arm.h has had this error message since 1997, and was never updated to
> take softfp into account. Anyway, it seems it was useful long ago, but
> it is no longer needed since option parsing has been improved:
> -mfloat-abi is handled via arm.opt and updates the var_float_abi
> variable. So, the last instance of -mfloat-abi= on the command line
> wins.
>
> This patch just removes this error message, thus enabling many more
> tests to pass on arm-eabi:
>
> * with -mcpu=cortex-a7/-mfloat-abi=soft/-march=armv7ve+simd (2 more passes)
> gcc.target/arm/pr52375.c
> g++.target/arm/pr99593.C (test for excess errors)
>
> * with -mthumb/-mfloat-abi=soft/-march=armv6s-m (115 more passes in C, 90 
> more in C++)
> gcc.target/arm/armv8_1m-fp16-move-1.c (test for excess errors)
> gcc.target/arm/armv8_1m-fp32-move-1.c (test for excess errors)
> gcc.target/arm/armv8_1m-fp64-move-1.c (test for excess errors)
> gcc.target/arm/armv8_2-fp16-move-1.c (test for excess errors)
> gcc.target/arm/cortex-m55-nodsp-flag-hard.c (test for excess errors)
> gcc.target/arm/cortex-m55-nofp-flag-hard.c (test for excess errors)
> gcc.target/arm/cortex-m55-nomve-flag-hard.c (test for excess errors)
> gcc.target/arm/cortex-m55-nomve.fp-flag-hard.c (test for excess errors)
> g++.target/arm/no_unique_address_1.C
> g++.target/arm/no_unique_address_2.C
>
> * with -mthumb/-mfloat-abi=soft/-march=armv7-m (153 more passes in C, 90 more 
> in C++)
> gcc.dg/pr59418.c (test for excess errors)
> gcc.target/arm/armv8_1m-fp16-move-1.c (test for excess errors)
> gcc.target/arm/armv8_1m-fp32-move-1.c (test for excess errors)
> gcc.target/arm/armv8_1m-fp64-move-1.c (test for excess errors)
> gcc.target/arm/armv8_2-fp16-move-1.c (test for excess errors)
> gcc.target/arm/bfloat16_scalar_2_1.c (test for excess errors)
> gcc.target/arm/bfloat16_scalar_3_1.c (test for excess errors)
> gcc.target/arm/cortex-m55-nodsp-flag-hard.c (test for excess errors)
> gcc.target/arm/cortex-m55-nofp-flag-hard.c (test for excess errors)
> gcc.target/arm/cortex-m55-nomve-flag-hard.c (test for excess errors)
> gcc.target/arm/cortex-m55-nomve.fp-flag-hard.c (test for excess errors)
> gcc.target/arm/pr52375.c (test for excess errors)
> gcc.target/arm/simd/vld1_bf16_1.c (test for excess errors)
> gcc.target/arm/simd/vldn_lane_bf16_1.c (test for excess errors)
> gcc.target/arm/simd/vst1_bf16_1.c (test for excess errors)
> gcc.target/arm/simd/vstn_lane_bf16_1.c (test for excess errors)
> g++.target/arm/no_unique_address_1.C
> g++.target/arm/no_unique_address_2.C
>
> * with -mthumb/-mfloat-abi=hard/-march=armv7e-m+fp (65 more passes)
> gcc.target/arm/atomic-comp-swap-release-acquire-3.c (test for excess errors)
> gcc.target/arm/atomic-comp-swap-release-acquire-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-comp-swap-release-acquire-3.c scan-assembler-times 
> ldaex 4
> gcc.target/arm/atomic-comp-swap-release-acquire-3.c scan-assembler-times 
> stlex 4
> gcc.target/arm/atomic-op-acq_rel-3.c (test for excess errors)
> gcc.target/arm/atomic-op-acq_rel-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-acq_rel-3.c scan-assembler-times ldaex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-acq_rel-3.c scan-assembler-times stlex\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-acquire-3.c (test for excess errors)
> gcc.target/arm/atomic-op-acquire-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-acquire-3.c scan-assembler-times ldaex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-acquire-3.c scan-assembler-times strex\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-char-3.c (test for excess errors)
> gcc.target/arm/atomic-op-char-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-char-3.c scan-assembler-times ldrexb\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-char-3.c scan-assembler-times strexb\t...?, r[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-consume-3.c (test for excess errors)
> gcc.target/arm/atomic-op-consume-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-consume-3.c scan-assembler-times ldaex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-consume-3.c scan-assembler-times strex\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-int-3.c (test for excess errors)
> gcc.target/arm/atomic-op-int-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-int-3.c scan-assembler-times ldrex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-int-3.c scan-assembler-times strex\t...?, r[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-relaxed-3.c (test for excess errors)
> gcc.target/arm/atomic-op-relaxed-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-relaxed-3.c scan-assembler-times ldrex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-relaxed-3.c scan-assembler-times strex\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-release-3.c (test for excess errors)
> gcc.target/arm/atomic-op-release-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-release-3.c scan-assembler-times ldrex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-release-3.c scan-assembler-times stlex\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-seq_cst-3.c (test for excess errors)
> gcc.target/arm/atomic-op-seq_cst-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-seq_cst-3.c scan-assembler-times ldaex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-seq_cst-3.c scan-assembler-times stlex\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-short-3.c (test for excess errors)
> gcc.target/arm/atomic-op-short-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-short-3.c scan-assembler-times ldrexh\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-short-3.c scan-assembler-times strexh\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/builtin-bswap-2.c (test for excess errors)
> gcc.target/arm/builtin-bswap-2.c scan-assembler-not orr[ \t]
> gcc.target/arm/builtin-bswap-2.c scan-assembler-times rev16\\t 2
> gcc.target/arm/builtin-bswap-2.c scan-assembler-times rev\\t 4
> gcc.target/arm/builtin-bswap-2.c scan-assembler-times revsh\\t 2
> gcc.target/arm/builtin-bswap16-2.c (test for excess errors)
> gcc.target/arm/builtin-bswap16-2.c scan-assembler-not orr[ \t]
> gcc.target/arm/pr89190.c (test for excess errors)
> gcc.target/arm/pr95646.c (test for excess errors)
> gcc.target/arm/pr95646.c check-function-bodies __acle_se_bar
> gcc.target/arm/pr95646.c scan-assembler-not mov\tr9, r0
>
> * with -mthumb/-mfloat-abi=hard/-march=armv8-m.main+fp+dsp (870 more passes)
> gcc.target/arm/atomic-comp-swap-release-acquire-3.c (test for excess errors)
> gcc.target/arm/atomic-comp-swap-release-acquire-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-comp-swap-release-acquire-3.c scan-assembler-times 
> ldaex 4
> gcc.target/arm/atomic-comp-swap-release-acquire-3.c scan-assembler-times 
> stlex 4
> gcc.target/arm/atomic-op-acq_rel-3.c (test for excess errors)
> gcc.target/arm/atomic-op-acq_rel-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-acq_rel-3.c scan-assembler-times ldaex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-acq_rel-3.c scan-assembler-times stlex\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-acquire-3.c (test for excess errors)
> gcc.target/arm/atomic-op-acquire-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-acquire-3.c scan-assembler-times ldaex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-acquire-3.c scan-assembler-times strex\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-char-3.c (test for excess errors)
> gcc.target/arm/atomic-op-char-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-char-3.c scan-assembler-times ldrexb\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-char-3.c scan-assembler-times strexb\t...?, r[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-consume-3.c (test for excess errors)
> gcc.target/arm/atomic-op-consume-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-consume-3.c scan-assembler-times ldaex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-consume-3.c scan-assembler-times strex\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-int-3.c (test for excess errors)
> gcc.target/arm/atomic-op-int-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-int-3.c scan-assembler-times ldrex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-int-3.c scan-assembler-times strex\t...?, r[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-relaxed-3.c (test for excess errors)
> gcc.target/arm/atomic-op-relaxed-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-relaxed-3.c scan-assembler-times ldrex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-relaxed-3.c scan-assembler-times strex\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-release-3.c (test for excess errors)
> gcc.target/arm/atomic-op-release-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-release-3.c scan-assembler-times ldrex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-release-3.c scan-assembler-times stlex\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-seq_cst-3.c (test for excess errors)
> gcc.target/arm/atomic-op-seq_cst-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-seq_cst-3.c scan-assembler-times ldaex\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-seq_cst-3.c scan-assembler-times stlex\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-short-3.c (test for excess errors)
> gcc.target/arm/atomic-op-short-3.c scan-assembler-not dmb
> gcc.target/arm/atomic-op-short-3.c scan-assembler-times ldrexh\tr[0-9]+, 
> \\[r[0-9]+\\] 6
> gcc.target/arm/atomic-op-short-3.c scan-assembler-times strexh\t...?, 
> r[0-9]+, \\[r[0-9]+\\] 6
> gcc.target/arm/builtin-bswap-2.c (test for excess errors)
> gcc.target/arm/builtin-bswap-2.c scan-assembler-not orr[ \t]
> gcc.target/arm/builtin-bswap-2.c scan-assembler-times rev16\\t 2
> gcc.target/arm/builtin-bswap-2.c scan-assembler-times rev\\t 4
> gcc.target/arm/builtin-bswap-2.c scan-assembler-times revsh\\t 2
> gcc.target/arm/builtin-bswap16-2.c (test for excess errors)
> gcc.target/arm/builtin-bswap16-2.c scan-assembler-not orr[ \t]
> gcc.target/arm/pr89190.c (test for excess errors)
> gcc.target/arm/pr95646.c (test for excess errors)
> gcc.target/arm/pr95646.c check-function-bodies __acle_se_bar
> gcc.target/arm/pr95646.c scan-assembler-not mov\tr9, r0
>
> and all cmse tests
>
> 2021-04-22  Christophe Lyon  <christophe.l...@linaro.org>
>
>         gcc/
>         * config/arm/arm.h (CPP_SPEC): Remove error message about
>         -mfloat-abi.
> ---
>  gcc/config/arm/arm.h | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
> index c70af57..e430e4d 100644
> --- a/gcc/config/arm/arm.h
> +++ b/gcc/config/arm/arm.h
> @@ -90,8 +90,6 @@ extern tree arm_bf16_ptr_type_node;
>
>  #undef  CPP_SPEC
>  #define CPP_SPEC "%(subtarget_cpp_spec)                                      
>   \
> -%{mfloat-abi=soft:%{mfloat-abi=hard:                                   \
> -       %e-mfloat-abi=soft and -mfloat-abi=hard may not be used together}} \
>  %{mbig-endian:%{mlittle-endian:                                              
>   \
>         %e-mbig-endian and -mlittle-endian may not be used together}}"
>
> --
> 2.7.4
>

Reply via email to