From f87ebcbc466cf15f58db28d36c54dfab2a3e4e59 Mon Sep 17 00:00:00 2001 From: ktkachov Date: Thu, 7 Feb 2019 09:32:46 +0000 Subject: [PATCH] [arm] Use neon_dot_q type for 128-bit V[US]DOT instructions where appropriate For the Dot Product instructions we have the scheduling types neon_dot and neon_dot_q for the 128-bit versions. It seems that we're only using the former though, not assigning the neon_dot_q type anywhere. This patch fixes that by adding the mode attribute suffix to the type, similar to how we do it for other types in neon.md. * config/arm/neon.md (neon_dot): Use neon_dot for type. (neon_dot_lane): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@268611 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/config/arm/neon.md | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6d2067ad98d1..eabd7c9edc4c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-02-07 Kyrylo Tkachov + + * config/arm/neon.md (neon_dot): + Use neon_dot for type. + (neon_dot_lane): Likewise. + 2019-02-07 Kyrylo Tkachov * config/aarch64/aarch64-simd.md (aarch64_dot): diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md index f9d7ba35b137..4a2c7b99881e 100644 --- a/gcc/config/arm/neon.md +++ b/gcc/config/arm/neon.md @@ -3542,7 +3542,7 @@ DOTPROD)))] "TARGET_DOTPROD" "vdot.\\t%0, %2, %3" - [(set_attr "type" "neon_dot")] + [(set_attr "type" "neon_dot")] ) ;; These instructions map to the __builtins for the Dot Product @@ -3561,7 +3561,7 @@ = GEN_INT (NEON_ENDIAN_LANE_N (V8QImode, INTVAL (operands[4]))); return "vdot.\\t%0, %2, %P3[%c4]"; } - [(set_attr "type" "neon_dot")] + [(set_attr "type" "neon_dot")] ) ;; These expands map to the Dot Product optab the vectorizer checks for. -- 2.47.2