Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
VECustomDAG.cpp File Reference
#include "VECustomDAG.h"
#include "VVPNodes.def"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Macros

#define DEBUG_TYPE   "vecustomdag"
#define HANDLE_VP_TO_VVP(VPOPC, VVPNAME)
#define ADD_VVP_OP(VVPNAME, SDNAME)
#define ADD_UNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_BINARY_VVP_OP(VVPNAME, VPNAME, SDNAME)
#define ADD_TERNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_BINARY_VVP_OP_COMPACT(NAME)
#define REGISTER_PACKED(OPC)
#define ADD_REDUCE_VVP_OP(OPC, SDNAME)
#define HANDLE_VVP_REDUCE_TO_SCALAR(VVP_RED_ISD, REDUCE_ISD)
#define HELPER_REDUCTION(OPC, SCALAR_OPC)
#define REGISTER_PACKED(VVP_NAME)
#define HANDLE_VP_TO_VVP(VPOPC, VVPOPC)
#define ADD_VVP_OP(X, Y)
#define ADD_UNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_BINARY_VVP_OP(VVPNAME, VPNAME, SDNAME)
#define ADD_TERNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_BINARY_VVP_OP_COMPACT(NAME)
#define ADD_REDUCE_VVP_OP(OPC, SDNAME)
#define HANDLE_VVP_REDUCE_TO_SCALAR(VVP_RED_ISD, REDUCE_ISD)
#define HELPER_REDUCTION(OPC, SCALAR_OPC)
#define ADD_VVP_OP(VVPNAME, ...)
#define HANDLE_VP_TO_VVP(VPOPC, VVPOPC)
#define ADD_UNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_BINARY_VVP_OP(VVPNAME, VPNAME, SDNAME)
#define ADD_TERNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_BINARY_VVP_OP_COMPACT(NAME)
#define REGISTER_PACKED(OPC)
#define ADD_REDUCE_VVP_OP(OPC, SDNAME)
#define HANDLE_VVP_REDUCE_TO_SCALAR(VVP_RED_ISD, REDUCE_ISD)
#define HELPER_REDUCTION(OPC, SCALAR_OPC)
#define ADD_UNARY_VVP_OP(VVPNAME, ...)
#define HANDLE_VP_TO_VVP(VPOPC, VVPOPC)
#define ADD_VVP_OP(X, Y)
#define ADD_BINARY_VVP_OP(VVPNAME, VPNAME, SDNAME)
#define ADD_TERNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_BINARY_VVP_OP_COMPACT(NAME)
#define REGISTER_PACKED(OPC)
#define ADD_REDUCE_VVP_OP(OPC, SDNAME)
#define HANDLE_VVP_REDUCE_TO_SCALAR(VVP_RED_ISD, REDUCE_ISD)
#define HELPER_REDUCTION(OPC, SCALAR_OPC)
#define ADD_BINARY_VVP_OP(VVPNAME, ...)
#define HANDLE_VP_TO_VVP(VPOPC, VVPOPC)
#define ADD_VVP_OP(X, Y)
#define ADD_UNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_TERNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_BINARY_VVP_OP_COMPACT(NAME)
#define REGISTER_PACKED(OPC)
#define ADD_REDUCE_VVP_OP(OPC, SDNAME)
#define HANDLE_VVP_REDUCE_TO_SCALAR(VVP_RED_ISD, REDUCE_ISD)
#define HELPER_REDUCTION(OPC, SCALAR_OPC)
#define ADD_REDUCE_VVP_OP(VVP_NAME, SDNAME)
#define HANDLE_VP_TO_VVP(VPOPC, VVPOPC)
#define ADD_VVP_OP(X, Y)
#define ADD_UNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_BINARY_VVP_OP(VVPNAME, VPNAME, SDNAME)
#define ADD_TERNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_BINARY_VVP_OP_COMPACT(NAME)
#define REGISTER_PACKED(OPC)
#define HANDLE_VVP_REDUCE_TO_SCALAR(VVP_RED_ISD, REDUCE_ISD)
#define HELPER_REDUCTION(OPC, SCALAR_OPC)
#define ADD_BINARY_VVP_OP(VVP_NAME, ...)
#define HANDLE_VP_TO_VVP(VPOPC, VVPOPC)
#define ADD_VVP_OP(X, Y)
#define ADD_UNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_TERNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_BINARY_VVP_OP_COMPACT(NAME)
#define REGISTER_PACKED(OPC)
#define ADD_REDUCE_VVP_OP(OPC, SDNAME)
#define HANDLE_VVP_REDUCE_TO_SCALAR(VVP_RED_ISD, REDUCE_ISD)
#define HELPER_REDUCTION(OPC, SCALAR_OPC)
#define HANDLE_VVP_REDUCE_TO_SCALAR(VVP_RED_ISD, REDUCE_ISD)
#define HANDLE_VP_TO_VVP(VPOPC, VVPOPC)
#define ADD_VVP_OP(X, Y)
#define ADD_UNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_BINARY_VVP_OP(VVPNAME, VPNAME, SDNAME)
#define ADD_TERNARY_VVP_OP(VVPNAME, SDNAME)
#define ADD_BINARY_VVP_OP_COMPACT(NAME)
#define REGISTER_PACKED(OPC)
#define ADD_REDUCE_VVP_OP(OPC, SDNAME)
#define HELPER_REDUCTION(OPC, SCALAR_OPC)

