summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorameerj <52414509+ameerj@users.noreply.github.com>2021-05-09 00:59:05 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:30 +0200
commit68cc445b8ef7c7057087e2b6c7015d888a80bac2 (patch)
tree054e30098d4ef6f8f0fd2ae74a464a5849768d7e
parentglasm: Implement BFI, BFE (diff)
downloadyuzu-68cc445b8ef7c7057087e2b6c7015d888a80bac2.tar
yuzu-68cc445b8ef7c7057087e2b6c7015d888a80bac2.tar.gz
yuzu-68cc445b8ef7c7057087e2b6c7015d888a80bac2.tar.bz2
yuzu-68cc445b8ef7c7057087e2b6c7015d888a80bac2.tar.lz
yuzu-68cc445b8ef7c7057087e2b6c7015d888a80bac2.tar.xz
yuzu-68cc445b8ef7c7057087e2b6c7015d888a80bac2.tar.zst
yuzu-68cc445b8ef7c7057087e2b6c7015d888a80bac2.zip
-rw-r--r--src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp8
-rw-r--r--src/shader_recompiler/backend/glasm/reg_alloc.cpp2
2 files changed, 5 insertions, 5 deletions
diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp
index d4e519a2a..1289d950f 100644
--- a/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp
+++ b/src/shader_recompiler/backend/glasm/emit_glasm_integer.cpp
@@ -93,7 +93,7 @@ void EmitShiftRightArithmetic64([[maybe_unused]] EmitContext& ctx,
void EmitBitwiseAnd32([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst& inst,
[[maybe_unused]] std::string_view a, [[maybe_unused]] std::string_view b) {
- throw NotImplementedException("GLASM instruction");
+ ctx.Add("AND {},{},{};", inst, a, b);
}
void EmitBitwiseOr32([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst& inst,
@@ -103,7 +103,7 @@ void EmitBitwiseOr32([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Ins
void EmitBitwiseXor32([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst& inst,
[[maybe_unused]] std::string_view a, [[maybe_unused]] std::string_view b) {
- throw NotImplementedException("GLASM instruction");
+ ctx.Add("XOR {},{},{};", inst, a, b);
}
void EmitBitFieldInsert(EmitContext& ctx, IR::Inst& inst, std::string_view base,
@@ -136,7 +136,7 @@ void EmitBitCount32([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst
void EmitBitwiseNot32([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst& inst,
[[maybe_unused]] std::string_view value) {
- throw NotImplementedException("GLASM instruction");
+ ctx.Add("NOT {},{};", inst, value);
}
void EmitFindSMsb32([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst& inst,
@@ -222,7 +222,7 @@ void EmitUGreaterThan([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::In
void EmitINotEqual([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst& inst,
[[maybe_unused]] std::string_view lhs, [[maybe_unused]] std::string_view rhs) {
- throw NotImplementedException("GLASM instruction");
+ ctx.Add("SNE.U {},{},{};", inst, lhs, rhs);
}
void EmitSGreaterThanEqual([[maybe_unused]] EmitContext& ctx, [[maybe_unused]] IR::Inst& inst,
diff --git a/src/shader_recompiler/backend/glasm/reg_alloc.cpp b/src/shader_recompiler/backend/glasm/reg_alloc.cpp
index 010ad0275..e198dd522 100644
--- a/src/shader_recompiler/backend/glasm/reg_alloc.cpp
+++ b/src/shader_recompiler/backend/glasm/reg_alloc.cpp
@@ -33,7 +33,7 @@ std::string ImmValue(const IR::Value& value) {
case IR::Type::F32:
return fmt::format("{}", value.F32());
default:
- throw NotImplementedException("Immediate type", value.Type());
+ throw NotImplementedException("Immediate type {}", value.Type());
}
}
} // Anonymous namespace