* snames.ads-tmpl (Name_Ivdep): New pragma-related name.
[official-gcc.git] / gcc / testsuite / gnat.dg / vect11.adb
blobc8c8a0cb6ebcf70052fbac87011587665cda13b4
1 -- { dg-do compile { target i?86-*-* x86_64-*-* } }
2 -- { dg-options "-O3 -msse2 -fdump-tree-optimized" }
4 package body Vect11 is
6 function "+" (X, Y : Sarray) return Sarray is
7 R : Sarray;
8 begin
9 for I in Sarray'Range loop
10 R(I) := X(I) + Y(I);
11 end loop;
12 return R;
13 end;
15 procedure Add (X, Y : Sarray; R : out Sarray) is
16 begin
17 for I in Sarray'Range loop
18 R(I) := X(I) + Y(I);
19 end loop;
20 end;
22 procedure Add (X, Y : not null access Sarray; R : not null access Sarray) is
23 begin
24 for I in Sarray'Range loop
25 pragma Loop_Optimize (Ivdep);
26 R(I) := X(I) + Y(I);
27 end loop;
28 end;
30 end Vect11;
32 -- { dg-final { scan-tree-dump-not "goto" "optimized" } }
33 -- { dg-final { cleanup-tree-dump "optimized" } }