diff options
author | Richard Henderson <rth@gcc.gnu.org> | 2000-08-08 02:18:47 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-08-08 02:18:47 -0700 |
commit | 0548a9df61ee11f45406ca8c0845afc663de522c (patch) | |
tree | ce7863996435c28cbfbe8f3f461504effdca6367 /gcc/regclass.c | |
parent | db2e2f480c906879dad6930e4fe0784a52814426 (diff) | |
download | gcc-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.c | 8 |
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; |