Hi Guys,
I am using Xeon Phi in offload mode. Basically, I have written a code with offload pragmas (main.cpp, micSolver.cpp). First, I generate the assembly code with icc -S micSolver.cpp, and it emits two files: (1) micSolver.s, and (2) micSolverMIC.s. As expected, the micSolverMIC.s includes the code to be run on Phi.
My question is, how can I compile the assembly code further into binary code? There is no problem when using 'icc -c micSolver.s', while 'icc -c micSolverMIC.s' gives the following errors. Do you guys have any idea on how to compile the assembly code?
micSolverMIC.s: Assembler messages: micSolverMIC.s:129: Error: no such instruction: `kmov %eax,%k1' micSolverMIC.s:132: Error: no such instruction: `vpackstorelps %zmm0,(%rdx){%k1}' micSolverMIC.s:1347: Error: no such instruction: `vpxord %zmm1,%zmm1,%zmm1' micSolverMIC.s:1353: Error: no such instruction: `kmov %r13d,%k1' micSolverMIC.s:1361: Error: no such instruction: `vprefetch0 (%rdx)' micSolverMIC.s:1363: Error: no such instruction: `vprefetch0 4(%rdx)' micSolverMIC.s:1365: Error: no such instruction: `vprefetch0 (%rcx)' micSolverMIC.s:1367: Error: no such instruction: `vprefetch0 4(%rcx)' micSolverMIC.s:1369: Error: no such instruction: `vprefetch0 (%r8)' micSolverMIC.s:1371: Error: no such instruction: `vprefetch0 4(%r8)' micSolverMIC.s:1378: Error: bad register name `%zmm5' micSolverMIC.s:1380: Error: bad register name `%zmm4' micSolverMIC.s:1381: Error: bad register name `%zmm3' micSolverMIC.s:1382: Error: bad register name `%zmm2' micSolverMIC.s:1383: Error: no such instruction: `vpxord %zmm6,%zmm6,%zmm6' micSolverMIC.s:1387: Error: no such instruction: `vprefetch0 (%r9)' micSolverMIC.s:1389: Error: no such instruction: `vprefetch0 64(%r9)' micSolverMIC.s:1391: Error: no such instruction: `vprefetch0 (%r10)' micSolverMIC.s:1393: Error: no such instruction: `vprefetch0 64(%r10)' micSolverMIC.s:1395: Error: no such instruction: `vprefetch0 (%r11)' micSolverMIC.s:1397: Error: no such instruction: `vprefetch0 64(%r11)'