https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127237

--- Comment #3 from Georg-Johann Lay <gjl at gcc dot gnu.org> ---
One difference in the IRA dumps above is:

With Reload (v0 dump):

      Popping a3(r50,l0)  --         assign reg 18
      Popping a2(r48,l0)  --         assign reg 18
      Popping a0(r47,l0)  --         assign reg 18
      Popping a1(r49,l0)  --         assign reg 22
Assigning 22 to a0r47

so IRA improved the a0 in ira-color.cc::improve_allocation() whereas with LRA
it doesn't (v1 dump).  a0 is R22, but a2 and a1 are completely ignoring that
andsi3 is a 2-operand insn:

      Popping a2(r48,l0)  --         assign reg 24
      Popping a3(r50,l0)  --         assign reg 18
      Popping a0(r47,l0)  --         assign reg 22
      Popping a1(r49,l0)  --         assign reg 28

Reply via email to