Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 6 of 6 for carryPropagate (0.44 sec)

  1. src/crypto/internal/edwards25519/field/fe_arm64.go

    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    //go:build !purego
    
    package field
    
    //go:noescape
    func carryPropagate(v *Element)
    
    func (v *Element) carryPropagate() *Element {
    	carryPropagate(v)
    	return v
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:29:44 UTC 2024
    - 323 bytes
    - Viewed (0)
  2. src/crypto/internal/edwards25519/field/fe_arm64.s

    //go:build !purego
    
    #include "textflag.h"
    
    // carryPropagate works exactly like carryPropagateGeneric and uses the
    // same AND, ADD, and LSR+MADD instructions emitted by the compiler, but
    // avoids loading R0-R4 twice and uses LDP and STP.
    //
    // See https://golang.org/issues/43145 for the main compiler issue.
    //
    // func carryPropagate(v *Element)
    TEXT ยทcarryPropagate(SB),NOFRAME|NOSPLIT,$0-8
    	MOVD v+0(FP), R20
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:29:44 UTC 2024
    - 1K bytes
    - Viewed (0)
  3. src/crypto/internal/edwards25519/field/fe_arm64_noasm.go

    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    //go:build !arm64 || purego
    
    package field
    
    func (v *Element) carryPropagate() *Element {
    	return v.carryPropagateGeneric()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:29:44 UTC 2024
    - 290 bytes
    - Viewed (0)
  4. src/crypto/internal/edwards25519/field/fe_amd64.s

    	ADDQ   R14, DI
    	ANDQ   AX, R9
    	ADDQ   SI, R9
    	ANDQ   AX, R11
    	ADDQ   R8, R11
    	ANDQ   AX, R13
    	ADDQ   R10, R13
    	ANDQ   AX, R15
    	ADDQ   R12, R15
    
    	// Second reduction chain (carryPropagate)
    	MOVQ   DI, SI
    	SHRQ   $0x33, SI
    	MOVQ   R9, R8
    	SHRQ   $0x33, R8
    	MOVQ   R11, R10
    	SHRQ   $0x33, R10
    	MOVQ   R13, R12
    	SHRQ   $0x33, R12
    	MOVQ   R15, R14
    	SHRQ   $0x33, R14
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:29:44 UTC 2024
    - 5.7K bytes
    - Viewed (0)
  5. src/crypto/internal/edwards25519/field/_asm/fe_amd64_asm.go

    	maskAndAdd(r1lo, maskLow51Bits, c0, 1)
    	maskAndAdd(r2lo, maskLow51Bits, c1, 1)
    	maskAndAdd(r3lo, maskLow51Bits, c2, 1)
    	maskAndAdd(r4lo, maskLow51Bits, c3, 1)
    
    	Comment("Second reduction chain (carryPropagate)")
    	// c0 = r0 >> 51
    	MOVQ(r0lo, c0)
    	SHRQ(Imm(51), c0)
    	// c1 = r1 >> 51
    	MOVQ(r1lo, c1)
    	SHRQ(Imm(51), c1)
    	// c2 = r2 >> 51
    	MOVQ(r2lo, c2)
    	SHRQ(Imm(51), c2)
    	// c3 = r3 >> 51
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:29:44 UTC 2024
    - 7.2K bytes
    - Viewed (0)
  6. src/crypto/internal/edwards25519/field/fe.go

    // One sets v = 1, and returns v.
    func (v *Element) One() *Element {
    	*v = *feOne
    	return v
    }
    
    // reduce reduces v modulo 2^255 - 19 and returns it.
    func (v *Element) reduce() *Element {
    	v.carryPropagate()
    
    	// After the light reduction we now have a field element representation
    	// v < 2^255 + 2^13 * 19, but need v < 2^255 - 19.
    
    	// If v >= 2^255 - 19, then v + 19 >= 2^255, which would overflow 2^255 - 1,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 13 18:57:38 UTC 2024
    - 11.8K bytes
    - Viewed (0)
Back to top