Skip to content

Commit

Permalink
Add binary encoder unit tests for vmulld, vmuleuw, vmulouw, vrld, and…
Browse files Browse the repository at this point in the history
… vsld

Signed-off-by: midronij <jackie.midroni@ibm.com>
  • Loading branch information
midronij committed Dec 15, 2021
1 parent 132b76b commit dc75a23
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions fvtest/compilerunittest/p/BinaryEncoder.cpp
Expand Up @@ -2337,6 +2337,15 @@ INSTANTIATE_TEST_CASE_P(VMX, PPCTrg1Src2EncodingTest, ::testing::ValuesIn(*TRTes
std::make_tuple(TR::InstOpCode::vmuloub, TR::RealRegister::vr31, TR::RealRegister::vr0, TR::RealRegister::vr0, 0x13e00008u),
std::make_tuple(TR::InstOpCode::vmuloub, TR::RealRegister::vr0, TR::RealRegister::vr31, TR::RealRegister::vr0, 0x101f0008u),
std::make_tuple(TR::InstOpCode::vmuloub, TR::RealRegister::vr0, TR::RealRegister::vr0, TR::RealRegister::vr31, 0x1000f808u),
std::make_tuple(TR::InstOpCode::vmuleuw, TR::RealRegister::vr31, TR::RealRegister::vr0, TR::RealRegister::vr0, 0x13e00288u),
std::make_tuple(TR::InstOpCode::vmuleuw, TR::RealRegister::vr0, TR::RealRegister::vr31, TR::RealRegister::vr0, 0x101f0288u),
std::make_tuple(TR::InstOpCode::vmuleuw, TR::RealRegister::vr0, TR::RealRegister::vr0, TR::RealRegister::vr31, 0x1000fa88u),
std::make_tuple(TR::InstOpCode::vmulouw, TR::RealRegister::vr31, TR::RealRegister::vr0, TR::RealRegister::vr0, 0x13e00088u),
std::make_tuple(TR::InstOpCode::vmulouw, TR::RealRegister::vr0, TR::RealRegister::vr31, TR::RealRegister::vr0, 0x101f0088u),
std::make_tuple(TR::InstOpCode::vmulouw, TR::RealRegister::vr0, TR::RealRegister::vr0, TR::RealRegister::vr31, 0x1000f888u),
std::make_tuple(TR::InstOpCode::vmulld, TR::RealRegister::vr31, TR::RealRegister::vr0, TR::RealRegister::vr0, 0x13e001c9u),
std::make_tuple(TR::InstOpCode::vmulld, TR::RealRegister::vr0, TR::RealRegister::vr31, TR::RealRegister::vr0, 0x101f01c9u),
std::make_tuple(TR::InstOpCode::vmulld, TR::RealRegister::vr0, TR::RealRegister::vr0, TR::RealRegister::vr31, 0x1000f9c9u),
std::make_tuple(TR::InstOpCode::vnor, TR::RealRegister::vr31, TR::RealRegister::vr0, TR::RealRegister::vr0, 0x13e00504u),
std::make_tuple(TR::InstOpCode::vnor, TR::RealRegister::vr0, TR::RealRegister::vr31, TR::RealRegister::vr0, 0x101f0504u),
std::make_tuple(TR::InstOpCode::vnor, TR::RealRegister::vr0, TR::RealRegister::vr0, TR::RealRegister::vr31, 0x1000fd04u),
Expand All @@ -2352,6 +2361,9 @@ INSTANTIATE_TEST_CASE_P(VMX, PPCTrg1Src2EncodingTest, ::testing::ValuesIn(*TRTes
std::make_tuple(TR::InstOpCode::vrlw, TR::RealRegister::vr31, TR::RealRegister::vr0, TR::RealRegister::vr0, 0x13e00084u),
std::make_tuple(TR::InstOpCode::vrlw, TR::RealRegister::vr0, TR::RealRegister::vr31, TR::RealRegister::vr0, 0x101f0084u),
std::make_tuple(TR::InstOpCode::vrlw, TR::RealRegister::vr0, TR::RealRegister::vr0, TR::RealRegister::vr31, 0x1000f884u),
std::make_tuple(TR::InstOpCode::vrld, TR::RealRegister::vr31, TR::RealRegister::vr0, TR::RealRegister::vr0, 0x13e000C4u),
std::make_tuple(TR::InstOpCode::vrld, TR::RealRegister::vr0, TR::RealRegister::vr31, TR::RealRegister::vr0, 0x101f00C4u),
std::make_tuple(TR::InstOpCode::vrld, TR::RealRegister::vr0, TR::RealRegister::vr0, TR::RealRegister::vr31, 0x1000f8C4u),
std::make_tuple(TR::InstOpCode::vsl, TR::RealRegister::vr31, TR::RealRegister::vr0, TR::RealRegister::vr0, 0x13e001c4u),
std::make_tuple(TR::InstOpCode::vsl, TR::RealRegister::vr0, TR::RealRegister::vr31, TR::RealRegister::vr0, 0x101f01c4u),
std::make_tuple(TR::InstOpCode::vsl, TR::RealRegister::vr0, TR::RealRegister::vr0, TR::RealRegister::vr31, 0x1000f9c4u),
Expand All @@ -2367,6 +2379,9 @@ INSTANTIATE_TEST_CASE_P(VMX, PPCTrg1Src2EncodingTest, ::testing::ValuesIn(*TRTes
std::make_tuple(TR::InstOpCode::vslw, TR::RealRegister::vr31, TR::RealRegister::vr0, TR::RealRegister::vr0, 0x13e00184u),
std::make_tuple(TR::InstOpCode::vslw, TR::RealRegister::vr0, TR::RealRegister::vr31, TR::RealRegister::vr0, 0x101f0184u),
std::make_tuple(TR::InstOpCode::vslw, TR::RealRegister::vr0, TR::RealRegister::vr0, TR::RealRegister::vr31, 0x1000f984u),
std::make_tuple(TR::InstOpCode::vsld, TR::RealRegister::vr31, TR::RealRegister::vr0, TR::RealRegister::vr0, 0x13e005c4u),
std::make_tuple(TR::InstOpCode::vsld, TR::RealRegister::vr0, TR::RealRegister::vr31, TR::RealRegister::vr0, 0x101f05c4u),
std::make_tuple(TR::InstOpCode::vsld, TR::RealRegister::vr0, TR::RealRegister::vr0, TR::RealRegister::vr31, 0x1000fdc4u),
std::make_tuple(TR::InstOpCode::vsr, TR::RealRegister::vr31, TR::RealRegister::vr0, TR::RealRegister::vr0, 0x13e002c4u),
std::make_tuple(TR::InstOpCode::vsr, TR::RealRegister::vr0, TR::RealRegister::vr31, TR::RealRegister::vr0, 0x101f02c4u),
std::make_tuple(TR::InstOpCode::vsr, TR::RealRegister::vr0, TR::RealRegister::vr0, TR::RealRegister::vr31, 0x1000fac4u),
Expand Down Expand Up @@ -2495,19 +2510,24 @@ INSTANTIATE_TEST_CASE_P(VMX, PPCRecordFormSanityTest, ::testing::ValuesIn(*TRTes
std::make_tuple(TR::InstOpCode::vmladduhm,TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vmuleub, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vmuloub, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vmuleuw, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vmulouw, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vmulld, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vnor, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vor, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vperm, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vrlb, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vrlh, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vrlw, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vrld, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vsel, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vsl, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vslb, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vsldoi, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vslh, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vslo, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vslw, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vsld, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vspltb, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vsplth, TR::InstOpCode::bad, BinaryInstruction()),
std::make_tuple(TR::InstOpCode::vspltisb, TR::InstOpCode::bad, BinaryInstruction()),
Expand Down

0 comments on commit dc75a23

Please sign in to comment.