ir: Add opcodes for performing vector unsigned absolute differences

This commit is contained in:
Lioncash 2018-04-01 14:21:14 -04:00 committed by MerryMage
parent 7780af56e3
commit ad5cf584ce
4 changed files with 439 additions and 368 deletions

View file

@ -1160,6 +1160,19 @@ U128 IREmitter::VectorSub(size_t esize, const U128& a, const U128& b) {
return {};
}
U128 IREmitter::VectorUnsignedAbsoluteDifference(size_t esize, const U128& a, const U128& b) {
switch (esize) {
case 8:
return Inst<U128>(Opcode::VectorUnsignedAbsoluteDifference8, a, b);
case 16:
return Inst<U128>(Opcode::VectorUnsignedAbsoluteDifference16, a, b);
case 32:
return Inst<U128>(Opcode::VectorUnsignedAbsoluteDifference32, a, b);
}
UNREACHABLE();
return {};
}
U128 IREmitter::VectorZeroExtend(size_t original_esize, const U128& a) {
switch (original_esize) {
case 8: