ir: Add opcode for performing polynomial multiplication

This commit is contained in:
Lioncash 2018-07-26 03:40:09 -04:00 committed by MerryMage
parent dd4ac86f8e
commit affa312d1d
4 changed files with 28 additions and 0 deletions

View file

@ -1194,6 +1194,10 @@ U128 IREmitter::VectorPairedAddUnsignedWiden(size_t original_esize, const U128&
return {};
}
U128 IREmitter::VectorPolynomialMultiply(const U128& a, const U128& b) {
return Inst<U128>(Opcode::VectorPolynomialMultiply8, a, b);
}
U128 IREmitter::VectorPopulationCount(const U128& a) {
return Inst<U128>(Opcode::VectorPopulationCount, a);
}

View file

@ -238,6 +238,7 @@ public:
U128 VectorPairedAddLower(size_t esize, const U128& a, const U128& b);
U128 VectorPairedAddSignedWiden(size_t original_esize, const U128& a);
U128 VectorPairedAddUnsignedWiden(size_t original_esize, const U128& a);
U128 VectorPolynomialMultiply(const U128& a, const U128& b);
U128 VectorPopulationCount(const U128& a);
U128 VectorReverseBits(const U128& a);
U128 VectorRotateLeft(size_t esize, const U128& a, u8 amount);

View file

@ -330,6 +330,7 @@ OPCODE(VectorPairedAdd8, T::U128, T::U128,
OPCODE(VectorPairedAdd16, T::U128, T::U128, T::U128 )
OPCODE(VectorPairedAdd32, T::U128, T::U128, T::U128 )
OPCODE(VectorPairedAdd64, T::U128, T::U128, T::U128 )
OPCODE(VectorPolynomialMultiply8, T::U128, T::U128, T::U128 )
OPCODE(VectorPopulationCount, T::U128, T::U128 )
OPCODE(VectorReverseBits, T::U128, T::U128 )
OPCODE(VectorRoundingHalvingAddS8, T::U128, T::U128, T::U128 )