summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 6cbc56b)
raw | patch | inline | side by side (parent: 6cbc56b)
author | Elliott Hughes <enh@google.com> | |
Thu, 4 Dec 2014 01:07:01 +0000 (17:07 -0800) | ||
committer | Elliott Hughes <enh@google.com> | |
Thu, 4 Dec 2014 01:07:01 +0000 (17:07 -0800) |
libc/arch-arm/bionic/_setjmp.S | patch | blob | history | |
libc/arch-arm/bionic/setjmp.S | patch | blob | history | |
libc/arch-arm/include/machine/cpu-features.h | patch | blob | history |
index 7d637fd86046bbf1c0048455a49e5c19fb8153df..51dfc0af75451794e55ceffbb8fa33a4796d671d 100644 (file)
add r1, r0, #(_JB_CORE_BASE * 4)
stmia r1, {r4-r14}
-#ifdef __ARM_HAVE_VFP
/* Store floating-point registers */
add r1, r0, #(_JB_FLOAT_BASE * 4)
vstmia r1, {d8-d15}
/* Store floating-point state */
fmrx r1, fpscr
str r1, [r0, #(_JB_FLOAT_STATE * 4)]
-#endif /* __ARM_HAVE_VFP */
mov r0, #0x00000000
bx lr
teq r2, r3
bne botch
-#ifdef __ARM_HAVE_VFP
/* Restore floating-point registers */
add r2, r0, #(_JB_FLOAT_BASE * 4)
vldmia r2, {d8-d15}
/* Restore floating-point state */
ldr r2, [r0, #(_JB_FLOAT_STATE * 4)]
fmxr fpscr, r2
-#endif /* __ARM_HAVE_VFP */
/* Restore core registers */
add r2, r0, #(_JB_CORE_BASE * 4)
index 0c9082c2c0b268da1b9f0a7154dfe7670db1c640..435ef8650f6542ecc423d5b443042dff3a65301c 100644 (file)
add r1, r0, #(_JB_CORE_BASE * 4)
stmia r1, {r4-r14}
-#ifdef __ARM_HAVE_VFP
/* Store floating-point registers */
add r1, r0, #(_JB_FLOAT_BASE * 4)
vstmia r1, {d8-d15}
/* Store floating-point state */
fmrx r1, fpscr
str r1, [r0, #(_JB_FLOAT_STATE * 4)]
-#endif /* __ARM_HAVE_VFP */
mov r0, #0x00000000
bx lr
ldmfd sp!, {r0, r1, r14}
.cfi_def_cfa_offset 0
-#ifdef __ARM_HAVE_VFP
/* Restore floating-point registers */
add r2, r0, #(_JB_FLOAT_BASE * 4)
vldmia r2, {d8-d15}
/* Restore floating-point state */
ldr r2, [r0, #(_JB_FLOAT_STATE * 4)]
fmxr fpscr, r2
-#endif /* __ARM_HAVE_VFP */
/* Restore core registers */
add r2, r0, #(_JB_CORE_BASE * 4)
teq r0, #0x00000000
moveq r0, #0x00000001
bx lr
-#ifdef __ARM_26__
mov r15, r14
-#else
- mov r15, r14
-#endif
/* validation failed, die die die. */
botch:
diff --git a/libc/arch-arm/include/machine/cpu-features.h b/libc/arch-arm/include/machine/cpu-features.h
index ef62010e6f3af76a48f69b3fbece429a8f5fcec0..bf9a75d343f5f3baf53ff3d038ed516ab223f094 100644 (file)
# endif
#endif
-/* define _ARM_HAVE_VFP if we have VFPv3
- */
-#if __ARM_ARCH__ >= 7 && defined __VFP_FP__
-# define __ARM_HAVE_VFP
-#endif
-
/* define _ARM_HAVE_NEON for ARMv7 architecture if we support the
* Neon SIMD instruction set extensions. This also implies
* that VFPv3-D32 is supported.