Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7954 Discussions

icc-10.1.012 internal compiler error when compiling i965 driver in Mesa

mattst88
Beginner
533 Views
I'm using Gentoo Linux and have written the guide on how to use icc in Gentoo (http://gentoo-wiki.com/HOWTO_Intel_C_Compiler).

I attempted to compile Mesa-7.0.2 using icc. Without compiling any 3D drivers into Mesa, it builds fine. Since I've got an X3100 graphics card, I tried to compile the i810 driver. The build fails. I've narrowed the problem down to a few lines in src/mesa/drivers/dri/i965/brw_wm_emit.c.

icc fails with this command:
icc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../include/GL/internal -I../../../../../src/mesa -I../../../../../src/mesa/main -I../../../../../src/mesa/glapi -I../../../../../src/mesa/math -I../../../../../src/mesa/transform -I../../../../../src/mesa/shader -I../../../../../src/mesa/swrast -I../../../../../src/mesa/swrast_setup -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri `pkg-config --cflags libdrm` -O3 -xT -gcc -fPIC -m64 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN -DUSE_X86_64_ASM -I../intel brw_wm_emit.c -o brw_wm_emit.o
icc: error #10106: Fatal error in /opt/intel/cce/10.1.012/bin/mcpcom, terminated by floating point exception
compilation aborted for brw_wm_emit.c (code 1)
make[6]: *** [brw_wm_emit.o] Error 1



If you put an '#if 0' on line 1105 just before '/* Straightforward arithmetic:' and an '#endif' on line 1232 just after the OPCODE_KIL's break statement then the file compiles cleanly.

gcc-4.2.2 compiles this file cleanly.

What other information can I give in assisting in fixing this bug?
0 Kudos
4 Replies
Dale_S_Intel
Employee
533 Views
The best thing to do is to submit an issue with a compilable test case to premier.intel.com. That way it should get tracked and it's easier to follow up (for example I unfortunately missed this post until now, so it almost got lost in the shuffle).

I appreciate your detailed info and analysis, but if you could submit it to premier that would be best. Often the easiest way to generate the compileable test case is to just generate a .i file (e.g. using -E). If you like you can post the issue number here and I'll try to track it.

Dale
0 Kudos
mattst88
Beginner
533 Views
Hi.

Looks like it's been about a year.

I've uploaded a .i file test case that causes icc to fail with a floating point exception. I cannot submit this to premier.intel.com as I'm using the standard hobbyist non-commercial license.

Please acknowledge.
0 Kudos
mattst88
Beginner
533 Views
Test case. Using icc-10.1.018

icc -c brw_wm_emit.i -o brw_wm_emit.o
brw_wm_emit.c(1303): warning #188: enumerated type mixed with another type
_mesa_opcode_string(inst->opcode) :
^

icc: error #10106: Fatal error in /opt/intel/cce/10.1.018/bin/mcpcom, terminated by floating point exception
compilation aborted for brw_wm_emit.i (code 1)

0 Kudos
TimP
Honored Contributor III
533 Views
Quoting - mattst88
Test case. Using icc-10.1.018

icc -c brw_wm_emit.i -o brw_wm_emit.o
brw_wm_emit.c(1303): warning #188: enumerated type mixed with another type
_mesa_opcode_string(inst->opcode) :
^

icc: error #10106: Fatal error in /opt/intel/cce/10.1.018/bin/mcpcom, terminated by floating point exception
compilation aborted for brw_wm_emit.i (code 1)


I see this failure in 10.1.021, but not in any 11. compilers.
Holding a non-commercial license shouldn't be a reason for not filing a problem report, although there is not much point if the bug doesn't show up in current compilers.
0 Kudos
Reply