__moddi3.c 278 B

1234567891011121314151617181920212223
  1. #include "libgcc.h"
  2. s64 __moddi3(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. (void)__udivmoddi4(num, den, (u64 *) & v);
  15. if (minus)
  16. v = -v;
  17. return v;
  18. }
  19. EXPORT_SYMBOL(__moddi3);