Illegal instruction Intel(R) Core(TM)2 Duo CPU E8400

Illegal instruction Intel(R) Core(TM)2 Duo CPU E8400


I have

#include "mkl_vml.h"
#include "mkl_service.h"

#define N 4

int main()
double a[N] = {0.1, 0.2, 0.3, 0.4};
double b[N], y[N];
MKL_INT n = N, i;
MKLVersion ver;

printf("\\nMKL Version = %d.%d.%d\\n\\n", ver.MajorVersion, ver.MinorVersion, ver.UpdateVersion);

for (i = 0; i < n; i++) b[i] = a[i] - 0.05;

vdSub(n, a, b, y);

for (i = 0; i < n; i++)
printf("a[%d] - b[%d] = %f - %f = %f\\n", i, i, a[i], b[i], y[i]);

return 0;


#include "mkl_vml.h"
#include "mkl_service.h"

int main()
double a[2] = {0.2, 0.3}, y[2];
MKL_INT n = 2, mod, accm, fpum, errm;
MKLVersion ver;

printf("\\nMKL Version = %d.%d.%d\\n", ver.MajorVersion, ver.MinorVersion, ver.UpdateVersion);

mod = vmlGetMode();
accm = vmlGetMode() & VML_ACCURACY_MASK;
fpum = vmlGetMode() & VML_FPUMODE_MASK;
errm = vmlGetMode() & VML_ERRMODE_MASK;

printf("mod = %d\\n", mod);
printf("accm = %d\\n", accm);
printf("fpum = %d\\n", fpum);
printf("errm = %d\\n", errm);

vdInv(n, a, y);

printf("Compute Power[{0.2, 0.3}, -1] using vdInv.\\n");
printf("answer = {%f, %f}\\n\\n", y[0], y[1]);

return 0;

with the following make file

# MKL static linking
MKLLIB = -Wl,--start-group $(MKLDIR)/libmkl_intel_lp64.a \\
$(MKLDIR)/libmkl_intel_thread.a $(MKLDIR)/libmkl_core.a -Wl,--end-group \\
-L$(MKLDIR) -liomp5 -lpthread

CC = gcc
CXX = g++
CFLAGS = -g -O0 -Wall -I$(MKLDIR)
LDFLAGS =-g -O0 $(MKLLIB) -lm

all : vdinv vdsub

vdinv : vdinv.o
$(CC) -o vdinv vdinv.o $(LDFLAGS)

vdinv.o : vdinv.c
$(CC) -c $(CFLAGS) vdinv.c

vdsub : vdsub.o
$(CC) -o vdsub vdsub.o $(LDFLAGS)

vdsub.o : vdsub.c
$(CC) -c $(CFLAGS) vdsub.c

clean :
rm -vf *.o

I compile

gcc -c -g -O0 -Wall -I/Components/MKL/10.2/Linux-x86-64/vendor vdinv.c
gcc -o vdinv vdinv.o -g -O0 -Wl,--start-group /Components/MKL/10.2/Linux-x86-64/vendor/libmkl_intel_lp64.a /Components/MKL/10.2/Linux-x86-64/vendor/libmkl_intel_thread.a /Components/MKL/10.2/Linux-x86-64/vendor/libmkl_core.a -Wl,--end-group -L/Components/MKL/10.2/Linux-x86-64/vendor -liomp5 -lpthread -lm
gcc -c -g -O0 -Wall -I/Components/MKL/10.2/Linux-x86-64/vendor vdsub.c
gcc -o vdsub vdsub.o -g -O0 -Wl,--start-group /Components/MKL/10.2/Linux-x86-64/vendor/libmkl_intel_lp64.a /Components/MKL/10.2/Linux-x86-64/vendor/libmkl_intel_thread.a /Components/MKL/10.2/Linux-x86-64/vendor/libmkl_core.a -Wl,--end-group -L/Components/MKL/10.2/Linux-x86-64/vendor -liomp5 -lpthread -lm

when I run these programs

I get Illegal instructions.

