]> git.ipfire.org Git - thirdparty/gcc.git/commit
Mid engine setup [SU]ABDL
authorOluwatamilore Adebayo <oluwatamilore.adebayo@arm.com>
Fri, 30 Jun 2023 11:28:45 +0000 (12:28 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Fri, 30 Jun 2023 11:28:45 +0000 (12:28 +0100)
commitaec90c8bf30cbd66e4febae2c78622dc217f3918
tree41a03f2e35293d6508a0f32a67bb28803615cd84
parent80f312154eb057e66d31c95e77673780fbfcb14d
Mid engine setup [SU]ABDL

This updates vect_recog_abd_pattern to recognize the widening
variant of absolute difference (ABDL, ABDL2).

gcc/ChangeLog:

* internal-fn.def (VEC_WIDEN_ABD): New internal hilo optab.
* optabs.def (vec_widen_sabd_optab,
vec_widen_sabd_hi_optab, vec_widen_sabd_lo_optab,
vec_widen_sabd_odd_even, vec_widen_sabd_even_optab,
vec_widen_uabd_optab,
vec_widen_uabd_hi_optab, vec_widen_uabd_lo_optab,
vec_widen_uabd_odd_even, vec_widen_uabd_even_optab):
New optabs.
* doc/md.texi: Document them.
* tree-vect-patterns.cc (vect_recog_abd_pattern): Update to
to build a VEC_WIDEN_ABD call if the input precision is smaller
than the precision of the output.
(vect_recog_widen_abd_pattern): Should an ABD expression be
found preceeding an extension, replace the two with a
VEC_WIDEN_ABD.
gcc/doc/md.texi
gcc/internal-fn.def
gcc/optabs.def
gcc/tree-vect-patterns.cc