------- Comment #2 from pinskia at gcc dot gnu dot org 2005-10-10 00:21 ------- Reduced testcase: register struct CPUX86State *env asm("ebp"); register unsigned long T0 asm("ebx"); register unsigned long T1 asm("esi"); register unsigned long T2 asm("edi");
extern int __op_param1, __op_param2, __op_param3; void op_movq(void) { unsigned long long*d, *s; d = (unsigned long long *)((char *)env + ((long)(&__op_param1))); s = (unsigned long long *)((char *)env + ((long)(&__op_param2))); *d = *s; } ----- Hmm, you are starving the RA, so in a way this is not a bug. There is a dup of this bug too. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24292