| -- { 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; |