Skip to content

Commit eb35fda

Browse files
committed
project: Update for 6.1.2.
1 parent 305df0a commit eb35fda

File tree

2 files changed

+26
-14
lines changed

2 files changed

+26
-14
lines changed

SMP/gmp.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ see https://www.gnu.org/licenses/. */
6464
#if defined(__x86_64) || defined(_M_X64)
6565
#define _LONG_LONG_LIMB 1
6666
#endif
67-
#if defined(DLL_EXPORT)
67+
#if defined(DLL_EXPORT) && defined(NO_ASM)
6868
#define __GMP_LIBGMP_DLL 1
6969
#else
7070
#define __GMP_LIBGMP_DLL 0

SMP/mpn/x86_64/sec_tabselect.s

+25-13
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,12 @@ __gmpn_sec_tabselect:
107107

108108
mov 56(%rsp), %r8d
109109

110+
add $-88, %rsp
111+
movdqu %xmm6, (%rsp)
112+
movdqu %xmm7, 16(%rsp)
113+
movdqu %xmm8, 32(%rsp)
114+
movdqu %xmm9, 48(%rsp)
115+
110116
movd %r8, %xmm8
111117
pshufd $0, %xmm8, %xmm8
112118
mov $1, %eax
@@ -120,15 +126,15 @@ __gmpn_sec_tabselect:
120126
Louter_top:
121127
mov %rcx, %r10
122128
mov %rsi, %r11
123-
pxor %xmm13, %xmm13
129+
pxor %xmm1, %xmm1
124130
pxor %xmm4, %xmm4
125131
pxor %xmm5, %xmm5
126132
pxor %xmm6, %xmm6
127133
pxor %xmm7, %xmm7
128134
.align 16, 0x90
129135
Ltop: movdqa %xmm8, %xmm0
130-
pcmpeqd %xmm13, %xmm0
131-
paddd %xmm9, %xmm13
136+
pcmpeqd %xmm1, %xmm0
137+
paddd %xmm9, %xmm1
132138
movdqu 0(%rsi), %xmm2
133139
movdqu 16(%rsi), %xmm3
134140
pand %xmm0, %xmm2
@@ -160,13 +166,13 @@ Louter_end:
160166
je Lb0xx
161167
Lb1xx:mov %rcx, %r10
162168
mov %rsi, %r11
163-
pxor %xmm13, %xmm13
169+
pxor %xmm1, %xmm1
164170
pxor %xmm4, %xmm4
165171
pxor %xmm5, %xmm5
166172
.align 16, 0x90
167173
Ltp4: movdqa %xmm8, %xmm0
168-
pcmpeqd %xmm13, %xmm0
169-
paddd %xmm9, %xmm13
174+
pcmpeqd %xmm1, %xmm0
175+
paddd %xmm9, %xmm1
170176
movdqu 0(%rsi), %xmm2
171177
movdqu 16(%rsi), %xmm3
172178
pand %xmm0, %xmm2
@@ -185,12 +191,12 @@ Lb0xx:test $2, %dl
185191
je Lb00x
186192
Lb01x:mov %rcx, %r10
187193
mov %rsi, %r11
188-
pxor %xmm13, %xmm13
194+
pxor %xmm1, %xmm1
189195
pxor %xmm4, %xmm4
190196
.align 16, 0x90
191197
Ltp2: movdqa %xmm8, %xmm0
192-
pcmpeqd %xmm13, %xmm0
193-
paddd %xmm9, %xmm13
198+
pcmpeqd %xmm1, %xmm0
199+
paddd %xmm9, %xmm1
194200
movdqu 0(%rsi), %xmm2
195201
pand %xmm0, %xmm2
196202
por %xmm2, %xmm4
@@ -205,12 +211,12 @@ Lb00x:test $1, %dl
205211
je Lb000
206212
Lb001:mov %rcx, %r10
207213
mov %rsi, %r11
208-
pxor %xmm13, %xmm13
214+
pxor %xmm1, %xmm1
209215
pxor %xmm4, %xmm4
210216
.align 16, 0x90
211217
Ltp1: movdqa %xmm8, %xmm0
212-
pcmpeqd %xmm13, %xmm0
213-
paddd %xmm9, %xmm13
218+
pcmpeqd %xmm1, %xmm0
219+
paddd %xmm9, %xmm1
214220
movq 0(%rsi), %xmm2
215221
pand %xmm0, %xmm2
216222
por %xmm2, %xmm4
@@ -219,7 +225,13 @@ Ltp1: movdqa %xmm8, %xmm0
219225
jne Ltp1
220226
movq %xmm4, 0(%rdi)
221227

222-
Lb000:pop %rsi
228+
Lb000:
229+
movdqu (%rsp), %xmm6
230+
movdqu 16(%rsp), %xmm7
231+
movdqu 32(%rsp), %xmm8
232+
movdqu 48(%rsp), %xmm9
233+
add $88, %rsp
234+
pop %rsi
223235
pop %rdi
224236
ret
225237

0 commit comments

Comments
 (0)