Message ID | 8ee4d3d3-b3d7-8348-9faa-a953d177fb4b@foss.arm.com |
---|---|
State | New |
Headers | show |
Likewise for embedded-7-branch. Best regards, Thomas On 10/07/17 15:16, Thomas Preudhomme wrote: > Hi, > > The new instructions in FPV5-SP-D16 compared to FPv4-SP-D16 are not > generated when building libgcc, newlib of libstdc++ such that libgcc.a, > libc.a and libstdc++.a have the same objdump output for these two > variants. It is therefore a waste of build time to be building a > multilib for ARMv7E-M FPV5-SP-D16 when selecting rmprofile multilib > variant. This patch applied to embedded-6-branch removes that multilib > and map FPv5-SP-D16 to FPv4-SP-D16. > > ChangeLog entry is as follows: > > *** gcc/ChangeLog.arm *** > > 2017-07-04 Thomas Preud'homme <thomas.preudhomme@arm.com> > > * config/arm/t-rmprofile: Remove multilibs for fpv5-sp-d16 and map it to > fpv4-sp-d16. > > Tested by configuring GCC with --with-multilib-list=rmprofile, building it and > running the following: > > % ./install/bin/arm-none-eabi-gcc -march=armv7e-m -mfpu=fpv5-sp-d16 > -mfloat-abi=hard -print-multi-directory > thumb/v7e-m/fpv4-sp/hard > > % ./install/bin/arm-none-eabi-gcc -march=armv7e-m -mfpu=fpv5-sp-d16 > -mfloat-abi=softfp -print-multi-directory > thumb/v7e-m/fpv4-sp/softfp > > Best regards, > > Thomas
diff --git a/gcc/config/arm/t-rmprofile b/gcc/config/arm/t-rmprofile index 93aa909b4d942ad9875a95e0d4397ff17b317905..0f3742009b1459f14d5ebbaaeb0fd080e79c8acb 100644 --- a/gcc/config/arm/t-rmprofile +++ b/gcc/config/arm/t-rmprofile @@ -74,8 +74,6 @@ MULTILIB_REQUIRED += mthumb/march=armv7e-m/mfpu=fpv4-sp-d16/mfloat-abi=soft MULTILIB_REQUIRED += mthumb/march=armv7e-m/mfpu=fpv4-sp-d16/mfloat-abi=hard MULTILIB_REQUIRED += mthumb/march=armv7e-m/mfpu=fpv5-d16/mfloat-abi=softfp MULTILIB_REQUIRED += mthumb/march=armv7e-m/mfpu=fpv5-d16/mfloat-abi=hard -MULTILIB_REQUIRED += mthumb/march=armv7e-m/mfpu=fpv5-sp-d16/mfloat-abi=softfp -MULTILIB_REQUIRED += mthumb/march=armv7e-m/mfpu=fpv5-sp-d16/mfloat-abi=hard # ARMv8-M Mainline MULTILIB_REQUIRED += mthumb/march=armv8-m.main @@ -174,3 +172,7 @@ MULTILIB_REUSE += mthumb/march.armv7/mfpu.vfpv3-d16/mfloat-abi.softfp=ma MULTILIB_REUSE += mthumb/march.armv7/mfpu.vfpv3-d16/mfloat-abi.hard=march.armv7/mfpu.fpv5-d16/mfloat-abi.hard MULTILIB_REUSE += mthumb/march.armv7/mfpu.vfpv3-d16/mfloat-abi.softfp=mthumb/march.armv7/mfpu.fpv5-d16/mfloat-abi.softfp MULTILIB_REUSE += mthumb/march.armv7/mfpu.vfpv3-d16/mfloat-abi.hard=mthumb/march.armv7/mfpu.fpv5-d16/mfloat-abi.hard + +# Map ARMv7E-M FPV5-SP-D16 to FPV4-SP-D16 +MULTILIB_REUSE += mthumb/march.armv7e-m/mfpu.fpv4-sp-d16/mfloat-abi.softfp=mthumb/march.armv7e-m/mfpu.fpv5-sp-d16/mfloat-abi.softfp +MULTILIB_REUSE += mthumb/march.armv7e-m/mfpu.fpv4-sp-d16/mfloat-abi.hard=mthumb/march.armv7e-m/mfpu.fpv5-sp-d16/mfloat-abi.hard