[PATCH][RFC] Add x86 subadd SLP pattern

Uros Bizjak ubizjak@gmail.com
Thu Jun 17 09:59:06 GMT 2021


On Thu, Jun 17, 2021 at 11:44 AM Richard Biener <rguenther@suse.de> wrote:
>
> This addds SLP pattern recognition for the SSE3/AVX [v]addsubp{ds} v0, v1
> instructions which compute { v0[0] - v1[0], v0[1], + v1[1], ... }
> thus subtract, add alternating on lanes, starting with subtract.
>
> It adds a corresponding optab and direct internal function,
> vec_subadd$a3 and at the moment to make the i386 backend changes
> "obvious", duplicates the existing avx_addsubv4df3 pattern with
> the new canonical name (CODE_FOR_* and gen_* are used throughout the
> intrinsic code, so the actual change to rename all existing patterns
> will be quite a bit bigger).  I expect some bike-shedding on
> subadd vs. addsub so I delay that change ;)

Well, the pattern is called addsub in the x86 world because highpart
does add and lowpart does sub. In left-to-right writing systems
highpart comes before lowpart, so you have addsub.

Uros.


More information about the Gcc-patches mailing list