summaryrefslogtreecommitdiff
path: root/vere/ext/gmp/gen/aarch64-linux/mpn/bdiv_dbm1c.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-linux/mpn/bdiv_dbm1c.s
claude is gud
Diffstat (limited to 'vere/ext/gmp/gen/aarch64-linux/mpn/bdiv_dbm1c.s')
-rw-r--r--vere/ext/gmp/gen/aarch64-linux/mpn/bdiv_dbm1c.s123
1 files changed, 123 insertions, 0 deletions
diff --git a/vere/ext/gmp/gen/aarch64-linux/mpn/bdiv_dbm1c.s b/vere/ext/gmp/gen/aarch64-linux/mpn/bdiv_dbm1c.s
new file mode 100644
index 0000000..859498b
--- /dev/null
+++ b/vere/ext/gmp/gen/aarch64-linux/mpn/bdiv_dbm1c.s
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .text
+ .align 4
+ .text
+ .align 3
+ .globl __gmpn_bdiv_dbm1c
+ .type __gmpn_bdiv_dbm1c,@function
+__gmpn_bdiv_dbm1c:
+ ldr x5, [x1], #8
+ ands x6, x2, #3
+ b.eq .Lfi0
+ cmp x6, #2
+ b.cc .Lfi1
+ b.eq .Lfi2
+
+.Lfi3: mul x12, x5, x3
+ umulh x13, x5, x3
+ ldr x5, [x1], #8
+ b .Llo3
+
+.Lfi0: mul x10, x5, x3
+ umulh x11, x5, x3
+ ldr x5, [x1], #8
+ b .Llo0
+
+.Lfi1: subs x2, x2, #1
+ mul x12, x5, x3
+ umulh x13, x5, x3
+ b.ls .Lwd1
+ ldr x5, [x1], #8
+ b .Llo1
+
+.Lfi2: mul x10, x5, x3
+ umulh x11, x5, x3
+ ldr x5, [x1], #8
+ b .Llo2
+
+.Ltop: ldr x5, [x1], #8
+ subs x4, x4, x10
+ str x4, [x0], #8
+ sbc x4, x4, x11
+.Llo1: mul x10, x5, x3
+ umulh x11, x5, x3
+ ldr x5, [x1], #8
+ subs x4, x4, x12
+ str x4, [x0], #8
+ sbc x4, x4, x13
+.Llo0: mul x12, x5, x3
+ umulh x13, x5, x3
+ ldr x5, [x1], #8
+ subs x4, x4, x10
+ str x4, [x0], #8
+ sbc x4, x4, x11
+.Llo3: mul x10, x5, x3
+ umulh x11, x5, x3
+ ldr x5, [x1], #8
+ subs x4, x4, x12
+ str x4, [x0], #8
+ sbc x4, x4, x13
+.Llo2: subs x2, x2, #4
+ mul x12, x5, x3
+ umulh x13, x5, x3
+ b.hi .Ltop
+
+.Lwd2: subs x4, x4, x10
+ str x4, [x0], #8
+ sbc x4, x4, x11
+.Lwd1: subs x4, x4, x12
+ str x4, [x0]
+ sbc x0, x4, x13
+ ret
+ .size __gmpn_bdiv_dbm1c,.-__gmpn_bdiv_dbm1c