ref: 10d114ef7415da437bd27fc6d637db257bb27634
parent: 9e4f84555f91cb632fb4cf84c5b445a91138aca1
author: rodri <rgl@antares-labs.eu>
date: Thu Apr 10 13:01:59 EDT 2025
add a slightly better memsetl
--- a/memsetl-amd64.s
+++ b/memsetl-amd64.s
@@ -3,6 +3,19 @@
MOVQ RARG, DI
MOVL c+8(FP), AX
MOVQ n+16(FP), CX
+
+ /* if not a multiple of 2, do longs at a time */
+ MOVQ CX, BX
+ ANDQ $1, BX
+ JNE longs
+
+ /* set whole vlongs */
+ MOVL AX, BX
+ SHLQ $32, BX
+ ORQ BX, AX
+ SHRQ $1, CX
+ REP; STOSQ
+ RET
+longs:
REP; STOSL
- MOVQ RARG,AX
RET
--- a/mkfile
+++ b/mkfile
@@ -18,7 +18,7 @@
util.$O\
nanosec.$O\
marshal.$O\
- `{fn : { ~ $objtype (amd64)\
+ `{fn : { test -f $1-$objtype.s\
&& echo $1-$objtype.$O\
|| echo $1.$O };\
: memsetl }\