(corrected) fixed or forbidden register was spilled

Jeffrey A Law law@cygnus.com
Tue Sep 8 15:33:00 GMT 1998


  In message < 13812.63298.904315.903684@harpo.csd.uu.se >you write:
  > struct regs {
  >      unsigned int eax, ebx, ecx, edx, esi, edi;
  > };
  > 
  > void apm_bios_call(struct regs *regs)
  > {
  > 	asm volatile("nop"
  > 	    :"=a"(regs->eax)
  > 	    ,"=b"(regs->ebx)
  > 	    ,"=c"(regs->ecx)
  > 	    ,"=d"(regs->edx)
  > 	    ,"=S"(regs->esi)
  > 	    ,"=D"(regs->edi)
  > 	     );
This asm is still invalid.  It uses too many registers.

jeff



More information about the Gcc-bugs mailing list