2 /* { dg-options "-O2 -funswitch-loops" } */
5 __attribute__ ((noinline
))
6 void foo (float **a
, float **b
, float *c
, int n
, int m
, int l
)
13 c
[i
] += a
[i
][k
] * b
[k
][j
];
22 ar1
= (float **)malloc (N
* sizeof (float*));
23 ar2
= (float **)malloc (N
* sizeof (float*));
24 res
= (float *)malloc( N
* sizeof (float));
27 ar1
[i
] = (float*)malloc (N
* sizeof (float));
28 ar2
[i
] = (float*)malloc (N
* sizeof (float));
39 foo (ar1
, ar2
, res
, N
, N
, N
);
41 if (res
[i
] != 3072.0f
)
45 foo (ar1
, ar2
, res
, N
, 0, N
);