Functions

bool llvm::isPackedVectorType (EVT SomeVT)
MVT llvm::splitVectorType (MVT VT)
MVT llvm::getLegalVectorType (Packing P, MVT ElemVT)
Packing llvm::getTypePacking (EVT VT)
bool llvm::isMaskType (EVT SomeVT)
bool llvm::isMaskArithmetic (SDValue Op)
std::optional< unsignedllvm::getVVPOpcode (unsigned Opcode)
bool llvm::maySafelyIgnoreMask (SDValue Op)
bool llvm::supportsPackedMode (unsigned Opcode, EVT IdiomVT)
bool llvm::isPackingSupportOpcode (unsigned Opc)
bool llvm::isVVPOrVEC (unsigned Opcode)
bool llvm::isVVPUnaryOp (unsigned VVPOpcode)
bool llvm::isVVPBinaryOp (unsigned VVPOpcode)
bool llvm::isVVPReductionOp (unsigned Opcode)
std::optional< int > llvm::getAVLPos (unsigned)
 The VE backend uses a two-staged process to lower and legalize vector instructions:
std::optional< int > llvm::getMaskPos (unsigned Opc)
bool llvm::isLegalAVL (SDValue AVL)
SDValue llvm::getNodeChain (SDValue Op)
 Node Properties {.
SDValue llvm::getMemoryPtr (SDValue Op)
std::optional< EVTllvm::getIdiomaticVectorType (SDNode *Op)
 } AVL Functions
SDValue llvm::getLoadStoreStride (SDValue Op, VECustomDAG &CDAG)
SDValue llvm::getGatherScatterIndex (SDValue Op)
SDValue llvm::getGatherScatterScale (SDValue Op)
SDValue llvm::getStoredValue (SDValue Op)
SDValue llvm::getNodePassthru (SDValue Op)
bool llvm::hasReductionStartParam (unsigned OPC)
unsigned llvm::getScalarReductionOpcode (unsigned VVPOC, bool IsMask)
SDValue llvm::getNodeAVL (SDValue Op)
 } Node Properties
SDValue llvm::getNodeMask (SDValue Op)
std::pair< SDValue, boolllvm::getAnnotatedNodeAVL (SDValue Op)

Macro Definition Documentation

◆ ADD_BINARY_VVP_OP [1/8]

#define ADD_BINARY_VVP_OP ( VVP_NAME,
... )
Value:
case VEISD::VVP_NAME:

