1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -fdump-tree-optimized" } */ 3 4 #ifdef __SIZEOF_INT128__ 5 typedef unsigned __int128 NT; 6 #else 7 typedef unsigned long long NT; 8 #endif 9 10 extern void do_not_go_away (); 11 f(NT x,NT y)12void f (NT x, NT y) 13 { 14 NT n = 1; 15 n <<= (__CHAR_BIT__ * sizeof (NT) - 1); 16 if (x > n) return; 17 if (y > n) return; 18 NT z = x + y; 19 if (z == 42) do_not_go_away (); 20 } 21 22 /* { dg-final { scan-tree-dump "do_not_go_away" "optimized" } } */ 23