GPU: Corrected the I2F_R implementation.
This commit is contained in:
		| @@ -849,8 +849,7 @@ private: | ||||
|             ASSERT_MSG(!instr.conversion.saturate_a, "Unimplemented"); | ||||
|  | ||||
|             switch (opcode->GetId()) { | ||||
|             case OpCode::Id::I2I_R: | ||||
|             case OpCode::Id::I2F_R: { | ||||
|             case OpCode::Id::I2I_R: { | ||||
|                 ASSERT_MSG(!instr.conversion.selector, "Unimplemented"); | ||||
|  | ||||
|                 std::string op_a = | ||||
| @@ -863,6 +862,17 @@ private: | ||||
|                 regs.SetRegisterToInteger(instr.gpr0, instr.conversion.is_signed, 0, op_a, 1, 1); | ||||
|                 break; | ||||
|             } | ||||
|             case OpCode::Id::I2F_R: { | ||||
|                 std::string op_a = | ||||
|                     regs.GetRegisterAsInteger(instr.gpr20, 0, instr.conversion.is_signed); | ||||
|  | ||||
|                 if (instr.conversion.abs_a) { | ||||
|                     op_a = "abs(" + op_a + ')'; | ||||
|                 } | ||||
|  | ||||
|                 regs.SetRegisterToFloat(instr.gpr0, 0, op_a, 1, 1); | ||||
|                 break; | ||||
|             } | ||||
|             case OpCode::Id::F2F_R: { | ||||
|                 std::string op_a = regs.GetRegisterAsFloat(instr.gpr20); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Subv
					Subv