[PATCH] D101349: AArch64: support i128 cmpxchg in GlobalISel.

Tim Northover via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 14 02:07:28 PDT 2021


t.p.northover marked an inline comment as done.
t.p.northover added a comment.

> This might be a bit crazy, but instead of emitting CASPX directly from globalisel, did you consider just emitting CMP_SWAP_128, then converting it to CASPX after isel?

Unforuntately that won't work. The reason `CMP_SWAP_128` works so easily is that its 64-bit register operands can be chosen independently (because `LDXP/STXP` allow that), `CASP` needs them to be consecutive (and the first one to be even).

> I think you accidentally switched -O0 and -O1.

Yes. Thanks, I'll fix it.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D101349/new/

https://reviews.llvm.org/D101349



More information about the llvm-commits mailing list