mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-07 07:06:50 +08:00
* regclass.c (choose_hard_reg_mode): Handle vector arguments.
From-SVN: r47338
This commit is contained in:
parent
3cc9a32fc7
commit
78b583fed8
@ -1,3 +1,7 @@
|
||||
2001-11-25 Aldy Hernandez <aldyh@redhat.com>
|
||||
|
||||
* regclass.c (choose_hard_reg_mode): Handle vector arguments.
|
||||
|
||||
2001-11-26 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* final.c: (insn_lengths): Make it an int *, so that large jump
|
||||
|
@ -713,6 +713,26 @@ choose_hard_reg_mode (regno, nregs)
|
||||
if (found_mode != VOIDmode)
|
||||
return found_mode;
|
||||
|
||||
for (mode = GET_CLASS_NARROWEST_MODE (MODE_VECTOR_FLOAT);
|
||||
mode != VOIDmode;
|
||||
mode = GET_MODE_WIDER_MODE (mode))
|
||||
if (HARD_REGNO_NREGS (regno, mode) == nregs
|
||||
&& HARD_REGNO_MODE_OK (regno, mode))
|
||||
found_mode = mode;
|
||||
|
||||
if (found_mode != VOIDmode)
|
||||
return found_mode;
|
||||
|
||||
for (mode = GET_CLASS_NARROWEST_MODE (MODE_VECTOR_INT);
|
||||
mode != VOIDmode;
|
||||
mode = GET_MODE_WIDER_MODE (mode))
|
||||
if (HARD_REGNO_NREGS (regno, mode) == nregs
|
||||
&& HARD_REGNO_MODE_OK (regno, mode))
|
||||
found_mode = mode;
|
||||
|
||||
if (found_mode != VOIDmode)
|
||||
return found_mode;
|
||||
|
||||
/* Iterate over all of the CCmodes. */
|
||||
for (m = (unsigned int) CCmode; m < (unsigned int) NUM_MACHINE_MODES; ++m)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user