gonzalobg wrote:

> How should we handle integer vector atomicrmw in backends? Should we just let 
> it fail in backends? Conservatively, I updated the shouldExpandAtomicRMWInIR 
> default implementation to cmpxchg expand these.

If `elementwise` is not specified, and if the vector is smaller than the native 
size supported by the backend, and the backends don't override them, then 
AtomicExpand should just expand these with a cmpxchg loop.
Otherwise, we don't have builtins for these, so the backend should just fail.

If `elementwise` is specified, we can fragment the atomic into smaller atomics, 
like we do for FP vectors.



https://github.com/llvm/llvm-project/pull/190716
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to