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

TOMOYO Linux Cross Reference
Linux/arch/arm64/crypto/sm4-ce-cipher-core.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
  2 
  3 #include <linux/linkage.h>
  4 #include <asm/assembler.h>
  5 
  6         .irp            b, 0, 1, 2, 3, 4, 5, 6, 7, 8
  7         .set            .Lv\b\().4s, \b
  8         .endr
  9 
 10         .macro          sm4e, rd, rn
 11         .inst           0xcec08400 | .L\rd | (.L\rn << 5)
 12         .endm
 13 
 14         /*
 15          * void sm4_ce_do_crypt(const u32 *rk, u32 *out, const u32 *in);
 16          */
 17         .text
 18 SYM_FUNC_START(sm4_ce_do_crypt)
 19         ld1             {v8.4s}, [x2]
 20         ld1             {v0.4s-v3.4s}, [x0], #64
 21 CPU_LE( rev32           v8.16b, v8.16b          )
 22         ld1             {v4.4s-v7.4s}, [x0]
 23         sm4e            v8.4s, v0.4s
 24         sm4e            v8.4s, v1.4s
 25         sm4e            v8.4s, v2.4s
 26         sm4e            v8.4s, v3.4s
 27         sm4e            v8.4s, v4.4s
 28         sm4e            v8.4s, v5.4s
 29         sm4e            v8.4s, v6.4s
 30         sm4e            v8.4s, v7.4s
 31         rev64           v8.4s, v8.4s
 32         ext             v8.16b, v8.16b, v8.16b, #8
 33 CPU_LE( rev32           v8.16b, v8.16b          )
 34         st1             {v8.4s}, [x1]
 35         ret
 36 SYM_FUNC_END(sm4_ce_do_crypt)

~ [ 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