Skip to content

Commit

Permalink
Remove vshl/vshr/vushr 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 54db05a commit 788c38c
Show file tree
Hide file tree
Showing 19 changed files with 0 additions and 287 deletions.
18 changes: 0 additions & 18 deletions compiler/aarch64/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1424,24 +1424,6 @@ OMR::ARM64::TreeEvaluator::vdsqrtEvaluator(TR::Node *node, TR::CodeGenerator *cg
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

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

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

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

TR::Register*
OMR::ARM64::TreeEvaluator::vcmpeqEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
Expand Down
3 changes: 0 additions & 3 deletions compiler/aarch64/codegen/OMRTreeEvaluator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,9 +211,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 *vshlEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vushrEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vshrEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpeqEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpneEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpltEvaluator(TR::Node *node, TR::CodeGenerator *cg);
Expand Down
18 changes: 0 additions & 18 deletions compiler/arm/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1783,24 +1783,6 @@ OMR::ARM::TreeEvaluator::vxorEvaluator(TR::Node *node, TR::CodeGenerator *cg)
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

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

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

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

TR::Register*
OMR::ARM::TreeEvaluator::vcmpeqEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
Expand Down
3 changes: 0 additions & 3 deletions compiler/arm/codegen/OMRTreeEvaluator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -347,9 +347,6 @@ class OMR_EXTENSIBLE TreeEvaluator: public OMR::TreeEvaluator
static TR::Register *vandEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vorEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vxorEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vshlEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vushrEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vshrEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpeqEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpneEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpltEvaluator(TR::Node *node, TR::CodeGenerator *cg);
Expand Down
5 changes: 0 additions & 5 deletions compiler/il/OMRILOps.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1336,11 +1336,6 @@ class ILOpCode
case TR::ixor:
case TR::lxor:
return TR::vxor;
case TR::bushr:
case TR::sushr:
case TR::iushr:
case TR::lushr:
return TR::vushr;
case TR::l2d:
return TR::vl2vd;
default:
Expand Down
48 changes: 0 additions & 48 deletions compiler/il/OMROpcodes.enum
Original file line number Diff line number Diff line change
Expand Up @@ -7123,54 +7123,6 @@ OPCODE_MACRO(\
/* .ifCompareOpCode = */ TR::BadILOp, \
/* .description = vector exclusive OR integer */ \
)
OPCODE_MACRO(\
/* .opcode = */ vshl, \
/* .name = */ "vshl", \
/* .properties1 = */ ILProp1::LeftShift, \
/* .properties2 = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE, \
/* .properties3 = */ 0, \
/* .properties4 = */ 0, \
/* .dataType = */ TR::NoType, \
/* .typeProperties = */ ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType, \
/* .childProperties = */ TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType), \
/* .swapChildrenOpCode = */ TR::BadILOp, \
/* .reverseBranchOpCode = */ TR::BadILOp, \
/* .booleanCompareOpCode = */ TR::BadILOp, \
/* .ifCompareOpCode = */ TR::BadILOp, \
/* .description = vector shift left */ \
)
OPCODE_MACRO(\
/* .opcode = */ vushr, \
/* .name = */ "vushr", \
/* .properties1 = */ ILProp1::RightShift, \
/* .properties2 = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE, \
/* .properties3 = */ 0, \
/* .properties4 = */ 0, \
/* .dataType = */ TR::NoType, \
/* .typeProperties = */ ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType, \
/* .childProperties = */ TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType), \
/* .swapChildrenOpCode = */ TR::BadILOp, \
/* .reverseBranchOpCode = */ TR::BadILOp, \
/* .booleanCompareOpCode = */ TR::BadILOp, \
/* .ifCompareOpCode = */ TR::BadILOp, \
/* .description = vector shift right logical */ \
)
OPCODE_MACRO(\
/* .opcode = */ vshr, \
/* .name = */ "vshr", \
/* .properties1 = */ ILProp1::RightShift, \
/* .properties2 = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE, \
/* .properties3 = */ 0, \
/* .properties4 = */ 0, \
/* .dataType = */ TR::NoType, \
/* .typeProperties = */ ILTypeProp::Size_16 | ILTypeProp::Vector | ILTypeProp::HasNoDataType, \
/* .childProperties = */ TWO_SAME_CHILD(ILChildProp::UnspecifiedChildType), \
/* .swapChildrenOpCode = */ TR::BadILOp, \
/* .reverseBranchOpCode = */ TR::BadILOp, \
/* .booleanCompareOpCode = */ TR::BadILOp, \
/* .ifCompareOpCode = */ TR::BadILOp, \
/* .description = vector shift right arithmetic */ \
)
OPCODE_MACRO(\
/* .opcode = */ vcmpeq, \
/* .name = */ "vcmpeq", \
Expand Down
3 changes: 0 additions & 3 deletions compiler/optimizer/OMRSimplifierTable.enum
Original file line number Diff line number Diff line change
Expand Up @@ -467,9 +467,6 @@
#define vandSimplifierHandler dftSimplifier
#define vorSimplifierHandler dftSimplifier
#define vxorSimplifierHandler dftSimplifier
#define vshlSimplifierHandler dftSimplifier
#define vushrSimplifierHandler dftSimplifier
#define vshrSimplifierHandler dftSimplifier
#define vcmpeqSimplifierHandler dftSimplifier
#define vcmpneSimplifierHandler dftSimplifier
#define vcmpltSimplifierHandler dftSimplifier
Expand Down
3 changes: 0 additions & 3 deletions compiler/optimizer/ValuePropagationTable.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -609,9 +609,6 @@ TR::Node * constrainLongBitCount(OMR::ValuePropagation *vp, TR::Node *node);
#define vandVPHandler constrainChildren
#define vorVPHandler constrainChildren
#define vxorVPHandler constrainChildren
#define vshlVPHandler constrainChildren
#define vushrVPHandler constrainChildren
#define vshrVPHandler constrainChildren
#define vcmpeqVPHandler constrainCmp
#define vcmpneVPHandler constrainCmp
#define vcmpltVPHandler constrainCmp
Expand Down
18 changes: 0 additions & 18 deletions compiler/p/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -903,24 +903,6 @@ OMR::Power::TreeEvaluator::vdcmpanyneEvaluator(TR::Node *node, TR::CodeGenerator
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

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

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

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

TR::Register*
OMR::Power::TreeEvaluator::vcmpeqEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
Expand Down
3 changes: 0 additions & 3 deletions compiler/p/codegen/OMRTreeEvaluator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -194,9 +194,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 *vshlEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vushrEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vshrEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpeqEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpneEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpltEvaluator(TR::Node *node, TR::CodeGenerator *cg);
Expand Down
18 changes: 0 additions & 18 deletions compiler/riscv/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1623,24 +1623,6 @@ OMR::RV::TreeEvaluator::vxorEvaluator(TR::Node *node, TR::CodeGenerator *cg)
return TR::TreeEvaluator::unImpOpEvaluator(node, cg);
}

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

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

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

TR::Register*
OMR::RV::TreeEvaluator::vcmpeqEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
Expand Down
3 changes: 0 additions & 3 deletions compiler/riscv/codegen/OMRTreeEvaluator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -365,9 +365,6 @@ class OMR_EXTENSIBLE TreeEvaluator: public OMR::TreeEvaluator
static TR::Register *vandEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vorEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vxorEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vshlEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vushrEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vshrEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpeqEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpneEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpltEvaluator(TR::Node *node, TR::CodeGenerator *cg);
Expand Down
18 changes: 0 additions & 18 deletions compiler/x/amd64/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1835,24 +1835,6 @@ OMR::X86::AMD64::TreeEvaluator::vxorEvaluator(TR::Node *node, TR::CodeGenerator
return TR::TreeEvaluator::FloatingPointAndVectorBinaryArithmeticEvaluator(node, cg);
}

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

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

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

TR::Register*
OMR::X86::AMD64::TreeEvaluator::vcmpeqEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
Expand Down
3 changes: 0 additions & 3 deletions compiler/x/amd64/codegen/OMRTreeEvaluator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -349,9 +349,6 @@ class OMR_EXTENSIBLE TreeEvaluator: public OMR::X86::TreeEvaluator
static TR::Register *vandEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vorEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vxorEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vshlEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vushrEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vshrEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpeqEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpneEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpltEvaluator(TR::Node *node, TR::CodeGenerator *cg);
Expand Down
18 changes: 0 additions & 18 deletions compiler/x/i386/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1933,24 +1933,6 @@ OMR::X86::I386::TreeEvaluator::vxorEvaluator(TR::Node *node, TR::CodeGenerator *
return TR::TreeEvaluator::FloatingPointAndVectorBinaryArithmeticEvaluator(node, cg);
}

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

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

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

TR::Register*
OMR::X86::I386::TreeEvaluator::vcmpeqEvaluator(TR::Node *node, TR::CodeGenerator *cg)
{
Expand Down
3 changes: 0 additions & 3 deletions compiler/x/i386/codegen/OMRTreeEvaluator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -330,9 +330,6 @@ class OMR_EXTENSIBLE TreeEvaluator: public OMR::X86::TreeEvaluator
static TR::Register *vandEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vorEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vxorEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vshlEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vushrEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vshrEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpeqEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpneEvaluator(TR::Node *node, TR::CodeGenerator *cg);
static TR::Register *vcmpltEvaluator(TR::Node *node, TR::CodeGenerator *cg);
Expand Down
5 changes: 0 additions & 5 deletions compiler/z/codegen/OMRCodeGenerator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4766,11 +4766,6 @@ bool OMR::Z::CodeGenerator::getSupportsOpCodeForAutoSIMD(TR::ILOpCode opcode, TR
return true;
else
return false;
case TR::vushr:
if (dt == TR::Int32 || dt == TR::Int64)
return true;
else
return false;
case TR::vl2vd:
return true;
default:
Expand Down
Loading

0 comments on commit 788c38c

Please sign in to comment.