Hi!

On Mon, Aug 12, 2024 at 09:55:07AM +0100, Richard Sandiford wrote:
> "Kewen.Lin" <li...@linux.ibm.com> writes:
> > (define_insn "*vsx_le_perm_store_<mode>"
> >   [(set (match_operand:VSX_LE_128 0 "memory_operand" "=Z,Q")
> >         (match_operand:VSX_LE_128 1 "vsx_register_operand" "+wa,r"))]
> 
> Is it well-formed to have "+" on an operand that is only semantically
> an input?  df and most passes would consider it to be a pure input
> and so would disregard any write that is intended to take place.

It is well-formed, but it doesn't make sense, indeed :-)  Named patterns
have requirements on their arguments, but everything else is whatever
the target wants :-)

Hopefully *no* passes will consider this a pure input, we have that "+"
after all!  It would be better if it wasn't there, sure.


Segher

Reply via email to