1 /* { dg-do run { target int128 } } */
2 /* { dg-options "-O2 -fno-tree-dce -mno-push-args" } */
3 
4 typedef unsigned long long u64;
5 typedef unsigned __int128 u128;
6 
7 u64 v;
8 u64 g;
9 
10 u64 __attribute__ ((noinline, noclone))
bar(u128 d,u64 e,u64 f,u64 g,u128 h)11 bar (u128 d, u64 e, u64 f, u64 g, u128 h)
12 {
13   (void)d, (void)e, (void)f, (void)g, (void)h;
14   return 0;
15 }
16 
17 static u64 __attribute__ ((noipa))
foo(void)18 foo (void)
19 {
20   (void)(v - bar (0, 0, 0, 0, 0));
21   return g;
22 }
23 
24 int
main(void)25 main (void)
26 {
27   (void)foo ();
28   return 0;
29 }
30