//===- 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 TARGETARCH_TABLE                                                 \
  /* enum value, printable string */                                     \
  X(Target_X8632, "x86-32")                                              \
  X(Target_X8664, "x86-64")                                              \
  X(Target_ARM32, "arm32")                                               \
  X(Target_ARM64, "arm64")                                               \
//#define X(tag, str)

#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
//   LS - true if load/store allowed on type.
//   CR - Result type of compare instruction for argument type
//        (IceType_void if disallowed)
#define ICETYPE_PROPS_TABLE                                              \
  /* Enum Value    V  I  F IA  LS CR */                                  \
  X(IceType_void,  0, 0, 0, 0, 0, IceType_void)                          \
  X(IceType_i1,    0, 1, 0, 0, 0, IceType_i1)                            \
  X(IceType_i8,    0, 1, 0, 1, 1, IceType_i1)                            \
  X(IceType_i16,   0, 1, 0, 1, 1, IceType_i1)                            \
  X(IceType_i32,   0, 1, 0, 1, 1, IceType_i1)                            \
  X(IceType_i64,   0, 1, 0, 1, 1, IceType_i1)                            \
  X(IceType_f32,   0, 0, 1, 0, 1, IceType_i1)                            \
  X(IceType_f64,   0, 0, 1, 0, 1, IceType_i1)                            \
  X(IceType_v4i1,  1, 1, 0, 0, 0, IceType_v4i1)                          \
  X(IceType_v8i1,  1, 1, 0, 0, 0, IceType_v8i1)                          \
  X(IceType_v16i1, 1, 1, 0, 0, 0, IceType_v16i1)                         \
  X(IceType_v16i8, 1, 1, 0, 1, 1, IceType_v16i1)                         \
  X(IceType_v8i16, 1, 1, 0, 1, 1, IceType_v8i1)                          \
  X(IceType_v4i32, 1, 1, 0, 1, 1, IceType_v4i1)                          \
  X(IceType_v4f32, 1, 0, 1, 0, 1, IceType_v4i1)                          \
//#define X(tag, IsVec, IsInt, IsFloat, IsIntArith, IsLoadStore, CompareResult)

#endif // SUBZERO_SRC_ICETYPES_DEF
