From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Edelsohn To: Richard Henderson Cc: Geoffrey KEATING , egcs@cygnus.com Subject: Re: asm clobbers, !SMALL_REGISTER_CLASSES patch. Date: Fri, 13 Feb 1998 10:34:00 -0000 Message-id: <9802131747.AA26200@rios1.watson.ibm.com> References: <19980213010129.15560@dot.cygnus.com> X-SW-Source: 1998-02/msg00623.html >>>>> Richard Henderson writes: On Thu, Feb 12, 1998 at 11:10:32PM -0500, David Edelsohn wrote: >> This is a good effort and I am glad that you are continuing to >> pursue this needed feature, but I am curious why you are choosing to >> implement it this way instead of as a match_scratch of the appropriate >> register class? Richard> A SCRATCH only has a mode, not a register class. There is nowhere to Richard> set a register class except in the output constraint of an asm_output. Richard> So the obvious (clobber (scratch:XX )) doesn't do the trick. SCRATCH only has a mode, but RTL match_scratch includes both a mode and a register class constraint. For instance some of the AIX common-mode calls effectively are inlined assembly and are defined with (clobber (match_scratch:SI 0 "=l")) and (clobber (match_scratch:CC 1 "=x")) i.e., clobbering both the link register and the default fields of the CC register. I believe that these types of clobbers are what those writing GCC inlined assembly would like to describe. David