//===- subzero/src/IceTargetLowering.def - Target X-macros ------*- C++ -*-===//
//
//                        The Subzero Code Generator
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file defines certain platform independent patterns for lowering target
// instructions, in the form of x-macros.
//
//===----------------------------------------------------------------------===//

#ifndef SUBZERO_SRC_ICETARGETLOWERING_DEF
#define SUBZERO_SRC_ICETARGETLOWERING_DEF

// Pattern for runtime helper functions
#define RUNTIME_HELPER_FUNCTIONS_TABLE                                         \
  /* tag ,              name */                                                \
  X(bitcast_16xi1_i16,  "__Sz_bitcast_16xi1_i16")                              \
  X(bitcast_8xi1_i8,    "__Sz_bitcast_8xi1_i8")                                \
  X(bitcast_i16_16xi1,  "__Sz_bitcast_i16_16xi1")                              \
  X(bitcast_i8_8xi1,    "__Sz_bitcast_i8_8xi1")                                \
  X(call_ctpop_i32,     "__popcountsi2")                                       \
  X(call_ctpop_i64,     "__popcountdi2")                                       \
  X(call_longjmp,       "longjmp")                                             \
  X(call_memcpy,        "memcpy")                                              \
  X(call_memmove,       "memmove")                                             \
  X(call_memset,        "memset")                                              \
  X(call_read_tp,       "__nacl_read_tp")                                      \
  X(call_setjmp,        "setjmp")                                              \
  X(fptosi_f32_i64,     "__Sz_fptosi_f32_i64")                                 \
  X(fptosi_f64_i64,     "__Sz_fptosi_f64_i64")                                 \
  X(fptoui_4xi32_f32,   "__Sz_fptoui_4xi32_f32")                               \
  X(fptoui_f32_i32,     "__Sz_fptoui_f32_i32")                                 \
  X(fptoui_f32_i64,     "__Sz_fptoui_f32_i64")                                 \
  X(fptoui_f64_i32,     "__Sz_fptoui_f64_i32")                                 \
  X(fptoui_f64_i64,     "__Sz_fptoui_f64_i64")                                 \
  X(frem_f32,           "fmodf")                                               \
  X(frem_f64,           "fmod")                                                \
  X(sdiv_i32,           "__divsi3")                                            \
  X(sdiv_i64,           "__divdi3")                                            \
  X(sitofp_i64_f32,     "__Sz_sitofp_i64_f32")                                 \
  X(sitofp_i64_f64,     "__Sz_sitofp_i64_f64")                                 \
  X(srem_i32,           "__modsi3")                                            \
  X(srem_i64,           "__moddi3")                                            \
  X(udiv_i32,           "__udivsi3")                                           \
  X(udiv_i64,           "__udivdi3")                                           \
  X(uitofp_4xi32_4xf32, "__Sz_uitofp_4xi32_4xf32")                             \
  X(uitofp_i32_f32,     "__Sz_uitofp_i32_f32")                                 \
  X(uitofp_i32_f64,     "__Sz_uitofp_i32_f64")                                 \
  X(uitofp_i64_f32,     "__Sz_uitofp_i64_f32")                                 \
  X(uitofp_i64_f64,     "__Sz_uitofp_i64_f64")                                 \
  X(urem_i32,           "__umodsi3")                                           \
  X(urem_i64,           "__umoddi3")
//#define X(Tag, Name)

#endif // SUBZERO_SRC_ICETARGETLOWERING_DEF
