diff options
| -rw-r--r-- | src/setjmp/arm/longjmp.S (renamed from src/setjmp/arm/longjmp.s) | 7 | ||||
| -rw-r--r-- | src/setjmp/arm/setjmp.S (renamed from src/setjmp/arm/setjmp.s) | 7 | 
2 files changed, 14 insertions, 0 deletions
diff --git a/src/setjmp/arm/longjmp.s b/src/setjmp/arm/longjmp.S index 76cc2920..8df0b819 100644 --- a/src/setjmp/arm/longjmp.s +++ b/src/setjmp/arm/longjmp.S @@ -16,11 +16,14 @@ longjmp:  	ldr r2,1f  	ldr r1,[r1,r2] +#if __ARM_ARCH < 8  	tst r1,#0x260  	beq 3f +	// HWCAP_ARM_FPA  	tst r1,#0x20  	beq 2f  	ldc p2, cr4, [ip], #48 +#endif  2:	tst r1,#0x40  	beq 2f  	.fpu vfp @@ -28,6 +31,8 @@ longjmp:  	.fpu softvfp  	.eabi_attribute 10, 0  	.eabi_attribute 27, 0 +#if __ARM_ARCH < 8 +	// HWCAP_ARM_IWMMXT  2:	tst r1,#0x200  	beq 3f  	ldcl p1, cr10, [ip], #8 @@ -36,6 +41,8 @@ longjmp:  	ldcl p1, cr13, [ip], #8  	ldcl p1, cr14, [ip], #8  	ldcl p1, cr15, [ip], #8 +#endif +2:  3:	bx lr  .hidden __hwcap diff --git a/src/setjmp/arm/setjmp.s b/src/setjmp/arm/setjmp.S index 011315b7..45731d22 100644 --- a/src/setjmp/arm/setjmp.s +++ b/src/setjmp/arm/setjmp.S @@ -18,11 +18,14 @@ setjmp:  	ldr r2,1f  	ldr r1,[r1,r2] +#if __ARM_ARCH < 8  	tst r1,#0x260  	beq 3f +	// HWCAP_ARM_FPA  	tst r1,#0x20  	beq 2f  	stc p2, cr4, [ip], #48 +#endif  2:	tst r1,#0x40  	beq 2f  	.fpu vfp @@ -30,6 +33,8 @@ setjmp:  	.fpu softvfp  	.eabi_attribute 10, 0  	.eabi_attribute 27, 0 +#if __ARM_ARCH < 8 +	// HWCAP_ARM_IWMMXT  2:	tst r1,#0x200  	beq 3f  	stcl p1, cr10, [ip], #8 @@ -38,6 +43,8 @@ setjmp:  	stcl p1, cr13, [ip], #8  	stcl p1, cr14, [ip], #8  	stcl p1, cr15, [ip], #8 +#endif +2:  3:	bx lr  .hidden __hwcap  | 
