1 /* { dg-do run { target int128 } } */
2 
3 typedef unsigned __int128 u128;
4 
5 u128 __attribute__((noinline, noclone))
foo(void)6 foo(void)
7 {
8 	u128 u = -2;
9 	u %= 0xffffffffffffffffllu;
10 	return u;
11 }
12 
13 int
main()14 main()
15 {
16 	u128 x = foo();
17 	if (x != 0xfffffffffffffffellu)
18 		__builtin_abort();
19 	return 0;
20 }
21