Depends on D131228
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/LoongArch/LoongArchExpandAtomicPseudoInsts.cpp | ||
---|---|---|
111 | In GCC they apparently used dbar 0x700 for open-coded atomic CAS templates, that seemed to result from a hardware erratum. If in a future hardware iteration this dbar is going to become unnecessary, coding dbar 0x700 here might be a good idea. You may confirm with the CPU designers and the GCC team for this. | |
llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw.ll | ||
26 | Have to rebase... |
llvm/lib/Target/LoongArch/LoongArchExpandAtomicPseudoInsts.cpp | ||
---|---|---|
111 | Thank you for your reminder. After confirmation, Dbar 0x700 will be used in the subsequent CAS operation, and Dbar 0 is sufficient in the current atomic binary operation. |
In GCC they apparently used dbar 0x700 for open-coded atomic CAS templates, that seemed to result from a hardware erratum. If in a future hardware iteration this dbar is going to become unnecessary, coding dbar 0x700 here might be a good idea.
You may confirm with the CPU designers and the GCC team for this.