...
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