1 /* PR target/89434 */
2 
3 #if __SIZEOF_INT__ == 4 && __SIZEOF_LONG_LONG__ == 8 && __CHAR_BIT__ == 8
4 long g = 0;
5 
6 static inline unsigned long long
foo(unsigned long long u)7 foo (unsigned long long u)
8 {
9   unsigned x;
10   __builtin_mul_overflow (-1, g, &x);
11   u |= (unsigned) u < (unsigned short) x;
12   return x - u;
13 }
14 
15 int
main()16 main ()
17 {
18   unsigned long long x = foo (0x222222222ULL);
19   if (x != 0xfffffffddddddddeULL)
20     __builtin_abort ();
21   return 0;
22 }
23 #else
24 int
main()25 main ()
26 {
27   return 0;
28 }
29 #endif
30