This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r267270 - in /trunk/gcc: ChangeLog config/arm/a...


Author: thopre01
Date: Wed Dec 19 15:01:41 2018
New Revision: 267270

URL: https://gcc.gnu.org/viewcvs?rev=267270&root=gcc&view=rev
Log:
[ARM] Do softfloat when -mfpu set, -mfloat-abi=softfp

FP instructions are only enabled for TARGET_32BIT and TARGET_HARD_FLOAT
but GCC only gives an error when TARGET_HARD_FLOAT is true and -mfpu is
not set. Among other things, it makes some of the cmse tests (eg.
gcc.target/arm/cmse/baseline/softfp.c) fail when targeting
-march=armv8-m.base -mcmse -mfpu=<something> -mfloat-abi=softfp. This
commit adds an extra check for TARGET_32BIT to TARGET_HARD_FLOAT such
that it is false on TARGET_THUMB1 targets even when a FPU is specified.

2018-12-19  thomas Preud'homme  <thomas.preudhomme@linaro.org>

    gcc/
    * config/arm/arm.h (TARGET_HARD_FLOAT): Restrict to TARGET_32BIT
    targets.
    * config/arm/arm.c (output_return_instruction): Only check
    TARGET_HARD_FLOAT to decide whether FP instructions are available.

    gcc/testsuite/
    * gcc.target/arm/cmse/baseline/softfp.c: Force an FPU.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/arm/arm.c
    trunk/gcc/config/arm/arm.h
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/arm/cmse/baseline/softfp.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]