Module Name:    src
Committed By:   mrg
Date:           Fri Nov 29 08:02:28 UTC 2013

Modified Files:
        src/external/lgpl3/gmp/dist/mpn/arm: aorscnd_n.asm aorslsh1_n.asm
            bdiv_dbm1c.asm com.asm copyd.asm copyi.asm logops_n.asm lshift.asm
            lshiftc.asm mod_34lsub1.asm mode1o.asm rsh1aors_n.asm rshift.asm
            udiv.asm
        src/external/lgpl3/gmp/dist/mpn/generic: get_d.c

Log Message:
port forward our changes:
- allow working on thumb-missing platforms
- fix some minor issues


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
    src/external/lgpl3/gmp/dist/mpn/arm/aorscnd_n.asm \
    src/external/lgpl3/gmp/dist/mpn/arm/aorslsh1_n.asm \
    src/external/lgpl3/gmp/dist/mpn/arm/bdiv_dbm1c.asm \
    src/external/lgpl3/gmp/dist/mpn/arm/com.asm \
    src/external/lgpl3/gmp/dist/mpn/arm/logops_n.asm \
    src/external/lgpl3/gmp/dist/mpn/arm/lshift.asm \
    src/external/lgpl3/gmp/dist/mpn/arm/lshiftc.asm \
    src/external/lgpl3/gmp/dist/mpn/arm/mod_34lsub1.asm \
    src/external/lgpl3/gmp/dist/mpn/arm/mode1o.asm \
    src/external/lgpl3/gmp/dist/mpn/arm/rsh1aors_n.asm \
    src/external/lgpl3/gmp/dist/mpn/arm/rshift.asm
cvs rdiff -u -r1.1.1.2 -r1.2 src/external/lgpl3/gmp/dist/mpn/arm/copyd.asm \
    src/external/lgpl3/gmp/dist/mpn/arm/copyi.asm
cvs rdiff -u -r1.3 -r1.4 src/external/lgpl3/gmp/dist/mpn/arm/udiv.asm
cvs rdiff -u -r1.3 -r1.4 src/external/lgpl3/gmp/dist/mpn/generic/get_d.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/lgpl3/gmp/dist/mpn/arm/aorscnd_n.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/aorscnd_n.asm:1.1.1.1 src/external/lgpl3/gmp/dist/mpn/arm/aorscnd_n.asm:1.2
--- src/external/lgpl3/gmp/dist/mpn/arm/aorscnd_n.asm:1.1.1.1	Fri Nov 29 07:49:48 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/aorscnd_n.asm	Fri Nov 29 08:02:28 2013
@@ -117,5 +117,8 @@ L(top):	ldm	vp!, {r4,r5,r6,r7}
 
 L(end):	RETVAL
 	pop	{r4-r11}
