Commit 427071d4 by Sam Tebbs

[PATCH][GCC][ARM] Ensure dotproduct is only enabled on armv8 neon


gcc/ChangeLog:

2018-11-30  Sam Tebbs<sam.tebbs@arm.com>

	* config/arm/arm.h (TARGET_DOTPROD): Add TARGET_VFP5 constraint.

gcc/testsuite/ChangeLog:

2018-11-30  Sam Tebbs<sam.tebbs@arm.com>

	* gcc.target/arm/neon-dotprod-restriction.c: New file.
	* lib/target-supports.exp
	(check_effective_target_arm_v8_2a_dotprod_neon_ok_nocache): Include
	stdint.h.

From-SVN: r266665
parent 6e644a50
2018-11-30 Sam Tebbs <sam.tebbs@arm.com>
* config/arm/arm.h (TARGET_DOTPROD): Add TARGET_VFP5 constraint.
2018-11-30 Martin Liska <mliska@suse.cz> 2018-11-30 Martin Liska <mliska@suse.cz>
PR sanitizer/81715 PR sanitizer/81715
...@@ -214,7 +214,7 @@ extern tree arm_fp16_type_node; ...@@ -214,7 +214,7 @@ extern tree arm_fp16_type_node;
#define TARGET_NEON_RDMA (TARGET_NEON && arm_arch8_1) #define TARGET_NEON_RDMA (TARGET_NEON && arm_arch8_1)
/* Supports the Dot Product AdvSIMD extensions. */ /* Supports the Dot Product AdvSIMD extensions. */
#define TARGET_DOTPROD (TARGET_NEON \ #define TARGET_DOTPROD (TARGET_NEON && TARGET_VFP5 \
&& bitmap_bit_p (arm_active_target.isa, \ && bitmap_bit_p (arm_active_target.isa, \
isa_bit_dotprod) \ isa_bit_dotprod) \
&& arm_arch8_2) && arm_arch8_2)
......
2018-11-30 Sam Tebbs <sam.tebbs@arm.com>
* gcc.target/arm/neon-dotprod-restriction.c: New file.
* lib/target-supports.exp
(check_effective_target_arm_v8_2a_dotprod_neon_ok_nocache): Include
stdint.h.
2018-11-30 Martin Liska <mliska@suse.cz> 2018-11-30 Martin Liska <mliska@suse.cz>
PR sanitizer/81715 PR sanitizer/81715
* c-c++-common/asan/asan-stack-small.c: New test. * c-c++-common/asan/asan-stack-small.c: New test.
>>>>>>> .r266664
2018-11-30 Richard Biener <rguenther@suse.de> 2018-11-30 Richard Biener <rguenther@suse.de>
* gcc.dg/gimplefe-34.c: New testcase. * gcc.dg/gimplefe-34.c: New testcase.
......
...@@ -4437,6 +4437,7 @@ proc check_effective_target_arm_v8_2a_dotprod_neon_ok_nocache { } { ...@@ -4437,6 +4437,7 @@ proc check_effective_target_arm_v8_2a_dotprod_neon_ok_nocache { } {
foreach flags {"" "-mfloat-abi=softfp -mfpu=neon-fp-armv8" "-mfloat-abi=hard -mfpu=neon-fp-armv8"} { foreach flags {"" "-mfloat-abi=softfp -mfpu=neon-fp-armv8" "-mfloat-abi=hard -mfpu=neon-fp-armv8"} {
if { [check_no_compiler_messages_nocache \ if { [check_no_compiler_messages_nocache \
arm_v8_2a_dotprod_neon_ok object { arm_v8_2a_dotprod_neon_ok object {
#include <stdint.h>
#if !defined (__ARM_FEATURE_DOTPROD) #if !defined (__ARM_FEATURE_DOTPROD)
#error "__ARM_FEATURE_DOTPROD not defined" #error "__ARM_FEATURE_DOTPROD not defined"
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment