RKSimon added a comment. In http://reviews.llvm.org/D20358#446241, @RKSimon wrote:
> 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. I've created http://reviews.llvm.org/D21272 that covers the conversion of SSE/SSE2/AVX/AVX512 non-temporal aligned vector stores to use __builtin_nontemporal_store in headers http://reviews.llvm.org/D20358 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits