shader_decode: Implement FMUL32_IMM

This commit is contained in:
ReinUsesLisp 2018-12-20 23:58:48 -03:00
parent 2edee801ce
commit c9b2a1b051

View file

@ -21,6 +21,16 @@ u32 ShaderIR::DecodeArithmeticImmediate(BasicBlock& bb, u32 pc) {
SetRegister(bb, instr.gpr0, GetImmediate32(instr)); SetRegister(bb, instr.gpr0, GetImmediate32(instr));
break; break;
} }
case OpCode::Id::FMUL32_IMM: {
UNIMPLEMENTED_IF_MSG(instr.op_32.generates_cc,
"Condition codes generation in FMUL32 is not implemented");
Node value =
Operation(OperationCode::FMul, PRECISE, GetRegister(instr.gpr8), GetImmediate32(instr));
value = GetSaturatedFloat(value, instr.fmul32.saturate);
SetRegister(bb, instr.gpr0, value);
break;
}
default: default:
UNIMPLEMENTED_MSG("Unhandled arithmetic immediate instruction: {}", UNIMPLEMENTED_MSG("Unhandled arithmetic immediate instruction: {}",
opcode->get().GetName()); opcode->get().GetName());