-	bx	r14
+ifdef(`ARM_THUMB_MODE',
+`	bx	r14
+',`	mov	pc, r14
+')
 EPILOGUE()
Index: src/external/lgpl3/gmp/dist/mpn/arm/aorslsh1_n.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/aorslsh1_n.asm:1.1.1.1 src/external/lgpl3/gmp/dist/mpn/arm/aorslsh1_n.asm:1.2
--- src/external/lgpl3/gmp/dist/mpn/arm/aorslsh1_n.asm:1.1.1.1	Fri Nov 29 07:49:48 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/aorslsh1_n.asm	Fri Nov 29 08:02:28 2013
@@ -151,5 +151,8 @@ L(rt1):	mov	r14, r12
 	REVCY(r12)
 L(rt0):	RETVAL(	r14)
 	pop	{r4-r10r11, r14}
-	bx	r14
+ifdef(`ARM_THUMB_MODE',
+`	bx	r14
+',`	mov	pc, r14
+')
 EPILOGUE()
Index: src/external/lgpl3/gmp/dist/mpn/arm/bdiv_dbm1c.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/bdiv_dbm1c.asm:1.1.1.1 src/external/lgpl3/gmp/dist/mpn/arm/bdiv_dbm1c.asm:1.2
--- src/external/lgpl3/gmp/dist/mpn/arm/bdiv_dbm1c.asm:1.1.1.1	Fri Nov 29 07:49:48 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/bdiv_dbm1c.asm	Fri Nov 29 08:02:28 2013
@@ -97,5 +97,8 @@ L(wd1):	subs	r5, r5, r8
 	str	r5, [qp]
 	sbc	r0, r5, r12
 	pop	{r4, r5, r6, r7, r8}
-	bx	lr
+ifdef(`ARM_THUMB_MODE',
+`	bx	lr
+',`	mov	pc, lr
+')
 EPILOGUE()
Index: src/external/lgpl3/gmp/dist/mpn/arm/com.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/com.asm:1.1.1.1 src/external/lgpl3/gmp/dist/mpn/arm/com.asm:1.2
--- src/external/lgpl3/gmp/dist/mpn/arm/com.asm:1.1.1.1	Fri Nov 29 07:49:48 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/com.asm	Fri Nov 29 08:02:28 2013
@@ -59,5 +59,9 @@ L(top):	ldmia	up!, { r3, r8, r9, r12 }	C
 	bne	L(top)
 
 	ldmfd	sp!, { r7, r8, r9 }		C restore regs from stack
-L(rtn):	bx	lr
+L(rtn):
+ifdef(`ARM_THUMB_MODE',
+`	bx	lr
+',`	mov	pc, lr
+')
 EPILOGUE()
Index: src/external/lgpl3/gmp/dist/mpn/arm/logops_n.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/logops_n.asm:1.1.1.1 src/external/lgpl3/gmp/dist/mpn/arm/logops_n.asm:1.2
--- src/external/lgpl3/gmp/dist/mpn/arm/logops_n.asm:1.1.1.1	Fri Nov 29 07:49:48 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/logops_n.asm	Fri Nov 29 08:02:28 2013
@@ -123,5 +123,8 @@ L(mid):	sub	n, n, #4
 	pop	{ r4, r5, r6, r7 }	C popping r8-r10 here strangely fails
 
 L(rtn):	pop	{ r8, r9, r10 }
-	bx	r14
+ifdef(`ARM_THUMB_MODE',
+`	bx	r14
+',`	mov	pc, r14
+')
 EPILOGUE()
Index: src/external/lgpl3/gmp/dist/mpn/arm/lshift.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/lshift.asm:1.1.1.1 src/external/lgpl3/gmp/dist/mpn/arm/lshift.asm:1.2
--- src/external/lgpl3/gmp/dist/mpn/arm/lshift.asm:1.1.1.1	Fri Nov 29 07:49:48 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/lshift.asm	Fri Nov 29 08:02:28 2013
@@ -72,5 +72,8 @@ L(end):	orr	r7, r7, r6, lsr tnc
 L(1):	str	r7, [rp, #-4]
 	lsr	r0, r4, tnc
 	pop	{r4, r6, r7, r8}
-	bx	r14
+ifdef(`ARM_THUMB_MODE',
+`	bx	r14
+',`	mov	pc, r14
+')
 EPILOGUE()
Index: src/external/lgpl3/gmp/dist/mpn/arm/lshiftc.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/lshiftc.asm:1.1.1.1 src/external/lgpl3/gmp/dist/mpn/arm/lshiftc.asm:1.2
--- src/external/lgpl3/gmp/dist/mpn/arm/lshiftc.asm:1.1.1.1	Fri Nov 29 07:49:48 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/lshiftc.asm	Fri Nov 29 08:02:28 2013
@@ -79,5 +79,8 @@ L(1):	mvn	r6, #0
 	str	r7, [rp, #-4]
 	lsr	r0, r4, tnc
 	pop	{r4, r6, r7, r8}
-	bx	r14
+ifdef(`ARM_THUMB_MODE',
+`	bx	r14
+',`	mov	pc, r14
+')
 EPILOGUE()
Index: src/external/lgpl3/gmp/dist/mpn/arm/mod_34lsub1.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/mod_34lsub1.asm:1.1.1.1 src/external/lgpl3/gmp/dist/mpn/arm/mod_34lsub1.asm:1.2
--- src/external/lgpl3/gmp/dist/mpn/arm/mod_34lsub1.asm:1.1.1.1	Fri Nov 29 07:49:48 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/mod_34lsub1.asm	Fri Nov 29 08:02:28 2013
@@ -94,7 +94,10 @@ L(sum2):
 	add	r0, r0, r12, lsr #8
 
 	pop	{ r4, r5, r6, r7 }
-	bx	lr
+ifdef(`ARM_THUMB_MODE',
+`	bx	lr
+',`	mov	pc, lr
+')
 
 L(le2):	cmn	n, #1
 	bne	L(1)
@@ -105,5 +108,8 @@ L(1):	ldr	r2, [ap]
 	bic	r0, r2, #0xff000000
 	add	r0, r0, r2, lsr #24
 	pop	{ r4, r5, r6, r7 }
-	bx	lr
+ifdef(`ARM_THUMB_MODE',
+`	bx	lr
+',`	mov	pc, lr
+')
 EPILOGUE()
Index: src/external/lgpl3/gmp/dist/mpn/arm/mode1o.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/mode1o.asm:1.1.1.1 src/external/lgpl3/gmp/dist/mpn/arm/mode1o.asm:1.2
--- src/external/lgpl3/gmp/dist/mpn/arm/mode1o.asm:1.1.1.1	Fri Nov 29 07:49:48 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/mode1o.asm	Fri Nov 29 08:02:28 2013
@@ -68,5 +68,8 @@ L(end):	sbcs	cy, r5, cy
 	addcc	r0, r0, #1
 
 	ldmfd	sp!, {r4, r5}
-	bx	r14
+ifdef(`ARM_THUMB_MODE',
+`	bx	r14
+',`	mov	pc, r14
+')
 EPILOGUE()
Index: src/external/lgpl3/gmp/dist/mpn/arm/rsh1aors_n.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/rsh1aors_n.asm:1.1.1.1 src/external/lgpl3/gmp/dist/mpn/arm/rsh1aors_n.asm:1.2
--- src/external/lgpl3/gmp/dist/mpn/arm/rsh1aors_n.asm:1.1.1.1	Fri Nov 29 07:49:48 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/rsh1aors_n.asm	Fri Nov 29 08:02:28 2013
@@ -108,5 +108,8 @@ L(e1):	RSTCY(	r12, r1)
 	str	r4, [rp, #0]
 	mov	r0, r11
 	pop	{r4-r11}
-	bx	r14
+ifdef(`ARM_THUMB_MODE',
+`	bx	r14
+',`	mov	pc, r14
+')
 EPILOGUE()
Index: src/external/lgpl3/gmp/dist/mpn/arm/rshift.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/rshift.asm:1.1.1.1 src/external/lgpl3/gmp/dist/mpn/arm/rshift.asm:1.2
--- src/external/lgpl3/gmp/dist/mpn/arm/rshift.asm:1.1.1.1	Fri Nov 29 07:49:48 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/rshift.asm	Fri Nov 29 08:02:28 2013
@@ -70,5 +70,8 @@ L(end):	orr	r7, r7, r6, lsl tnc
 L(1):	str	r7, [rp], #4
 	lsl	r0, r4, tnc
 	pop	{r4, r6, r7, r8}
-	bx	r14
+ifdef(`ARM_THUMB_MODE',
+`	bx	r14
+',`	mov	pc, r14
+')
 EPILOGUE()

Index: src/external/lgpl3/gmp/dist/mpn/arm/copyd.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/copyd.asm:1.1.1.2 src/external/lgpl3/gmp/dist/mpn/arm/copyd.asm:1.2
--- src/external/lgpl3/gmp/dist/mpn/arm/copyd.asm:1.1.1.2	Fri Nov 29 07:49:48 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/copyd.asm	Fri Nov 29 08:02:28 2013
@@ -57,5 +57,9 @@ L(top):	ldmda	up!, { r3, r8, r9, r12 }	C
 	bne	L(top)
 
 	ldmfd	sp!, { r7, r8, r9 }		C restore regs from stack
-L(rtn):	bx	lr
+L(rtn):
+ifdef(`ARM_THUMB_MODE',
+`	bx	lr
+',`	mov	pc, lr
+')
 EPILOGUE()
Index: src/external/lgpl3/gmp/dist/mpn/arm/copyi.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/copyi.asm:1.1.1.2 src/external/lgpl3/gmp/dist/mpn/arm/copyi.asm:1.2
--- src/external/lgpl3/gmp/dist/mpn/arm/copyi.asm:1.1.1.2	Fri Nov 29 07:49:48 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/copyi.asm	Fri Nov 29 08:02:28 2013
@@ -52,5 +52,9 @@ L(top):	ldmia	up!, { r3, r8, r9, r12 }	C
 	bne	L(top)
 
 	ldmfd	sp!, { r7, r8, r9 }		C restore regs from stack
-L(rtn):	bx	lr
+L(rtn):
+ifdef(`ARM_THUMB_MODE',
+`	bx	lr
+',`	mov	pc, lr
+')
 EPILOGUE()

Index: src/external/lgpl3/gmp/dist/mpn/arm/udiv.asm
diff -u src/external/lgpl3/gmp/dist/mpn/arm/udiv.asm:1.3 src/external/lgpl3/gmp/dist/mpn/arm/udiv.asm:1.4
--- src/external/lgpl3/gmp/dist/mpn/arm/udiv.asm:1.3	Fri Nov 29 07:57:11 2013
+++ src/external/lgpl3/gmp/dist/mpn/arm/udiv.asm	Fri Nov 29 08:02:28 2013
@@ -50,7 +50,10 @@ L(oop):	divstep(n1,n0,d)
 
 	str	n1, [rem_ptr]		C store remainder
 	adc	r0, n0, n0		C quotient: add last carry from divstep
-	bx	lr
+ifdef(`ARM_THUMB_MODE',
+`	bx	lr
+',`	mov	pc, lr
+')
 
 L(_large_divisor):
 	stmfd	sp!, { r8, lr }

Index: src/external/lgpl3/gmp/dist/mpn/generic/get_d.c
diff -u src/external/lgpl3/gmp/dist/mpn/generic/get_d.c:1.3 src/external/lgpl3/gmp/dist/mpn/generic/get_d.c:1.4
--- src/external/lgpl3/gmp/dist/mpn/generic/get_d.c:1.3	Fri Nov 29 07:57:11 2013
+++ src/external/lgpl3/gmp/dist/mpn/generic/get_d.c	Fri Nov 29 08:02:28 2013
@@ -209,7 +209,7 @@ mpn_get_d (mp_srcptr up, mp_size_t size,
 	      x <<= GMP_NAIL_BITS;
 	      mhi |= x >> nbits >> 11;
 
-	      mlo = x << GMP_LIMB_BITS - nbits - 11;
+	      mlo = x << (GMP_LIMB_BITS - nbits - 11);
 	      nbits = nbits + 11 - GMP_NAIL_BITS;
 	    }
 	  else

Reply via email to