1//===-- PPCTypes.def - Metadata about PPC types -----------------*- C++ -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8// 9// This file defines PPC types. 10// Custom code should define one of these macros: 11// 12// PPC_VECTOR_TYPE(Name, Id, Size) - A PPC vector type of a given size 13// (in bits). 14// 15// PPC_VECTOR_MMA_TYPE(Name, Id, Size) - A PPC MMA vector type of a given 16// size (in bits). 17// 18// PPC_VECTOR_VSX_TYPE(Name, Id, Size) - A PPC VSX vector type of a given 19// size (in bits). 20// 21//===----------------------------------------------------------------------===// 22 23#if defined(PPC_VECTOR_TYPE) 24 #define PPC_VECTOR_MMA_TYPE(Name, Id, Size) PPC_VECTOR_TYPE(Name, Id, Size) 25 #define PPC_VECTOR_VSX_TYPE(Name, Id, Size) PPC_VECTOR_TYPE(Name, Id, Size) 26#elif defined(PPC_VECTOR_MMA_TYPE) 27 #define PPC_VECTOR_VSX_TYPE(Name, Id, Size) 28#elif defined(PPC_VECTOR_VSX_TYPE) 29 #define PPC_VECTOR_MMA_TYPE(Name, Id, Size) 30#endif 31 32 33PPC_VECTOR_MMA_TYPE(__vector_quad, VectorQuad, 512) 34PPC_VECTOR_VSX_TYPE(__vector_pair, VectorPair, 256) 35 36#undef PPC_VECTOR_MMA_TYPE 37#undef PPC_VECTOR_VSX_TYPE 38#undef PPC_VECTOR_TYPE 39