~mdw
/
catacomb
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '2.4.x' into 2.5.x
[catacomb]
/
math
/
mpx-mul4-amd64-sse2.S
diff --git
a/math/mpx-mul4-amd64-sse2.S
b/math/mpx-mul4-amd64-sse2.S
index
64460ca
..
d313765
100644
(file)
--- a/
math/mpx-mul4-amd64-sse2.S
+++ b/
math/mpx-mul4-amd64-sse2.S
@@
-25,15
+25,13
@@
/// MA 02111-1307, USA.
///--------------------------------------------------------------------------
/// MA 02111-1307, USA.
///--------------------------------------------------------------------------
-///
External definition
s.
+///
Preliminarie
s.
#include "config.h"
#include "asm-common.h"
#include "config.h"
#include "asm-common.h"
-///--------------------------------------------------------------------------
-/// Prologue.
-
.arch pentium4
.arch pentium4
+
.text
///--------------------------------------------------------------------------
.text
///--------------------------------------------------------------------------
@@
-1329,7
+1327,7
@@
ENDFUNC
# define ARG6 STKARG(2)
# define ARG7 STKARG(3)
# define ARG8 STKARG(4)
# define ARG6 STKARG(2)
# define ARG7 STKARG(3)
# define ARG8 STKARG(4)
-# define STKARG_OFFSET
40
+# define STKARG_OFFSET
224
#endif
#define STKARG(i) [rsp + STKARG_OFFSET + 8*(i)]
#endif
#define STKARG(i) [rsp + STKARG_OFFSET + 8*(i)]
@@
-1386,7
+1384,7
@@
ENDFUNC
mov rbx, r8
movdqu xmm8, [r9]
movdqu xmm10, [rax]
mov rbx, r8
movdqu xmm8, [r9]
movdqu xmm10, [rax]
- mov r8, STKARG(1)
+ mov r8
d
, STKARG(1)
mov r9, STKARG(2)
mov r10, rdx
mov r11, rcx
mov r9, STKARG(2)
mov r10, rdx
mov r11, rcx
@@
-1395,7
+1393,7
@@
ENDFUNC
.ifeqs "\mode", "mont"
mov rbx, rcx
movdqu xmm8, [r8]
.ifeqs "\mode", "mont"
mov rbx, rcx
movdqu xmm8, [r8]
- mov r8
, r9
+ mov r8
d, r9d
mov r9, STKARG(0)
mov r10, rdx
mov rcx, rsi
mov r9, STKARG(0)
mov r10, rdx
mov rcx, rsi
@@
-1423,16
+1421,16
@@
ENDFUNC
mov rbx, r9
movdqu xmm8, [r10]
movdqu xmm10, [r11]
mov rbx, r9
movdqu xmm8, [r10]
movdqu xmm10, [r11]
- mov r8, STKARG(2)
- mov r9, STKARG(3)
mov r11, r8
mov r11, r8
+ mov r8d, STKARG(2)
+ mov r9, STKARG(3)
.endif
.ifeqs "\mode", "smul"
mov rdi, rcx
mov rcx, rdx
mov rbx, r8
movdqu xmm10, [r9]
.endif
.ifeqs "\mode", "smul"
mov rdi, rcx
mov rcx, rdx
mov rbx, r8
movdqu xmm10, [r9]
- mov r8, STKARG(0)
+ mov r8
d
, STKARG(0)
mov r9, STKARG(1)
.endif
.ifeqs "\mode", "mmul"
mov r9, STKARG(1)
.endif
.ifeqs "\mode", "mmul"
@@
-1443,10
+1441,10
@@
ENDFUNC
mov rbx, STKARG(0)
movdqu xmm8, [r10]
movdqu xmm10, [r11]
mov rbx, STKARG(0)
movdqu xmm8, [r10]
movdqu xmm10, [r11]
- mov r8, STKARG(3)
- mov r9, STKARG(4)
mov r10, r8
mov r11, r9
mov r10, r8
mov r11, r9
+ mov r8d, STKARG(3)
+ mov r9, STKARG(4)
.endif
.ifeqs "\mode", "mont"
mov r10, STKARG(0)
.endif
.ifeqs "\mode", "mont"
mov r10, STKARG(0)
@@
-1454,9
+1452,9
@@
ENDFUNC
mov rcx, rdx
mov rbx, r9
movdqu xmm8, [r10]
mov rcx, rdx
mov rbx, r9
movdqu xmm8, [r10]
- mov r8, STKARG(1)
- mov r9, STKARG(2)
mov r10, r8
mov r10, r8
+ mov r8d, STKARG(1)
+ mov r9, STKARG(2)
.endif
#endif
.endif
#endif
@@
-1550,6
+1548,16
@@
FUNC(test_mul4)
testepilogue
ENDFUNC
testepilogue
ENDFUNC
+FUNC(test_mul4zc)
+ testprologue smul
+ testldcarry
+ testtop nil
+ call mul4zc
+ testtail
+ testcarryout
+ testepilogue
+ENDFUNC
+
FUNC(test_mla4)
testprologue smul
testldcarry
FUNC(test_mla4)
testprologue smul
testldcarry
@@
-1560,6
+1568,16
@@
FUNC(test_mla4)
testepilogue
ENDFUNC
testepilogue
ENDFUNC
+FUNC(test_mla4zc)
+ testprologue smul
+ testldcarry
+ testtop nil
+ call mla4zc
+ testtail
+ testcarryout
+ testepilogue
+ENDFUNC
+
FUNC(test_mmul4)
testprologue mmul
testtop r11
FUNC(test_mmul4)
testprologue mmul
testtop r11