1 /* { dg-do compile } */
2 /* { dg-options "-O3" } */
3 
4 #if __SIZEOF_POINTER__ != __SIZEOF_LONG__
5 #define long __INTPTR_TYPE__
6 #endif
7 
fn1(void * p1,void * p2,long p3)8 void *fn1(void *p1, void *p2, long p3)
9 {
10   long a = (long)p1, b = (long)p2, c = p3;
11 
12   while (c)
13     {
14       int d = ((int *)b)[0];
15 
16       c--;
17       ((char *)a)[0] = d;
18       a++;
19     }
20   return 0;
21 }
22 
23