On Wed, Jun 16, 2021 at 01:51:16PM -0500, Aaron Sawdey wrote:
> The add-logical and add-add fusion patterns all have constraint
> alternatives "=0,1,&r,r" for the output (3). The inputs 0 and 1
> are used in the first fusion instruction and then either may be
> reused as a temp for the output of the first insn which is
> input to the second. However, if input 2 is the same as 0 or 1,
> it gets clobbered unexpectedly. So the first 2 alts need to be
> "=&0,&1,&r,r" instead to indicate that in alts 0 and 1, the
> register used for 3 is earlyclobber, hence can't be the same as
> input 2.

>       * config/rs6000/genfusion.pl (gen_logical_addsubf): Add
>       earlyclobber to alts 0/1.

You can break that line later, after "to" even.  Just FYI :-)

This is okay for trunk and backport to 10.  Thanks!


Segher

Reply via email to