//===-- PPCTypes.def - Metadata about PPC types -----------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file defines PPC types. // Custom code should define one of these macros: // // PPC_VECTOR_TYPE(Name, Id, Size) - A PPC vector type of a given size // (in bits). // // PPC_VECTOR_MMA_TYPE(Name, Id, Size) - A PPC MMA vector type of a given // size (in bits). // // PPC_VECTOR_VSX_TYPE(Name, Id, Size) - A PPC VSX vector type of a given // size (in bits). // //===----------------------------------------------------------------------===// #if defined(PPC_VECTOR_TYPE) #define PPC_VECTOR_MMA_TYPE(Name, Id, Size) PPC_VECTOR_TYPE(Name, Id, Size) #define PPC_VECTOR_VSX_TYPE(Name, Id, Size) PPC_VECTOR_TYPE(Name, Id, Size) #elif defined(PPC_VECTOR_MMA_TYPE) #define PPC_VECTOR_VSX_TYPE(Name, Id, Size) #elif defined(PPC_VECTOR_VSX_TYPE) #define PPC_VECTOR_MMA_TYPE(Name, Id, Size) #endif PPC_VECTOR_MMA_TYPE(__vector_quad, VectorQuad, 512) PPC_VECTOR_VSX_TYPE(__vector_pair, VectorPair, 256) #undef PPC_VECTOR_MMA_TYPE #undef PPC_VECTOR_VSX_TYPE #undef PPC_VECTOR_TYPE