[PATCH] D21272: [Clang][X86] Convert non-temporal store builtins to generic __builtin_nontemporal_store in headers

Simon Pilgrim via cfe-commits cfe-commits at lists.llvm.org
Sun Jun 12 14:48:42 PDT 2016


RKSimon created this revision.
RKSimon added reviewers: craig.topper, ab, spatel, andreadb.
RKSimon added a subscriber: cfe-commits.
RKSimon set the repository for this revision to rL LLVM.

As discussed on D20358, we can now use __builtin_nontemporal_store instead of target specific builtins for naturally aligned nontemporal stores which avoids the need for handling in CGBuiltin.cpp

The scalar integer nontemporal (unaligned) store builtins will have to wait as __builtin_nontemporal_store currently assumes natural alignment and doesn't accept the 'packed struct' trick that we use for normal unaligned load/stores.

NOTE: The nontemporal loads require further backend support before we can safely convert them to __builtin_nontemporal_load

Repository:
  rL LLVM

http://reviews.llvm.org/D21272

Files:
  include/clang/Basic/BuiltinsX86.def
  lib/CodeGen/CGBuiltin.cpp
  lib/Headers/avx512fintrin.h
  lib/Headers/avxintrin.h
  lib/Headers/emmintrin.h
  lib/Headers/xmmintrin.h
  test/CodeGen/avx512f-builtins.c
  test/CodeGen/builtins-x86.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21272.60481.patch
Type: text/x-patch
Size: 10261 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160612/09da30bb/attachment.bin>


More information about the cfe-commits mailing list