[PATCH] D20358: [Clang][AVX512][Intrinsics]Convert AVX non-temporal store builtins to LLVM-native IR.

Simon Pilgrim via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 1 15:31:46 PDT 2016


RKSimon added a comment.

In http://reviews.llvm.org/D20358#446220, @ab wrote:

> In http://reviews.llvm.org/D20358#446218, @ab wrote:
>
> > In http://reviews.llvm.org/D20358#446210, @RKSimon wrote:
> >
> > > Is there any reason why we can't just get rid of all the SSE movnt builtins and use __builtin_nontemporal_store instead (http://reviews.llvm.org/D12313)?
> >
> >
> > I wanted to suggest that too, but I think you'd have problems with the (natural?) alignment requirement of __builtin_nontemporal_store (whereas IIRC, movnti & friends accept unaligned pointers).
>
>
> But now that I look at this again, I suppose we could have some __attribute__((aligned(1))), or something like r271214.


True, luckily that only affects _mm_stream_si32 and _mm_stream_si64 - the 'real' vector movnt stores all require type alignment. The _mm_stream_load_* (movntdqa) loads cases should be trivial as well.


http://reviews.llvm.org/D20358





More information about the cfe-commits mailing list