> ! sprintf (buf, "%s%d", t, (int) XEXP (x, 0)); > --- 6089,6099 ---- > ! sprintf (buf, "%s%d", t, !! XEXP (x, 0)); That's not correct. What is wanted is REGNO(x), and, just below, SUBREG_WORD(x). r~