1/* SPDX-License-Identifier: BSD-2-Clause */ 2/* 3 * Copyright (c) 2015-2016, Linaro Limited 4 */ 5 6#include <asm.S> 7 8 .fpu neon 9 10/* void vfp_save_extension_regs(uint64_t regs[VFP_NUM_REGS]); */ 11FUNC vfp_save_extension_regs , : 12 vstm r0!, {d0-d15} 13 vstm r0, {d16-d31} 14 bx lr 15END_FUNC vfp_save_extension_regs 16 17/* void vfp_restore_extension_regs(uint64_t regs[VFP_NUM_REGS]); */ 18FUNC vfp_restore_extension_regs , : 19 vldm r0!, {d0-d15} 20 vldm r0, {d16-d31} 21 bx lr 22END_FUNC vfp_restore_extension_regs 23 24/* void vfp_write_fpexc(uint32_t fpexc) */ 25FUNC vfp_write_fpexc , : 26 vmsr fpexc, r0 27 bx lr 28END_FUNC vfp_write_fpexc 29 30/* uint32_t vfp_read_fpexc(void) */ 31FUNC vfp_read_fpexc , : 32 vmrs r0, fpexc 33 bx lr 34END_FUNC vfp_read_fpexc 35 36/* void vfp_write_fpscr(uint32_t fpscr) */ 37FUNC vfp_write_fpscr , : 38 vmsr fpscr, r0 39 bx lr 40END_FUNC vfp_write_fpscr 41 42/* uint32_t vfp_read_fpscr(void) */ 43FUNC vfp_read_fpscr , : 44 vmrs r0, fpscr 45 bx lr 46END_FUNC vfp_read_fpscr 47