◆ ADD_BINARY_VVP_OP [2/8]

#define ADD_BINARY_VVP_OP ( VVPNAME,
VPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME) \
HANDLE_VP_TO_VVP(VPNAME, VVPNAME)

◆ ADD_BINARY_VVP_OP [3/8]

#define ADD_BINARY_VVP_OP ( VVPNAME,
VPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME) \
HANDLE_VP_TO_VVP(VPNAME, VVPNAME)

◆ ADD_BINARY_VVP_OP [4/8]

#define ADD_BINARY_VVP_OP ( VVPNAME,
VPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME) \
HANDLE_VP_TO_VVP(VPNAME, VVPNAME)

◆ ADD_BINARY_VVP_OP [5/8]

#define ADD_BINARY_VVP_OP ( VVPNAME,
VPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME) \
HANDLE_VP_TO_VVP(VPNAME, VVPNAME)

◆ ADD_BINARY_VVP_OP [6/8]

#define ADD_BINARY_VVP_OP ( VVPNAME,
VPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME) \
HANDLE_VP_TO_VVP(VPNAME, VVPNAME)

◆ ADD_BINARY_VVP_OP [7/8]

#define ADD_BINARY_VVP_OP ( VVPNAME,
VPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME) \
HANDLE_VP_TO_VVP(VPNAME, VVPNAME)

◆ ADD_BINARY_VVP_OP [8/8]

#define ADD_BINARY_VVP_OP ( VVPNAME,
... )
Value:
case VEISD::VVPNAME: \
return true;

◆ ADD_BINARY_VVP_OP_COMPACT [1/8]

#define ADD_BINARY_VVP_OP_COMPACT ( NAME)
Value:
ADD_BINARY_VVP_OP(VVP_##NAME,VP_##NAME,NAME)

◆ ADD_BINARY_VVP_OP_COMPACT [2/8]

#define ADD_BINARY_VVP_OP_COMPACT ( NAME)
Value:
ADD_BINARY_VVP_OP(VVP_##NAME,VP_##NAME,NAME)

◆ ADD_BINARY_VVP_OP_COMPACT [3/8]

#define ADD_BINARY_VVP_OP_COMPACT ( NAME)
Value:
ADD_BINARY_VVP_OP(VVP_##NAME,VP_##NAME,NAME)

◆ ADD_BINARY_VVP_OP_COMPACT [4/8]

#define ADD_BINARY_VVP_OP_COMPACT ( NAME)
Value:
ADD_BINARY_VVP_OP(VVP_##NAME,VP_##NAME,NAME)

◆ ADD_BINARY_VVP_OP_COMPACT [5/8]

#define ADD_BINARY_VVP_OP_COMPACT ( NAME)
Value:
ADD_BINARY_VVP_OP(VVP_##NAME,VP_##NAME,NAME)

◆ ADD_BINARY_VVP_OP_COMPACT [6/8]

#define ADD_BINARY_VVP_OP_COMPACT ( NAME)
Value:
ADD_BINARY_VVP_OP(VVP_##NAME,VP_##NAME,NAME)

◆ ADD_BINARY_VVP_OP_COMPACT [7/8]

#define ADD_BINARY_VVP_OP_COMPACT ( NAME)
Value:
ADD_BINARY_VVP_OP(VVP_##NAME,VP_##NAME,NAME)

◆ ADD_BINARY_VVP_OP_COMPACT [8/8]

#define ADD_BINARY_VVP_OP_COMPACT ( NAME)
Value:
ADD_BINARY_VVP_OP(VVP_##NAME,VP_##NAME,NAME)

◆ ADD_REDUCE_VVP_OP [1/8]

#define ADD_REDUCE_VVP_OP ( OPC,
SDNAME )
Value:
ADD_VVP_OP(OPC, SDNAME)

◆ ADD_REDUCE_VVP_OP [2/8]

#define ADD_REDUCE_VVP_OP ( OPC,
SDNAME )
Value:
ADD_VVP_OP(OPC, SDNAME)

◆ ADD_REDUCE_VVP_OP [3/8]

#define ADD_REDUCE_VVP_OP ( OPC,
SDNAME )
Value:
ADD_VVP_OP(OPC, SDNAME)

◆ ADD_REDUCE_VVP_OP [4/8]

#define ADD_REDUCE_VVP_OP ( OPC,
SDNAME )
Value:
ADD_VVP_OP(OPC, SDNAME)

◆ ADD_REDUCE_VVP_OP [5/8]

#define ADD_REDUCE_VVP_OP ( OPC,
SDNAME )
Value:
ADD_VVP_OP(OPC, SDNAME)

◆ ADD_REDUCE_VVP_OP [6/8]

#define ADD_REDUCE_VVP_OP ( OPC,
SDNAME )
Value:
ADD_VVP_OP(OPC, SDNAME)

◆ ADD_REDUCE_VVP_OP [7/8]

#define ADD_REDUCE_VVP_OP ( OPC,
SDNAME )
Value:
ADD_VVP_OP(OPC, SDNAME)

◆ ADD_REDUCE_VVP_OP [8/8]

#define ADD_REDUCE_VVP_OP ( VVP_NAME,
SDNAME )
Value:
case VEISD::VVP_NAME:

