A program uses MKL on an atom computer. It runs with correct results. However, when the Pin tool profiled the program, the Pin complained that an invalid instruciton: xgetbvwas found!.
The programwas compiled using both g++ and icpc with options: -march=atom, -xssse3_atom.
I did find AVX istructions in the profiles of the Pin. These AVX instruction comes from the MKL, I trie both dynamic and static library, neither worked.
Ihaveto use Pin to profile the code.
If the message from PIN is just a warning, just ignore it. Otherwise, wait for the PIN developers to make the tool aware of the new instruction, or look for another suitable tool.
It is compiled andran on the ATOM machine. The sde (Pin) also ran on the same machine. I used the xed (pin) to generate the assemble code of the program, it has "xgetbv" instruction in the code.
The Pin tools can generate the traces for another application that dose not use the MKL on the ATOM machine.