On Thu, Jul 19, 2007 at 01:47:19PM +0200, Franck Bui-Huu wrote: > this is weird I would have defined them like this instead: > > #if (_MIPS_SIM == _MIPS_SIM_ABI32) > #define ALSZ 8 > #elif (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) > #define ALSZ 16 > #endif > > #define ALMASK (~(ALSZ-1)) <asm/asm.h> which is fairly similar to it's userspace equivalent <sys/asm.h> contains definitions which are some sort of pseudo-standard in the MIPS world, including ALSZ and ALMASK. If I had choosen them I'd have set ALSZ to 8 rsp. 16, just like you ... Anyway, having similar macros makes porting of assembler code easier. This also is why <asm/regdef.h> and <asm/fpregdef.h> are as they are. RISC/os, IRIX, some of the BSD variants, even the non-Linux SDE variants for example for baremetal use a similar set of macros and headers. Ralf