If n = 2
–Original order was
•(1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 2, 2) (2, 1, 1)(2, 1, 2) (2, 2, 1) (2, 2, 2)
–New order is
•(1, 1, 1) (1, 2, 1) (2, 1, 1) (2, 2, 1) (1, 1, 2)(1, 2, 2) (2, 1, 2) (2, 2, 2)
•Equivalent to permuting the loops into
for k = 1 to 2
for i = 1 to 2
for j = 1 to 2
•If loops are fully permutable can alsoouter loop unroll
for i = 1 to 2 by 2
for j = 1 to 2 by 2
for k = 1 to 2
c[i][j] += a[i][k] * b[k];
c[i][j+1] += a[i][k] * b[k][j+1];
c[i+1][j] += a[i+1][k] * b[k][j];
c[i+1][j+1] += a[i+1][k] * b[k][j+1];