On Fri, Jun 14, 2024 at 6:31 PM Richard Biener <rguent...@suse.de> wrote: > > The following retires vcond{,u,eq} optabs by stopping to use them > from the middle-end. Targets instead (should) implement vcond_mask > and vec_cmp{,u,eq} optabs. The PR this change refers to lists > possibly affected targets - those implementing these patterns, > and in particular it lists mips, sparc and ia64 as targets that > most definitely will regress while others might simply remove > their vcond{,u,eq} patterns. > > I'd appreciate testing, I do not expect fallout for x86 or arm/aarch64. > I know riscv doesn't implement any of the legacy optabs. But less > maintained vector targets might need adjustments. > At GCC14, I tried to remove these expanders in the x86 backend, and it regressed some testcases, mainly because of the optimizations we did in ix86_expand_{int,fp}_vcond. I've started testing your patch, it's possible that we still need to move the ix86_expand_{int,fp}_vcond optimizations to the middle-end(isel or match.pd)or add extra patterns to handle it at the rtl pas_combine.
-- BR, Hongtao