From: Kyrylo Tkachov Date: Thu, 7 Feb 2019 09:31:33 +0000 (+0000) Subject: [AArch64] Use neon_dot_q type for 128-bit [US]DOT instructions where appropriate X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3ed8fcfa3a82b0986b4c2090a3ea4b5fdfddeb3b;p=gcc.git [AArch64] Use neon_dot_q type for 128-bit [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 aarch64-simd.md. * config/aarch64/aarch64-simd.md (aarch64_dot): Use neon_dot for type. (aarch64_dot_lane): Likewise. (aarch64_dot_laneq): Likewise. From-SVN: r268610 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3b8a343f1d5..6d2067ad98d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-02-07 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (aarch64_dot): + Use neon_dot for type. + (aarch64_dot_lane): Likewise. + (aarch64_dot_laneq): Likewise. + 2019-02-06 Vladimir Makarov PR rtl-optimization/89225 diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md index 805d7a895fa..cae9a8f13bb 100644 --- a/gcc/config/aarch64/aarch64-simd.md +++ b/gcc/config/aarch64/aarch64-simd.md @@ -503,7 +503,7 @@ DOTPROD)))] "TARGET_DOTPROD" "dot\\t%0., %2., %3." - [(set_attr "type" "neon_dot")] + [(set_attr "type" "neon_dot")] ) ;; These expands map to the Dot Product optab the vectorizer checks for. @@ -555,7 +555,7 @@ operands[4] = aarch64_endian_lane_rtx (V8QImode, INTVAL (operands[4])); return "dot\\t%0., %2., %3.4b[%4]"; } - [(set_attr "type" "neon_dot")] + [(set_attr "type" "neon_dot")] ) (define_insn "aarch64_dot_laneq" @@ -570,7 +570,7 @@ operands[4] = aarch64_endian_lane_rtx (V16QImode, INTVAL (operands[4])); return "dot\\t%0., %2., %3.4b[%4]"; } - [(set_attr "type" "neon_dot")] + [(set_attr "type" "neon_dot")] ) (define_expand "copysign3"