ashldi3.S 447 B

12345678910111213141516171819202122232425262728
  1. /* SPDX-License-Identifier: GPL-2.0-or-later WITH GCC-exception-2.0 */
  2. #include <linux/linkage.h>
  3. #include <asm/asmmacro.h>
  4. #include <asm/core.h>
  5. #ifdef __XTENSA_EB__
  6. #define uh a2
  7. #define ul a3
  8. #else
  9. #define uh a3
  10. #define ul a2
  11. #endif /* __XTENSA_EB__ */
  12. ENTRY(__ashldi3)
  13. abi_entry_default
  14. ssl a4
  15. bgei a4, 32, .Llow_only
  16. src uh, uh, ul
  17. sll ul, ul
  18. abi_ret_default
  19. .Llow_only:
  20. sll uh, ul
  21. movi ul, 0
  22. abi_ret_default
  23. ENDPROC(__ashldi3)