Program received signal SIGILL, Illegal instruction.
0x0000000000405406 in mkl_vml_core_e9_vml_dSub ()


#0 0x0000000000405406 in mkl_vml_core_e9_vml_dSub ()
#1 0x00000000004028e3 in vdSub ()
#2 0x00007fffffffde90 in ?? ()
#3 0x00007fffffffde90 in ?? ()
#4 0x00007fffffffded0 in ?? ()
#5 0x00007fffffffdfb0 in ?? ()
#6 0x0000000000000000 in ?? ()

My CPU is an Intel Core2 Duo CPU E8400

I use

gcc (SUSE Linux) 4.4.1 [gcc-4_4-branch revision 150839]

GNU C Library stable release version 2.10.1 (20090918), by Roland McGrath et al.

I tried to set


but that did not help, I am not sure it should.

Anysuggestion, how I could fix it, or narrow it further down?

Thanks a lot

I think (because of the related CPU but i have not checked) there is a similar problem on a

Windows 7 (64 bit)
Intel Core2 Duo T9600 @ 2.80GHz

18 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Oliver, thanks for the issue. this is an unknown problem for us and therefore we will try to check it on our side and will back asap.


Oliver, can you get us thePackage ID you are using? You can find it into the \doc\mklsupport.txt file.


could you provide values of your environment variables (type set at command line) also?


Hi ruebe,

Pleaseadd one more printf to your example

printf(" Processor optimization: %s\n",ver.Processor);

and provide the outputfor us.



It's checked: Crashes on Windows 7 (64) with Intel Core2 Duo T9600 @ 2.80GHz

That would be


Why don't you tell me waht you want to know and I'll send that information.


Processor optimization: Intel Core 2 Duo Processor

I have tried to reproduce your problem at E8400 and I have failed. But we have Windows 2003 server installed at this server.

Could you provide details - how are you building your tests at Windows?

Did you make any modifications to MKL libraries?



no modifications to MKL, besides that we copy all the headers and libraries to a single directory.

The test on windows 7 is done (not by me) with the attached VS project files.


Downloadapplication/octet-stream vdinv-bugreport.tbz2.99 KB

If I use the vdsub code with MKL 10.1 on the Linux setup, it works.

Any ideas?

I experience a similar problem under vista 32 and core duo.

Funny enough a virus scan with DrWeb just popped up a possible infected element

C:\Program Files\Intel\Compiler\11.1\054\mkl\ia32\lib\mkl_core.lib



I am wondering if you consider this issue resolved, or if you are still investigating?



sorry for delay - I`m trying to find servers with similar to your configuration.

I have built your project and run it successfully at Core 2 duo E7200 andCore i7 extrime 975(both under Windows 7).

I have attached Release binaries to this post. Could you runthem at yourT9600 Windows7 system? (password for zip file is 12345).



Downloadapplication/zip Release.zip98.33 KB


thanks, here are the results:

It opens up a window and prints out :
MKL Version = 10.2.3
and then crashes.

Here is the output from the crash window.

Problem signature:
Problem Event Name: APPCRASH
Application Name: vdsub-vc90.exe
Application Version:
Application Timestamp: 4b6f2cb1
Fault Module Name: vdsub-vc90.exe
Fault Module Version:
Fault Module Timestamp: 4b6f2cb1
Exception Code: c000001d
Exception Offset: 0000000000002c7e
OS Version: 6.1.7600.
Locale ID: 1033
Additional Information 1: 4d92
Additional Information 2: 4d927d762d14971bbbd7864575416085
Additional Information 3: 07f5
Additional Information 4: 07f5ea87781fa57804bb957832da6b03

For those who are interested in the topic that was discussed here:The problem is already fixed and this fix will be available next update (MKL v.10.2 Update5).
We will announce of this release, when it will be available with the Intel Registration Center.


Hello everyone,
The problem you reported was fixed in the version 10.2 Update 5.

This version available for download from intel registration


Leave a Comment

Please sign in to add a comment. Not a member? Join today