aboutsummaryrefslogtreecommitdiff
path: root/gcc/regclass.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/regclass.c')
-rw-r--r--gcc/regclass.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/regclass.c b/gcc/regclass.c
index 76df1e4..5a4d72f 100644
--- a/gcc/regclass.c
+++ b/gcc/regclass.c
@@ -718,7 +718,11 @@ reg_class_record (op, opno, constraints)
case '4':
/* If constraint says "match another operand",
use that operand's constraint to choose preferences. */
- next = constraints[*p - '0'];
+ if (*p - '0' < opno)
+ {
+ opno = *p - '0';
+ next = constraints[opno];
+ }
break;
default: