[LLVMdev] dmb ishld in AArch64

Chengyu Song csong84 at gatech.edu
Tue Dec 9 16:19:45 PST 2014


>> 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



More information about the llvm-dev mailing list