pq_crypto 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/ext/pqcrypto/pqcrypto_version.h +1 -1
- data/ext/pqcrypto/vendor/.vendored +4 -4
- data/ext/pqcrypto/vendor/mlkem-native/README.md +6 -3
- data/ext/pqcrypto/vendor/mlkem-native/RELEASE.md +22 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native.c +77 -36
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native.h +135 -146
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native_asm.S +116 -72
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native_config.h +351 -415
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/cbmc.h +43 -20
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/common.h +16 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/compress.c +57 -31
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/compress.h +260 -349
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/debug.h +17 -24
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202.c +35 -37
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202.h +43 -57
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202x4.c +14 -15
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202x4.h +5 -4
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/keccakf1600.c +42 -6
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/fips202_native_aarch64.h +31 -20
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/{keccak_f1600_x1_scalar_asm.S → keccak_f1600_x1_scalar_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/{keccak_f1600_x1_v84a_asm.S → keccak_f1600_x1_v84a_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/{keccak_f1600_x2_v84a_asm.S → keccak_f1600_x2_v84a_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/{keccak_f1600_x4_v8a_scalar_hybrid_asm.S → keccak_f1600_x4_v8a_scalar_hybrid_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/{keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S → keccak_f1600_x4_v8a_v84a_scalar_hybrid_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccakf1600_round_constants.c +10 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x1_scalar.h +2 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x1_v84a.h +1 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x2_v84a.h +4 -2
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x4_v8a_scalar.h +2 -2
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x4_v8a_v84a_scalar.h +1 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/fips202_native_armv81m.h +2 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.S +55 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/keccakf1600_round_constants.c +26 -25
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/state_extract_bytes_x4_mve.S +58 -14
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/state_xor_bytes_x4_mve.S +57 -16
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/auto.h +2 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/keccak_f1600_x4_avx2.h +2 -2
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/fips202_native_x86_64.h +10 -7
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/{keccak_f1600_x4_avx2.S → keccak_f1600_x4_avx2_asm.S} +13 -11
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/keccakf1600_constants.c +12 -11
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/indcpa.c +167 -136
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/indcpa.h +75 -68
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/kem.h +135 -157
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/meta.h +15 -13
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/aarch64_zetas.c +143 -135
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/arith_native_aarch64.h +52 -46
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{intt.S → intt_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{ntt.S → ntt_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{poly_mulcache_compute_asm.S → poly_mulcache_compute_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{poly_reduce_asm.S → poly_reduce_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{poly_tobytes_asm.S → poly_tobytes_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{poly_tomont_asm.S → poly_tomont_aarch64_asm.S} +10 -12
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{polyvec_basemul_acc_montgomery_cached_asm_k2.S → polyvec_basemul_acc_montgomery_cached_k2_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{polyvec_basemul_acc_montgomery_cached_asm_k3.S → polyvec_basemul_acc_montgomery_cached_k3_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{polyvec_basemul_acc_montgomery_cached_asm_k4.S → polyvec_basemul_acc_montgomery_cached_k4_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{rej_uniform_asm.S → rej_uniform_aarch64_asm.S} +12 -12
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/rej_uniform_table.c +514 -513
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/api.h +254 -253
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/meta.h +6 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/README.md +6 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/meta.h +77 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/arith_native_ppc64le.h +24 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/consts.c +299 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/consts.h +34 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/intt_ppc_asm.S +3222 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/ntt_ppc_asm.S +1651 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/poly_tomont_ppc_asm.S +294 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/reduce_ppc_asm.S +710 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/meta.h +5 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_debug.c +18 -16
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_debug.h +19 -24
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_poly.c +53 -65
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/meta.h +20 -20
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/arith_native_x86_64.h +106 -88
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/compress_consts.c +45 -35
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/compress_consts.h +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/consts.c +1 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/consts.h +1 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{intt.S → intt_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{ntt.S → ntt_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{nttfrombytes.S → nttfrombytes_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{ntttobytes.S → ntttobytes_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{nttunpack.S → nttunpack_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_compress_d10.S → poly_compress_d10_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_compress_d11.S → poly_compress_d11_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_compress_d4.S → poly_compress_d4_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_compress_d5.S → poly_compress_d5_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_decompress_d10.S → poly_decompress_d10_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_decompress_d11.S → poly_decompress_d11_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_decompress_d4.S → poly_decompress_d4_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_decompress_d5.S → poly_decompress_d5_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{mulcache_compute.S → poly_mulcache_compute_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{polyvec_basemul_acc_montgomery_cached_asm_k2.S → polyvec_basemul_acc_montgomery_cached_k2_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{polyvec_basemul_acc_montgomery_cached_asm_k3.S → polyvec_basemul_acc_montgomery_cached_k3_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{polyvec_basemul_acc_montgomery_cached_asm_k4.S → polyvec_basemul_acc_montgomery_cached_k4_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{reduce.S → reduce_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{rej_uniform_asm.S → rej_uniform_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/rej_uniform_table.c +514 -513
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{tomont.S → tomont_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly.c +61 -57
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly.h +89 -116
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly_k.c +31 -32
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly_k.h +226 -301
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/randombytes.h +21 -29
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sampling.c +68 -63
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sampling.h +37 -48
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sys.h +44 -2
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/verify.h +141 -159
- data/lib/pq_crypto/version.rb +1 -1
- data/script/vendor_libs.rb +3 -3
- metadata +47 -38
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) The mlkem-native project authors
|
|
3
|
+
* Copyright (c) IBM Corp. 2025, 2026
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0 OR ISC OR MIT
|
|
5
|
+
*
|
|
6
|
+
* Written by Danny Tsen <dtsen@us.ibm.com>
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* Poly_tomont: Inplace conversion of all coefficients of a polynomial
|
|
11
|
+
* from normal domain to Montgomery domain
|
|
12
|
+
*
|
|
13
|
+
* Arguments:*r: pointer to input/output polynomial
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
#include "../../../common.h"
|
|
17
|
+
#if defined(MLK_ARITH_BACKEND_PPC64LE_DEFAULT) && \
|
|
18
|
+
!defined(MLK_CONFIG_MULTILEVEL_NO_SHARED) && defined(__POWER8_VECTOR__)
|
|
19
|
+
|
|
20
|
+
/*
|
|
21
|
+
* WARNING: This file is auto-derived from the mlkem-native source file
|
|
22
|
+
* dev/ppc64le/src/poly_tomont_ppc_asm.S using scripts/simpasm. Do not modify it directly.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
.text
|
|
26
|
+
.balign 4
|
|
27
|
+
.global MLK_ASM_NAMESPACE(poly_tomont_ppc_asm)
|
|
28
|
+
MLK_ASM_FN_SYMBOL(poly_tomont_ppc_asm)
|
|
29
|
+
|
|
30
|
+
stdu 1, -320(1)
|
|
31
|
+
mflr 0
|
|
32
|
+
li 6, 128
|
|
33
|
+
li 7, 144
|
|
34
|
+
li 8, 160
|
|
35
|
+
li 9, 176
|
|
36
|
+
li 10, 192
|
|
37
|
+
li 11, 208
|
|
38
|
+
li 12, 224
|
|
39
|
+
stxvd2x 52, 6, 1
|
|
40
|
+
stxvd2x 53, 7, 1
|
|
41
|
+
stxvd2x 54, 8, 1
|
|
42
|
+
stxvd2x 55, 9, 1
|
|
43
|
+
stxvd2x 56, 10, 1
|
|
44
|
+
stxvd2x 57, 11, 1
|
|
45
|
+
stxvd2x 58, 12, 1
|
|
46
|
+
li 6, 240
|
|
47
|
+
li 7, 256
|
|
48
|
+
li 8, 272
|
|
49
|
+
li 9, 288
|
|
50
|
+
stxvd2x 59, 6, 1
|
|
51
|
+
stxvd2x 60, 7, 1
|
|
52
|
+
stxvd2x 61, 8, 1
|
|
53
|
+
stxvd2x 62, 9, 1
|
|
54
|
+
li 6, 0
|
|
55
|
+
li 7, 80
|
|
56
|
+
li 8, 96
|
|
57
|
+
lxvd2x 37, 6, 4
|
|
58
|
+
lxvd2x 32, 7, 4
|
|
59
|
+
lxvd2x 34, 8, 4
|
|
60
|
+
vxor 3, 3, 3
|
|
61
|
+
li 4, -128
|
|
62
|
+
li 5, -112
|
|
63
|
+
li 6, -96
|
|
64
|
+
li 7, -80
|
|
65
|
+
li 8, -64
|
|
66
|
+
li 9, -48
|
|
67
|
+
li 10, -32
|
|
68
|
+
li 11, -16
|
|
69
|
+
lxvd2x 45, 0, 3
|
|
70
|
+
addi 3, 3, 16
|
|
71
|
+
lxvd2x 50, 0, 3
|
|
72
|
+
addi 3, 3, 16
|
|
73
|
+
lxvd2x 55, 0, 3
|
|
74
|
+
addi 3, 3, 16
|
|
75
|
+
lxvd2x 39, 0, 3
|
|
76
|
+
addi 3, 3, 16
|
|
77
|
+
vmhraddshs 14, 13, 2, 3
|
|
78
|
+
vmhraddshs 19, 18, 2, 3
|
|
79
|
+
vmhraddshs 24, 23, 2, 3
|
|
80
|
+
vmhraddshs 8, 7, 2, 3
|
|
81
|
+
vmladduhm 13, 13, 0, 3
|
|
82
|
+
vmladduhm 18, 18, 0, 3
|
|
83
|
+
vmladduhm 23, 23, 0, 3
|
|
84
|
+
vmladduhm 7, 7, 0, 3
|
|
85
|
+
vmladduhm 27, 14, 5, 13
|
|
86
|
+
vmladduhm 28, 19, 5, 18
|
|
87
|
+
vmladduhm 29, 24, 5, 23
|
|
88
|
+
vmladduhm 30, 8, 5, 7
|
|
89
|
+
lxvd2x 45, 0, 3
|
|
90
|
+
addi 3, 3, 16
|
|
91
|
+
lxvd2x 50, 0, 3
|
|
92
|
+
addi 3, 3, 16
|
|
93
|
+
lxvd2x 55, 0, 3
|
|
94
|
+
addi 3, 3, 16
|
|
95
|
+
lxvd2x 39, 0, 3
|
|
96
|
+
addi 3, 3, 16
|
|
97
|
+
vmhraddshs 14, 13, 2, 3
|
|
98
|
+
vmhraddshs 19, 18, 2, 3
|
|
99
|
+
vmhraddshs 24, 23, 2, 3
|
|
100
|
+
vmhraddshs 8, 7, 2, 3
|
|
101
|
+
vmladduhm 13, 13, 0, 3
|
|
102
|
+
vmladduhm 18, 18, 0, 3
|
|
103
|
+
vmladduhm 23, 23, 0, 3
|
|
104
|
+
vmladduhm 7, 7, 0, 3
|
|
105
|
+
vmladduhm 13, 14, 5, 13
|
|
106
|
+
vmladduhm 18, 19, 5, 18
|
|
107
|
+
vmladduhm 23, 24, 5, 23
|
|
108
|
+
vmladduhm 7, 8, 5, 7
|
|
109
|
+
stxvd2x 59, 4, 3
|
|
110
|
+
stxvd2x 60, 5, 3
|
|
111
|
+
stxvd2x 61, 6, 3
|
|
112
|
+
stxvd2x 62, 7, 3
|
|
113
|
+
stxvd2x 45, 8, 3
|
|
114
|
+
stxvd2x 50, 9, 3
|
|
115
|
+
stxvd2x 55, 10, 3
|
|
116
|
+
stxvd2x 39, 11, 3
|
|
117
|
+
lxvd2x 45, 0, 3
|
|
118
|
+
addi 3, 3, 16
|
|
119
|
+
lxvd2x 50, 0, 3
|
|
120
|
+
addi 3, 3, 16
|
|
121
|
+
lxvd2x 55, 0, 3
|
|
122
|
+
addi 3, 3, 16
|
|
123
|
+
lxvd2x 39, 0, 3
|
|
124
|
+
addi 3, 3, 16
|
|
125
|
+
vmhraddshs 14, 13, 2, 3
|
|
126
|
+
vmhraddshs 19, 18, 2, 3
|
|
127
|
+
vmhraddshs 24, 23, 2, 3
|
|
128
|
+
vmhraddshs 8, 7, 2, 3
|
|
129
|
+
vmladduhm 13, 13, 0, 3
|
|
130
|
+
vmladduhm 18, 18, 0, 3
|
|
131
|
+
vmladduhm 23, 23, 0, 3
|
|
132
|
+
vmladduhm 7, 7, 0, 3
|
|
133
|
+
vmladduhm 27, 14, 5, 13
|
|
134
|
+
vmladduhm 28, 19, 5, 18
|
|
135
|
+
vmladduhm 29, 24, 5, 23
|
|
136
|
+
vmladduhm 30, 8, 5, 7
|
|
137
|
+
lxvd2x 45, 0, 3
|
|
138
|
+
addi 3, 3, 16
|
|
139
|
+
lxvd2x 50, 0, 3
|
|
140
|
+
addi 3, 3, 16
|
|
141
|
+
lxvd2x 55, 0, 3
|
|
142
|
+
addi 3, 3, 16
|
|
143
|
+
lxvd2x 39, 0, 3
|
|
144
|
+
addi 3, 3, 16
|
|
145
|
+
vmhraddshs 14, 13, 2, 3
|
|
146
|
+
vmhraddshs 19, 18, 2, 3
|
|
147
|
+
vmhraddshs 24, 23, 2, 3
|
|
148
|
+
vmhraddshs 8, 7, 2, 3
|
|
149
|
+
vmladduhm 13, 13, 0, 3
|
|
150
|
+
vmladduhm 18, 18, 0, 3
|
|
151
|
+
vmladduhm 23, 23, 0, 3
|
|
152
|
+
vmladduhm 7, 7, 0, 3
|
|
153
|
+
vmladduhm 13, 14, 5, 13
|
|
154
|
+
vmladduhm 18, 19, 5, 18
|
|
155
|
+
vmladduhm 23, 24, 5, 23
|
|
156
|
+
vmladduhm 7, 8, 5, 7
|
|
157
|
+
stxvd2x 59, 4, 3
|
|
158
|
+
stxvd2x 60, 5, 3
|
|
159
|
+
stxvd2x 61, 6, 3
|
|
160
|
+
stxvd2x 62, 7, 3
|
|
161
|
+
stxvd2x 45, 8, 3
|
|
162
|
+
stxvd2x 50, 9, 3
|
|
163
|
+
stxvd2x 55, 10, 3
|
|
164
|
+
stxvd2x 39, 11, 3
|
|
165
|
+
lxvd2x 45, 0, 3
|
|
166
|
+
addi 3, 3, 16
|
|
167
|
+
lxvd2x 50, 0, 3
|
|
168
|
+
addi 3, 3, 16
|
|
169
|
+
lxvd2x 55, 0, 3
|
|
170
|
+
addi 3, 3, 16
|
|
171
|
+
lxvd2x 39, 0, 3
|
|
172
|
+
addi 3, 3, 16
|
|
173
|
+
vmhraddshs 14, 13, 2, 3
|
|
174
|
+
vmhraddshs 19, 18, 2, 3
|
|
175
|
+
vmhraddshs 24, 23, 2, 3
|
|
176
|
+
vmhraddshs 8, 7, 2, 3
|
|
177
|
+
vmladduhm 13, 13, 0, 3
|
|
178
|
+
vmladduhm 18, 18, 0, 3
|
|
179
|
+
vmladduhm 23, 23, 0, 3
|
|
180
|
+
vmladduhm 7, 7, 0, 3
|
|
181
|
+
vmladduhm 27, 14, 5, 13
|
|
182
|
+
vmladduhm 28, 19, 5, 18
|
|
183
|
+
vmladduhm 29, 24, 5, 23
|
|
184
|
+
vmladduhm 30, 8, 5, 7
|
|
185
|
+
lxvd2x 45, 0, 3
|
|
186
|
+
addi 3, 3, 16
|
|
187
|
+
lxvd2x 50, 0, 3
|
|
188
|
+
addi 3, 3, 16
|
|
189
|
+
lxvd2x 55, 0, 3
|
|
190
|
+
addi 3, 3, 16
|
|
191
|
+
lxvd2x 39, 0, 3
|
|
192
|
+
addi 3, 3, 16
|
|
193
|
+
vmhraddshs 14, 13, 2, 3
|
|
194
|
+
vmhraddshs 19, 18, 2, 3
|
|
195
|
+
vmhraddshs 24, 23, 2, 3
|
|
196
|
+
vmhraddshs 8, 7, 2, 3
|
|
197
|
+
vmladduhm 13, 13, 0, 3
|
|
198
|
+
vmladduhm 18, 18, 0, 3
|
|
199
|
+
vmladduhm 23, 23, 0, 3
|
|
200
|
+
vmladduhm 7, 7, 0, 3
|
|
201
|
+
vmladduhm 13, 14, 5, 13
|
|
202
|
+
vmladduhm 18, 19, 5, 18
|
|
203
|
+
vmladduhm 23, 24, 5, 23
|
|
204
|
+
vmladduhm 7, 8, 5, 7
|
|
205
|
+
stxvd2x 59, 4, 3
|
|
206
|
+
stxvd2x 60, 5, 3
|
|
207
|
+
stxvd2x 61, 6, 3
|
|
208
|
+
stxvd2x 62, 7, 3
|
|
209
|
+
stxvd2x 45, 8, 3
|
|
210
|
+
stxvd2x 50, 9, 3
|
|
211
|
+
stxvd2x 55, 10, 3
|
|
212
|
+
stxvd2x 39, 11, 3
|
|
213
|
+
lxvd2x 45, 0, 3
|
|
214
|
+
addi 3, 3, 16
|
|
215
|
+
lxvd2x 50, 0, 3
|
|
216
|
+
addi 3, 3, 16
|
|
217
|
+
lxvd2x 55, 0, 3
|
|
218
|
+
addi 3, 3, 16
|
|
219
|
+
lxvd2x 39, 0, 3
|
|
220
|
+
addi 3, 3, 16
|
|
221
|
+
vmhraddshs 14, 13, 2, 3
|
|
222
|
+
vmhraddshs 19, 18, 2, 3
|
|
223
|
+
vmhraddshs 24, 23, 2, 3
|
|
224
|
+
vmhraddshs 8, 7, 2, 3
|
|
225
|
+
vmladduhm 13, 13, 0, 3
|
|
226
|
+
vmladduhm 18, 18, 0, 3
|
|
227
|
+
vmladduhm 23, 23, 0, 3
|
|
228
|
+
vmladduhm 7, 7, 0, 3
|
|
229
|
+
vmladduhm 27, 14, 5, 13
|
|
230
|
+
vmladduhm 28, 19, 5, 18
|
|
231
|
+
vmladduhm 29, 24, 5, 23
|
|
232
|
+
vmladduhm 30, 8, 5, 7
|
|
233
|
+
lxvd2x 45, 0, 3
|
|
234
|
+
addi 3, 3, 16
|
|
235
|
+
lxvd2x 50, 0, 3
|
|
236
|
+
addi 3, 3, 16
|
|
237
|
+
lxvd2x 55, 0, 3
|
|
238
|
+
addi 3, 3, 16
|
|
239
|
+
lxvd2x 39, 0, 3
|
|
240
|
+
addi 3, 3, 16
|
|
241
|
+
vmhraddshs 14, 13, 2, 3
|
|
242
|
+
vmhraddshs 19, 18, 2, 3
|
|
243
|
+
vmhraddshs 24, 23, 2, 3
|
|
244
|
+
vmhraddshs 8, 7, 2, 3
|
|
245
|
+
vmladduhm 13, 13, 0, 3
|
|
246
|
+
vmladduhm 18, 18, 0, 3
|
|
247
|
+
vmladduhm 23, 23, 0, 3
|
|
248
|
+
vmladduhm 7, 7, 0, 3
|
|
249
|
+
vmladduhm 13, 14, 5, 13
|
|
250
|
+
vmladduhm 18, 19, 5, 18
|
|
251
|
+
vmladduhm 23, 24, 5, 23
|
|
252
|
+
vmladduhm 7, 8, 5, 7
|
|
253
|
+
stxvd2x 59, 4, 3
|
|
254
|
+
stxvd2x 60, 5, 3
|
|
255
|
+
stxvd2x 61, 6, 3
|
|
256
|
+
stxvd2x 62, 7, 3
|
|
257
|
+
stxvd2x 45, 8, 3
|
|
258
|
+
stxvd2x 50, 9, 3
|
|
259
|
+
stxvd2x 55, 10, 3
|
|
260
|
+
stxvd2x 39, 11, 3
|
|
261
|
+
li 6, 128
|
|
262
|
+
li 7, 144
|
|
263
|
+
li 8, 160
|
|
264
|
+
li 9, 176
|
|
265
|
+
li 10, 192
|
|
266
|
+
li 11, 208
|
|
267
|
+
li 12, 224
|
|
268
|
+
lxvd2x 52, 6, 1
|
|
269
|
+
lxvd2x 53, 7, 1
|
|
270
|
+
lxvd2x 54, 8, 1
|
|
271
|
+
lxvd2x 55, 9, 1
|
|
272
|
+
lxvd2x 56, 10, 1
|
|
273
|
+
lxvd2x 57, 11, 1
|
|
274
|
+
lxvd2x 58, 12, 1
|
|
275
|
+
li 6, 240
|
|
276
|
+
li 7, 256
|
|
277
|
+
li 8, 272
|
|
278
|
+
li 9, 288
|
|
279
|
+
lxvd2x 59, 6, 1
|
|
280
|
+
lxvd2x 60, 7, 1
|
|
281
|
+
lxvd2x 61, 8, 1
|
|
282
|
+
lxvd2x 62, 9, 1
|
|
283
|
+
mtlr 0
|
|
284
|
+
addi 1, 1, 320
|
|
285
|
+
blr
|
|
286
|
+
|
|
287
|
+
MLK_ASM_FN_SIZE(poly_tomont_ppc_asm)
|
|
288
|
+
|
|
289
|
+
#endif /* MLK_ARITH_BACKEND_PPC64LE_DEFAULT && !MLK_CONFIG_MULTILEVEL_NO_SHARED \
|
|
290
|
+
&& __POWER8_VECTOR__ */
|
|
291
|
+
|
|
292
|
+
#if defined(__ELF__)
|
|
293
|
+
.section .note.GNU-stack,"",%progbits
|
|
294
|
+
#endif
|