ir: Add opcode for floating-point GE and GT comparisons

The rest of the comparisons can be implemented in terms of these two
This commit is contained in:
Lioncash
2018-06-03 19:39:21 -04:00
committed by MerryMage
parent d86fea0d28
commit c695da1cf3
4 changed files with 68 additions and 0 deletions

View File

@@ -1514,6 +1514,28 @@ U128 IREmitter::FPVectorEqual(size_t esize, const U128& a, const U128& b) {
return {};
}
U128 IREmitter::FPVectorGreater(size_t esize, const U128& a, const U128& b) {
switch (esize) {
case 32:
return Inst<U128>(Opcode::FPVectorGreater32, a, b);
case 64:
return Inst<U128>(Opcode::FPVectorGreater64, a, b);
}
UNREACHABLE();
return {};
}
U128 IREmitter::FPVectorGreaterEqual(size_t esize, const U128& a, const U128& b) {
switch (esize) {
case 32:
return Inst<U128>(Opcode::FPVectorGreaterEqual32, a, b);
case 64:
return Inst<U128>(Opcode::FPVectorGreaterEqual64, a, b);
}
UNREACHABLE();
return {};
}
U128 IREmitter::FPVectorMul(size_t esize, const U128& a, const U128& b) {
switch (esize) {
case 32: