Home
last modified time | relevance | path

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

12345678

/linux/lib/crypto/x86/
H A Dpolyval-pclmul-avx.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.
/linux/lib/crypto/
H A Dpolyval.c34 * to GF(2^128) multiplication. That approach is not constant-time and requires
36 * carryless multiplication using standard multiplications by spreading the data
47 /* Do a 64 x 64 => 128 bit carryless multiplication. */
52 * up to 64 / 4 = 16 one bits per column when each multiplication is in clmul64()
104 /* Do a 32 x 32 => 64 bit carryless multiplication. */
109 * 32 / 4 = 8 one bits per column when each multiplication is written in clmul32()
139 /* Do a 64 x 64 => 128 bit carryless multiplication. */
147 /* Karatsuba multiplication */ in clmul64()
164 * Carryless-multiply @a by @b using Karatsuba multiplication. Store in polyval_mul_generic()
/linux/lib/crypto/arm64/
H A 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.
/linux/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/
H A 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/tools/perf/pmu-events/arch/riscv/andes/ax45/
H A Dinstructions.json75 "BriefDescription": "Integer multiplication instruction count"
100 "BriefDescription": "Floating-point multiplication instruction count"
120 "BriefDescription": "Integer multiplication and add/sub instruction count"
/linux/drivers/net/wireless/broadcom/b43/
H A 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/arch/x86/crypto/
H A 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 …]
H A Daes-gcm-vaes-avx512.S104 // The _ghash_mul_step macro does one step of GHASH multiplication of the
116 // just XOR, while multiplication is more complex and has two parts: (a) do
117 // carryless multiplication of two 128-bit input polynomials to get a 256-bit
129 // just works, since XOR and carryless multiplication are symmetric with respect
141 // multiplication. This is because an M-bit by N-bit carryless multiplication
153 // in the natural order, and the multiplication is actually \a * \b * x^-128 mod
160 // 128-bit carryless multiplication, so we break the 128 x 128 multiplication
205 // Using Karatsuba multiplication instead of "schoolbook" multiplication
328 // interpreted as multiplication by x mod x^128 + x^127 + x^126 + x^121
332 // Either way, for the multiplication the concrete operation performed
[all …]
/linux/lib/crc/riscv/
H A Dcrc-clmul-template.h6 * RISC-V Zbc (scalar carryless multiplication) extension. The includer of this
96 * First step of Barrett reduction with integrated multiplication by in crc_clmul_long()
110 * multiplication. In the msb-first case, using this power of x results in crc_clmul_long()
113 * implicitly introduced by each carryless multiplication (shown as in crc_clmul_long()
230 * multiplication produces a result twice the length of a long, in crc_clmul()
/linux/tools/perf/pmu-events/arch/riscv/sifive/u74/
H A Dinstructions.json
/linux/Documentation/devicetree/bindings/riscv/
H A Dextensions.yaml80 The standard M extension for integer multiplication and division, as
285 multiplication as ratified at commit 6d33919 ("Merge pull request
523 The standard Zvbc extension for vectored carryless multiplication
638 carryless multiplication instructions, as ratified in commit 56ed795
703 SiFive Int8 Matrix Multiplication Extensions Specification.
705 … https://www.sifive.com/document-file/sifive-int8-matrix-multiplication-extensions-specification
709 SiFive Int8 Matrix Multiplication Extensions Specification.
711 … https://www.sifive.com/document-file/sifive-int8-matrix-multiplication-extensions-specification
/linux/arch/arm/include/asm/
H A 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/include/math-emu/
H A 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.
H A Dop-1.h121 * Multiplication algorithms:
125 multiplication immediately. */
136 /* Given a 1W * 1W => 2W primitive, do the extended multiplication. */
/linux/include/linux/
H A Dreciprocal_div.h9 * Integers Using Multiplication" by Torbjörn Granlund and Peter
19 * a much faster multiplication operation with a variable dividend A
H 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
328 * size_mul() - Calculate size_t multiplication with saturation at SIZE_MAX
H A Dmath64.h229 * multiplication, the high 32-bits are carried into the next step. in mul_u64_u64_shr()
236 * The 128-bit result of the multiplication is in rl.ll and rh.ll, in mul_u64_u64_shr()
255 * Extract the sign before the multiplication and put it back in mul_s64_u64_shr()
H A Dpolynomial.h12 * @coef: multiplication factor of the term.
/linux/arch/nios2/kernel/
H A 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/arch/x86/math-emu/
H A Dreg_u_mul.S6 | Core multiplication routine |
16 | Basic multiplication routine. |
/linux/lib/vdso/
H A DKconfig18 Select to add multiplication overflow protection to the VDSO
/linux/arch/x86/kernel/cpu/mtrr/
H A 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/lib/raid6/
H A Dmktables.c64 /* Compute multiplication table */ in main()
83 /* Compute vector multiplication table */ in main()
/linux/drivers/clk/
H A Dclk-plldig.c44 /* Best value of multiplication factor divider */
49 * loop multiplication factor.
/linux/lib/crypto/powerpc/
H A Dcurve25519.h5 * X25519 scalar multiplication with 51 bits limbs for PPC64le.
7 * - Algorithm 1 Scalar multiplication of a variable point

12345678