ramspeed: Make it compilable by fixing amd64 assember files.
This commit is contained in:
parent
221e3a15e1
commit
1ff4c311d5
|
@ -1,6 +1,14 @@
|
|||
$NetBSD: distinfo,v 1.5 2021/10/26 10:02:55 nia Exp $
|
||||
$NetBSD: distinfo,v 1.6 2024/02/21 12:50:22 msaitoh Exp $
|
||||
|
||||
BLAKE2s (ramspeed-2.6.0.tar.gz) = 54c13e5b899842f435a074959470626dcb1dd69aa8c1de9b9de04c5c93f71b67
|
||||
SHA512 (ramspeed-2.6.0.tar.gz) = 9866e5525e0a9df1ab6a0e92085addfed50a987fb335d9127835ca0fb890f7614ad51bec15b7148648bbce8b4709b4f45114a51585bf0e881be56402934abdc4
|
||||
Size (ramspeed-2.6.0.tar.gz) = 77531 bytes
|
||||
SHA1 (patch-aa) = 371133ddde45b40c21205b677cf5edcc714d277a
|
||||
SHA1 (patch-amd64_fltmark.s) = b17d3dbe2c130569c69ced2538baa575609f5751
|
||||
SHA1 (patch-amd64_fltmem.s) = b501d3931a8e3d6f1c363fd392b3cdb782966af9
|
||||
SHA1 (patch-amd64_intmark.s) = d45b1d8b2fc9a08cc2792a565c5fb694cc08e00b
|
||||
SHA1 (patch-amd64_intmem.s) = 40a1cf2ec9b95ad8e475f73d24d42a39732f0508
|
||||
SHA1 (patch-amd64_mmxmark.s) = 6dcf8da36ff9c84b9a83860a1eb79de7ed4109d6
|
||||
SHA1 (patch-amd64_mmxmem.s) = f978ae1409f62dadb714e13db37df8eb503a20a6
|
||||
SHA1 (patch-amd64_ssemark.s) = 789538e1c540e4b29e9831864caf1a21a35fb8f9
|
||||
SHA1 (patch-amd64_ssemem.s) = c7a8d47f89a2fc3e1966fe79825707553852cc77
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
$NetBSD: patch-amd64_fltmark.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
|
||||
|
||||
AMD64: use PLT calls for PIC, as required by linker
|
||||
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
|
||||
|
||||
--- amd64/fltmark.s
|
||||
+++ amd64/fltmark.s
|
||||
@@ -27,12 +27,12 @@ floatwr:
|
||||
movq %rsi, %rbp
|
||||
/* allocate */
|
||||
shlq $10, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
movq %rbx, %rcx
|
||||
movq %r12, %rdi
|
||||
@@ -180,10 +180,10 @@ floatwr:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free */
|
||||
movq %r12, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* calculate */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -210,7 +210,7 @@ floatrd:
|
||||
movq %rsi, %rbp
|
||||
/* allocate */
|
||||
shlq $10, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
/* prefill */
|
||||
movq %rbx, %rcx
|
||||
@@ -228,7 +228,7 @@ floatrd:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
movq %rbx, %rcx
|
||||
movq %r12, %rdi
|
||||
@@ -502,10 +502,10 @@ floatrd:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free */
|
||||
movq %r12, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* calculate */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
|
@ -0,0 +1,185 @@
|
|||
$NetBSD: patch-amd64_fltmem.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
|
||||
|
||||
AMD64: use PLT calls for PIC, as required by linker
|
||||
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
|
||||
|
||||
--- amd64/fltmem.s
|
||||
+++ amd64/fltmem.s
|
||||
@@ -29,11 +29,11 @@ floatcp:
|
||||
shlq $10, %rbx
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r13
|
||||
/* prefill */
|
||||
movq %rbx, %rcx
|
||||
@@ -52,7 +52,7 @@ floatcp:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $8, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -138,13 +138,13 @@ floatcp:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free */
|
||||
movq %r13, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* free */
|
||||
movq %r12, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* calculate */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -174,11 +174,11 @@ floatsc:
|
||||
shlq $10, %rbx
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r13
|
||||
/* prefill */
|
||||
movq %rbx, %rcx
|
||||
@@ -197,7 +197,7 @@ floatsc:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $8, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -316,13 +316,13 @@ floatsc:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free */
|
||||
movq %r13, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* free */
|
||||
movq %r12, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* calculate */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -354,15 +354,15 @@ floatad:
|
||||
shlq $10, %rbx
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r13
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r14
|
||||
/* prefill */
|
||||
movq %rbx, %rcx
|
||||
@@ -387,7 +387,7 @@ floatad:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $8, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -508,16 +508,16 @@ floatad:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free */
|
||||
movq %r14, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* free */
|
||||
movq %r13, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* free */
|
||||
movq %r12, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* calculate */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -551,15 +551,15 @@ floattr:
|
||||
shlq $10, %rbx
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r13
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r14
|
||||
/* prefill */
|
||||
movq %rbx, %rcx
|
||||
@@ -584,7 +584,7 @@ floattr:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $8, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -738,16 +738,16 @@ floattr:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free */
|
||||
movq %r14, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* free */
|
||||
movq %r13, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* free */
|
||||
movq %r12, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* calculate */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
|
@ -0,0 +1,66 @@
|
|||
$NetBSD: patch-amd64_intmark.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
|
||||
|
||||
AMD64: use PLT calls for PIC, as required by linker
|
||||
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
|
||||
|
||||
--- amd64/intmark.s
|
||||
+++ amd64/intmark.s
|
||||
@@ -27,12 +27,12 @@ intwr:
|
||||
movq %rsi, %rbp
|
||||
/* allocate */
|
||||
shlq $10, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
movq %rbx, %rcx
|
||||
movq %r12, %rdi
|
||||
@@ -179,10 +179,10 @@ intwr:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free */
|
||||
movq %r12, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* calculate */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -211,7 +211,7 @@ intrd:
|
||||
movq %rsi, %rbp
|
||||
/* allocate */
|
||||
shlq $10, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
/* prefill */
|
||||
movq %rbx, %rcx
|
||||
@@ -227,7 +227,7 @@ intrd:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
movq %rbx, %rcx
|
||||
movq %r12, %rdi
|
||||
@@ -373,10 +373,10 @@ intrd:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free */
|
||||
movq %r12, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* calculate */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
|
@ -0,0 +1,185 @@
|
|||
$NetBSD: patch-amd64_intmem.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
|
||||
|
||||
AMD64: use PLT calls for PIC, as required by linker
|
||||
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
|
||||
|
||||
--- amd64/intmem.s
|
||||
+++ amd64/intmem.s
|
||||
@@ -31,11 +31,11 @@ intcp:
|
||||
shlq $10, %rbx
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r13
|
||||
/* prefill */
|
||||
movq %rbx, %rcx
|
||||
@@ -52,7 +52,7 @@ intcp:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $8, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -137,13 +137,13 @@ intcp:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free */
|
||||
movq %r13, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* free */
|
||||
movq %r12, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* calculate */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -177,11 +177,11 @@ intsc:
|
||||
shlq $10, %rbx
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r13
|
||||
/* prefill */
|
||||
movq %rbx, %rcx
|
||||
@@ -198,7 +198,7 @@ intsc:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $8, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -283,13 +283,13 @@ intsc:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free */
|
||||
movq %r13, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* free */
|
||||
movq %r12, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* calculate */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -323,15 +323,15 @@ intad:
|
||||
shlq $10, %rbx
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r13
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r14
|
||||
/* prefill */
|
||||
movq %rbx, %rcx
|
||||
@@ -355,7 +355,7 @@ intad:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $8, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -475,16 +475,16 @@ intad:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free */
|
||||
movq %r14, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* free */
|
||||
movq %r13, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* free */
|
||||
movq %r12, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* calculate */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -518,15 +518,15 @@ inttr:
|
||||
shlq $10, %rbx
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r13
|
||||
/* allocate */
|
||||
movq %rbx, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r14
|
||||
/* prefill */
|
||||
movq %rbx, %rcx
|
||||
@@ -550,7 +550,7 @@ inttr:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $8, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -670,16 +670,16 @@ inttr:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free */
|
||||
movq %r14, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* free */
|
||||
movq %r13, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* free */
|
||||
movq %r12, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* calculate */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
|
@ -0,0 +1,131 @@
|
|||
$NetBSD: patch-amd64_mmxmark.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
|
||||
|
||||
AMD64: use PLT calls for PIC, as required by linker
|
||||
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
|
||||
|
||||
--- amd64/mmxmark.s
|
||||
+++ amd64/mmxmark.s
|
||||
@@ -31,7 +31,7 @@ mmxwr:
|
||||
movq $0x0000000000001000, %r15
|
||||
movq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -39,7 +39,7 @@ mmxwr:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -123,10 +123,10 @@ mmxwr:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -159,7 +159,7 @@ mmxrd:
|
||||
movq $0x0000000000001000, %r15
|
||||
movq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -183,7 +183,7 @@ mmxrd:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -266,10 +266,10 @@ mmxrd:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -302,7 +302,7 @@ mmxwr_nt:
|
||||
movq $0x0000000000001000, %r15
|
||||
movq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -310,7 +310,7 @@ mmxwr_nt:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -394,10 +394,10 @@ mmxwr_nt:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -430,7 +430,7 @@ mmxrd_nt:
|
||||
movq $0x0000000000001000, %r15
|
||||
movq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -454,7 +454,7 @@ mmxrd_nt:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
decq %rbx
|
||||
@@ -614,10 +614,10 @@ mmxrd_nt:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
|
@ -0,0 +1,379 @@
|
|||
$NetBSD: patch-amd64_mmxmem.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
|
||||
|
||||
AMD64: use PLT calls for PIC, as required by linker
|
||||
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
|
||||
|
||||
--- amd64/mmxmem.s
|
||||
+++ amd64/mmxmem.s
|
||||
@@ -33,7 +33,7 @@ mmxcp:
|
||||
movq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -59,7 +59,7 @@ mmxcp:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $8, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -145,10 +145,10 @@ mmxcp:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -184,7 +184,7 @@ mmxsc:
|
||||
movq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -210,7 +210,7 @@ mmxsc:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* create the multiplier */
|
||||
movw $77, 16(%rsp)
|
||||
movw $77, 18(%rsp)
|
||||
@@ -334,10 +334,10 @@ mmxsc:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -375,7 +375,7 @@ mmxad:
|
||||
addq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -414,7 +414,7 @@ mmxad:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $8, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -535,10 +535,10 @@ mmxad:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -577,7 +577,7 @@ mmxtr:
|
||||
addq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -616,7 +616,7 @@ mmxtr:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* create the multiplier */
|
||||
movw $77, 16(%rsp)
|
||||
movw $77, 18(%rsp)
|
||||
@@ -775,10 +775,10 @@ mmxtr:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -815,7 +815,7 @@ mmxcp_nt:
|
||||
movq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -841,7 +841,7 @@ mmxcp_nt:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
decq %rbx
|
||||
@@ -1002,10 +1002,10 @@ mmxcp_nt:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -1041,7 +1041,7 @@ mmxsc_nt:
|
||||
movq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -1067,7 +1067,7 @@ mmxsc_nt:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* create the multiplier */
|
||||
movw $77, 16(%rsp)
|
||||
movw $77, 18(%rsp)
|
||||
@@ -1298,10 +1298,10 @@ mmxsc_nt:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -1339,7 +1339,7 @@ mmxad_nt:
|
||||
addq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -1378,7 +1378,7 @@ mmxad_nt:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
decq %rbx
|
||||
@@ -1614,10 +1614,10 @@ mmxad_nt:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -1656,7 +1656,7 @@ mmxtr_nt:
|
||||
addq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -1695,7 +1695,7 @@ mmxtr_nt:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* create the multiplier */
|
||||
movw $77, 16(%rsp)
|
||||
movw $77, 18(%rsp)
|
||||
@@ -2001,10 +2001,10 @@ mmxtr_nt:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -2041,7 +2041,7 @@ mmxcp_nt_t0:
|
||||
movq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -2067,7 +2067,7 @@ mmxcp_nt_t0:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
decq %rbx
|
||||
@@ -2228,10 +2228,10 @@ mmxcp_nt_t0:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -2267,7 +2267,7 @@ mmxsc_nt_t0:
|
||||
movq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -2293,7 +2293,7 @@ mmxsc_nt_t0:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* create the multiplier */
|
||||
movw $77, 16(%rsp)
|
||||
movw $77, 18(%rsp)
|
||||
@@ -2524,10 +2524,10 @@ mmxsc_nt_t0:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -2565,7 +2565,7 @@ mmxad_nt_t0:
|
||||
addq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -2604,7 +2604,7 @@ mmxad_nt_t0:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
decq %rbx
|
||||
@@ -2840,10 +2840,10 @@ mmxad_nt_t0:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -2882,7 +2882,7 @@ mmxtr_nt_t0:
|
||||
addq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -2921,7 +2921,7 @@ mmxtr_nt_t0:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* create the multiplier */
|
||||
movw $77, 16(%rsp)
|
||||
movw $77, 18(%rsp)
|
||||
@@ -3227,10 +3227,10 @@ mmxtr_nt_t0:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
|
@ -0,0 +1,131 @@
|
|||
$NetBSD: patch-amd64_ssemark.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
|
||||
|
||||
AMD64: use PLT calls for PIC, as required by linker
|
||||
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
|
||||
|
||||
--- amd64/ssemark.s
|
||||
+++ amd64/ssemark.s
|
||||
@@ -31,7 +31,7 @@ ssewr:
|
||||
movq $0x0000000000001000, %r15
|
||||
movq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -39,7 +39,7 @@ ssewr:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -91,10 +91,10 @@ ssewr:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -126,7 +126,7 @@ sserd:
|
||||
movq $0x0000000000001000, %r15
|
||||
movq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -150,7 +150,7 @@ sserd:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -201,10 +201,10 @@ sserd:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -236,7 +236,7 @@ ssewr_nt:
|
||||
movq $0x0000000000001000, %r15
|
||||
movq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -244,7 +244,7 @@ ssewr_nt:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -296,10 +296,10 @@ ssewr_nt:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -331,7 +331,7 @@ sserd_nt:
|
||||
movq $0x0000000000001000, %r15
|
||||
movq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -355,7 +355,7 @@ sserd_nt:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
decq %rbx
|
||||
@@ -451,10 +451,10 @@ sserd_nt:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
|
@ -0,0 +1,379 @@
|
|||
$NetBSD: patch-amd64_ssemem.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
|
||||
|
||||
AMD64: use PLT calls for PIC, as required by linker
|
||||
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
|
||||
|
||||
--- amd64/ssemem.s
|
||||
+++ amd64/ssemem.s
|
||||
@@ -33,7 +33,7 @@ ssecp:
|
||||
movq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -69,7 +69,7 @@ ssecp:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -155,10 +155,10 @@ ssecp:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -193,7 +193,7 @@ ssesc:
|
||||
movq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -229,7 +229,7 @@ ssesc:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* create the multiplier */
|
||||
fldln2
|
||||
fst 16(%rsp)
|
||||
@@ -354,10 +354,10 @@ ssesc:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -394,7 +394,7 @@ ssead:
|
||||
addq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -433,7 +433,7 @@ ssead:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $9, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -554,10 +554,10 @@ ssead:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -595,7 +595,7 @@ ssetr:
|
||||
addq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -634,7 +634,7 @@ ssetr:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* create the multiplier */
|
||||
fldln2
|
||||
fst 16(%rsp)
|
||||
@@ -794,10 +794,10 @@ ssetr:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -833,7 +833,7 @@ ssecp_nt:
|
||||
movq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -869,7 +869,7 @@ ssecp_nt:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $10, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -1037,10 +1037,10 @@ ssecp_nt:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -1075,7 +1075,7 @@ ssesc_nt:
|
||||
movq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -1111,7 +1111,7 @@ ssesc_nt:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* create the multiplier */
|
||||
fldln2
|
||||
fst 16(%rsp)
|
||||
@@ -1350,10 +1350,10 @@ ssesc_nt:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -1390,7 +1390,7 @@ ssead_nt:
|
||||
addq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -1429,7 +1429,7 @@ ssead_nt:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $10, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -1680,10 +1680,10 @@ ssead_nt:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -1721,7 +1721,7 @@ ssetr_nt:
|
||||
addq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -1760,7 +1760,7 @@ ssetr_nt:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* create the multiplier */
|
||||
fldln2
|
||||
fst 16(%rsp)
|
||||
@@ -2082,10 +2082,10 @@ ssetr_nt:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -2122,7 +2122,7 @@ ssecp_nt_t0:
|
||||
movq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -2158,7 +2158,7 @@ ssecp_nt_t0:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $10, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -2326,10 +2326,10 @@ ssecp_nt_t0:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -2364,7 +2364,7 @@ ssesc_nt_t0:
|
||||
movq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -2400,7 +2400,7 @@ ssesc_nt_t0:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* create the multiplier */
|
||||
fldln2
|
||||
fst 16(%rsp)
|
||||
@@ -2639,10 +2639,10 @@ ssesc_nt_t0:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -2679,7 +2679,7 @@ ssead_nt_t0:
|
||||
addq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -2718,7 +2718,7 @@ ssead_nt_t0:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* execute */
|
||||
shrq $10, %rbx
|
||||
movq %rbx, %rcx
|
||||
@@ -2969,10 +2969,10 @@ ssead_nt_t0:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
||||
@@ -3010,7 +3010,7 @@ ssetr_nt_t0:
|
||||
addq %rbx, %rdi
|
||||
addq %rbx, %rdi
|
||||
addq %r15, %rdi
|
||||
- call malloc
|
||||
+ call malloc@plt
|
||||
movq %rax, %r12
|
||||
addq %r15, %r12
|
||||
andq $0xFFFFFFFFFFFFF000, %r12
|
||||
@@ -3049,7 +3049,7 @@ ssetr_nt_t0:
|
||||
/* wall time (start) */
|
||||
leaq 0(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* create the multiplier */
|
||||
fldln2
|
||||
fst 16(%rsp)
|
||||
@@ -3371,10 +3371,10 @@ ssetr_nt_t0:
|
||||
/* wall time (finish) */
|
||||
leaq 16(%rsp), %rdi
|
||||
xorq %rsi, %rsi
|
||||
- call gettimeofday
|
||||
+ call gettimeofday@plt
|
||||
/* free memory */
|
||||
movq %r15, %rdi
|
||||
- call free
|
||||
+ call free@plt
|
||||
/* time calculation (in microseconds) */
|
||||
movq 16(%rsp), %rax
|
||||
subq 0(%rsp), %rax
|
Loading…
Reference in New Issue