aboutsummaryrefslogtreecommitdiff
path: root/gcc/regclass.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2000-08-08 02:18:47 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-08-08 02:18:47 -0700
commit0548a9df61ee11f45406ca8c0845afc663de522c (patch)
treece7863996435c28cbfbe8f3f461504effdca6367 /gcc/regclass.c
parentdb2e2f480c906879dad6930e4fe0784a52814426 (diff)
downloadgcc-0548a9df61ee11f45406ca8c0845afc663de522c.zip
gcc-0548a9df61ee11f45406ca8c0845afc663de522c.tar.gz
gcc-0548a9df61ee11f45406ca8c0845afc663de522c.tar.bz2
* regclass.c (choose_hard_reg_mode): Iterate over all CC modes.
From-SVN: r35566
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r--gcc/regclass.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c
index 4439857..90c59b2 100644
--- a/gcc/regclass.c
+++ b/gcc/regclass.c
@@ -618,9 +618,11 @@ choose_hard_reg_mode (regno, nregs)
if (found_mode != VOIDmode)
return found_mode;
- if (HARD_REGNO_NREGS (regno, CCmode) == nregs
- && HARD_REGNO_MODE_OK (regno, CCmode))
- return CCmode;
+ /* Iterate over all of the CCmodes. */
+ for (mode = CCmode; mode < NUM_MACHINE_MODES; ++mode)
+ if (HARD_REGNO_NREGS (regno, mode) == nregs
+ && HARD_REGNO_MODE_OK (regno, mode))
+ return mode;
/* We can't find a mode valid for this register. */
return VOIDmode;