Hi, in some places used by x86/amd64 architecture there is a weird mechanism to get at the number of registers or the registers themselves which make the code hard to read. One example is i386_sse_regnum_p in i386-tdep.c where two macros I387_ST0_REGNUM and I387_NUM_XMM_REGS have to be defined so that other two macros I387_XMM0_REGNUM and I387_MXCSR_REGNUM are valid. What I'd like to do is to unknot this source to make it more readable. For my opinion it is bad practice to define and undef macros per funtion in a source file describing a target. What do you think about this in general and about this patch in special? If this would be a way to go I'd like to commit this patch and come up with a bigger one to handle some more of these. Testsuite on x86 showed no regression. ChangeLog: * i386-tdep.c (i386_sse_regnum_p): Replace I387_XMM0_REGNUM and I387_MXCSR_REGNUM by its expressions. Remove I387_ST0_REGNUM and I387_NUM_XMM_REGS. Regards, Markus -- Markus Deuling GNU Toolchain for Linux on Cell BE deuling@de.ibm.com