Skip to content

Commit

Permalink
Remove vinc/vdec IL opcodes
Browse files Browse the repository at this point in the history
Issue: #6003

Signed-off-by: Daryl Maier <maier@ca.ibm.com>
  • Loading branch information
0xdaryl committed Jun 2, 2021
1 parent f590028 commit adf0f11
Show file tree
Hide file tree
Showing 17 changed files with 0 additions and 156 deletions.
12 changes: 0 additions & 12 deletions compiler/aarch64/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1436,18 +1436,6 @@ OMR::ARM64::TreeEvaluator::vdsqrtEvaluator(TR::Node *node, TR::CodeGenerator *cg
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::ARM64::TreeEvaluator::vincEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::ARM64::TreeEvaluator::vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::ARM64::TreeEvaluator::vcomEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
Expand Down
2 changes: 0 additions & 2 deletions compiler/aarch64/codegen/OMRTreeEvaluator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -212,8 +212,6 @@ class OMR_EXTENSIBLE TreeEvaluator: public OMR::TreeEvaluator
static TR::Register *vdcmpneEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdcmpallneEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdcmpanyneEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vincEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcomEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vremEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vshlEvaluator(TR::Node *node, TR::CodeGenerator *cg);
Expand Down
12 changes: 0 additions & 12 deletions compiler/arm/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1747,18 +1747,6 @@ OMR::ARM::TreeEvaluator::vdsqrtEvaluator(TR::Node *node, TR::CodeGenerator *cg)
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::ARM::TreeEvaluator::vincEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::ARM::TreeEvaluator::vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::ARM::TreeEvaluator::vnegEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
Expand Down
2 changes: 0 additions & 2 deletions compiler/arm/codegen/OMRTreeEvaluator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -341,8 +341,6 @@ class OMR_EXTENSIBLE TreeEvaluator: public OMR::TreeEvaluator
static TR::Register *vdcmpanyltEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdcmpanyleEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdsqrtEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vincEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vnegEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcomEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vaddEvaluator(TR::Node *node, TR::CodeGenerator *cg);
Expand Down
32 changes: 0 additions & 32 deletions compiler/il/OMROpcodes.enum
Original file line number Diff line number Diff line change
Expand Up @@ -7027,38 +7027,6 @@ OPCODE_MACRO(\
/* .ifCompareOpCode = */ TR::BadILOp, \
/* .description = vector double square root */ \
)
OPCODE_MACRO(\
/* .opcode = */ vinc, \
/* .name = */ "vinc", \
/* .properties1 = */ ILProp1::Add, \
/* .properties2 = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE, \
/* .properties3 = */ 0, \
/* .properties4 = */ 0, \
/* .dataType = */ TR::NoType, \
/* .typeProperties = */ ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType, \
/* .childProperties = */ ONE_CHILD(ILChildProp::UnspecifiedChildType), \
/* .swapChildrenOpCode = */ TR::BadILOp, \
/* .reverseBranchOpCode = */ TR::BadILOp, \
/* .booleanCompareOpCode = */ TR::BadILOp, \
/* .ifCompareOpCode = */ TR::BadILOp, \
/* .description = vector increment */ \
)
OPCODE_MACRO(\
/* .opcode = */ vdec, \
/* .name = */ "vdec", \
/* .properties1 = */ ILProp1::Sub, \
/* .properties2 = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE, \
/* .properties3 = */ 0, \
/* .properties4 = */ 0, \
/* .dataType = */ TR::NoType, \
/* .typeProperties = */ ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType, \
/* .childProperties = */ ONE_CHILD(ILChildProp::UnspecifiedChildType), \
/* .swapChildrenOpCode = */ TR::BadILOp, \
/* .reverseBranchOpCode = */ TR::BadILOp, \
/* .booleanCompareOpCode = */ TR::BadILOp, \
/* .ifCompareOpCode = */ TR::BadILOp, \
/* .description = vector decrement */ \
)
OPCODE_MACRO(\
/* .opcode = */ vneg, \
/* .name = */ "vneg", \
Expand Down
2 changes: 0 additions & 2 deletions compiler/optimizer/OMRSimplifierTable.enum
Original file line number Diff line number Diff line change
Expand Up @@ -461,8 +461,6 @@
#define vdcmpanyltSimplifierHandler normalizeCmpSimplifier
#define vdcmpanyleSimplifierHandler normalizeCmpSimplifier
#define vdsqrtSimplifierHandler dftSimplifier
#define vincSimplifierHandler dftSimplifier
#define vdecSimplifierHandler dftSimplifier
#define vnegSimplifierHandler dftSimplifier
#define vcomSimplifierHandler dftSimplifier
#define vaddSimplifierHandler dftSimplifier
Expand Down
2 changes: 0 additions & 2 deletions compiler/optimizer/ValuePropagationTable.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -603,8 +603,6 @@ TR::Node * constrainLongBitCount(OMR::ValuePropagation *vp, TR::Node *node);
#define vdcmpanyltVPHandler constrainCmp
#define vdcmpanyleVPHandler constrainCmp
#define vdsqrtVPHandler constrainChildren
#define vincVPHandler constrainChildren
#define vdecVPHandler constrainChildren
#define vnegVPHandler constrainChildren
#define vcomVPHandler constrainChildren
#define vaddVPHandler constrainAdd
Expand Down
12 changes: 0 additions & 12 deletions compiler/p/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -909,18 +909,6 @@ OMR::Power::TreeEvaluator::vdcmpanyneEvaluator(TR::Node *node, TR::CodeGenerator
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::Power::TreeEvaluator::vincEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::Power::TreeEvaluator::vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::Power::TreeEvaluator::vcomEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
Expand Down
2 changes: 0 additions & 2 deletions compiler/p/codegen/OMRTreeEvaluator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -195,8 +195,6 @@ class OMR_EXTENSIBLE TreeEvaluator: public OMR::TreeEvaluator
static TR::Register *vdcmpneEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdcmpallneEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdcmpanyneEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vincEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcomEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vremEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vshlEvaluator(TR::Node *node, TR::CodeGenerator *cg);
Expand Down
12 changes: 0 additions & 12 deletions compiler/riscv/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1587,18 +1587,6 @@ OMR::RV::TreeEvaluator::vdsqrtEvaluator(TR::Node *node, TR::CodeGenerator *cg)
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::RV::TreeEvaluator::vincEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::RV::TreeEvaluator::vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::RV::TreeEvaluator::vnegEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
Expand Down
2 changes: 0 additions & 2 deletions compiler/riscv/codegen/OMRTreeEvaluator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -359,8 +359,6 @@ class OMR_EXTENSIBLE TreeEvaluator: public OMR::TreeEvaluator
static TR::Register *vdcmpanyltEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdcmpanyleEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdsqrtEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vincEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vnegEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcomEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vaddEvaluator(TR::Node *node, TR::CodeGenerator *cg);
Expand Down
13 changes: 0 additions & 13 deletions compiler/x/amd64/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1799,18 +1799,6 @@ OMR::X86::AMD64::TreeEvaluator::vdsqrtEvaluator(TR::Node *node, TR::CodeGenerato
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::X86::AMD64::TreeEvaluator::vincEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::X86::AMD64::TreeEvaluator::vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::X86::AMD64::TreeEvaluator::vnegEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
Expand Down Expand Up @@ -3180,4 +3168,3 @@ OMR::X86::AMD64::TreeEvaluator::dwrtbariEvaluator(TR::Node *node, TR::CodeGenera
// Delegate the evaluation of the remaining children and the store operation to the storeEvaluator.
return TR::TreeEvaluator::floatingPointStoreEvaluator(node, cg);
}

2 changes: 0 additions & 2 deletions compiler/x/amd64/codegen/OMRTreeEvaluator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -343,8 +343,6 @@ class OMR_EXTENSIBLE TreeEvaluator: public OMR::X86::TreeEvaluator
static TR::Register *vdcmpanyltEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdcmpanyleEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdsqrtEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vincEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vnegEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcomEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vaddEvaluator(TR::Node *node, TR::CodeGenerator *cg);
Expand Down
13 changes: 0 additions & 13 deletions compiler/x/i386/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1897,18 +1897,6 @@ OMR::X86::I386::TreeEvaluator::vdsqrtEvaluator(TR::Node *node, TR::CodeGenerator
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::X86::I386::TreeEvaluator::vincEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::X86::I386::TreeEvaluator::vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

TR::Register*
OMR::X86::I386::TreeEvaluator::vnegEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
Expand Down Expand Up @@ -6377,4 +6365,3 @@ OMR::X86::I386::TreeEvaluator::dwrtbariEvaluator(TR::Node *node, TR::CodeGenerat
// Delegate the evaluation of the remaining children and the store operation to the storeEvaluator.
return TR::TreeEvaluator::dstoreEvaluator(node, cg);
}

2 changes: 0 additions & 2 deletions compiler/x/i386/codegen/OMRTreeEvaluator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -324,8 +324,6 @@ class OMR_EXTENSIBLE TreeEvaluator: public OMR::X86::TreeEvaluator
static TR::Register *vdcmpanyltEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdcmpanyleEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdsqrtEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vincEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vnegEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcomEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vaddEvaluator(TR::Node *node, TR::CodeGenerator *cg);
Expand Down
32 changes: 0 additions & 32 deletions compiler/z/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16428,38 +16428,6 @@ int32_t getVectorElementSizeMask(int8_t size)
}
}

TR::Register *
OMR::Z::TreeEvaluator::vincEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
TR::Register *vecSrcReg = cg->evaluate(node->getChild(0));
TR::Register *vecSrc2Reg = cg->allocateRegister(TR_VRF);
TR::Register *vecTrgReg = cg->allocateRegister(TR_VRF);
TR::Node *secondChild = node->getChild(1);
generateReplicateNodeInVectorReg(node, cg, vecSrc2Reg, secondChild, getVectorElementSize(node));
generateVRRcInstruction(cg, TR::InstOpCode::VA, node, vecTrgReg, vecSrcReg, vecSrc2Reg, getVectorElementSizeMask(node));
node->setRegister(vecTrgReg);
cg->stopUsingRegister(vecSrc2Reg);
cg->decReferenceCount(node->getChild(0));
cg->decReferenceCount(node->getChild(1));
return node->getRegister();
}

TR::Register *
OMR::Z::TreeEvaluator::vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
TR::Register *vecSrcReg = cg->evaluate(node->getChild(0));
TR::Register *vecSrc2Reg = cg->allocateRegister(TR_VRF);
TR::Register *vecTrgReg = cg->allocateRegister(TR_VRF);
TR::Node *secondChild = node->getChild(1);
generateReplicateNodeInVectorReg(node, cg, vecSrc2Reg, secondChild, getVectorElementSize(node));
generateVRRcInstruction(cg, TR::InstOpCode::VS, node, vecTrgReg, vecSrcReg, vecSrc2Reg, getVectorElementSizeMask(node));
node->setRegister(vecTrgReg);
cg->stopUsingRegister(vecSrc2Reg);
cg->decReferenceCount(node->getChild(0));
cg->decReferenceCount(node->getChild(1));
return node->getRegister();
}

TR::Register *
OMR::Z::TreeEvaluator::vnegEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
Expand Down
2 changes: 0 additions & 2 deletions compiler/z/codegen/OMRTreeEvaluator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -738,8 +738,6 @@ class OMR_EXTENSIBLE TreeEvaluator: public OMR::TreeEvaluator
static TR::Register *vRegStoreEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vstoreEvaluator(TR::Node *node, TR::CodeGenerator *cg);

static TR::Register *vincEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vdecEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vnegEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vl2vdEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcomEvaluator(TR::Node *node, TR::CodeGenerator *cg);
Expand Down

0 comments on commit adf0f11

Please sign in to comment.