efriedma-quic wrote:

Deferencing a pointer, __builtin_memcpy, and most other operations that involve 
accessing pointers, currently assume pointers are naturally aligned.  The exact 
representation of this in LLVM IR varies, but the fundamental assumption is 
that you're following normal C/C++ standard rules for pointer alignment.

My concern here is mostly consistency: I don't want to have this small cluster 
of vector intrinsics to have different rules from everything else.

The reason I mentioned changing the interface before is related to this: if the 
masked load/store intrinsics take a pointer to the element type, instead of the 
vector type, that naturally reduces the required alignment.  The element 
pointer will have smaller alignment.

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

Reply via email to