Hi Tamar,
On 01/09/17 14:33, Tamar Christina wrote:
Hi All,
This patch adds the instructions for Dot Product to ARM along
with the intrinsics and vectorizer pattern.
Armv8.2-a dot product supports 8-bit element values both
signed and unsigned.
Dot product is available from Armv8.2-a and onwards.
Regtested and bootstrapped on arm-none-eabi and no issues.
Ok for trunk?
This is ok once the prerequisites are approved with one ChangeLog nit.
Kyrill
gcc/
2017-09-01 Tamar Christina <tamar.christ...@arm.com>
* config/arm/arm-builtins.c (arm_unsigned_uternop_qualifiers): New.
(UTERNOP_QUALIFIERS, arm_umac_lane_qualifiers, UMAC_LANE_QUALIFIERS):
New.
* config/arm/arm_neon_builtins.def (sdot, udot, sdot_lane, udot_lane):
new.
* config/arm/iterators.md (DOTPROD, DOT_MODE, dot_mode): New.
(UNSPEC_DOT_S, UNSPEC_DOT_U, opsuffix): New.
* config/arm/neon.md (neon_<sup>dot<dot_mode>): New.
(neon_<sup>dot_lane<dot_mode>, <sup>dot_prod<dot_mode>): New.
* config/arm/types.md (neon_dot, neon_dot_q): New.
* config/arm/unspecs.md (UNSPEC_DOT_S, UNSPEC_DOT_U): New.
diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md
index
7acbaf1bb40a4f270e75968804546508f7839e49..139e09fd929e17216ad9383505f1453a73d071fb
100644
--- a/gcc/config/arm/iterators.md
--snip---
;;----------------------------------------------------------------------------
;; Code attributes
;;----------------------------------------------------------------------------
@@ -816,6 +822,7 @@
(UNSPEC_VSRA_S_N "s") (UNSPEC_VSRA_U_N "u")
(UNSPEC_VRSRA_S_N "s") (UNSPEC_VRSRA_U_N "u")
(UNSPEC_VCVTH_S "s") (UNSPEC_VCVTH_U "u")
+ (UNSPEC_DOT_S "s") (UNSPEC_DOT_U "u")
])
In your ChangeLog you list this as "New" whereas your patch just adds them to the
"sup" int_attr.