blob: 620f61a5b96813bac63e514970552446dad9ca46 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
-- { dg-do compile }
-- { dg-options "-cargs --param max-completely-peeled-insns=200 -margs -O3" }
package body Opt42 is
function "*" (Left, Right : in Array_Type) return Array_Type is
Temp : Float;
Result : Array_Type;
begin
for I in Index_Type loop
for J in Index_Type loop
Temp := 0.0;
for K in Index_Type loop
Temp := Temp + Left (I) (K) * Right (K) (J);
end loop;
Result (I) (J) := Temp;
end loop;
end loop;
return Result;
end "*";
end Opt42;
|