frontend/ir_emitter: Add half-precision variant of FPNeg

This commit is contained in:
Lioncash
2019-03-23 13:21:55 -04:00
committed by MerryMage
parent f01afc5ae6
commit c97efcb978
4 changed files with 24 additions and 6 deletions

View File

@@ -1880,11 +1880,17 @@ U32U64 IREmitter::FPMulX(const U32U64& a, const U32U64& b) {
}
}
U32U64 IREmitter::FPNeg(const U32U64& a) {
if (a.GetType() == Type::U32) {
U16U32U64 IREmitter::FPNeg(const U16U32U64& a) {
switch (a.GetType()) {
case Type::U16:
return Inst<U16>(Opcode::FPNeg16, a);
case Type::U32:
return Inst<U32>(Opcode::FPNeg32, a);
} else {
case Type::U64:
return Inst<U64>(Opcode::FPNeg64, a);
default:
UNREACHABLE();
return U16U32U64{};
}
}