#include "army.h" #define N 3 typedef int MatrixN[N][N] __attribute__((aligned(256))); MatrixN A = { -1 }; MatrixN B = { -1 }; MatrixN C = { -1 }; void matrix_setup(MatrixN M, int h) { int i, j; for (i = 0; i < N; i++) for (j = 0; j < N; j++) M[i][j] = (i + j + h) & 3; } void matrix_print(MatrixN M) { int i, j; for (i = 0; i < N; i++) for (j = 0; j < N; j++) PRINT_INT(M[i][j]); } void matrix_mult(MatrixN c, MatrixN a, MatrixN b) { int i, j, k; for (i = 0; i < N; i++) { for (j = 0; j < N; j++) { int s = 0; for (k = 0; k < N; k++) s += a[i][k] * b[k][j]; c[i][j] = s; } } } int main() { matrix_setup(A, 0); matrix_setup(B, 1); matrix_print(A); matrix_print(B); matrix_mult(C, A, B); matrix_print(C); EXIT(0); /* program ends here */ /* control never reaches here */ return 0; }