summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-05-24 01:16:09 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:33 +0200
commit0794273870dfc0ae9c217b6869845debfc8a8792 (patch)
tree3e629b59bd4df5a6de27c03484b503d3da6f0ca0
parentemit_glasm_context_get_set: Remove unused variable (diff)
downloadyuzu-0794273870dfc0ae9c217b6869845debfc8a8792.tar
yuzu-0794273870dfc0ae9c217b6869845debfc8a8792.tar.gz
yuzu-0794273870dfc0ae9c217b6869845debfc8a8792.tar.bz2
yuzu-0794273870dfc0ae9c217b6869845debfc8a8792.tar.lz
yuzu-0794273870dfc0ae9c217b6869845debfc8a8792.tar.xz
yuzu-0794273870dfc0ae9c217b6869845debfc8a8792.tar.zst
yuzu-0794273870dfc0ae9c217b6869845debfc8a8792.zip
-rw-r--r--src/shader_recompiler/backend/glasm/emit_glasm_instructions.h4
-rw-r--r--src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp10
2 files changed, 6 insertions, 8 deletions
diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h b/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h
index e205c3d14..4dee9daf9 100644
--- a/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h
+++ b/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h
@@ -299,9 +299,9 @@ void EmitFPIsNan16(EmitContext& ctx, Register value);
void EmitFPIsNan32(EmitContext& ctx, IR::Inst& inst, ScalarF32 value);
void EmitFPIsNan64(EmitContext& ctx, IR::Inst& inst, ScalarF64 value);
void EmitIAdd32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
-void EmitIAdd64(EmitContext& ctx, Register a, Register b);
+void EmitIAdd64(EmitContext& ctx, IR::Inst& inst, Register a, Register b);
void EmitISub32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
-void EmitISub64(EmitContext& ctx, Register a, Register b);
+void EmitISub64(EmitContext& ctx, IR::Inst& inst, Register a, Register b);
void EmitIMul32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
void EmitINeg32(EmitContext& ctx, IR::Inst& inst, ScalarS32 value);
void EmitINeg64(EmitContext& ctx, IR::Inst& inst, Register value);
diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp
index f75fcba47..e5aac14c8 100644
--- a/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp
+++ b/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp
@@ -37,18 +37,16 @@ void EmitIAdd32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) {
}
}
-void EmitIAdd64([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] Register a,
- [[maybe_unused]] Register b) {
- throw NotImplementedException("GLASM instruction");
+void EmitIAdd64(EmitContext& ctx, IR::Inst& inst, Register a, Register b) {
+ ctx.LongAdd("ADD.S64 {}.x,{}.x,{}.x;", inst, a, b);
}
void EmitISub32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) {
ctx.Add("SUB.S {}.x,{},{};", inst, a, b);
}
-void EmitISub64([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] Register a,
- [[maybe_unused]] Register b) {
- throw NotImplementedException("GLASM instruction");
+void EmitISub64(EmitContext& ctx, IR::Inst& inst, Register a, Register b) {
+ ctx.LongAdd("SUB.S64 {}.x,{}.x,{}.x;", inst, a, b);
}
void EmitIMul32(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) {