[PATCH] D103232: [AtomicExpandPass][AArch64] Promote xchg with floating-point types to integer ones

LemonBoy via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 28 12:30:19 PDT 2021


LemonBoy added a comment.

In D103232#2787468 <https://reviews.llvm.org/D103232#2787468>, @efriedma wrote:

> The transform makes sense on targets that don't have atomic operations on floating-point registers, but that isn't all targets. In particular, the GPU targets have floating-point atomic operations, and bitcasting like this might get in the way of the natural lowering there.
>
> If you think it makes sense to use a dedicated lowering hook, rather than extending AtomicExpansionKind, that's fine, I guess.

I haven't seen any regression in the test suite, hence the unimplemented `TODO` comment. The same bitcasting is applied to atomic stores/loads and compare-exchange ops, if it ever becomes a problem it can be easily implemented at a later stage IMO.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D103232



More information about the llvm-commits mailing list