diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/unroll4.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/unroll4.adb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/unroll4.adb b/gcc/testsuite/gnat.dg/unroll4.adb new file mode 100644 index 00000000000..d9b763ae401 --- /dev/null +++ b/gcc/testsuite/gnat.dg/unroll4.adb @@ -0,0 +1,26 @@ +-- { dg-do compile } +-- { dg-options "-O -fdump-rtl-loop2_unroll-details" } + +package body Unroll4 is + + function "+" (X, Y : Sarray) return Sarray is + R : Sarray; + begin + for I in Sarray'Range loop + pragma Loop_Optimize (Unroll); + R(I) := X(I) + Y(I); + end loop; + return R; + end; + + procedure Add (X, Y : Sarray; R : out Sarray) is + begin + for I in Sarray'Range loop + pragma Loop_Optimize (Unroll); + R(I) := X(I) + Y(I); + end loop; + end; + +end Unroll4; + +-- { dg-final { scan-rtl-dump-times "note: loop unrolled 7 times" 2 "loop2_unroll" } } |