blob: 6b116fd4631dc3f07674805bae963785235879a1 [file] [log] [blame]
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// NOTE: COMPILER_RUNTIME_FUNC_LIST should be sorted!
#if defined(__i386__) || defined(__mips__)
#define COMPILER_RUNTIME_FUNC_LIST(V) \
V(__ashldi3) \
V(__ashrdi3) \
V(__divdi3) \
V(__fixdfdi) \
V(__fixsfdi) \
V(__fixtfdi) \
V(__fixtfsi) \
V(__fixunsdfdi) \
V(__fixunsdfsi) \
V(__fixunssfdi) \
V(__fixunssfsi) \
V(__fixunstfdi) \
V(__fixunstfsi) \
V(__fixunsxfdi) \
V(__fixunsxfsi) \
V(__fixxfdi) \
V(__floatdidf) \
V(__floatdisf) \
V(__floatditf) \
V(__floatdixf) \
V(__floatsitf) \
V(__floatundidf) \
V(__floatundisf) \
V(__floatunditf) \
V(__floatundixf) \
V(__floatunsitf) \
V(__lshrdi3) \
V(__moddi3) \
V(__muldi3) \
V(__negdi2) \
V(__powidf2) \
V(__powisf2) \
V(__powitf2) \
V(__powixf2) \
V(__trunctfdf2) \
V(__trunctfsf2) \
V(__udivdi3) \
V(__umoddi3) \
V(ceil) \
V(ceilf) \
V(ceill) \
V(copysign) \
V(copysignf) \
V(copysignl) \
V(cos) \
V(cosf) \
V(cosl) \
V(exp) \
V(exp2) \
V(exp2f) \
V(exp2l) \
V(expf) \
V(expl) \
V(floor) \
V(floorf) \
V(floorl) \
V(fma) \
V(fmaf) \
V(fmal) \
V(fmod) \
V(fmodf) \
V(fmodl) \
V(log) \
V(log10) \
V(log10f) \
V(log10l) \
V(log2) \
V(log2f) \
V(log2l) \
V(logf) \
V(logl) \
V(memcpy) \
V(memmove) \
V(memset) \
V(nearbyint) \
V(nearbyintf) \
V(nearbyintl) \
V(pow) \
V(powf) \
V(powl) \
V(rint) \
V(rintf) \
V(rintl) \
V(sin) \
V(sinf) \
V(sinl) \
V(sqrt) \
V(sqrtf) \
V(sqrtl) \
V(trunc) \
V(truncf) \
V(truncl)
#elif defined(__arm__)
#define COMPILER_RUNTIME_FUNC_LIST(V) \
V(__aeabi_d2f) \
V(__aeabi_d2iz) \
V(__aeabi_d2lz) \
V(__aeabi_d2uiz) \
V(__aeabi_d2ulz) \
V(__aeabi_dadd) \
V(__aeabi_dcmpeq) \
V(__aeabi_dcmpeq) \
V(__aeabi_dcmpge) \
V(__aeabi_dcmpgt) \
V(__aeabi_dcmple) \
V(__aeabi_dcmplt) \
V(__aeabi_dcmpun) \
V(__aeabi_dcmpun) \
V(__aeabi_ddiv) \
V(__aeabi_dmul) \
V(__aeabi_dsub) \
V(__aeabi_f2d) \
V(__aeabi_f2iz) \
V(__aeabi_f2lz) \
V(__aeabi_f2uiz) \
V(__aeabi_f2ulz) \
V(__aeabi_fadd) \
V(__aeabi_fcmpeq) \
V(__aeabi_fcmpeq) \
V(__aeabi_fcmpge) \
V(__aeabi_fcmpgt) \
V(__aeabi_fcmple) \
V(__aeabi_fcmplt) \
V(__aeabi_fcmpun) \
V(__aeabi_fcmpun) \
V(__aeabi_fdiv) \
V(__aeabi_fmul) \
V(__aeabi_fsub) \
V(__aeabi_i2d) \
V(__aeabi_i2f) \
V(__aeabi_idiv) \
V(__aeabi_idiv) \
V(__aeabi_idiv) \
V(__aeabi_l2d) \
V(__aeabi_l2f) \
V(__aeabi_lasr) \
V(__aeabi_ldivmod) \
V(__aeabi_llsl) \
V(__aeabi_llsr) \
V(__aeabi_lmul) \
V(__aeabi_memcpy) \
V(__aeabi_memmove) \
V(__aeabi_memset) \
V(__aeabi_ui2d) \
V(__aeabi_ui2f) \
V(__aeabi_uidiv) \
V(__aeabi_uidiv) \
V(__aeabi_uidiv) \
V(__aeabi_ul2d) \
V(__aeabi_ul2f) \
V(__aeabi_uldivmod) \
V(__moddi3) \
V(__modsi3) \
V(__umoddi3) \
V(__umodsi3) \
V(fmod) \
V(fmodf) \
V(memcpy) \
V(memmove) \
V(memset)
#else
#error "Unknown target platform"
#endif