◆ ADD_TERNARY_VVP_OP [1/8]

#define ADD_TERNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_TERNARY_VVP_OP [2/8]

#define ADD_TERNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_TERNARY_VVP_OP [3/8]

#define ADD_TERNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_TERNARY_VVP_OP [4/8]

#define ADD_TERNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_TERNARY_VVP_OP [5/8]

#define ADD_TERNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_TERNARY_VVP_OP [6/8]

#define ADD_TERNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_TERNARY_VVP_OP [7/8]

#define ADD_TERNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_TERNARY_VVP_OP [8/8]

#define ADD_TERNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_UNARY_VVP_OP [1/8]

#define ADD_UNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_UNARY_VVP_OP [2/8]

#define ADD_UNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_UNARY_VVP_OP [3/8]

#define ADD_UNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_UNARY_VVP_OP [4/8]

#define ADD_UNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_UNARY_VVP_OP [5/8]

#define ADD_UNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_UNARY_VVP_OP [6/8]

#define ADD_UNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_UNARY_VVP_OP [7/8]

#define ADD_UNARY_VVP_OP ( VVPNAME,
SDNAME )
Value:
ADD_VVP_OP(VVPNAME,SDNAME)

◆ ADD_UNARY_VVP_OP [8/8]

#define ADD_UNARY_VVP_OP ( VVPNAME,
... )
Value:
case VEISD::VVPNAME: \
return true;

◆ ADD_VVP_OP [1/8]

#define ADD_VVP_OP ( VVPNAME,
SDNAME )
Value:
case VEISD::VVPNAME: \
case ISD::SDNAME: \
return VEISD::VVPNAME;

◆ ADD_VVP_OP [2/8]

#define ADD_VVP_OP ( VVPNAME,
... )
Value:
case VEISD::VVPNAME:

◆ ADD_VVP_OP [3/8]

#define ADD_VVP_OP ( X,
Y )

◆ ADD_VVP_OP [4/8]

#define ADD_VVP_OP ( X,
Y )

◆ ADD_VVP_OP [5/8]

#define ADD_VVP_OP ( X,
Y )

◆ ADD_VVP_OP [6/8]

#define ADD_VVP_OP ( X,
Y )

◆ ADD_VVP_OP [7/8]

#define ADD_VVP_OP ( X,
Y )

◆ ADD_VVP_OP [8/8]

#define ADD_VVP_OP ( X,
Y )

◆ DEBUG_TYPE

#define DEBUG_TYPE   "vecustomdag"

Definition at line 17 of file VECustomDAG.cpp.

◆ HANDLE_VP_TO_VVP [1/8]

