docs: Document that __builtin_assoc_barrier also can be used for FMAs [PR115023]
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / loop-2e.c
blobd064e4e4d10a5aab6abdfda3a72efde4d04a7d49
1 void abort (void);
3 void f (int *p, int **q)
5 int i;
6 for (i = 0; i < 40; i++)
8 *q++ = &p[i];
12 int main ()
14 void *p;
15 int *q[40];
16 __SIZE_TYPE__ start;
18 /* Find the signed middle of the address space. */
19 if (sizeof(start) == sizeof(int))
20 start = (__SIZE_TYPE__) __INT_MAX__;
21 else if (sizeof(start) == sizeof(long))
22 start = (__SIZE_TYPE__) __LONG_MAX__;
23 else if (sizeof(start) == sizeof(long long))
24 start = (__SIZE_TYPE__) __LONG_LONG_MAX__;
25 else
26 return 0;
28 /* Arbitrarily align the pointer. */
29 start &= -32;
31 /* Pretend that's good enough to start address arithmetic. */
32 p = (void *)start;
34 /* Verify that GIV replacement computes the correct results. */
35 q[39] = 0;
36 f (p, q);
37 if (q[39] != (int *)p + 39)
38 abort ();
40 return 0;