[llvm-dev] RFC: Extending atomic loads and stores to floating point and vector types

David Chisnall via llvm-dev llvm-dev at lists.llvm.org
Sun Dec 13 13:03:19 PST 2015


Hi Philip,

> On 11 Dec 2015, at 02:22, Philip Reames via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Currently, we limit atomic loads and stores to either pointer or integer types.  I would like to propose that we extend this to allow both floating point and vector types which meet the other requirements.  (i.e. power-of-two multiple of 8 bits, and aligned)

If you’re adding support for floating point atomics, would it be possible for you to add support for atomic operations on pointers too?  Currently, front ends need to bitcast pointers to an integer type which assumes that a corresponding integer type exists (it doesn’t for us) and loses pointerness of the operand in the middle, making life annoying for garbage collection.

David



More information about the llvm-dev mailing list