[PATCH][AArch64] Wire up TARGET_SIMD and TARGET_FLOAT properly

Kyrill Tkachov kyrylo.tkachov@arm.com
Mon Apr 7 13:46:00 GMT 2014


Hi all,

Currently if we specify something like -march=armv8-a+nosimd or -mcpu=<cpu-name>+nosimd the backend will not use it properly to setup the TARGET_SIMD internal boolean that the backend checks for SIMD availability. In the end, the only effective way of disabling SIMD instructions was to specify -mgeneral-regs-only.

This patch fixes the situation by wiring up TARGET_SIMD (and TARGET_FLOAT and TARGET_CRYPTO) to take ito account the relevant AARCH64_ISA_* flags.

This is a bug-fix for an issue that exists in 4.8 as well. Patch for that branch coming soon.
In the meantime I think this should go in at this stage.

Ok for trunk?

Thanks,
Kyrill

2014-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
	TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
	(TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
	(TARGET_FLOAT): Take AARCH64_ISA_FP into account.
	(TARGET_CRYPTO): Take TARGET_SIMD into account.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aarch64-target-simd.patch
Type: text/x-patch
Size: 1312 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20140407/c582000c/attachment.bin>


More information about the Gcc-patches mailing list