Quantcast
Channel: Intel® Software - Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1175

Code Crashes on AMD CPU with SSE3 Support Using /arch:SSE3

$
0
0

Hello,

I am using Intel Compiler to compile a code.
I use the following flags for creating the code paths:

/arch:SSE3 /QaxAVX2

I follow the documentation as written in Intel C++ Compiler 19.0 Developer Guide and Reference:

What I expect the code to do is work on any CPU with SSE3 (Be Intel / AMD or any other x86-x64 with SSE3 support).
If the CPU has AVX2 support as well here will be an optimized code path fro that as well.
Since I used the /arch flag the AVX2 code path won't be limited to Intel CPU Only as it says:

If you specify both the -ax and -march options (Linux and macOS*), or the /Qax and /arch options (Windows), the compiler will not generate Intel-specific instructions.

I must say the documentation is very not clear. As I think when it says Intel Specific Instructions it means the code path won't require Intel CPU but only feature (AVX2). 

Anyhow, the problem is I'm trying to run the code on AMD CPU with SSE3 (Phenom II) and the code crashes.
I expect it to see this CPU has SSE3 (Though no AVX2) and chose that code path.

Any idea?


Viewing all articles
Browse latest Browse all 1175

Trending Articles