Why don't you save all the effort with secondary reloads etc and just prohibit QImode values in ADDR_REGS entirely with HARD_REGNO_MODE_OK? Yes, it prohibits you using ADDR_REGS for temporaries, but it is not clear to me that that gets you better code. r~