LLVM: lib/Target/VE/VECustomDAG.cpp File Reference (original) (raw)

#include "[VECustomDAG.h](VECustomDAG%5F8h%5Fsource.html)"
#include "[VESelectionDAGInfo.h](VESelectionDAGInfo%5F8h%5Fsource.html)"
#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< unsigned > llvm::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< EVT > llvm::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, bool > llvm::getAnnotatedNodeAVL (SDValue Op)

ADD_BINARY_VVP_OP [1/8]

#define ADD_BINARY_VVP_OP ( 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 )

ADD_REDUCE_VVP_OP [2/8]

#define ADD_REDUCE_VVP_OP ( OPC,
SDNAME )

ADD_REDUCE_VVP_OP [3/8]

#define ADD_REDUCE_VVP_OP ( OPC,
SDNAME )

ADD_REDUCE_VVP_OP [4/8]

#define ADD_REDUCE_VVP_OP ( OPC,
SDNAME )

ADD_REDUCE_VVP_OP [5/8]

#define ADD_REDUCE_VVP_OP ( OPC,
SDNAME )

ADD_REDUCE_VVP_OP [6/8]

#define ADD_REDUCE_VVP_OP ( OPC,
SDNAME )

ADD_REDUCE_VVP_OP [7/8]

#define ADD_REDUCE_VVP_OP ( OPC,
SDNAME )

ADD_REDUCE_VVP_OP [8/8]

#define ADD_REDUCE_VVP_OP ( VVP_NAME,
SDNAME )

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,
... )

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"

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 )