1//===-- vfp_alias.S - Override generic runtimes with VFP version ----------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is dual licensed under the MIT and the University of Illinois Open 6// Source Licenses. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#include "../assembly.h" 11 12#include "adddf3vfp.S" 13#include "addsf3vfp.S" 14#include "divdf3vfp.S" 15#include "divsf3vfp.S" 16#include "eqdf2vfp.S" 17#include "eqsf2vfp.S" 18#include "extendsfdf2vfp.S" 19#include "fixdfsivfp.S" 20#include "fixsfsivfp.S" 21#include "fixunsdfsivfp.S" 22#include "fixunssfsivfp.S" 23#include "floatsidfvfp.S" 24#include "floatsisfvfp.S" 25#include "floatunssidfvfp.S" 26#include "floatunssisfvfp.S" 27#include "gedf2vfp.S" 28#include "gesf2vfp.S" 29#include "gtdf2vfp.S" 30#include "gtsf2vfp.S" 31#include "ledf2vfp.S" 32#include "lesf2vfp.S" 33#include "ltdf2vfp.S" 34#include "ltsf2vfp.S" 35#include "muldf3vfp.S" 36#include "mulsf3vfp.S" 37#include "nedf2vfp.S" 38#include "negdf2vfp.S" 39#include "negsf2vfp.S" 40#include "nesf2vfp.S" 41#include "subdf3vfp.S" 42#include "subsf3vfp.S" 43#include "truncdfsf2vfp.S" 44#include "unorddf2vfp.S" 45#include "unordsf2vfp.S" 46 47#define DEFINE_VFP_FUNCTION_ALIAS(name) \ 48 DEFINE_COMPILERRT_FUNCTION_ALIAS(name, name ## vfp) 49 50#define DEFINE_VFP_AND_AEABI_ALIAS(aeabi_name, name) \ 51 DEFINE_VFP_FUNCTION_ALIAS(name) \ 52 DEFINE_AEABI_FUNCTION_ALIAS(aeabi_name, name) 53 54DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_dadd, __adddf3) 55DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_fadd, __addsf3) 56DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_ddiv, __divdf3) 57DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_fdiv, __divsf3) 58DEFINE_VFP_FUNCTION_ALIAS(__eqdf2) 59DEFINE_VFP_FUNCTION_ALIAS(__eqsf2) 60DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_f2d, __extendsfdf2) 61DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_d2iz, __fixdfsi) 62DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_f2iz, __fixsfsi) 63DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_d2uiz, __fixunsdfsi) 64DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_f2uiz, __fixunssfsi) 65DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_i2d, __floatsidf) 66DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_i2f, __floatsisf) 67DEFINE_VFP_FUNCTION_ALIAS(__gedf2) 68DEFINE_VFP_FUNCTION_ALIAS(__gesf2) 69DEFINE_VFP_FUNCTION_ALIAS(__gtdf2) 70DEFINE_VFP_FUNCTION_ALIAS(__gtsf2) 71DEFINE_VFP_FUNCTION_ALIAS(__ledf2) 72DEFINE_VFP_FUNCTION_ALIAS(__lesf2) 73DEFINE_VFP_FUNCTION_ALIAS(__ltdf2) 74DEFINE_VFP_FUNCTION_ALIAS(__ltsf2) 75DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_dmul, __muldf3) 76DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_fmul, __mulsf3) 77DEFINE_VFP_FUNCTION_ALIAS(__nedf2) 78DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_dneg, __negdf2) 79DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_fneg, __negsf2) 80DEFINE_VFP_FUNCTION_ALIAS(__nesf2) 81DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_dsub, __subdf3) 82DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_fsub, __subsf3) 83DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_d2f, __truncdfsf2) 84DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_dcmpun, __unorddf2) 85DEFINE_VFP_AND_AEABI_ALIAS(__aeabi_fcmpun, __unordsf2) 86 87// Alias __floatunsidf to __floatunssidfvfp 88DEFINE_COMPILERRT_FUNCTION_ALIAS(__floatunsidf, __floatunssidfvfp) 89DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_ui2d, __floatunsidf) 90 91// Alias __floatunsisf to __floatunsisfvfp 92DEFINE_COMPILERRT_FUNCTION_ALIAS(__floatunsisf, __floatunssisfvfp) 93DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_ui2f, __floatunsisf) 94