|
|
@ -75,22 +75,20 @@ void EmitFPFma64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b, Sca
|
|
|
|
ctx.LongAdd("MAD.F64 {}.x,{},{},{};", inst, a, b, c);
|
|
|
|
ctx.LongAdd("MAD.F64 {}.x,{},{},{};", inst, a, b, c);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void EmitFPMax32([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarF32 a,
|
|
|
|
void EmitFPMax32(EmitContext& ctx, IR::Inst& inst, ScalarF32 a, ScalarF32 b) {
|
|
|
|
[[maybe_unused]] ScalarF32 b) {
|
|
|
|
ctx.Add("MAX.F {}.x,{},{};", inst, a, b);
|
|
|
|
throw NotImplementedException("GLASM instruction");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void EmitFPMax64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b) {
|
|
|
|
void EmitFPMax64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b) {
|
|
|
|
ctx.LongAdd("MAX.F64 {},{},{};", inst, a, b);
|
|
|
|
ctx.LongAdd("MAX.F64 {}.x,{},{};", inst, a, b);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void EmitFPMin32([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarF32 a,
|
|
|
|
void EmitFPMin32(EmitContext& ctx, IR::Inst& inst, ScalarF32 a, ScalarF32 b) {
|
|
|
|
[[maybe_unused]] ScalarF32 b) {
|
|
|
|
ctx.Add("MIN.F {}.x,{},{};", inst, a, b);
|
|
|
|
throw NotImplementedException("GLASM instruction");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void EmitFPMin64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b) {
|
|
|
|
void EmitFPMin64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b) {
|
|
|
|
ctx.LongAdd("MIN.F64 {},{},{};", inst, a, b);
|
|
|
|
ctx.LongAdd("MIN.F64 {}.x,{},{};", inst, a, b);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void EmitFPMul16([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst& inst,
|
|
|
|
void EmitFPMul16([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst& inst,
|
|
|
|