[PATCH] D59567: [X86] Add __popcntd and __popcntq to ia32intrin.h to match gcc and icc. Remove popcnt feature flag from _popcnt32/_popcnt64 and move to ia32intrin.h to match gcc

2019-03-21 Thread Phabricator via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC356689: [X86] Add __popcntd and __popcntq to ia32intrin.h to match gcc and icc. Removeā€¦ (authored by ctopper, committed by ). Herald added a project: clang. Changed prior to commit:

[PATCH] D59567: [X86] Add __popcntd and __popcntq to ia32intrin.h to match gcc and icc. Remove popcnt feature flag from _popcnt32/_popcnt64 and move to ia32intrin.h to match gcc

2019-03-21 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon accepted this revision. RKSimon added a comment. This revision is now accepted and ready to land. LGTM with some minor typos Comment at: lib/Headers/ia32intrin.h:36 + * This intrinsic corresponds to the POPCNT instruction or a + * a sequence of arithmetic and logic

[PATCH] D59567: [X86] Add __popcntd and __popcntq to ia32intrin.h to match gcc and icc. Remove popcnt feature flag from _popcnt32/_popcnt64 and move to ia32intrin.h to match gcc

2019-03-20 Thread Craig Topper via Phabricator via cfe-commits
craig.topper added a comment. In D59567#1436035 , @RKSimon wrote: > IIRC we don't use libcalls for popcnt - we just expand Yeah we expand. gcc uses libcall. I think icc also expands. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59567/new/

[PATCH] D59567: [X86] Add __popcntd and __popcntq to ia32intrin.h to match gcc and icc. Remove popcnt feature flag from _popcnt32/_popcnt64 and move to ia32intrin.h to match gcc

2019-03-20 Thread Craig Topper via Phabricator via cfe-commits
craig.topper updated this revision to Diff 191625. craig.topper added a comment. Update doxygen comments CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59567/new/ https://reviews.llvm.org/D59567 Files: lib/Headers/ia32intrin.h lib/Headers/popcntintrin.h

[PATCH] D59567: [X86] Add __popcntd and __popcntq to ia32intrin.h to match gcc and icc. Remove popcnt feature flag from _popcnt32/_popcnt64 and move to ia32intrin.h to match gcc

2019-03-20 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added a comment. IIRC we don't use libcalls for popcnt - we just expand Comment at: clang/lib/Headers/ia32intrin.h:35 +/// +/// This intrinsic corresponds to the POPCNT instruction. +/// Change this as we don't require POPCNT any more? CHANGES

[PATCH] D59567: [X86] Add __popcntd and __popcntq to ia32intrin.h to match gcc and icc. Remove popcnt feature flag from _popcnt32/_popcnt64 and move to ia32intrin.h to match gcc

2019-03-19 Thread Craig Topper via Phabricator via cfe-commits
craig.topper created this revision. craig.topper added reviewers: RKSimon, spatel, andreadb. gcc and icc both implement __popcntd and __popcntq which we did not. gcc doesn't seem to require a feature flag for the _popcnt32/_popcnt64 spelling and will use a libcall if its not supported.