diff options
author | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-12-05 16:58:18 -0500 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-12-05 18:11:19 -0500 |
commit | 1e1f7b32341f6538fce07d0df415a4d494a2b209 (patch) | |
tree | 4c19b5ce70e2bf75527b08966e6b2ebc8aa0b48c /src/shader_recompiler/backend/glasm/emit_glasm_logical.cpp | |
parent | f32b2bcd200097659d7c6e0dfdef1e96e3f2f69e (diff) |
glasm: Move implemented instructions from not_implemented.cpp
Diffstat (limited to 'src/shader_recompiler/backend/glasm/emit_glasm_logical.cpp')
-rw-r--r-- | src/shader_recompiler/backend/glasm/emit_glasm_logical.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_logical.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_logical.cpp index e69de29bb2..eed7bfec25 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_logical.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_logical.cpp @@ -0,0 +1,26 @@ +// Copyright 2021 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "shader_recompiler/backend/glasm/emit_glasm_instructions.h" +#include "shader_recompiler/backend/glasm/glasm_emit_context.h" + +namespace Shader::Backend::GLASM { + +void EmitLogicalOr(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { + ctx.Add("OR.S {},{},{};", inst, a, b); +} + +void EmitLogicalAnd(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { + ctx.Add("AND.S {},{},{};", inst, a, b); +} + +void EmitLogicalXor(EmitContext& ctx, IR::Inst& inst, ScalarS32 a, ScalarS32 b) { + ctx.Add("XOR.S {},{},{};", inst, a, b); +} + +void EmitLogicalNot(EmitContext& ctx, IR::Inst& inst, ScalarS32 value) { + ctx.Add("SEQ.S {},{},0;", inst, value); +} + +} // namespace Shader::Backend::GLASM |