Is there an unwritten rule that the frame pointer must be a single hard register? I'm working on a port where $fp is a register pair, and I've seen gcc allocate the second register to other things (causing all sorts of problems).