1 /* { dg-do run } */
2
3 typedef unsigned short u16;
4 typedef unsigned int u32;
5 typedef unsigned long long u64;
6
7 u32 a, b, c, d;
8
foo(u32 f,u32 g,u32 g2,u32 g3,u16 h,u16 i)9 u32 foo (u32 f, u32 g, u32 g2, u32 g3, u16 h, u16 i)
10 {
11 (void)g, (void)g2, (void)g3, (void)h;
12 d = __builtin_bswap64 (i);
13 __builtin_sub_overflow (0, d, &b);
14 __builtin_memset (&i, c, 2);
15 a = 0;
16 return b + f + i + c;
17 }
18
main(void)19 int main (void)
20 {
21 u32 x = foo (0, 0, 0, 0, 0, 0);
22 asm ("" :: "r" (x));
23 return 0;
24 }
25