http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56161
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-01-31 12:02:51 UTC --- Using: double *cam_xyzp = (double *) &cam_xyz[0][0]; before the loop and using cam_xyzp[j] instead of cam_xyz[0][j] or using cam_xyz[j/3][j%3] or making cam_xyz one dimensional instead of two dimensional should fix this. Dup of PR54136 .