~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/loongarch/lib/tishift.S

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-only */
  2 
  3 #include <asm/asmmacro.h>
  4 #include <linux/export.h>
  5 #include <linux/linkage.h>
  6 
  7 SYM_FUNC_START(__ashlti3)
  8         srli.d  t2, a0, 1
  9         nor     t3, zero, a2
 10         sll.d   t1, a1, a2
 11         srl.d   t2, t2, t3
 12         andi    t0, a2, 64
 13         sll.d   a0, a0, a2
 14         or      t1, t2, t1
 15         maskeqz a1, a0, t0
 16         masknez a0, a0, t0
 17         masknez t0, t1, t0
 18         or      a1, t0, a1
 19         jr      ra
 20 SYM_FUNC_END(__ashlti3)
 21 EXPORT_SYMBOL(__ashlti3)
 22 
 23 SYM_FUNC_START(__ashrti3)
 24         nor     t3, zero, a2
 25         slli.d  t2, a1, 1
 26         srl.d   t1, a0, a2
 27         sll.d   t2, t2, t3
 28         andi    t0, a2, 64
 29         or      t1, t2, t1
 30         sra.d   a2, a1, a2
 31         srai.d  a1, a1, 63
 32         maskeqz a0, a2, t0
 33         maskeqz a1, a1, t0
 34         masknez a2, a2, t0
 35         masknez t0, t1, t0
 36         or      a1, a1, a2
 37         or      a0, t0, a0
 38         jr      ra
 39 SYM_FUNC_END(__ashrti3)
 40 EXPORT_SYMBOL(__ashrti3)
 41 
 42 SYM_FUNC_START(__lshrti3)
 43         slli.d  t2, a1, 1
 44         nor     t3, zero, a2
 45         srl.d   t1, a0, a2
 46         sll.d   t2, t2, t3
 47         andi    t0, a2, 64
 48         srl.d   a1, a1, a2
 49         or      t1, t2, t1
 50         maskeqz a0, a1, t0
 51         masknez a1, a1, t0
 52         masknez t0, t1, t0
 53         or      a0, t0, a0
 54         jr      ra
 55 SYM_FUNC_END(__lshrti3)
 56 EXPORT_SYMBOL(__lshrti3)

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php