#define HANDLE_VP_TO_VVP ( VPOPC,
VVPNAME )
Value:
case ISD::VPOPC: \
return VEISD::VVPNAME;

◆ HANDLE_VP_TO_VVP [2/8]

#define HANDLE_VP_TO_VVP ( VPOPC,
VVPOPC )

◆ HANDLE_VP_TO_VVP [3/8]

#define HANDLE_VP_TO_VVP ( VPOPC,
VVPOPC )

◆ HANDLE_VP_TO_VVP [4/8]

#define HANDLE_VP_TO_VVP ( VPOPC,
VVPOPC )

◆ HANDLE_VP_TO_VVP [5/8]

#define HANDLE_VP_TO_VVP ( VPOPC,
VVPOPC )

◆ HANDLE_VP_TO_VVP [6/8]

#define HANDLE_VP_TO_VVP ( VPOPC,
VVPOPC )

◆ HANDLE_VP_TO_VVP [7/8]

#define HANDLE_VP_TO_VVP ( VPOPC,
VVPOPC )

◆ HANDLE_VP_TO_VVP [8/8]

#define HANDLE_VP_TO_VVP ( VPOPC,
VVPOPC )

◆ HANDLE_VVP_REDUCE_TO_SCALAR [1/8]

#define HANDLE_VVP_REDUCE_TO_SCALAR ( VVP_RED_ISD,
REDUCE_ISD )
Value:
case VEISD::VVP_RED_ISD: \
return ISD::REDUCE_ISD;

◆ HANDLE_VVP_REDUCE_TO_SCALAR [2/8]

#define HANDLE_VVP_REDUCE_TO_SCALAR ( VVP_RED_ISD,
REDUCE_ISD )

◆ HANDLE_VVP_REDUCE_TO_SCALAR [3/8]

#define HANDLE_VVP_REDUCE_TO_SCALAR ( VVP_RED_ISD,
REDUCE_ISD )

◆ HANDLE_VVP_REDUCE_TO_SCALAR [4/8]

#define HANDLE_VVP_REDUCE_TO_SCALAR ( VVP_RED_ISD,
REDUCE_ISD )

◆ HANDLE_VVP_REDUCE_TO_SCALAR [5/8]

#define HANDLE_VVP_REDUCE_TO_SCALAR ( VVP_RED_ISD,
REDUCE_ISD )

◆ HANDLE_VVP_REDUCE_TO_SCALAR [6/8]

#define HANDLE_VVP_REDUCE_TO_SCALAR ( VVP_RED_ISD,
REDUCE_ISD )

◆ HANDLE_VVP_REDUCE_TO_SCALAR [7/8]

#define HANDLE_VVP_REDUCE_TO_SCALAR ( VVP_RED_ISD,
REDUCE_ISD )

◆ HANDLE_VVP_REDUCE_TO_SCALAR [8/8]

#define HANDLE_VVP_REDUCE_TO_SCALAR ( VVP_RED_ISD,
REDUCE_ISD )

◆ HELPER_REDUCTION [1/8]

