summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRenato Golin <renato.golin@linaro.org>2014-11-07 16:33:58 +0000
committerRenato Golin <renato.golin@linaro.org>2014-11-07 16:33:58 +0000
commit083eb00d9d33a6f50b18b2e4ebb1e00411c5388c (patch)
tree2024b985ec47b189afd5f40dadf9857ad07d4ed7
parent13437e8414dd5044ad67c72cf68aae1771402f95 (diff)
downloadbcm5719-llvm-083eb00d9d33a6f50b18b2e4ebb1e00411c5388c.tar.gz
bcm5719-llvm-083eb00d9d33a6f50b18b2e4ebb1e00411c5388c.zip
Make sure only NEON enabled devices save/restore D16+ registers
llvm-svn: 221532
-rw-r--r--libcxxabi/src/Unwind/UnwindRegistersRestore.S2
-rw-r--r--libcxxabi/src/Unwind/UnwindRegistersSave.S2
2 files changed, 2 insertions, 2 deletions
diff --git a/libcxxabi/src/Unwind/UnwindRegistersRestore.S b/libcxxabi/src/Unwind/UnwindRegistersRestore.S
index fbb6c175d0b..7dd3a110e3f 100644
--- a/libcxxabi/src/Unwind/UnwindRegistersRestore.S
+++ b/libcxxabi/src/Unwind/UnwindRegistersRestore.S
@@ -390,7 +390,7 @@ DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9libunwind13Registers_arm19restoreVFPWithFL
.p2align 2
DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9libunwind13Registers_arm12restoreVFPv3EPy)
#if defined(__ARM_FP)
-#if __ARM_ARCH < 7
+#ifndef __ARM_NEON
ldcl p11, cr0, [r0], {0x20} @ vldm r0, {d16-d31}
#else
vldmia r0, {d16-d31}
diff --git a/libcxxabi/src/Unwind/UnwindRegistersSave.S b/libcxxabi/src/Unwind/UnwindRegistersSave.S
index 34df22f60e4..f6994ac30f5 100644
--- a/libcxxabi/src/Unwind/UnwindRegistersSave.S
+++ b/libcxxabi/src/Unwind/UnwindRegistersSave.S
@@ -369,7 +369,7 @@ DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9libunwind13Registers_arm9saveVFPv3EPy)
@ these registers implies they are, actually, available on the target, so
@ it's ok to execute.
@ So, generate the instructions using the corresponding coprocessor mnemonic.
-#if __ARM_ARCH < 7
+#ifndef __ARM_NEON
stcl p11, cr0, [r0], {0x20} @ vstm r0, {d16-d31}
#else
vstmia r0, {d16-d31}
OpenPOWER on IntegriCloud