[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [avr-gcc-list] Clobber list isn't working
From: |
Eric Weddington |
Subject: |
RE: [avr-gcc-list] Clobber list isn't working |
Date: |
Tue, 24 Jul 2007 17:32:33 -0600 |
> -----Original Message-----
> From:
> address@hidden
> [mailto:address@hidden
> org] On Behalf Of Gre7g Luterman
> Sent: Tuesday, July 24, 2007 4:54 PM
> To: address@hidden
> Subject: [avr-gcc-list] Clobber list isn't working
>
> I suppose I could be misunderstanding how the clobber
> list of an inline asm statement is supposed to work,
> but it doesn't seem to be working for me. I specify
> that I'm using r28 and r29, but the code following my
> asm statement continues to use Y as if it was
> untouched.
>
> To demonstrate, I've written the following (absurd)
> block of code:
>
> void test(void)
> {
> struct
> {
> int a, b, c, d, e, f;
> } x;
>
> x.d = 5;
> asm volatile("nop" : : : "r28", "r29");
> x.d = 6;
> }
>
> Obviously, the nop statement doesn't really clobber
> r28 or r29, but my actual, far more complex code does.
Can you provide your real test case instead of the degenerate case above?