https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92865
--- Comment #5 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to Richard Biener from comment #4)
> (In reply to Hongtao.liu from comment #3)
> > Since TARGET_XOP only supports 128-bit vector compare,
> > ix86_valid_mask_cmp_mode should also handle 256/512-bit vector compare when
> > avx512f is avalable.
> >
> >
> > untested patch
> >
> > @@ -3428,7 +3428,7 @@ static bool
> > ix86_valid_mask_cmp_mode (machine_mode mode)
> > {
> > /* XOP has its own vector conditional movement. */
> > - if (TARGET_XOP)
> > + if (TARGET_XOP && GET_MODE_SIZE (mode) == 128)
> > return false;
>
> Shouldn't we do sth like TARGET_XOP && !TARGET_AVX512F instead? That is
> maybe simply elide that check completely, not sure why it was added.
True, thanks
>
> > /* AVX512F is needed for mask operation. */
> >
> > I'll add some testcase later.