//===- subzero/src/IceTargetLoweringX8664.def - x86-64 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 patterns for lowering to x86-64 target
// instructions, in the form of x-macros.
//
//===----------------------------------------------------------------------===//

#ifndef SUBZERO_SRC_ICETARGETLOWERINGX8664_DEF
#define SUBZERO_SRC_ICETARGETLOWERINGX8664_DEF

#define FCMPX8664_TABLE                                              \
  /*       <---- scalar comparison ---->  <- vector comparison -> */ \
  /* val,  dflt, swap, C1,      C2,       swap,  predicate        */ \
  X(False, 0,    0,    Br_None, Br_None,  0,     Cmpps_Invalid)      \
  X(Oeq,   0,    0,    Br_ne,   Br_p,     0,     Cmpps_eq)           \
  X(Ogt,   1,    0,    Br_a,    Br_None,  1,     Cmpps_lt)           \
  X(Oge,   1,    0,    Br_ae,   Br_None,  1,     Cmpps_le)           \
  X(Olt,   1,    1,    Br_a,    Br_None,  0,     Cmpps_lt)           \
  X(Ole,   1,    1,    Br_ae,   Br_None,  0,     Cmpps_le)           \
  X(One,   1,    0,    Br_ne,   Br_None,  0,     Cmpps_Invalid)      \
  X(Ord,   1,    0,    Br_np,   Br_None,  0,     Cmpps_ord)          \
  X(Ueq,   1,    0,    Br_e,    Br_None,  0,     Cmpps_Invalid)      \
  X(Ugt,   1,    1,    Br_b,    Br_None,  0,     Cmpps_nle)          \
  X(Uge,   1,    1,    Br_be,   Br_None,  0,     Cmpps_nlt)          \
  X(Ult,   1,    0,    Br_b,    Br_None,  1,     Cmpps_nle)          \
  X(Ule,   1,    0,    Br_be,   Br_None,  1,     Cmpps_nlt)          \
  X(Une,   1,    0,    Br_ne,   Br_p,     0,     Cmpps_neq)          \
  X(Uno,   1,    0,    Br_p,    Br_None,  0,     Cmpps_unord)        \
  X(True,  1,    0,    Br_None, Br_None,  0,     Cmpps_Invalid)      \
//#define X(val, dflt, swapS, C1, C2, swapV, pred)

#define ICMPX8664_TABLE                     \
  /* val, C_32,  C1_64,   C2_64,   C3_64 */ \
  X(Eq,   Br_e,  Br_None, Br_ne,   Br_e)    \
  X(Ne,   Br_ne, Br_ne,   Br_None, Br_ne)   \
  X(Ugt,  Br_a,  Br_a,    Br_b,    Br_a)    \
  X(Uge,  Br_ae, Br_a,    Br_b,    Br_ae)   \
  X(Ult,  Br_b,  Br_b,    Br_a,    Br_b)    \
  X(Ule,  Br_be, Br_b,    Br_a,    Br_be)   \
  X(Sgt,  Br_g,  Br_g,    Br_l,    Br_a)    \
  X(Sge,  Br_ge, Br_g,    Br_l,    Br_ae)   \
  X(Slt,  Br_l,  Br_l,    Br_g,    Br_b)    \
  X(Sle,  Br_le, Br_l,    Br_g,    Br_be)   \
//#define X(val, C_32, C1_64, C2_64, C3_64)

#endif // SUBZERO_SRC_ICETARGETLOWERINGX8664_DEF
