[LLVMdev] dmb ishld in AArch64

Chengyu Song
2014-12-10T00:19:45Z

>> Switching to a clean built on r223853, it still gives me:
>>
>>    ldr x8, [x21,#8]
>>    stp x21, x8, [x19]
>>    dmb ishst
>>    ldr x8, [x19,#8]
>>    str x19, [x8]
>>    str x19, [x21,#8]
>
> Isn't that correct though? The problematic "str" has been
folded into
> the "stp" instruction, so "x19 + 8" is written before
it gets read.

Indeed. I didn't pay too much attention to the str -> stp change.
Unfortunately, the trunk build crashes when compiling the kernel. Hope it will
be fixed tomorrow, else I need to find a revision that gives me this fix.

Thank you so much!
Chengyu