i128_09_call_return.c (335B)
1 typedef unsigned __int128 u128; 2 3 static u128 add128(u128 a, u128 b) { return a + b; } 4 5 static int low_byte(u128 x) { return (int)(x & 255); } 6 7 int test_main(void) { 8 u128 a = ((u128)1 << 80) + 40; 9 u128 b = ((u128)2 << 80) + 7; 10 u128 c = add128(a, b); 11 if ((unsigned long long)(c >> 80) != 3ULL) return 11; 12 return low_byte(c); 13 }