1 // RUN: %clang_builtins %s %librt -o %t && %run %t
2 // REQUIRES: librt_has_udivdi3
9 COMPILER_RT_ABI du_int
__udivdi3(du_int a
, du_int b
);
11 int test__udivdi3(du_int a
, du_int b
, du_int expected_q
)
13 du_int q
= __udivdi3(a
, b
);
15 printf("error in __udivdi3: %lld / %lld = %lld, expected %lld\n",
17 return q
!= expected_q
;
22 if (test__udivdi3(0, 1, 0))
24 if (test__udivdi3(2, 1, 2))
26 if (test__udivdi3(0x8000000000000000uLL
, 1, 0x8000000000000000uLL
))
28 if (test__udivdi3(0x8000000000000000uLL
, 2, 0x4000000000000000uLL
))
30 if (test__udivdi3(0xFFFFFFFFFFFFFFFFuLL
, 2, 0x7FFFFFFFFFFFFFFFuLL
))