[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