//===- subzero/src/IceTypes.def - X-macros for ICE types --------*- 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 properties of ICE primitive types in the form of
// x-macros.
//
//===----------------------------------------------------------------------===//

#ifndef SUBZERO_SRC_ICETYPES_DEF
#define SUBZERO_SRC_ICETYPES_DEF

#define ICETYPE_TABLE                                                    \
  /* enum value,  size, align, # elts, element type, printable string */ \
  /*   (size and alignment in bytes) */                                  \
  X(IceType_void,   0,  0,     1,      IceType_void, "void")             \
  X(IceType_i1,     1,  1,     1,      IceType_i1,   "i1")               \
  X(IceType_i8,     1,  1,     1,      IceType_i8,   "i8")               \
  X(IceType_i16,    2,  1,     1,      IceType_i16,  "i16")              \
  X(IceType_i32,    4,  1,     1,      IceType_i32,  "i32")              \
  X(IceType_i64,    8,  1,     1,      IceType_i64,  "i64")              \
  X(IceType_f32,    4,  4,     1,      IceType_f32,  "float")            \
  X(IceType_f64,    8,  8,     1,      IceType_f64,  "double")           \
  X(IceType_v4i1,  16,  1,     4,      IceType_i1,   "<4 x i1>")         \
  X(IceType_v8i1,  16,  1,     8,      IceType_i1,   "<8 x i1>")         \
  X(IceType_v16i1, 16,  1,    16,      IceType_i1,   "<16 x i1>")        \
  X(IceType_v16i8, 16,  1,    16,      IceType_i8,   "<16 x i8>")        \
  X(IceType_v8i16, 16,  2,     8,      IceType_i16,  "<8 x i16>")        \
  X(IceType_v4i32, 16,  4,     4,      IceType_i32,  "<4 x i32>")        \
  X(IceType_v4f32, 16,  4,     4,      IceType_f32,  "<4 x float>")      \
//#define X(tag, size, align, elts, elty, str)

// Dictionary:
//   V - Is vector type.
//   I - Is integer value (scalar or vector).
//   F - Is floating point value (scalar or vector).
//   IA - Is integer arithmetic type
//   CR - Result type of compare instruction for argument type
//        (IceType_void if disallowed)
#define ICETYPE_PROPS_TABLE                                              \
  /* Enum Value    V  I  F IA  CR */                                     \
  X(IceType_void,  0, 0, 0, 0, IceType_void)                             \
  X(IceType_i1,    0, 1, 0, 0, IceType_i1)                               \
  X(IceType_i8,    0, 1, 0, 1, IceType_i1)                               \
  X(IceType_i16,   0, 1, 0, 1, IceType_i1)                               \
  X(IceType_i32,   0, 1, 0, 1, IceType_i1)                               \
  X(IceType_i64,   0, 1, 0, 1, IceType_i1)                               \
  X(IceType_f32,   0, 0, 1, 0, IceType_i1)                               \
  X(IceType_f64,   0, 0, 1, 0, IceType_i1)                               \
  X(IceType_v4i1,  1, 1, 0, 0, IceType_v4i1)                             \
  X(IceType_v8i1,  1, 1, 0, 0, IceType_v8i1)                             \
  X(IceType_v16i1, 1, 1, 0, 0, IceType_v16i1)                            \
  X(IceType_v16i8, 1, 1, 0, 1, IceType_v16i1)                            \
  X(IceType_v8i16, 1, 1, 0, 1, IceType_v8i1)                             \
  X(IceType_v4i32, 1, 1, 0, 1, IceType_v4i1)                             \
  X(IceType_v4f32, 1, 0, 1, 0, IceType_v4i1)                             \
//#define X(tag, IsVec, IsInt, IsFloat, IsIntArith, CompareResult)

#endif // SUBZERO_SRC_ICETYPES_DEF
