summaryrefslogtreecommitdiff
path: root/vere/ext/gmp/gen/aarch64-macos/mpn/copyi.s
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-10-05 21:56:51 +0700
committerpolwex <polwex@sortug.com>2025-10-05 21:56:51 +0700
commitfcedfddf00b3f994e4f4e40332ac7fc192c63244 (patch)
tree51d38e62c7bdfcc5f9a5e9435fe820c93cfc9a3d /vere/ext/gmp/gen/aarch64-macos/mpn/copyi.s
claude is gud
Diffstat (limited to 'vere/ext/gmp/gen/aarch64-macos/mpn/copyi.s')
-rw-r--r--vere/ext/gmp/gen/aarch64-macos/mpn/copyi.s94
1 files changed, 94 insertions, 0 deletions
diff --git a/vere/ext/gmp/gen/aarch64-macos/mpn/copyi.s b/vere/ext/gmp/gen/aarch64-macos/mpn/copyi.s
new file mode 100644
index 0000000..b87f4fc
--- /dev/null
+++ b/vere/ext/gmp/gen/aarch64-macos/mpn/copyi.s
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .text
+ .align 3
+ .globl ___gmpn_copyi
+
+___gmpn_copyi:
+ cmp x2, #3
+ b.le Lbc
+
+
+ tbz x0, #3, Lal2
+ ldr x4, [x1],#8
+ sub x2, x2, #1
+ str x4, [x0],#8
+
+Lal2: ldp x4,x5, [x1],#16
+ sub x2, x2, #6
+ tbnz x2, #63, Lend
+
+ .align 4
+Ltop: ldp x6,x7, [x1],#32
+ stp x4,x5, [x0],#32
+ ldp x4,x5, [x1,#-16]
+ stp x6,x7, [x0,#-16]
+ sub x2, x2, #4
+ tbz x2, #63, Ltop
+
+Lend: stp x4,x5, [x0],#16
+
+
+
+Lbc: tbz x2, #1, Ltl1
+ ldp x4,x5, [x1],#16
+ stp x4,x5, [x0],#16
+Ltl1: tbz x2, #0, Ltl2
+ ldr x4, [x1]
+ str x4, [x0]
+Ltl2: ret
+