1*03ce13f7SAndroid Build Coastguard Worker//===- subzero/src/IceTargetLowering.def - Target X-macros ------*- C++ -*-===// 2*03ce13f7SAndroid Build Coastguard Worker// 3*03ce13f7SAndroid Build Coastguard Worker// The Subzero Code Generator 4*03ce13f7SAndroid Build Coastguard Worker// 5*03ce13f7SAndroid Build Coastguard Worker// This file is distributed under the University of Illinois Open Source 6*03ce13f7SAndroid Build Coastguard Worker// License. See LICENSE.TXT for details. 7*03ce13f7SAndroid Build Coastguard Worker// 8*03ce13f7SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 9*03ce13f7SAndroid Build Coastguard Worker// 10*03ce13f7SAndroid Build Coastguard Worker// This file defines certain platform independent patterns for lowering target 11*03ce13f7SAndroid Build Coastguard Worker// instructions, in the form of x-macros. 12*03ce13f7SAndroid Build Coastguard Worker// 13*03ce13f7SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===// 14*03ce13f7SAndroid Build Coastguard Worker 15*03ce13f7SAndroid Build Coastguard Worker#ifndef SUBZERO_SRC_ICETARGETLOWERING_DEF 16*03ce13f7SAndroid Build Coastguard Worker#define SUBZERO_SRC_ICETARGETLOWERING_DEF 17*03ce13f7SAndroid Build Coastguard Worker 18*03ce13f7SAndroid Build Coastguard Worker// Pattern for runtime helper functions 19*03ce13f7SAndroid Build Coastguard Worker#define RUNTIME_HELPER_FUNCTIONS_TABLE \ 20*03ce13f7SAndroid Build Coastguard Worker /* tag , name */ \ 21*03ce13f7SAndroid Build Coastguard Worker X(bitcast_16xi1_i16, "__Sz_bitcast_16xi1_i16") \ 22*03ce13f7SAndroid Build Coastguard Worker X(bitcast_8xi1_i8, "__Sz_bitcast_8xi1_i8") \ 23*03ce13f7SAndroid Build Coastguard Worker X(bitcast_i16_16xi1, "__Sz_bitcast_i16_16xi1") \ 24*03ce13f7SAndroid Build Coastguard Worker X(bitcast_i8_8xi1, "__Sz_bitcast_i8_8xi1") \ 25*03ce13f7SAndroid Build Coastguard Worker X(call_ctpop_i32, "__popcountsi2") \ 26*03ce13f7SAndroid Build Coastguard Worker X(call_ctpop_i64, "__popcountdi2") \ 27*03ce13f7SAndroid Build Coastguard Worker X(call_longjmp, "longjmp") \ 28*03ce13f7SAndroid Build Coastguard Worker X(call_memcpy, "memcpy") \ 29*03ce13f7SAndroid Build Coastguard Worker X(call_memmove, "memmove") \ 30*03ce13f7SAndroid Build Coastguard Worker X(call_memset, "memset") \ 31*03ce13f7SAndroid Build Coastguard Worker X(call_read_tp, "__nacl_read_tp") \ 32*03ce13f7SAndroid Build Coastguard Worker X(call_setjmp, "setjmp") \ 33*03ce13f7SAndroid Build Coastguard Worker X(fptosi_f32_i64, "__Sz_fptosi_f32_i64") \ 34*03ce13f7SAndroid Build Coastguard Worker X(fptosi_f64_i64, "__Sz_fptosi_f64_i64") \ 35*03ce13f7SAndroid Build Coastguard Worker X(fptoui_4xi32_f32, "__Sz_fptoui_4xi32_f32") \ 36*03ce13f7SAndroid Build Coastguard Worker X(fptoui_f32_i32, "__Sz_fptoui_f32_i32") \ 37*03ce13f7SAndroid Build Coastguard Worker X(fptoui_f32_i64, "__Sz_fptoui_f32_i64") \ 38*03ce13f7SAndroid Build Coastguard Worker X(fptoui_f64_i32, "__Sz_fptoui_f64_i32") \ 39*03ce13f7SAndroid Build Coastguard Worker X(fptoui_f64_i64, "__Sz_fptoui_f64_i64") \ 40*03ce13f7SAndroid Build Coastguard Worker X(frem_f32, "fmodf") \ 41*03ce13f7SAndroid Build Coastguard Worker X(frem_f64, "fmod") \ 42*03ce13f7SAndroid Build Coastguard Worker X(sdiv_i32, "__divsi3") \ 43*03ce13f7SAndroid Build Coastguard Worker X(sdiv_i64, "__divdi3") \ 44*03ce13f7SAndroid Build Coastguard Worker X(sitofp_i64_f32, "__Sz_sitofp_i64_f32") \ 45*03ce13f7SAndroid Build Coastguard Worker X(sitofp_i64_f64, "__Sz_sitofp_i64_f64") \ 46*03ce13f7SAndroid Build Coastguard Worker X(srem_i32, "__modsi3") \ 47*03ce13f7SAndroid Build Coastguard Worker X(srem_i64, "__moddi3") \ 48*03ce13f7SAndroid Build Coastguard Worker X(udiv_i32, "__udivsi3") \ 49*03ce13f7SAndroid Build Coastguard Worker X(udiv_i64, "__udivdi3") \ 50*03ce13f7SAndroid Build Coastguard Worker X(uitofp_4xi32_4xf32, "__Sz_uitofp_4xi32_4xf32") \ 51*03ce13f7SAndroid Build Coastguard Worker X(uitofp_i32_f32, "__Sz_uitofp_i32_f32") \ 52*03ce13f7SAndroid Build Coastguard Worker X(uitofp_i32_f64, "__Sz_uitofp_i32_f64") \ 53*03ce13f7SAndroid Build Coastguard Worker X(uitofp_i64_f32, "__Sz_uitofp_i64_f32") \ 54*03ce13f7SAndroid Build Coastguard Worker X(uitofp_i64_f64, "__Sz_uitofp_i64_f64") \ 55*03ce13f7SAndroid Build Coastguard Worker X(urem_i32, "__umodsi3") \ 56*03ce13f7SAndroid Build Coastguard Worker X(urem_i64, "__umoddi3") 57*03ce13f7SAndroid Build Coastguard Worker//#define X(Tag, Name) 58*03ce13f7SAndroid Build Coastguard Worker 59*03ce13f7SAndroid Build Coastguard Worker#endif // SUBZERO_SRC_ICETARGETLOWERING_DEF 60