Codegen support for 128-bit atomicrmw (and|or|xchg).
- store atomic -> swpp
- atomicrmw xchg -> swpp
- atomicrmw and -> ldclrp
- atomicrmw or -> ldsetp
Differential D141406
[AArch64] Codegen for FEAT_LSE128 tmatheson on Jan 10 2023, 9:16 AM. Authored by
Details
Codegen support for 128-bit atomicrmw (and|or|xchg).
Diff Detail
Event Timeline
Comment Actions Right now, GlobalISel falls back to SelectionDAG for many atomics, including those above (the -O0 case is the globalisel case, but it has fallen back). I think GlobalISel work for these atomics can come in a later patch, to be honest. Comment Actions
In that case, can you add a few tests to show what happens on targets that have both lse2 and lse128? I assume lse2 "wins", but it would be nice to make that explicit. |