xref: /kernel/linux/linux-6.6/arch/xtensa/lib/ashldi3.S
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /kernel/linux/linux-6.6/arch/xtensa/lib/
162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later WITH GCC-exception-2.0 */
262306a36Sopenharmony_ci#include <linux/linkage.h>
362306a36Sopenharmony_ci#include <asm/asmmacro.h>
462306a36Sopenharmony_ci#include <asm/core.h>
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#ifdef __XTENSA_EB__
762306a36Sopenharmony_ci#define uh a2
862306a36Sopenharmony_ci#define ul a3
962306a36Sopenharmony_ci#else
1062306a36Sopenharmony_ci#define uh a3
1162306a36Sopenharmony_ci#define ul a2
1262306a36Sopenharmony_ci#endif /* __XTENSA_EB__ */
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciENTRY(__ashldi3)
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	abi_entry_default
1762306a36Sopenharmony_ci	ssl	a4
1862306a36Sopenharmony_ci	bgei	a4, 32, .Llow_only
1962306a36Sopenharmony_ci	src	uh, uh, ul
2062306a36Sopenharmony_ci	sll	ul, ul
2162306a36Sopenharmony_ci	abi_ret_default
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci.Llow_only:
2462306a36Sopenharmony_ci	sll	uh, ul
2562306a36Sopenharmony_ci	movi	ul, 0
2662306a36Sopenharmony_ci	abi_ret_default
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciENDPROC(__ashldi3)
2962306a36Sopenharmony_ciEXPORT_SYMBOL(__ashldi3)
30

Indexes created Thu Nov 07 10:32:03 CST 2024