backend\A64\a32_emit_a64.cpp: Fix Coproc* after rebase

This commit is contained in:
SachinVin 2019-07-16 21:00:14 +05:30 committed by xperia64
parent 5bf010cc62
commit fe63ef0486

View File

@ -1048,15 +1048,15 @@ void A32EmitA64::EmitA32CoprocSendOneWord(A32EmitContext& ctx, IR::Inst* inst) {
}
auto action = coproc->CompileSendOneWord(two, opc1, CRn, CRm, opc2);
switch (action.which()) {
switch (action.index()) {
case 0:
EmitCoprocessorException();
return;
case 1:
CallCoprocCallback(code, ctx.reg_alloc, jit_interface, boost::get<A32::Coprocessor::Callback>(action), nullptr, args[1]);
CallCoprocCallback(code, ctx.reg_alloc, jit_interface, std::get<A32::Coprocessor::Callback>(action), nullptr, args[1]);
return;
case 2: {
u32* destination_ptr = boost::get<u32*>(action);
u32* destination_ptr = std::get<u32*>(action);
ARM64Reg reg_word = DecodeReg(ctx.reg_alloc.UseGpr(args[1]));
ARM64Reg reg_destination_addr = ctx.reg_alloc.ScratchGpr();
@ -1087,15 +1087,15 @@ void A32EmitA64::EmitA32CoprocSendTwoWords(A32EmitContext& ctx, IR::Inst* inst)
}
auto action = coproc->CompileSendTwoWords(two, opc, CRm);
switch (action.which()) {
switch (action.index()) {
case 0:
EmitCoprocessorException();
return;
case 1:
CallCoprocCallback(code, ctx.reg_alloc, jit_interface, boost::get<A32::Coprocessor::Callback>(action), nullptr, args[1], args[2]);
CallCoprocCallback(code, ctx.reg_alloc, jit_interface, std::get<A32::Coprocessor::Callback>(action), nullptr, args[1], args[2]);
return;
case 2: {
auto destination_ptrs = boost::get<std::array<u32*, 2>>(action);
auto destination_ptrs = std::get<std::array<u32*, 2>>(action);
ARM64Reg reg_word1 = DecodeReg(ctx.reg_alloc.UseGpr(args[1]));
ARM64Reg reg_word2 = DecodeReg(ctx.reg_alloc.UseGpr(args[2]));
@ -1130,15 +1130,15 @@ void A32EmitA64::EmitA32CoprocGetOneWord(A32EmitContext& ctx, IR::Inst* inst) {
}
auto action = coproc->CompileGetOneWord(two, opc1, CRn, CRm, opc2);
switch (action.which()) {
switch (action.index()) {
case 0:
EmitCoprocessorException();
return;
case 1:
CallCoprocCallback(code, ctx.reg_alloc, jit_interface, boost::get<A32::Coprocessor::Callback>(action), inst);
CallCoprocCallback(code, ctx.reg_alloc, jit_interface, std::get<A32::Coprocessor::Callback>(action), inst);
return;
case 2: {
u32* source_ptr = boost::get<u32*>(action);
u32* source_ptr = std::get<u32*>(action);
ARM64Reg reg_word = DecodeReg(ctx.reg_alloc.ScratchGpr());
ARM64Reg reg_source_addr = ctx.reg_alloc.ScratchGpr();
@ -1170,15 +1170,15 @@ void A32EmitA64::EmitA32CoprocGetTwoWords(A32EmitContext& ctx, IR::Inst* inst) {
}
auto action = coproc->CompileGetTwoWords(two, opc, CRm);
switch (action.which()) {
switch (action.index()) {
case 0:
EmitCoprocessorException();
return;
case 1:
CallCoprocCallback(code, ctx.reg_alloc, jit_interface, boost::get<A32::Coprocessor::Callback>(action), inst);
CallCoprocCallback(code, ctx.reg_alloc, jit_interface, std::get<A32::Coprocessor::Callback>(action), inst);
return;
case 2: {
auto source_ptrs = boost::get<std::array<u32*, 2>>(action);
auto source_ptrs = std::get<std::array<u32*, 2>>(action);
ARM64Reg reg_result = ctx.reg_alloc.ScratchGpr();
ARM64Reg reg_destination_addr = ctx.reg_alloc.ScratchGpr();