#ifndef __VFP_IS #ifdef __ghs__ #pragma ghs startnomisra #pragma ghs nowarning 1544 #endif #define __VFP_IS #if !defined(__NoFloat) #ifdef __cplusplus extern "C" { #endif #ifndef __EDG__ typedef int __ghs_c_int__; /* const int argument only */ #endif #if !defined(__ARMPURESAFE) #if defined(__ATTRIBUTES) #define __ARMPURESAFE __attribute__((const,pure)) #else #define __ARMPURESAFE #endif #endif /* VFPv3 fixed-point to floating-point conversion instructions */ float __FSHTOS(signed short Fd, __ghs_c_int__ fbits) __ARMPURESAFE; float __FSLTOS(signed long Fd, __ghs_c_int__ fbits) __ARMPURESAFE; float __FUHTOS(unsigned short Fd, __ghs_c_int__ fbits) __ARMPURESAFE; float __FULTOS(unsigned long Fd, __ghs_c_int__ fbits) __ARMPURESAFE; #if !defined(__NoDouble) double __FSHTOD(signed short Fd, __ghs_c_int__ fbits) __ARMPURESAFE; double __FSLTOD(signed long Fd, __ghs_c_int__ fbits) __ARMPURESAFE; double __FUHTOD(unsigned short Fd, __ghs_c_int__ fbits) __ARMPURESAFE; double __FULTOD(unsigned long Fd, __ghs_c_int__ fbits) __ARMPURESAFE; #endif /* VFPv3 floating-point to fixed-point conversion instructions */ signed short __FTOSHS(float Fd, __ghs_c_int__ fbits) __ARMPURESAFE; signed long __FTOSLS(float Fd, __ghs_c_int__ fbits) __ARMPURESAFE; unsigned short __FTOUHS(float Fd, __ghs_c_int__ fbits) __ARMPURESAFE; unsigned long __FTOULS(float Fd, __ghs_c_int__ fbits) __ARMPURESAFE; #if !defined(__NoDouble) signed short __FTOSHD(double Fd, __ghs_c_int__ fbits) __ARMPURESAFE; signed long __FTOSLD(double Fd, __ghs_c_int__ fbits) __ARMPURESAFE; unsigned short __FTOUHD(double Fd, __ghs_c_int__ fbits) __ARMPURESAFE; unsigned long __FTOULD(double Fd, __ghs_c_int__ fbits) __ARMPURESAFE; #endif /* VFPv3 Half-Precision Extension, 16-bit floating point conversion */ unsigned short __VCVT_F16_F32(float Sm) __ARMPURESAFE; float __VCVT_F32_F16(unsigned short Sm) __ARMPURESAFE; /* VFP system register values to be used with __VMSR/__VMRS */ enum { __VFP_FPSID = 0, __VFP_FPSCR = 1, __VFP_MVFR1 = 6, __VFP_MVFR0 = 7, __VFP_FPEXC = 8, __VFP_FPINST = 9, __VFP_FPINST2 = 10 }; /* VMRS/VMRS: VFP write/read system registers */ void __VMSR(__ghs_c_int__ regnum, unsigned int Rn); unsigned int __VMRS(__ghs_c_int__ regnum); #ifdef __cplusplus } #endif #endif /* __NoFloat */ #ifdef __ghs__ #pragma ghs endnowarning #pragma ghs endnomisra #endif #endif