//===- subzero/src/IceTargetLoweringARM32.def - ARM32 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 ARM32 target
// instructions, in the form of x-macros.
//
//===----------------------------------------------------------------------===//

#ifndef SUBZERO_SRC_ICETARGETLOWERINGARM32_DEF
#define SUBZERO_SRC_ICETARGETLOWERINGARM32_DEF

// Patterns for lowering icmp.
#define ICMPARM32_TABLE                                             \
  /* val, is_signed, swapped64, C_32, C1_64, C2_64 */               \
  X(Eq,   false,     false,     EQ,   EQ,    NE)                    \
  X(Ne,   false,     false,     NE,   NE,    EQ)                    \
  X(Ugt,  false,     false,     HI,   HI,    LS)                    \
  X(Uge,  false,     false,     CS,   CS,    CC)                    \
  X(Ult,  false,     false,     CC,   CC,    CS)                    \
  X(Ule,  false,     false,     LS,   LS,    HI)                    \
  X(Sgt,  true,      true,      GT,   LT,    GE)                    \
  X(Sge,  true,      false,     GE,   GE,    LT)                    \
  X(Slt,  true,      false,     LT,   LT,    GE)                    \
  X(Sle,  true,      true,      LE,   GE,    LT)                    \
//#define X(val, is_signed, swapped64, C_32, C1_64, C2_64)

#endif // SUBZERO_SRC_ICETARGETLOWERINGARM32_DEF
