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.

Reply via email to