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