aboutsummaryrefslogtreecommitdiff
path: root/gcc/regrename.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/regrename.c')
-rw-r--r--gcc/regrename.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/regrename.c b/gcc/regrename.c
index e725ee932da..8c326c030ec 100644
--- a/gcc/regrename.c
+++ b/gcc/regrename.c
@@ -101,8 +101,12 @@ note_sets (rtx x, rtx set ATTRIBUTE_UNUSED, void *data)
HARD_REG_SET *pset = (HARD_REG_SET *) data;
unsigned int regno;
int nregs;
+
+ if (GET_CODE (x) == SUBREG)
+ x = SUBREG_REG (x);
if (GET_CODE (x) != REG)
return;
+
regno = REGNO (x);
nregs = HARD_REGNO_NREGS (regno, GET_MODE (x));