1/* { dg-do compile } */ 2/* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx -mtune=generic -mfpmath=sse -mrecip" } */ 3 4float a[32]; 5float b[32]; 6float r[32]; 7 8extern float sqrtf (float); 9 10void t1(void) 11{ 12 int i; 13 14 for (i = 0; i < 32; i++) 15 r[i] = a[i] / sqrtf (b[i]); 16} 17 18void t2(void) 19{ 20 int i; 21 22 for (i = 0; i < 32; i++) 23 r[i] = sqrtf (a[i] / b[i]); 24} 25 26void t3(void) 27{ 28 int i; 29 30 for (i = 0; i < 32; i++) 31 r[i] = sqrtf (a[i]); 32} 33 34/* { dg-final { scan-assembler-times "vrsqrtps\[ \\t\]+\[^\n\]*%ymm" 3 } } */ 35