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.