On Wed, Oct 21, 2020 at 11:11 AM Hongyu Wang <wwwhhhyyy...@gmail.com> wrote:
>
> Hi,
>
> > IIRC, adding a new regclass is O(n^2), so it should be avoided. I
> > think that the new patterns should follow the same path as vzeroall
> > and vzeroupper patterns, where we emit the pattern with explicit hard
> > regs.
> >
> > BTW: We do have SSE_FIRST_REG class, but this class was added to solve
> > some reload problems in the past by marking %xmm0 as likely spilled.
>
> Thanks for your suggestion, we have removed the register classes and 
> constraints, and
> set explicit sse hard registers in the expander. The corresponding patterns 
> are also adjusted,
>
> Update and rebased patch.

The attached patch goes only half-way to using explicit registers. As
said previously, please see how avx_vzeroall expander is generating
its insn pattern, and how *avx_vzeroall matches the generated pattern
using "vzeroall_operation" predicate.

Uros.

Reply via email to