//===- subzero/crosstest/vectors.def - macros for tests -------*- 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 macros for crosstesting vectors.
//
//===----------------------------------------------------------------------===//

#ifndef VECTORS_DEF
#define VECTORS_DEF

#define VECTOR_TYPE_TABLE                 \
/* typename, element type,  cast type */  \
X(v16si8,        myint8_t,  int64_t)      \
X(v16ui8,         uint8_t,  int64_t)      \
X(v8si16,         int16_t,  int64_t)      \
X(v8ui16,        uint16_t,  int64_t)      \
X(v4si32,         int32_t,  int64_t)      \
X(v4ui32,        uint32_t,  int64_t)      \
X(v4f32,            float,    float)
// define X(ty, eltty, castty)

#define I1_VECTOR_TYPE_TABLE              \
/* typename, expanded type, # elements */ \
X(v4i1,             v4si32,          4)   \
X(v8i1,             v8si16,          8)   \
X(v16i1,            v16si8,         16)
// define X(ty, eltty, numelements)

#endif // VECTORS_DEF