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