In LRA rematerialization wrong mode is used to find register conflicts. It
can result in wrong rematerialization. The patch fixes this.
gcc/ChangeLog:
* lra-remat.cc (reg_overlap_for_remat_p): Use the right mode for
regno2.
if (regno2 >= FIRST_PSEUDO_REGISTER)
nregs2 = 1;
else
- nregs2 = hard_regno_nregs (regno2, reg->biggest_mode);
+ nregs2 = hard_regno_nregs (regno2, reg2->biggest_mode);
if ((regno2 + nregs2 - 1 >= regno && regno2 < regno + nregs)
|| (regno + nregs - 1 >= regno2 && regno < regno2 + nregs2))