[PATCH] D47142: [x86] invpcid intrinsic

2018-05-24 Thread Gabor Buella via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL333256: [x86] invpcid intrinsic (authored by GBuella, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D47142?vs=148341&id=148547#toc Repositor

[PATCH] D47142: [x86] invpcid intrinsic

2018-05-24 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added a comment. LGTM, if you fix the ordering in cpuid.h. https://reviews.llvm.org/D47142 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D47142: [x86] invpcid intrinsic

2018-05-23 Thread Gabor Buella via Phabricator via cfe-commits
GBuella updated this revision to Diff 148341. GBuella added a comment. Relocated header inclusion from x86intrin.h -> immintrin.h I gave up on the MSVC intrinsic idea, it wouldn't work in a way compatible with MSVC as long as LLVM requires the feature to be enabled anyways. If once we decide to

[PATCH] D47142: [x86] invpcid intrinsic

2018-05-22 Thread Gabor Buella via Phabricator via cfe-commits
GBuella updated this revision to Diff 148011. https://reviews.llvm.org/D47142 Files: include/clang/Basic/BuiltinsX86.def include/clang/Driver/Options.td lib/Basic/Targets/X86.cpp lib/Basic/Targets/X86.h lib/Headers/CMakeLists.txt lib/Headers/cpuid.h lib/Headers/invpcidintrin.h lib

[PATCH] D47142: [x86] invpcid intrinsic

2018-05-21 Thread Gabor Buella via Phabricator via cfe-commits
GBuella added inline comments. Comment at: lib/Headers/intrin.h:196 + */ void __cdecl _invpcid(unsigned int, void *); +#endif rnk wrote: > GBuella wrote: > > GBuella wrote: > > > rnk wrote: > > > > craig.topper wrote: > > > > > @rnk, what's the right thing to do

[PATCH] D47142: [x86] invpcid intrinsic

2018-05-21 Thread Gabor Buella via Phabricator via cfe-commits
GBuella added inline comments. Comment at: lib/Headers/intrin.h:196 + */ void __cdecl _invpcid(unsigned int, void *); +#endif GBuella wrote: > rnk wrote: > > craig.topper wrote: > > > @rnk, what's the right thing to do here? > > What problems does this redeclara

[PATCH] D47142: [x86] invpcid intrinsic

2018-05-21 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added inline comments. Comment at: lib/Headers/intrin.h:196 + */ void __cdecl _invpcid(unsigned int, void *); +#endif GBuella wrote: > GBuella wrote: > > rnk wrote: > > > craig.topper wrote: > > > > @rnk, what's the right thing to do here? > > > What problem

[PATCH] D47142: [x86] invpcid intrinsic

2018-05-21 Thread Gabor Buella via Phabricator via cfe-commits
GBuella added inline comments. Comment at: lib/Headers/intrin.h:196 + */ void __cdecl _invpcid(unsigned int, void *); +#endif rnk wrote: > craig.topper wrote: > > @rnk, what's the right thing to do here? > What problems does this redeclaration cause? Now that I

[PATCH] D47142: [x86] invpcid intrinsic

2018-05-21 Thread Gabor Buella via Phabricator via cfe-commits
GBuella added a comment. In https://reviews.llvm.org/D47142#1106664, @rnk wrote: > Why do we need a feature flag for this in the first place? The MSVC model for > most "instruction" intrinsics is that the exact instruction is emitted > regardless of the feature enabled. The target attribute see

[PATCH] D47142: [x86] invpcid intrinsic

2018-05-21 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. Why do we need a feature flag for this in the first place? The MSVC model for most "instruction" intrinsics is that the exact instruction is emitted regardless of the feature enabled. The target attribute seems like it would get in the way of that. Comme

[PATCH] D47142: [x86] invpcid intrinsic

2018-05-21 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added inline comments. Comment at: lib/Headers/cpuid.h:158 #define bit_BMI20x0100 +#define bit_INVCPID 0x0400 #define bit_ENH_MOVSB 0x0200 this should be below ENH_MOVSB to keep the bits in order Comment

[PATCH] D47142: [x86] invpcid intrinsic

2018-05-21 Thread Gabor Buella via Phabricator via cfe-commits
GBuella created this revision. GBuella added a reviewer: craig.topper. Herald added subscribers: cfe-commits, mgorny. An intrinsic for an old instruction, as described in the Intel SDM. Repository: rC Clang https://reviews.llvm.org/D47142 Files: include/clang/Basic/BuiltinsX86.def includ