/* { dg-do compile { target { ! ia32 } } } */ | |
/* { dg-require-effective-target maybe_x32 } */ | |
/* { dg-options "-maddress-mode=short -mx32 -Ofast -funroll-loops -march=haswell" } */ | |
/* { dg-final { scan-assembler-not "\tvgather" } } */ | |
/* { dg-final { scan-assembler "addr32 vgather" } } */ | |
void foo (void); | |
extern float *ncost; | |
float | |
bar (int type, int num) | |
{ | |
int i; | |
float cost; | |
cost = 0; | |
for (i = 0; i < num; i++) | |
if (type) | |
cost += ncost[i]; | |
else | |
foo (); | |
return (cost); | |
} |