c++ - Illegal instruction on AVX with Intel Core i7 -


I have a Windows X64 C + program that is compiled by MSWC12 without AXX Support (Any / Arch: AVX in Compilation Options). .

And I have a crash report from a customer with Core i7 4700MQ on Win7, the exception code is c000001d (illegal instruction), and the exception is offset point (sin) within "sin vmovd r9, xmm0" Function. I have tried two separate builds with this user and in both cases this indicates the same instructions.

It seems that the sin of the MSVC Library version () is an internal special AVX code path, even if the AVX support and this code works well on the older I3 processors, which did not have AVX.

So what could be the reason for this exception on this particular I7? The same code is running without problems for many customers of the CPU with a huge disturbance.

Perhaps AVX fails to check whether the OS settings / BIOS and the sin () code can be disabled? Or maybe there was some OS update that added AVX support and triggered the C000001D without any AVX code?

If this is the code in a dynamically linked library, the compilation option for your code is more Does not matter. DLL can send for different implementation on the basis of the return value of the CPU to determine whether AX is available and fall back to the SSE version.

vmovd r9, xmm0

I feel like a legal directive on Korean 7



Comments

Popular posts from this blog

php - PDO bindParam() fatal error -

logging - How can I log both the Request.InputStream and Response.OutputStream traffic in my ASP.NET MVC3 Application for specific Actions? -

java - Why my included JSP file won't get processed correctly? -