mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-02-27 16:52:58 +00:00
frontend/ir/ir_emitter: Amend FPRecipExponent to handle half-precision floating point
This commit is contained in:
@@ -1895,11 +1895,18 @@ U32U64 IREmitter::FPRecipEstimate(const U32U64& a) {
|
||||
return Inst<U64>(Opcode::FPRecipEstimate64, a);
|
||||
}
|
||||
|
||||
U32U64 IREmitter::FPRecipExponent(const U32U64& a) {
|
||||
if (a.GetType() == Type::U32) {
|
||||
U16U32U64 IREmitter::FPRecipExponent(const U16U32U64& a) {
|
||||
switch (a.GetType()) {
|
||||
case Type::U16:
|
||||
return Inst<U16>(Opcode::FPRecipExponent16, a);
|
||||
case Type::U32:
|
||||
return Inst<U32>(Opcode::FPRecipExponent32, a);
|
||||
case Type::U64:
|
||||
return Inst<U64>(Opcode::FPRecipExponent64, a);
|
||||
default:
|
||||
UNREACHABLE();
|
||||
return U16U32U64{};
|
||||
}
|
||||
return Inst<U64>(Opcode::FPRecipExponent64, a);
|
||||
}
|
||||
|
||||
U32U64 IREmitter::FPRecipStepFused(const U32U64& a, const U32U64& b) {
|
||||
|
||||
Reference in New Issue
Block a user