On Thu, Jun 17, 2021 at 11:44 AM Richard Biener <rguent...@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.