Commit db30db99 by Richard Kenner Committed by Richard Kenner

reload.c (push_reload): When seeing if can reuse a register...

	* reload.c (push_reload): When seeing if can reuse a register,
	check extra registers against widest of INMODE and OUTMODE.

From-SVN: r34891
parent 774c79ed
Thu Jul 6 18:30:36 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* reload.c (push_reload): When seeing if can reuse a register,
check extra registers against widest of INMODE and OUTMODE.
2000-07-06 Neil Booth <NeilB@earthling.net> 2000-07-06 Neil Booth <NeilB@earthling.net>
* cpplib.c: (_cpp_parse_assertion): Perform hash lookups * cpplib.c: (_cpp_parse_assertion): Perform hash lookups
......
...@@ -1470,8 +1470,10 @@ push_reload (in, out, inloc, outloc, class, ...@@ -1470,8 +1470,10 @@ push_reload (in, out, inloc, outloc, class,
&& GET_MODE_SIZE (outmode) <= GET_MODE_SIZE (GET_MODE (XEXP (note, 0))) && GET_MODE_SIZE (outmode) <= GET_MODE_SIZE (GET_MODE (XEXP (note, 0)))
&& HARD_REGNO_MODE_OK (regno, outmode)) && HARD_REGNO_MODE_OK (regno, outmode))
{ {
int offs; unsigned int offs;
int nregs = HARD_REGNO_NREGS (regno, inmode); unsigned int nregs = MAX (HARD_REGNO_NREGS (regno, inmode),
HARD_REGNO_NREGS (regno, outmode));
for (offs = 0; offs < nregs; offs++) for (offs = 0; offs < nregs; offs++)
if (fixed_regs[regno + offs] if (fixed_regs[regno + offs]
|| ! TEST_HARD_REG_BIT (reg_class_contents[(int) class], || ! TEST_HARD_REG_BIT (reg_class_contents[(int) class],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment