[Gmp-commit] /var/hg/gmp: Avoid the x18 register since it is reserved on Darwin.

mercurial at gmplib.org mercurial at gmplib.org
Sun Nov 29 22:08:47 UTC 2020


details:   /var/hg/gmp/rev/5f32dbc41afc
changeset: 18164:5f32dbc41afc
user:      Torbjorn Granlund <tg at gmplib.org>
date:      Sun Nov 29 22:31:40 2020 +0100
description:
Avoid the x18 register since it is reserved on Darwin.

diffstat:

 mpn/arm64/aors_n.asm           |  12 ++++++------
 mpn/arm64/aorsmul_1.asm        |  13 +++++++++----
 mpn/arm64/aorsorrlshC_n.asm    |  12 ++++++------
 mpn/arm64/cnd_aors_n.asm       |  12 ++++++------
 mpn/arm64/logops_n.asm         |  12 ++++++------
 mpn/arm64/lshift.asm           |  10 +++++-----
 mpn/arm64/lshiftc.asm          |  10 +++++-----
 mpn/arm64/mul_1.asm            |  14 +++++++-------
 mpn/arm64/rsh1aors_n.asm       |  20 ++++++++++----------
 mpn/arm64/rshift.asm           |  10 +++++-----
 mpn/arm64/sqr_diag_addlsh1.asm |  10 +++++-----
 11 files changed, 70 insertions(+), 65 deletions(-)

diffs (truncated from 512 to 300 lines):

diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/aors_n.asm
--- a/mpn/arm64/aors_n.asm	Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/aors_n.asm	Sun Nov 29 22:31:40 2020 +0100
@@ -68,7 +68,7 @@
 EPILOGUE()
 PROLOGUE(func_n)
 	CLRCY
-L(ent):	lsr	x18, n, #2
+L(ent):	lsr	x17, n, #2
 	tbz	n, #0, L(bx0)
 
 L(bx1):	ldr	x7, [up]
@@ -77,7 +77,7 @@
 	str	x13, [rp],#8
 	tbnz	n, #1, L(b11)
 
-L(b01):	cbz	x18, L(ret)
+L(b01):	cbz	x17, L(ret)
 	ldp	x4, x5, [up,#8]
 	ldp	x8, x9, [vp,#8]
 	sub	up, up, #8
@@ -88,7 +88,7 @@
 	ldp	x10, x11, [vp,#8]
 	add	up, up, #8
 	add	vp, vp, #8
-	cbz	x18, L(end)
+	cbz	x17, L(end)
 	b	L(top)
 
 L(bx0):	tbnz	n, #1, L(b10)
@@ -101,7 +101,7 @@
 
 L(b10):	ldp	x6, x7, [up]
 	ldp	x10, x11, [vp]
-	cbz	x18, L(end)
+	cbz	x17, L(end)
 
 	ALIGN(16)
 L(top):	ldp	x4, x5, [up,#16]
@@ -114,8 +114,8 @@
 	ADDSUBC	x12, x4, x8
 	ADDSUBC	x13, x5, x9
 	stp	x12, x13, [rp],#16
-	sub	x18, x18, #1
-	cbnz	x18, L(top)
+	sub	x17, x17, #1
+	cbnz	x17, L(top)
 
 L(end):	ADDSUBC	x12, x6, x10
 	ADDSUBC	x13, x7, x11
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/aorsmul_1.asm
--- a/mpn/arm64/aorsmul_1.asm	Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/aorsmul_1.asm	Sun Nov 29 22:31:40 2020 +0100
@@ -32,10 +32,15 @@
 
 include(`../config.m4')
 
-C	     cycles/limb
-C Cortex-A53	9.3-9.8
-C Cortex-A57	 7.0
-C X-Gene	 5.0
+C	       addmul_1        submul_1
+C	     cycles/limb     cycles/limb
+C Cortex-A53	9.3-9.8		9.3-9.8
+C Cortex-A55    9.0-9.5		9.3-9.8
+C Cortex-A57	 7		 7
+C Cortex-A72
+C Cortex-A73	 6		 6
+C X-Gene	 5		 5
+C Apple M1	 1.75		 1.75
 
 C NOTES
 C  * It is possible to keep the carry chain alive between the addition blocks
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/aorsorrlshC_n.asm
--- a/mpn/arm64/aorsorrlshC_n.asm	Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/aorsorrlshC_n.asm	Sun Nov 29 22:31:40 2020 +0100
@@ -65,14 +65,14 @@
 
 ASM_START()
 PROLOGUE(func_n)
-	lsr	x18, n, #2
+	lsr	x6, n, #2
 	tbz	n, #0, L(bx0)
 
 L(bx1):	ldr	x5, [up]
 	tbnz	n, #1, L(b11)
 
 L(b01):	ldr	x11, [vp]
-	cbz	x18, L(1)
+	cbz	x6, L(1)
 	ldp	x8, x9, [vp,#8]
 	lsl	x13, x11, #LSH
 	ADDSUB(	x15, x13, x5)
@@ -94,7 +94,7 @@
 	ADDSUB(	x17, x13, x5)
 	str	x17, [rp],#8
 	sub	up, up, #8
-	cbz	x18, L(end)
+	cbz	x6, L(end)
 	b	L(top)
 
 L(bx0):	tbnz	n, #1, L(b10)
@@ -107,7 +107,7 @@
 L(b10):	CLRRCY(	x9)
 	ldp	x10, x11, [vp]
 	sub	up, up, #16
-	cbz	x18, L(end)
+	cbz	x6, L(end)
 
 	ALIGN(16)
 L(top):	ldp	x4, x5, [up,#16]
@@ -124,8 +124,8 @@
 	ADDSUBC(x16, x12, x4)
 	ADDSUBC(x17, x13, x5)
 	stp	x16, x17, [rp],#16
-	sub	x18, x18, #1
-	cbnz	x18, L(top)
+	sub	x6, x6, #1
+	cbnz	x6, L(top)
 
 L(end):	ldp	x4, x5, [up,#16]
 	extr	x12, x10, x9, #RSH
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/cnd_aors_n.asm
--- a/mpn/arm64/cnd_aors_n.asm	Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/cnd_aors_n.asm	Sun Nov 29 22:31:40 2020 +0100
@@ -65,7 +65,7 @@
 
 	CLRCY
 
-	lsr	x18, n, #2
+	lsr	x17, n, #2
 	tbz	n, #0, L(bx0)
 
 L(bx1):	ldr	x13, [vp]
@@ -75,7 +75,7 @@
 	str	x9, [rp]
 	tbnz	n, #1, L(b11)
 
-L(b01):	cbz	x18, L(rt)
+L(b01):	cbz	x17, L(rt)
 	ldp	x12, x13, [vp,#8]
 	ldp	x10, x11, [up,#8]
 	sub	up, up, #8
@@ -86,7 +86,7 @@
 L(b11):	ldp	x12, x13, [vp,#8]!
 	ldp	x10, x11, [up,#8]!
 	sub	rp, rp, #8
-	cbz	x18, L(end)
+	cbz	x17, L(end)
 	b	L(top)
 
 L(bx0):	ldp	x12, x13, [vp]
@@ -99,7 +99,7 @@
 	b	L(mid)
 
 L(b10):	sub	rp, rp, #16
-	cbz	x18, L(end)
+	cbz	x17, L(end)
 
 	ALIGN(16)
 L(top):	bic	x6, x12, cnd
@@ -116,8 +116,8 @@
 	ADDSUBC	x9, x11, x7
 	ldp	x10, x11, [up,#32]!
 	stp	x8, x9, [rp,#32]!
-	sub	x18, x18, #1
-	cbnz	x18, L(top)
+	sub	x17, x17, #1
+	cbnz	x17, L(top)
 
 L(end):	bic	x6, x12, cnd
 	bic	x7, x13, cnd
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/logops_n.asm
--- a/mpn/arm64/logops_n.asm	Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/logops_n.asm	Sun Nov 29 22:31:40 2020 +0100
@@ -78,7 +78,7 @@
 
 ASM_START()
 PROLOGUE(func)
-	lsr	x18, n, #2
+	lsr	x17, n, #2
 	tbz	n, #0, L(bx0)
 
 L(bx1):	ldr	x7, [up]
@@ -88,7 +88,7 @@
 	str	x15, [rp],#8
 	tbnz	n, #1, L(b11)
 
-L(b01):	cbz	x18, L(ret)
+L(b01):	cbz	x17, L(ret)
 	ldp	x4, x5, [up,#8]
 	ldp	x8, x9, [vp,#8]
 	sub	up, up, #8
@@ -99,7 +99,7 @@
 	ldp	x10, x11, [vp,#8]
 	add	up, up, #8
 	add	vp, vp, #8
-	cbz	x18, L(end)
+	cbz	x17, L(end)
 	b	L(top)
 
 L(bx0):	tbnz	n, #1, L(b10)
@@ -110,7 +110,7 @@
 
 L(b10):	ldp	x6, x7, [up]
 	ldp	x10, x11, [vp]
-	cbz	x18, L(end)
+	cbz	x17, L(end)
 
 	ALIGN(16)
 L(top):	ldp	x4, x5, [up,#16]
@@ -127,8 +127,8 @@
 	POSTOP(	x12)
 	POSTOP(	x13)
 	stp	x12, x13, [rp],#16
-	sub	x18, x18, #1
-	cbnz	x18, L(top)
+	sub	x17, x17, #1
+	cbnz	x17, L(top)
 
 L(end):	LOGOP(	x12, x6, x10)
 	LOGOP(	x13, x7, x11)
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/lshift.asm
--- a/mpn/arm64/lshift.asm	Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/lshift.asm	Sun Nov 29 22:31:40 2020 +0100
@@ -61,7 +61,7 @@
 	add	rp, rp_arg, n, lsl #3
 	add	up, up, n, lsl #3
 	sub	tnc, xzr, cnt
-	lsr	x18, n, #2
+	lsr	x17, n, #2
 	tbz	n, #0, L(bx0)
 
 L(bx1):	ldr	x4, [up,#-8]
@@ -69,7 +69,7 @@
 
 L(b01):	NSHIFT	x0, x4, tnc
 	PSHIFT	x2, x4, cnt
-	cbnz	x18, L(gt1)
+	cbnz	x17, L(gt1)
 	str	x2, [rp,#-8]
 	ret
 L(gt1):	ldp	x4, x5, [up,#-24]
@@ -89,7 +89,7 @@
 	PSHIFT	x13, x5, cnt
 	NSHIFT	x10, x4, tnc
 	PSHIFT	x2, x4, cnt
-	cbnz	x18, L(gt2)
+	cbnz	x17, L(gt2)
 	orr	x10, x10, x13
 	stp	x2, x10, [rp,#-16]
 	ret
@@ -123,11 +123,11 @@
 	orr	x11, x12, x2
 	stp	x10, x11, [rp,#-32]!
 	PSHIFT	x2, x4, cnt
-L(lo0):	sub	x18, x18, #1
+L(lo0):	sub	x17, x17, #1
 L(lo3):	NSHIFT	x10, x6, tnc
 	PSHIFT	x13, x7, cnt
 	NSHIFT	x12, x7, tnc
-	cbnz	x18, L(top)
+	cbnz	x17, L(top)
 
 L(end):	orr	x10, x10, x13
 	orr	x11, x12, x2
diff -r 94c84d919f83 -r 5f32dbc41afc mpn/arm64/lshiftc.asm
--- a/mpn/arm64/lshiftc.asm	Sat Nov 28 23:38:32 2020 +0100
+++ b/mpn/arm64/lshiftc.asm	Sun Nov 29 22:31:40 2020 +0100
@@ -61,7 +61,7 @@
 	add	rp, rp_arg, n, lsl #3
 	add	up, up, n, lsl #3
 	sub	tnc, xzr, cnt
-	lsr	x18, n, #2
+	lsr	x17, n, #2
 	tbz	n, #0, L(bx0)
 
 L(bx1):	ldr	x4, [up,#-8]
@@ -69,7 +69,7 @@
 
 L(b01):	NSHIFT	x0, x4, tnc
 	PSHIFT	x2, x4, cnt
-	cbnz	x18, L(gt1)
+	cbnz	x17, L(gt1)
 	mvn	x2, x2
 	str	x2, [rp,#-8]
 	ret
@@ -90,7 +90,7 @@
 	PSHIFT	x13, x5, cnt
 	NSHIFT	x10, x4, tnc
 	PSHIFT	x2, x4, cnt
-	cbnz	x18, L(gt2)
+	cbnz	x17, L(gt2)
 	eon	x10, x10, x13
 	mvn	x2, x2
 	stp	x2, x10, [rp,#-16]
@@ -125,11 +125,11 @@
 	eon	x11, x12, x2
 	stp	x10, x11, [rp,#-32]!
 	PSHIFT	x2, x4, cnt



More information about the gmp-commit mailing list