diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2014-10-31 12:18:30 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2014-10-31 12:18:30 +0000 |
commit | 3012e0ab0b1e995618bbc76ea743e2f6b37616d8 (patch) | |
tree | 723ccaf1932b7e04569618febe2ad1549a17453c /gcc | |
parent | c6e3a931201a2ce47ede92668870388df4f25219 (diff) | |
download | gcc-3012e0ab0b1e995618bbc76ea743e2f6b37616d8.zip gcc-3012e0ab0b1e995618bbc76ea743e2f6b37616d8.tar.gz gcc-3012e0ab0b1e995618bbc76ea743e2f6b37616d8.tar.bz2 |
* gnat.dg/opt42.ad[sb]: New test.
From-SVN: r216972
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/opt42.adb | 22 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/opt42.ads | 9 |
3 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index adc0e3e..e0d174d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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 diff --git a/gcc/testsuite/gnat.dg/opt42.adb b/gcc/testsuite/gnat.dg/opt42.adb new file mode 100644 index 0000000..620f61a --- /dev/null +++ b/gcc/testsuite/gnat.dg/opt42.adb @@ -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; diff --git a/gcc/testsuite/gnat.dg/opt42.ads b/gcc/testsuite/gnat.dg/opt42.ads new file mode 100644 index 0000000..3d6a3c1 --- /dev/null +++ b/gcc/testsuite/gnat.dg/opt42.ads @@ -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; |