A64: Implement CRC32

This commit is contained in:
Lioncash
2018-01-28 01:41:58 -05:00
committed by MerryMage
parent 01b4395bf8
commit af1384d700
6 changed files with 161 additions and 7 deletions

View File

@@ -699,6 +699,22 @@ U32 IREmitter::CRC32Castagnoli64(const U32& a, const U64& b) {
return Inst<U32>(Opcode::CRC32Castagnoli64, a, b);
}
U32 IREmitter::CRC32ISO8(const U32& a, const U32& b) {
return Inst<U32>(Opcode::CRC32ISO8, a, b);
}
U32 IREmitter::CRC32ISO16(const U32& a, const U32& b) {
return Inst<U32>(Opcode::CRC32ISO16, a, b);
}
U32 IREmitter::CRC32ISO32(const U32& a, const U32& b) {
return Inst<U32>(Opcode::CRC32ISO32, a, b);
}
U32 IREmitter::CRC32ISO64(const U32& a, const U64& b) {
return Inst<U32>(Opcode::CRC32ISO64, a, b);
}
UAny IREmitter::VectorGetElement(size_t esize, const U128& a, size_t index) {
ASSERT_MSG(esize * index < 128, "Invalid index");
switch (esize) {