|
@@ -1130,10 +1130,7 @@ static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is_64)
|
|
tcg_out_ext32u(s, base, addr_regl);
|
|
tcg_out_ext32u(s, base, addr_regl);
|
|
addr_regl = base;
|
|
addr_regl = base;
|
|
}
|
|
}
|
|
-
|
|
|
|
- if (guest_base == 0) {
|
|
|
|
- tcg_out_opc_reg(s, OPC_ADD, base, addr_regl, TCG_REG_ZERO);
|
|
|
|
- } else {
|
|
|
|
|
|
+ if (guest_base != 0) {
|
|
tcg_out_opc_reg(s, OPC_ADD, base, TCG_GUEST_BASE_REG, addr_regl);
|
|
tcg_out_opc_reg(s, OPC_ADD, base, TCG_GUEST_BASE_REG, addr_regl);
|
|
}
|
|
}
|
|
tcg_out_qemu_ld_direct(s, data_regl, data_regh, base, opc, is_64);
|
|
tcg_out_qemu_ld_direct(s, data_regl, data_regh, base, opc, is_64);
|
|
@@ -1199,10 +1196,7 @@ static void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, bool is_64)
|
|
tcg_out_ext32u(s, base, addr_regl);
|
|
tcg_out_ext32u(s, base, addr_regl);
|
|
addr_regl = base;
|
|
addr_regl = base;
|
|
}
|
|
}
|
|
-
|
|
|
|
- if (guest_base == 0) {
|
|
|
|
- tcg_out_opc_reg(s, OPC_ADD, base, addr_regl, TCG_REG_ZERO);
|
|
|
|
- } else {
|
|
|
|
|
|
+ if (guest_base != 0) {
|
|
tcg_out_opc_reg(s, OPC_ADD, base, TCG_GUEST_BASE_REG, addr_regl);
|
|
tcg_out_opc_reg(s, OPC_ADD, base, TCG_GUEST_BASE_REG, addr_regl);
|
|
}
|
|
}
|
|
tcg_out_qemu_st_direct(s, data_regl, data_regh, base, opc);
|
|
tcg_out_qemu_st_direct(s, data_regl, data_regh, base, opc);
|