Module Name: src Committed By: christos Date: Fri Mar 2 23:07:55 UTC 2018
Modified Files: src/sys/arch/arm/vfp: vfp_init.c Log Message: Add more vfp directives for gcc-6 To generate a diff of this commit: cvs rdiff -u -r1.55 -r1.56 src/sys/arch/arm/vfp/vfp_init.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/vfp/vfp_init.c diff -u src/sys/arch/arm/vfp/vfp_init.c:1.55 src/sys/arch/arm/vfp/vfp_init.c:1.56 --- src/sys/arch/arm/vfp/vfp_init.c:1.55 Mon Oct 16 11:13:00 2017 +++ src/sys/arch/arm/vfp/vfp_init.c Fri Mar 2 18:07:55 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: vfp_init.c,v 1.55 2017/10/16 15:13:00 bouyer Exp $ */ +/* $NetBSD: vfp_init.c,v 1.56 2018/03/02 23:07:55 christos Exp $ */ /* * Copyright (c) 2008 ARM Ltd @@ -47,23 +47,26 @@ #ifdef FPU_VFP #ifdef CPU_CORTEX -__asm(".fpu\tvfpv4"); +#define SETFPU __asm(".fpu\tvfpv4") #else -__asm(".fpu\tvfp"); +#define SETFPU __asm(".fpu\tvfp") #endif +SETFPU; /* FLDMD <X>, {d0-d15} */ static inline void load_vfpregs_lo(const uint64_t *p) { - __asm __volatile("vldmia %0, {d0-d15}" :: "r" (p) : "memory"); + SETFPU; + __asm __volatile("vldmia\t%0, {d0-d15}" :: "r" (p) : "memory"); } /* FSTMD <X>, {d0-d15} */ static inline void save_vfpregs_lo(uint64_t *p) { - __asm __volatile("vstmia %0, {d0-d15}" :: "r" (p) : "memory"); + SETFPU; + __asm __volatile("vstmia\t%0, {d0-d15}" :: "r" (p) : "memory"); } #ifdef CPU_CORTEX @@ -71,6 +74,7 @@ save_vfpregs_lo(uint64_t *p) static inline void load_vfpregs_hi(const uint64_t *p) { + SETFPU; __asm __volatile("vldmia\t%0, {d16-d31}" :: "r" (&p[16]) : "memory"); } @@ -78,6 +82,7 @@ load_vfpregs_hi(const uint64_t *p) static inline void save_vfpregs_hi(uint64_t *p) { + SETFPU; __asm __volatile("vstmia\t%0, {d16-d31}" :: "r" (&p[16]) : "memory"); } #endif