hpm_ffssi.c 321 B

12345678910111213141516171819202122
  1. /*
  2. * Copyright (c) 2021 HPMicro
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. *
  6. */
  7. #include "hpm_common.h"
  8. int __ffssi2(int x)
  9. {
  10. uint32_t i = 0;
  11. if (!x) {
  12. return 0;
  13. }
  14. for (i = 0; (i < sizeof(x) * 8 - 1); i++) {
  15. if ((x >> i) & 1) {
  16. break;
  17. }
  18. }
  19. return i + 1;
  20. }