[LLVMdev] NEON intrinsics preventing redundant load optimization?

Tim Northover t.p.northover at gmail.com
Sun Jan 4 13:06:58 PST 2015


>> I’ve managed to replace the load/store intrinsics with pointer dereferences (along with a typedef to get the alignment correct). This generates 100% the same IR + asm as the auto-vectorized C version (both using -O3), and works with the toolchain in the latest XCode. Are there any concerns around doing this?
>
> My view is that you should only use intrinsics where the language has
> no semantics for it. Since this is not the case, using pointers is
> probably the best way, anyway.

I think dereferencing pointers is explicitly discouraged in the
documentation for portability reasons. It may well have issues on
wrong-endian targets.

Tim.




More information about the llvm-dev mailing list