__divdi3.c 269 B

1234567891011121314151617181920212223
  1. #include "libgcc.h"
  2. s64 __divdi3(s64 num, s64 den)
  3. {
  4. int minus = 0;
  5. s64 v;
  6. if (num < 0) {
  7. num = -num;
  8. minus = 1;
  9. }
  10. if (den < 0) {
  11. den = -den;
  12. minus ^= 1;
  13. }
  14. v = __udivmoddi4(num, den, NULL);
  15. if (minus)
  16. v = -v;
  17. return v;
  18. }
  19. EXPORT_SYMBOL(__divdi3);