| /* | |
| * 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; | |
| } | |