[PATCH] D47125: [X86] Remove masking from pternlog llvm intrinsics and use a select instruction instead.

Craig Topper via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun May 20 22:36:32 PDT 2018


craig.topper created this revision.
craig.topper added reviewers: RKSimon, spatel, GBuella.

Because the intrinsics in the headers are implemented as macros, we can't just use a select builtin and pternlog builtin. This would require one of the macro arguments to be used twice. Depending on what was passed to the macro we could expand an expression twice leading to weird behavior. We could maybe declare our local variable in the macro, but that would need to worry about name collisions.

To avoid that just generate IR directly in CGBuiltin.cpp.


Repository:
  rC Clang

https://reviews.llvm.org/D47125

Files:
  lib/CodeGen/CGBuiltin.cpp
  test/CodeGen/avx512f-builtins.c
  test/CodeGen/avx512vl-builtins.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47125.147734.patch
Type: text/x-patch
Size: 9696 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180521/44f0a7e8/attachment.bin>


More information about the cfe-commits mailing list