]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gcc.dg/pr63914.c
Update copyright years.
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / pr63914.c
CommitLineData
bee1d478
RB
1/* { dg-do compile } */
2/* { dg-options "-O2 -ffast-math" } */
c6a4ed03 3/* { dg-prune-output "non-standard ABI extension" } */
d50a1793 4/* { dg-additional-options "-fno-common" { target hppa*-*-hpux* } } */
6d158d9a 5/* { dg-additional-options "-msse" { target { i?86-*-* x86_64-*-* } } } */
125f02ed 6/* { dg-require-effective-target int32plus } */
bee1d478
RB
7
8typedef float __m128 __attribute__ ((__vector_size__ (16)));
9__m128 a, d, e;
10int b;
11struct dt_interpolation c;
12__m128
13fn1 (float p1)
14{
15 return (__attribute__ ((__vector_size__ (4 * sizeof 0))) float){ p1 };
16}
17__m128
18fn2 (float p1)
19{
20 return fn1 (p1);
21}
22struct dt_interpolation
23{
24 int width;
25};
26void
27fn3 (struct dt_interpolation *p1, int *p2)
28{
29 int i = 0, n = 0;
30 while (i < 2 * p1->width)
31 n = i++;
32 *p2 = n;
33}
34void
35fn4 ()
36{
37 __m128 f;
38 fn3 (&c, &b);
39 __m128 g = fn2 (1.f / b);
40 e = (__m128){};
41 __m128 h = e;
42 for (int i = 0; i < 2 * c.width; i++)
43 {
44 for (; c.width;)
45 f = a;
46 h = f;
47 }
48 d = h * g;
49}