diff options
| author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2018-12-21 02:05:59 -0300 |
|---|---|---|
| committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-01-15 17:54:51 -0300 |
| commit | df7101ea7312cb9bb58fe25726cfd9b9c6b2b069 (patch) | |
| tree | ec19947ac3ec3589f9312fac2a8a73cf3da3cb9c /src/video_core/shader/decode/shift.cpp | |
| parent | 87086ae3d6228179b4ab9e21ebdba755e1caaf52 (diff) | |
shader_decode: Implement SHL
Diffstat (limited to 'src/video_core/shader/decode/shift.cpp')
| -rw-r--r-- | src/video_core/shader/decode/shift.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/shader/decode/shift.cpp b/src/video_core/shader/decode/shift.cpp index 76938fa05f..3ba039d21a 100644 --- a/src/video_core/shader/decode/shift.cpp +++ b/src/video_core/shader/decode/shift.cpp @@ -39,6 +39,14 @@ u32 ShaderIR::DecodeShift(BasicBlock& bb, u32 pc) { SetRegister(bb, instr.gpr0, value); break; } + case OpCode::Id::SHL_C: + case OpCode::Id::SHL_R: + case OpCode::Id::SHL_IMM: + UNIMPLEMENTED_IF_MSG(instr.generates_cc, + "Condition codes generation in SHL is not implemented"); + SetRegister(bb, instr.gpr0, + Operation(OperationCode::ILogicalShiftLeft, PRECISE, op_a, op_b)); + break; default: UNIMPLEMENTED_MSG("Unhandled shift instruction: {}", opcode->get().GetName()); } |
