github.com/cloudflare/circl@v1.5.0/ecc/fourq/point_amd64.s (about) 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) 8 TEXT ·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) 37 TEXT ·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) 77 TEXT ·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