...

Text file src/github.com/cloudflare/circl/ecc/fourq/point_amd64.s

Documentation: github.com/cloudflare/circl/ecc/fourq

     1// +build amd64,!purego
     2
     3#include "go_asm.h"
     4#include "fq_amd64.h"
     5#include "point_amd64.h"
     6
     7// func doubleAmd64(P *pointR1)
     8TEXT ·doubleAmd64(SB),0,$0-8
     9    MOVQ P+0(FP), DI
    10    #define Px  const__x +0(DI)
    11    #define Py  const__y +0(DI)
    12    #define Pz  const__z +0(DI)
    13    #define Pta const__ta+0(DI)
    14    #define Ptb const__tb+0(DI)
    15    #define a Px
    16    #define b Py
    17    #define c Pz
    18    #define d Pta
    19    #define e Ptb
    20    #define f b
    21    #define g a
    22    CHECK_BMI2(LDOUBLE, doubleLeg, doubleBmi2)
    23    #undef Px
    24    #undef Py
    25    #undef Pz
    26    #undef Pta
    27    #undef Ptb
    28    #undef a
    29    #undef b
    30    #undef c
    31    #undef d
    32    #undef e
    33    #undef f
    34    #undef g
    35
    36// func addAmd64(P *pointR1, R *pointR2)
    37TEXT ·addAmd64(SB),0,$32-16
    38    MOVQ P+0(FP), DI
    39    MOVQ Q+8(FP), SI
    40    #define addYX const__addYXR2+0(SI)
    41    #define subYX const__subYXR2+0(SI)
    42    #define z2    const__z2R2   +0(SI)
    43    #define dt2   const__dt2R2  +0(SI)
    44    #define Px    const__x +0(DI)
    45    #define Py    const__y +0(DI)
    46    #define Pz    const__z +0(DI)
    47    #define Pta   const__ta+0(DI)
    48    #define Ptb   const__tb+0(DI)
    49    #define a Px
    50    #define b Py
    51    #define c 0(SP)
    52    #define d b
    53    #define e Pta
    54    #define f a
    55    #define g b
    56    #define h Ptb
    57    CHECK_BMI2(LDADD, addLeg, addBmi2)
    58    #undef addYX
    59    #undef subYX
    60    #undef z2
    61    #undef dt2
    62    #undef Px
    63    #undef Py
    64    #undef Pz
    65    #undef Pta
    66    #undef Ptb
    67    #undef a
    68    #undef b
    69    #undef c
    70    #undef d
    71    #undef e
    72    #undef f
    73    #undef g
    74    #undef h
    75
    76// func mixAddAmd64(P *pointR1, Q *pointR3)
    77TEXT ·mixAddAmd64(SB),0,$32-16
    78    MOVQ P+0(FP), DI
    79    MOVQ Q+8(FP), SI
    80    #define addYX const__addYXR3+0(SI)
    81    #define subYX const__subYXR3+0(SI)
    82    #define dt2   const__dt2R3  +0(SI)
    83    #define Px    const__x +0(DI)
    84    #define Py    const__y +0(DI)
    85    #define Pz    const__z +0(DI)
    86    #define Pta   const__ta+0(DI)
    87    #define Ptb   const__tb+0(DI)
    88    #define a Px
    89    #define b Py
    90    #define c 0(SP)
    91    #define d b
    92    #define e Pta
    93    #define f a
    94    #define g b
    95    #define h Ptb
    96    CHECK_BMI2(LDMIXADD, mixAddLeg, mixAddBmi2)
    97    #undef addYX
    98    #undef subYX
    99    #undef dt2
   100    #undef Px
   101    #undef Py
   102    #undef Pz
   103    #undef Pta
   104    #undef Ptb
   105    #undef a
   106    #undef b
   107    #undef c
   108    #undef d
   109    #undef e
   110    #undef f
   111    #undef g
   112    #undef h

View as plain text