http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49318
--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> 2011-06-08 05:25:19 UTC --- [hjl@gnu-33 delta]$ cat testcase.c typedef enum { GL_FALSE } GLenum; typedef unsigned char GLboolean; typedef int GLint; typedef unsigned int GLuint; typedef float GLfloat; typedef double GLdouble; typedef struct gl_context GLcontext; struct gl_context { GLfloat TextureMatrix[16]; GLenum Primitive; }; void gl_GetDoublev( GLcontext *ctx, GLenum pname, GLdouble *params ) { GLuint i; for (i=0; i<16; i++) params[i] = (GLint) ctx->TextureMatrix[i]; } [hjl@gnu-33 delta]$ /usr/gcc-4.7.0-x32/bin/gcc -S -O3 -funroll-loops -ffast-math -S testcase.c patt.14_21 = i_17 w* 8; testcase.c: In function \u2018gl_GetDoublev\u2019: testcase.c:12:6: internal compiler error: verify_gimple failed Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. [hjl@gnu-33 delta]$