1//===-- VVPNodes.def - Lists & properties of VE Vector Predication Nodes --===// 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 all VVP_* SDNodes and their properties 10// 11//===----------------------------------------------------------------------===// 12 13/// HANDLE_VP_TO_VVP(VPOPC, VVPOPC) 14/// \p VPOPC is the VP_* SDNode opcode. 15/// \p VVPOPC is the VVP_* SDNode opcode. 16#ifndef HANDLE_VP_TO_VVP 17#define HANDLE_VP_TO_VVP(VPOPC, VVPOPC) 18#endif 19 20/// ADD_VVP_OP(VVPNAME,SDNAME) 21/// \p VVPName is a VVP SDNode operator. 22/// \p SDNAME is the generic SD opcode corresponding to \p VVPName. 23#ifndef ADD_VVP_OP 24#define ADD_VVP_OP(X, Y) 25#endif 26 27/// ADD_BINARY_VVP_OP(VVPNAME,SDNAME) 28/// \p VVPName is a VVP Binary operator. 29/// \p SDNAME is the generic SD opcode corresponding to \p VVPName. 30#ifndef ADD_BINARY_VVP_OP 31#define ADD_BINARY_VVP_OP(X,Y) ADD_VVP_OP(X,Y) HANDLE_VP_TO_VVP(VP_##Y, X) 32#endif 33 34// Integer arithmetic. 35ADD_BINARY_VVP_OP(VVP_ADD,ADD) 36 37ADD_BINARY_VVP_OP(VVP_AND,AND) 38 39#undef HANDLE_VP_TO_VVP 40#undef ADD_BINARY_VVP_OP 41#undef ADD_VVP_OP 42