<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/55561>55561</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
LDAPR Instruction is not generated
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
adriantong1024
</td>
</tr>
</table>
<pre>
Older ldar+stlr gives something close to memory_order_seq_cst but the newer ldapr+stlr gives a more true memory_order_acquire + memory_order_release, the compiler does not seem to generate this instruction. https://godbolt.org/z/nes6e49sG
Our experience is ldapr+stlr results in better performance in some internal Google workloads.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxdkdtu2zAMhp_GvhFm2HLsRBe-SBesGDCgw14gkC3G1iaLqUi3655-tIOiSAGdCJIff1I9urfuKThIKjibMv1AHJIa_QuQIpyBJx9HNQQkUIxqhhnT2xmTZJwJns8DseoXVjyBivB641w_gaySLMlPC9wT7PC8ePFI-L0jQQBLkOmvG3nA-eqDwB0KLiIrAphXQSNESJYFPnlSPpIUGdhjLNTEfKWsPmb6m6wRXY-BC0yjWP9kR6AWdoYes_KUlcfb-bQkBX-vkDzEAZQw7_pJQEvgtZDqgVkUSegF02y36LjNTG7xRBvUI-IYQL1i-hPQOirUrUruutqZ2ticPQfofpyOP3-p7x_q18Jrm-_tuXxJofvUkedp6QuZjRghvLxfX64Jf8PAYnqiBUgeTdO0VT51pXWVNnDZ15f93timNIN2ZT3Yw6HtWzB5sD0E6rLmIdNaPlRtCHlnzSn3nS61LpvqULWy94XZCaRt62bvjAFTZbsSZutDsepYR52nbpPULyOJM3hi-nBaIj9GgK2c8O3CE6bOuuRtZIxjVepdvinotg7-A8yY6lw">