/* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -mavx -mtune=generic" } */ double val1[4][2], val2[4][2], chk[4][2]; void foo (void) { int i, j; for (i = 0; i < 4; i++) { double tmp = 0; for (j = 0; j < 2; j++) tmp += val1[i][j] * val2[i][j]; for (j = 0; j < 2; j++) chk[i][j] = tmp; } } float val1f[8][2], val2f[8][2], chkf[8][2]; void foof (void) { int i, j; for (i = 0; i < 8; i++) { float tmp = 0; for (j = 0; j < 2; j++) tmp += val1f[i][j] * val2f[i][j]; for (j = 0; j < 2; j++) chkf[i][j] = tmp; } }