mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 22:21:23 +08:00
* gnat.dg/opt42.ad[sb]: New test.
From-SVN: r216972
This commit is contained in:
parent
c6e3a93120
commit
3012e0ab0b
@ -1,3 +1,7 @@
|
||||
2014-10-31 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gnat.dg/opt42.ad[sb]: New test.
|
||||
|
||||
2014-10-31 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||||
|
||||
PR tree-optimization/63259
|
||||
|
22
gcc/testsuite/gnat.dg/opt42.adb
Normal file
22
gcc/testsuite/gnat.dg/opt42.adb
Normal file
@ -0,0 +1,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;
|
9
gcc/testsuite/gnat.dg/opt42.ads
Normal file
9
gcc/testsuite/gnat.dg/opt42.ads
Normal file
@ -0,0 +1,9 @@
|
||||
package Opt42 is
|
||||
|
||||
type Index_Type is range 1 .. 7;
|
||||
type Row_Type is array (Index_Type) of Float;
|
||||
type Array_Type is array (Index_Type) of Row_Type;
|
||||
|
||||
function "*" (Left, Right : in Array_Type) return Array_Type;
|
||||
|
||||
end Opt42;
|
Loading…
x
Reference in New Issue
Block a user