https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104804

--- Comment #4 from 。 <570070308 at qq dot com> ---
(In reply to Jakub Jelinek from comment #3)

> What exactly are you trying to achieve (because & on your testcase makes no
> sense at all, the other input is "r" and therefore can't ever match the
> memory)?

Yes, in x86 that's true.
But if there is an Instruction Set, which support 
```
 movq ((%rax)), %rax
```

And in
test.c :
```
void kkk()
{
    char a;
    char *pa=&a;
    char *ppa=&pa;
    __asm__ (
    :"+m"(pa)
    :"m"(a)
    :
    );
}
```

gcc can use %rax to represent ppa, (%rax) to represent pa, ((%rax)) to
represent a., then "+&m"(pa) will make difference.

Reply via email to