summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-05-10 02:17:48 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:31 +0200
commit43a448d98d0d679c343eb81af5cedcd9be2112fa (patch)
tree344e0bc5c694242dabf0d321fda02bc4a154de0d
parentglasm: Remove duplicated Fp64 pack instructions on GLASM (diff)
downloadyuzu-43a448d98d0d679c343eb81af5cedcd9be2112fa.tar
yuzu-43a448d98d0d679c343eb81af5cedcd9be2112fa.tar.gz
yuzu-43a448d98d0d679c343eb81af5cedcd9be2112fa.tar.bz2
yuzu-43a448d98d0d679c343eb81af5cedcd9be2112fa.tar.lz
yuzu-43a448d98d0d679c343eb81af5cedcd9be2112fa.tar.xz
yuzu-43a448d98d0d679c343eb81af5cedcd9be2112fa.tar.zst
yuzu-43a448d98d0d679c343eb81af5cedcd9be2112fa.zip
-rw-r--r--src/shader_recompiler/backend/glasm/emit_glasm_instructions.h8
-rw-r--r--src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp16
2 files changed, 12 insertions, 12 deletions
diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h b/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h
index 26c97ce8e..174eaaafa 100644
--- a/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h
+++ b/src/shader_recompiler/backend/glasm/emit_glasm_instructions.h
@@ -437,10 +437,10 @@ void EmitGlobalAtomicMinF16x2(EmitContext& ctx);
void EmitGlobalAtomicMinF32x2(EmitContext& ctx);
void EmitGlobalAtomicMaxF16x2(EmitContext& ctx);
void EmitGlobalAtomicMaxF32x2(EmitContext& ctx);
-void EmitLogicalOr(EmitContext& ctx, ScalarS32 a, ScalarS32 b);
-void EmitLogicalAnd(EmitContext& ctx, ScalarS32 a, ScalarS32 b);
-void EmitLogicalXor(EmitContext& ctx, ScalarS32 a, ScalarS32 b);
-void EmitLogicalNot(EmitContext& ctx, ScalarS32 value);
+void EmitLogicalOr(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
+void EmitLogicalAnd(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
+void EmitLogicalXor(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b);
+void EmitLogicalNot(EmitContext& ctx, IR::Inst& inst, ScalarS32 value);
void EmitConvertS16F16(EmitContext& ctx, Register value);
void EmitConvertS16F32(EmitContext& ctx, Register value);
void EmitConvertS16F64(EmitContext& ctx, Register value);
diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp
index 3f224062f..29eb75c6a 100644
--- a/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp
+++ b/src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp
@@ -572,20 +572,20 @@ void EmitGlobalAtomicMaxF32x2(EmitContext& ctx) {
NotImplemented();
}
-void EmitLogicalOr(EmitContext& ctx, ScalarS32 a, ScalarS32 b) {
- NotImplemented();
+void EmitLogicalOr(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) {
+ ctx.Add("OR.S {},{},{};", inst, a, b);
}
-void EmitLogicalAnd(EmitContext& ctx, ScalarS32 a, ScalarS32 b) {
- NotImplemented();
+void EmitLogicalAnd(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) {
+ ctx.Add("AND.S {},{},{};", inst, a, b);
}
-void EmitLogicalXor(EmitContext& ctx, ScalarS32 a, ScalarS32 b) {
- NotImplemented();
+void EmitLogicalXor(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) {
+ ctx.Add("XOR.S {},{},{};", inst, a, b);
}
-void EmitLogicalNot(EmitContext& ctx, ScalarS32 value) {
- NotImplemented();
+void EmitLogicalNot(EmitContext& ctx, IR::Inst& inst, ScalarS32 value) {
+ ctx.Add("SEQ.S {},{},0;", inst, value);
}
void EmitConvertS16F16(EmitContext& ctx, Register value) {