#define HELPER_REDUCTION ( OPC,
SCALAR_OPC )
Value:
ADD_REDUCE_VVP_OP(VVP_REDUCE_##OPC,VECREDUCE_##OPC) \
HANDLE_VP_TO_VVP(VP_REDUCE_##OPC, VVP_REDUCE_##OPC) \
HANDLE_VVP_REDUCE_TO_SCALAR(VVP_REDUCE_##OPC, SCALAR_OPC)

◆ HELPER_REDUCTION [2/8]

#define HELPER_REDUCTION ( OPC,
SCALAR_OPC )
Value:
ADD_REDUCE_VVP_OP(VVP_REDUCE_##OPC,VECREDUCE_##OPC) \
HANDLE_VP_TO_VVP(VP_REDUCE_##OPC, VVP_REDUCE_##OPC) \
HANDLE_VVP_REDUCE_TO_SCALAR(VVP_REDUCE_##OPC, SCALAR_OPC)

◆ HELPER_REDUCTION [3/8]

#define HELPER_REDUCTION ( OPC,
SCALAR_OPC )
Value:
ADD_REDUCE_VVP_OP(VVP_REDUCE_##OPC,VECREDUCE_##OPC) \
HANDLE_VP_TO_VVP(VP_REDUCE_##OPC, VVP_REDUCE_##OPC) \
HANDLE_VVP_REDUCE_TO_SCALAR(VVP_REDUCE_##OPC, SCALAR_OPC)

◆ HELPER_REDUCTION [4/8]

#define HELPER_REDUCTION ( OPC,
SCALAR_OPC )
Value:
ADD_REDUCE_VVP_OP(VVP_REDUCE_##OPC,VECREDUCE_##OPC) \
HANDLE_VP_TO_VVP(VP_REDUCE_##OPC, VVP_REDUCE_##OPC) \
HANDLE_VVP_REDUCE_TO_SCALAR(VVP_REDUCE_##OPC, SCALAR_OPC)

◆ HELPER_REDUCTION [5/8]

#define HELPER_REDUCTION ( OPC,
SCALAR_OPC )
Value:
ADD_REDUCE_VVP_OP(VVP_REDUCE_##OPC,VECREDUCE_##OPC) \
HANDLE_VP_TO_VVP(VP_REDUCE_##OPC, VVP_REDUCE_##OPC) \
HANDLE_VVP_REDUCE_TO_SCALAR(VVP_REDUCE_##OPC, SCALAR_OPC)

◆ HELPER_REDUCTION [6/8]

#define HELPER_REDUCTION ( OPC,
SCALAR_OPC )
Value:
ADD_REDUCE_VVP_OP(VVP_REDUCE_##OPC,VECREDUCE_##OPC) \
HANDLE_VP_TO_VVP(VP_REDUCE_##OPC, VVP_REDUCE_##OPC) \
HANDLE_VVP_REDUCE_TO_SCALAR(VVP_REDUCE_##OPC, SCALAR_OPC)

◆ HELPER_REDUCTION [7/8]

#define HELPER_REDUCTION ( OPC,
SCALAR_OPC )
Value:
ADD_REDUCE_VVP_OP(VVP_REDUCE_##OPC,VECREDUCE_##OPC) \
HANDLE_VP_TO_VVP(VP_REDUCE_##OPC, VVP_REDUCE_##OPC) \
HANDLE_VVP_REDUCE_TO_SCALAR(VVP_REDUCE_##OPC, SCALAR_OPC)

◆ HELPER_REDUCTION [8/8]

#define HELPER_REDUCTION ( OPC,
SCALAR_OPC )
Value:
ADD_REDUCE_VVP_OP(VVP_REDUCE_##OPC,VECREDUCE_##OPC) \
HANDLE_VP_TO_VVP(VP_REDUCE_##OPC, VVP_REDUCE_##OPC) \
HANDLE_VVP_REDUCE_TO_SCALAR(VVP_REDUCE_##OPC, SCALAR_OPC)

◆ REGISTER_PACKED [1/8]

#define REGISTER_PACKED ( OPC)

◆ REGISTER_PACKED [2/8]

#define REGISTER_PACKED ( OPC)

◆ REGISTER_PACKED [3/8]

#define REGISTER_PACKED ( OPC)

◆ REGISTER_PACKED [4/8]

#define REGISTER_PACKED ( OPC)

◆ REGISTER_PACKED [5/8]

#define REGISTER_PACKED ( OPC)

◆ REGISTER_PACKED [6/8]

#define REGISTER_PACKED ( OPC)

◆ REGISTER_PACKED [7/8]

#define REGISTER_PACKED ( OPC)

◆ REGISTER_PACKED [8/8]

#define REGISTER_PACKED ( VVP_NAME)
Value:
case VEISD::VVP_NAME: