[PATCH][GCC][ARM] Ensure dotproduct is only enabled on armv8 neon
authorSam Tebbs <samtebbs@gcc.gnu.org>
Fri, 30 Nov 2018 14:38:11 +0000 (14:38 +0000)
committerSam Tebbs <samtebbs@gcc.gnu.org>
Fri, 30 Nov 2018 14:38:11 +0000 (14:38 +0000)
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

gcc/ChangeLog
gcc/config/arm/arm.h
gcc/testsuite/ChangeLog
gcc/testsuite/lib/target-supports.exp

index c10bfc3..18feaf5 100644 (file)
@@ -1,3 +1,7 @@
+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>
 
        PR sanitizer/81715
index 8472312..ab63fc5 100644 (file)
@@ -214,7 +214,7 @@ extern tree arm_fp16_type_node;
 #define TARGET_NEON_RDMA (TARGET_NEON && arm_arch8_1)
 
 /* 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,         \
                                        isa_bit_dotprod)                \
                        && arm_arch8_2)
index 33b42aa..4963b1d 100644 (file)
@@ -1,8 +1,16 @@
+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>
 
        PR sanitizer/81715
        * c-c++-common/asan/asan-stack-small.c: New test.
 
+>>>>>>> .r266664
 2018-11-30  Richard Biener  <rguenther@suse.de>
 
        * gcc.dg/gimplefe-34.c: New testcase.
index f18cf2a..3baa2da 100644 (file)
@@ -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"} {
         if { [check_no_compiler_messages_nocache \
                   arm_v8_2a_dotprod_neon_ok object {
+           #include <stdint.h>
             #if !defined (__ARM_FEATURE_DOTPROD)
             #error "__ARM_FEATURE_DOTPROD not defined"
             #endif