Home
last modified time | relevance | path

Searched full:multiplication (Results 1 – 25 of 233) sorted by relevance

12345678910

/linux-6.12.1/crypto/
Dpolyval-generic.c15 * modulus for finite field multiplication which makes hardware accelerated
30 * fields. This trick allows multiplication in the POLYVAL field to be
31 * implemented by using multiplication in the GHASH field as a subroutine. An
80 * Performs multiplication in the POLYVAL field using the GHASH field as a
85 * lookup table implementation for finite field multiplication.
101 * Perform a POLYVAL update using non4k multiplication. This function is used
106 * lookup table implementation of finite field multiplication.
/linux-6.12.1/arch/x86/crypto/
Dpolyval-clmulni_asm.S9 * allows us to split finite field multiplication into two steps.
12 * than 128. We then compute p(x) = h^8m_0 + ... + h^1m_7 where multiplication
13 * is simply polynomial multiplication.
19 * multiplication is finite field multiplication. The advantage is that the
85 * extra multiplication of SUM and h^8.
175 * Compute schoolbook multiplication for 8 blocks
181 * I.e., the first multiplication uses m_0 + REDUCE(PL, PH) instead of m_0.
264 * Perform montgomery multiplication in GF(2^128) and store result in op1.
Daes-gcm-aesni-x86_64.S90 // multiplication instead of schoolbook multiplication. This saves one
96 // As a rough approximation, we can assume that Karatsuba multiplication is
97 // faster than schoolbook multiplication in this context if one pshufd and
105 // schoolbook multiplication should be faster, but only marginally.
115 // saved by using a multiplication-less reduction method. We don't do that
123 // this is incompatible with Karatsuba multiplication. Therefore, for
124 // multi-block processing we use Karatsuba multiplication with a regular
329 // This does Karatsuba multiplication and must be paired with _ghash_reduce. On
357 // MI += LO + HI (needed because we used Karatsuba multiplication)
381 // This macro just does the first step: it does the unreduced multiplication
[all …]
DKconfig417 - CLMUL-NI (carry-less multiplication new instructions)
493 - CLMUL-NI (carry-less multiplication new instructions)
504 - PCLMULQDQ (carry-less multiplication)
515 - PCLMULQDQ (carry-less multiplication)
525 - PCLMULQDQ (carry-less multiplication)
Daes-gcm-avx10-x86_64.S52 // support VAES (vector AES), VPCLMULQDQ (vector carryless multiplication), and
156 // The _ghash_mul_step macro does one step of GHASH multiplication of the
168 // just XOR, while multiplication is more complex and has two parts: (a) do
169 // carryless multiplication of two 128-bit input polynomials to get a 256-bit
181 // just works, since XOR and carryless multiplication are symmetric with respect
193 // multiplication. This is because an M-bit by N-bit carryless multiplication
205 // in the natural order, and the multiplication is actually \a * \b * x^-128 mod
212 // 128-bit carryless multiplication, so we break the 128 x 128 multiplication
257 // Using Karatsuba multiplication instead of "schoolbook" multiplication
375 // interpreted as multiplication by x mod x^128 + x^127 + x^126 + x^121
[all …]
/linux-6.12.1/arch/arm64/crypto/
Dpolyval-ce-core.S11 * finite field multiplication into two steps.
14 * than 128. We then compute p(x) = h^8m_0 + ... + h^1m_7 where multiplication
15 * is simply polynomial multiplication.
21 * multiplication is finite field multiplication. The advantage is that the
89 * Karatsuba multiplication is used instead of Schoolbook multiplication because
214 * I.e., the first multiplication uses m_0 + REDUCE(PL, PH) instead of m_0.
303 * Perform montgomery multiplication in GF(2^128) and store result in op1.
/linux-6.12.1/tools/perf/pmu-events/arch/riscv/andes/ax45/
Dinstructions.json75 "BriefDescription": "Integer multiplication instruction count"
100 "BriefDescription": "Floating-point multiplication instruction count"
120 "BriefDescription": "Integer multiplication and add/sub instruction count"
/linux-6.12.1/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/
Dphy_qmath.c9 * Description: This function make 16 bit unsigned multiplication.
10 * To fit the output into 16 bits the 32 bit multiplication result is right
19 * Description: This function make 16 bit multiplication and return the result
20 * in 16 bits. To fit the multiplication result into 16 bits the multiplication
22 * is done to remove the extra sign bit formed due to the multiplication.
/linux-6.12.1/drivers/net/wireless/broadcom/b43/
Dphy_n.h574 #define B43_NPHY_RSSIMC_0I_RSSI_X B43_PHY_N(0x1A4) /* RSSI multiplication coefficient 0 I RSSI X */
575 #define B43_NPHY_RSSIMC_0I_RSSI_Y B43_PHY_N(0x1A5) /* RSSI multiplication coefficient 0 I RSSI Y */
576 #define B43_NPHY_RSSIMC_0I_RSSI_Z B43_PHY_N(0x1A6) /* RSSI multiplication coefficient 0 I RSSI Z */
577 #define B43_NPHY_RSSIMC_0I_TBD B43_PHY_N(0x1A7) /* RSSI multiplication coefficient 0 I TBD */
578 #define B43_NPHY_RSSIMC_0I_PWRDET B43_PHY_N(0x1A8) /* RSSI multiplication coefficient 0 I power de…
579 #define B43_NPHY_RSSIMC_0I_TSSI B43_PHY_N(0x1A9) /* RSSI multiplication coefficient 0 I TSSI */
580 #define B43_NPHY_RSSIMC_0Q_RSSI_X B43_PHY_N(0x1AA) /* RSSI multiplication coefficient 0 Q RSSI X */
581 #define B43_NPHY_RSSIMC_0Q_RSSI_Y B43_PHY_N(0x1AB) /* RSSI multiplication coefficient 0 Q RSSI Y */
582 #define B43_NPHY_RSSIMC_0Q_RSSI_Z B43_PHY_N(0x1AC) /* RSSI multiplication coefficient 0 Q RSSI Z */
583 #define B43_NPHY_RSSIMC_0Q_TBD B43_PHY_N(0x1AD) /* RSSI multiplication coefficient 0 Q TBD */
[all …]
/linux-6.12.1/tools/perf/pmu-events/arch/riscv/sifive/u74/
Dinstructions.json50 "BriefDescription": "Integer multiplication instruction retired"
75 "BriefDescription": "Floating-point multiplication retired"
/linux-6.12.1/include/linux/iio/
Diio-gts-helper.h21 * @gain: Gain (multiplication) value. Gain must be positive, negative
41 * respective multiplication values could be 50 mS => 1, 100 mS => 2,
50 * @mul: Multiplication to the values caused by this time.
/linux-6.12.1/arch/arm/include/asm/
Ddelay.h25 * scale up this constant by 2^31, perform the actual multiplication,
70 * division by multiplication: you don't have to worry about
/linux-6.12.1/drivers/gpu/drm/sun4i/
Dsun8i_csc.c19 * First tree values in each line are multiplication factor and last
52 * First three factors in a row are multiplication factors which have 17 bits
55 * value before multiplication and lower 16 bits represents constant, which
/linux-6.12.1/include/linux/
Dreciprocal_div.h9 * Integers Using Multiplication" by Torbjörn Granlund and Peter
19 * a much faster multiplication operation with a variable dividend A
Doverflow.h149 * check_mul_overflow() - Calculate multiplication with overflow checking
156 * *@d holds the results of the attempted multiplication, regardless of whether
163 * wrapping_mul() - Intentionally perform a wrapping multiplication
168 * Return the potentially wrapped-around multiplication without
258 * size_mul() - Calculate size_t multiplication with saturation at SIZE_MAX
Dmath64.h218 * multiplication, the high 32-bits are carried into the next step. in mul_u64_u64_shr()
225 * The 128-bit result of the multiplication is in rl.ll and rh.ll, in mul_u64_u64_shr()
244 * Extract the sign before the multiplication and put it back in mul_s64_u64_shr()
Dpolynomial.h12 * @coef: multiplication factor of the term.
/linux-6.12.1/include/math-emu/
Dop-2.h231 * Multiplication algorithms:
234 /* Given a 1W * 1W => 2W primitive, do the extended multiplication. */
262 /* Given a 1W * 1W => 2W primitive, do the extended multiplication.
264 where multiplication is much more expensive than subtraction. */
323 /* Do at most 120x120=240 bits multiplication using double floating
324 point multiplication. This is useful if floating point
325 multiplication has much bigger throughput than integer multiply.
Dop-1.h121 * Multiplication algorithms:
125 multiplication immediately. */
136 /* Given a 1W * 1W => 2W primitive, do the extended multiplication. */
/linux-6.12.1/arch/nios2/kernel/
Dinsnemu.S95 * remaining multiplication opcodes.
180 * Prepare for either multiplication or division loop.
355 /* MULTIPLICATION
361 * Actual multiplication algorithms don't use repeated addition, however.
407 /* Initialize the multiplication loop. */
/linux-6.12.1/arch/x86/math-emu/
Dreg_u_mul.S6 | Core multiplication routine |
16 | Basic multiplication routine. |
/linux-6.12.1/arch/powerpc/crypto/
Dcurve25519-ppc64le-core.c5 * X25519 scalar multiplication with 51 bits limbs for PPC64le.
7 * - Algorithm 1 Scalar multiplication of a variable point
298 MODULE_DESCRIPTION("PPC64le Curve25519 scalar multiplication with 51 bits limbs");
/linux-6.12.1/lib/vdso/
DKconfig36 Select to add multiplication overflow protection to the VDSO
/linux-6.12.1/arch/x86/kernel/cpu/mtrr/
Dcyrix.c20 arr = CX86_ARR_BASE + (reg << 1) + reg; /* avoid multiplication by 3 */ in cyrix_get_arr()
184 arr = CX86_ARR_BASE + (reg << 1) + reg; /* avoid multiplication by 3 */ in cyrix_set_arr()
/linux-6.12.1/lib/crypto/
Dcurve25519-generic.c23 MODULE_DESCRIPTION("Curve25519 scalar multiplication");

12345678910