Hello Richard,

On 19 Aug 14:17, Richard Henderson wrote:
> On 08/14/2013 12:23 AM, Kirill Yukhin wrote:
> > +  ;; For AVX512F mask support
> > +  UNSPEC_KIOR
> > +  UNSPEC_KXOR
> > +  UNSPEC_KAND
> > +  UNSPEC_KANDN
> 
> I thought we determined that you didn't need these,
> that "*Yk" as a constraint was sufficient.

As far as I understood, we're talking about incorporating
of mask logic instructions into existing patterns + making 
mask constraints disparage.

E.g. for OR we have:
  (define_insn "*<code><mode>_1"
    [(set (match_operand:SWI248 0 "nonimmediate_operand" "=r,rm")
          (any_or:SWI248
           (match_operand:SWI248 1 "nonimmediate_operand" "%0,0")
           (match_operand:SWI248 2 "<general_operand>" "<g>,r<i>")))
     (clobber (reg:CC FLAGS_REG))]
    "ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
    "<logic>{<imodesuffix>}\t{%2, %0|%0, %2}"

Despite of generic OR, mask version of OR do not clobber FLAGS_REG.
Of course, we may conservatively think that it is, but I believe
this is not good idea.
Making single constraint in new pattern disparage have no sense
as far as I understad, since this is relative notion.
So, what should I do?

--
Thanks, K


Reply via email to