github.com/emmansun/gmsm@v0.29.1/sm9/bn256/select_decl.go (about)

     1  //go:build (amd64 || arm64 || ppc64 || ppc64le) && !purego
     2  
     3  package bn256
     4  
     5  import "golang.org/x/sys/cpu"
     6  
     7  var supportAVX2 = cpu.X86.HasAVX2
     8  
     9  // If cond is 0, sets res = b, otherwise sets res = a.
    10  //
    11  //go:noescape
    12  func gfP12MovCond(res, a, b *gfP12, cond int)
    13  
    14  // If cond is 0, sets res = b, otherwise sets res = a.
    15  //
    16  //go:noescape
    17  func curvePointMovCond(res, a, b *curvePoint, cond int)
    18  
    19  // If cond is 0, sets res = b, otherwise sets res = a.
    20  //
    21  //go:noescape
    22  func twistPointMovCond(res, a, b *twistPoint, cond int)
    23  
    24  //go:noescape
    25  func gfpCopy(res, in *gfP)
    26  
    27  //go:noescape
    28  func gfp2Copy(res, in *gfP2)
    29  
    30  //go:noescape
    31  func gfp4Copy(res, in *gfP4)
    32  
    33  //go:noescape
    34  func gfp6Copy(res, in *gfP6)
    35  
    36  //go:noescape
    37  func gfp12Copy(res, in *gfP12)