1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-require-effective-target maybe_x32 } */
3 /* { dg-options "-maddress-mode=short -mx32 -Ofast -funroll-loops -march=haswell" } */
4 /* { dg-final { scan-assembler-not "\tvgather" } } */
5 /* { dg-final { scan-assembler "addr32 vgather" } } */
6 
7 void foo (void);
8 
9 extern float *ncost;
10 
11 float
bar(int type,int num)12 bar (int type, int num)
13 {
14   int i;
15   float cost;
16 
17   cost = 0;
18   for (i = 0; i < num; i++)
19     if (type)
20       cost += ncost[i];
21     else
22       foo ();
23   return (cost);
24 }
25