Spaces:
Running
Running
/* | |
* Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, | |
* whether or not the build options for those features are specified. | |
* Therefore, we must test #definitions of CPU features when option native/host | |
* is enabled via `--cpu-baseline` or through env vr `CFLAGS` otherwise | |
* the test will be broken and leads to enable all possible features. | |
*/ | |
int main(int argc, char **argv) | |
{ | |
// To make sure popcnt instructions are generated | |
// and been tested against the assembler | |
unsigned long long a = *((unsigned long long*)argv[argc-1]); | |
unsigned int b = *((unsigned int*)argv[argc-2]); | |
a = _mm_popcnt_u64(a); | |
b = _mm_popcnt_u32(b); | |
return (int)a + b; | |
} | |