diff options
Diffstat (limited to 'gcc/final.c')
-rw-r--r-- | gcc/final.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/final.c b/gcc/final.c index e875a7e..ffad9ae 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -2754,8 +2754,9 @@ alter_subreg (xp) /* Simplify_subreg can't handle some REG cases, but we have to. */ else if (GET_CODE (y) == REG) { - REGNO (x) = subreg_hard_regno (x, 1); + unsigned int regno = subreg_hard_regno (x, 1); PUT_CODE (x, REG); + REGNO (x) = regno; ORIGINAL_REGNO (x) = ORIGINAL_REGNO (y); /* This field has a different meaning for REGs and SUBREGs. Make sure to clear it! */ |