basic asm and memory clobbers

Jeff Law law@redhat.com
Fri Nov 20 16:41:00 GMT 2015


On 11/20/2015 04:14 AM, Andrew Haley wrote:
> On 20/11/15 10:37, David Wohlferd wrote:
>> The intent for 24414 is to change basic asm such that it will become
>> (quoting jeff) "an opaque blob that read/write/clobber any register or
>> memory location."  Such being the case, "memory" is not sufficient:
>>
>> #define CLOBBERALL "eax", "ebx", "ecx", "edx", "r8", "r9", "r10", "r11",
>> "r12", "r13", "r14", "r15", "edi", "esi", "ebp", "cc", "memory"
>
> Hmm.  I would not be at all surprised to see this cause reload
> failures.  You certainly shouldn't clobber the frame pointer on
> any machine which needs one.
Right.  It'll cause other issues as well.  It's the only reason why I 
didn't change the code internally to stomp every hard register back in 1999.

jeff




More information about the Gcc mailing list