aboutsummaryrefslogtreecommitdiff
path: root/lib/arm/save_vfp_d8_d15_regs.S
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arm/save_vfp_d8_d15_regs.S')
-rw-r--r--lib/arm/save_vfp_d8_d15_regs.S35
1 files changed, 0 insertions, 35 deletions
diff --git a/lib/arm/save_vfp_d8_d15_regs.S b/lib/arm/save_vfp_d8_d15_regs.S
deleted file mode 100644
index fbd21ba38358..000000000000
--- a/lib/arm/save_vfp_d8_d15_regs.S
+++ /dev/null
@@ -1,35 +0,0 @@
-//===-- save_restore_regs.S - Implement save/restore* ---------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "../assembly.h"
-
-//
-// When compiling C++ functions that need to handle thrown exceptions the
-// compiler is required to save all registers and call __Unwind_SjLj_Register
-// in the function prolog. But when compiling for thumb1, there are
-// no instructions to access the floating point registers, so the
-// compiler needs to add a call to the helper function _save_vfp_d8_d15_regs
-// written in ARM to save the float registers. In the epilog, the compiler
-// must also add a call to __restore_vfp_d8_d15_regs to restore those registers.
-//
-
- .text
- .syntax unified
-
-//
-// Save registers d8-d15 onto stack
-//
- .align 2
-DEFINE_COMPILERRT_PRIVATE_FUNCTION(__save_vfp_d8_d15_regs)
- vstmdb sp!, {d8-d15} // push registers d8-d15 onto stack
- bx lr // return to prolog
-
- // tell linker it can break up file at label boundaries
- .subsections_via_symbols
-