diff options
Diffstat (limited to 'src/shader_recompiler/backend')
| -rw-r--r-- | src/shader_recompiler/backend/glasm/emit_glasm_floating_point.cpp | 14 | ||||
| -rw-r--r-- | src/shader_recompiler/backend/glasm/emit_glasm_instructions.h | 4 |
2 files changed, 8 insertions, 10 deletions
diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_floating_point.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_floating_point.cpp index 1139a22bd..aab506109 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_floating_point.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_floating_point.cpp | |||
| @@ -75,22 +75,20 @@ void EmitFPFma64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b, Sca | |||
| 75 | ctx.LongAdd("MAD.F64 {}.x,{},{},{};", inst, a, b, c); | 75 | ctx.LongAdd("MAD.F64 {}.x,{},{},{};", inst, a, b, c); |
| 76 | } | 76 | } |
| 77 | 77 | ||
| 78 | void EmitFPMax32([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarF32 a, | 78 | void EmitFPMax32(EmitContext& ctx, IR::Inst& inst, ScalarF32 a, ScalarF32 b) { |
| 79 | [[maybe_unused]] ScalarF32 b) { | 79 | ctx.Add("MAX.F {}.x,{},{};", inst, a, b); |
| 80 | throw NotImplementedException("GLASM instruction"); | ||
| 81 | } | 80 | } |
| 82 | 81 | ||
| 83 | void EmitFPMax64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b) { | 82 | void EmitFPMax64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b) { |
| 84 | ctx.LongAdd("MAX.F64 {},{},{};", inst, a, b); | 83 | ctx.LongAdd("MAX.F64 {}.x,{},{};", inst, a, b); |
| 85 | } | 84 | } |
| 86 | 85 | ||
| 87 | void EmitFPMin32([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] ScalarF32 a, | 86 | void EmitFPMin32(EmitContext& ctx, IR::Inst& inst, ScalarF32 a, ScalarF32 b) { |
| 88 | [[maybe_unused]] ScalarF32 b) { | 87 | ctx.Add("MIN.F {}.x,{},{};", inst, a, b); |
| 89 | throw NotImplementedException("GLASM instruction"); | ||
| 90 | } | 88 | } |
| 91 | 89 | ||
| 92 | void EmitFPMin64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b) { | 90 | void EmitFPMin64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b) { |
| 93 | ctx.LongAdd("MIN.F64 {},{},{};", inst, a, b); | 91 | ctx.LongAdd("MIN.F64 {}.x,{},{};", inst, a, b); |
| 94 | } | 92 | } |
| 95 | 93 | ||
| 96 | void EmitFPMul16([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst& inst, | 94 | void EmitFPMul16([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst& inst, |
diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h b/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h index 174eaaafa..5d94f21a6 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h +++ b/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h | |||
| @@ -221,9 +221,9 @@ void EmitFPAdd64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b); | |||
| 221 | void EmitFPFma16(EmitContext& ctx, IR::Inst& inst, Register a, Register b, Register c); | 221 | void EmitFPFma16(EmitContext& ctx, IR::Inst& inst, Register a, Register b, Register c); |
| 222 | void EmitFPFma32(EmitContext& ctx, IR::Inst& inst, ScalarF32 a, ScalarF32 b, ScalarF32 c); | 222 | void EmitFPFma32(EmitContext& ctx, IR::Inst& inst, ScalarF32 a, ScalarF32 b, ScalarF32 c); |
| 223 | void EmitFPFma64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b, ScalarF64 c); | 223 | void EmitFPFma64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b, ScalarF64 c); |
| 224 | void EmitFPMax32(EmitContext& ctx, ScalarF32 a, ScalarF32 b); | 224 | void EmitFPMax32(EmitContext& ctx, IR::Inst& inst, ScalarF32 a, ScalarF32 b); |
| 225 | void EmitFPMax64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b); | 225 | void EmitFPMax64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b); |
| 226 | void EmitFPMin32(EmitContext& ctx, ScalarF32 a, ScalarF32 b); | 226 | void EmitFPMin32(EmitContext& ctx, IR::Inst& inst, ScalarF32 a, ScalarF32 b); |
| 227 | void EmitFPMin64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b); | 227 | void EmitFPMin64(EmitContext& ctx, IR::Inst& inst, ScalarF64 a, ScalarF64 b); |
| 228 | void EmitFPMul16(EmitContext& ctx, IR::Inst& inst, Register a, Register b); | 228 | void EmitFPMul16(EmitContext& ctx, IR::Inst& inst, Register a, Register b); |
| 229 | void EmitFPMul32(EmitContext& ctx, IR::Inst& inst, ScalarF32 a, ScalarF32 b); | 229 | void EmitFPMul32(EmitContext& ctx, IR::Inst& inst, ScalarF32 a, ScalarF32 b); |