On 8/22/19 4:53 PM, Kyrill Tkachov wrote:
Hi all,
We currently have a nasty error when trying to use the __crc*
intrinsics with an -mfloat-abi=hard.
That is because the target pragma guarding them uses armv8-a+crc that
does not include fp by default.
So we get errors like:
error: '-mfloat-abi=hard': selected processor lacks an FPU
This patch fixes that by using an FP-enabled arch target pragma to
guard these intrinsics when floating-point is available.
That way both the softfloat and hardfloat variants work.
Bootstrapped and tested on arm-none-linux-gnueabihf.
Committing to trunk. Will backport to branches later.
Now backported to GCC 9 and 8 branches after bootstrapping and testing
there.
Will do GCC 7 once I get more testing cycles.
Thanks,
Kyrill
Thanks,
Kyrill
2019-08-22 Kyrylo Tkachov <kyrylo.tkac...@arm.com>
* config/arm/arm_acle.h: Use arch=armv8-a+crc+simd pragma for CRC32
intrinsics if __ARM_FP.
Use __ARM_FEATURE_CRC32 ifdef guard.
2019-08-22 Kyrylo Tkachov <kyrylo.tkac...@arm.com>
* gcc.target/arm/acle/crc_hf_1.c: New test.