aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload.c
diff options
context:
space:
mode:
authorgjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>2013-01-28 20:03:26 +0000
committergjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>2013-01-28 20:03:26 +0000
commit253993389794396f05a457bd029c6f38f2705f19 (patch)
tree51f69a79495e01d0369cd4bf6546fc69c24e0d77 /gcc/reload.c
parent12e51a1d9272bbff14e487691ecccfbc970f637e (diff)
PR other/54814
* reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of TEST_HARD_REG_BIT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195515 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload.c')
-rw-r--r--gcc/reload.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/reload.c b/gcc/reload.c
index fb1021cda45..889a6ccb3e1 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -707,7 +707,7 @@ find_valid_class (enum machine_mode outer ATTRIBUTE_UNUSED,
}
/* We are trying to reload a subreg of something that is not a register.
- Find the largest class which has at least one register valid in
+ Find the largest class which contains only registers valid in
mode MODE. OUTER is the mode of the subreg, DEST_CLASS the class in
which we would eventually like to obtain the object. */
@@ -727,10 +727,12 @@ find_valid_class_1 (enum machine_mode outer ATTRIBUTE_UNUSED,
{
int bad = 0;
for (regno = 0; regno < FIRST_PSEUDO_REGISTER && !bad; regno++)
- if (TEST_HARD_REG_BIT (reg_class_contents[rclass], regno)
- && !HARD_REGNO_MODE_OK (regno, mode))
- bad = 1;
-
+ {
+ if (in_hard_reg_set_p (reg_class_contents[rclass], mode, regno)
+ && !HARD_REGNO_MODE_OK (regno, mode))
+ bad = 1;
+ }
+
if (bad)
continue;