diff mbox series

[2/4] target/i386: use gen_writeback() within gen_POP()

Message ID 20240606095319.229650-3-mark.cave-ayland@ilande.co.uk
State New
Headers show
Series target/i386: fixes for OS/2 Warp | expand

Commit Message

Mark Cave-Ayland June 6, 2024, 9:53 a.m. UTC
Instead of directly implementing the writeback using gen_op_st_v(), use the
existing gen_writeback() function.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
---
 target/i386/tcg/emit.c.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Mark Cave-Ayland June 7, 2024, noon UTC | #1
On 06/06/2024 10:53, Mark Cave-Ayland wrote:

> Instead of directly implementing the writeback using gen_op_st_v(), use the
> existing gen_writeback() function.
> 
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> ---
>   target/i386/tcg/emit.c.inc | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/target/i386/tcg/emit.c.inc b/target/i386/tcg/emit.c.inc
> index a89f8e0ebb..2d5dc11548 100644
> --- a/target/i386/tcg/emit.c.inc
> +++ b/target/i386/tcg/emit.c.inc
> @@ -2569,7 +2569,7 @@ static void gen_POP(DisasContext *s, CPUX86State *env, X86DecodedInsn *decode)
>   
>       if (op->has_ea) {
>           /* NOTE: order is important for MMU exceptions */
> -        gen_op_st_v(s, ot, s->T0, s->A0);
> +        gen_writeback(s, decode, 0, s->T0);
>           op->unit = X86_OP_SKIP;
>       }
>       /* NOTE: writing back registers after update is important for pop %sp */

Hi Paolo,

I've just noticed that gen_writeback() also sets op->unit to X86_OP_SKIP at the end, 
so in fact the line below it explicitly setting op->unit can also be removed. Do you 
need me to send a v2 with this change included, or is it possible to touch it up 
before commit?


ATB,

Mark.
diff mbox series

Patch

diff --git a/target/i386/tcg/emit.c.inc b/target/i386/tcg/emit.c.inc
index a89f8e0ebb..2d5dc11548 100644
--- a/target/i386/tcg/emit.c.inc
+++ b/target/i386/tcg/emit.c.inc
@@ -2569,7 +2569,7 @@  static void gen_POP(DisasContext *s, CPUX86State *env, X86DecodedInsn *decode)
 
     if (op->has_ea) {
         /* NOTE: order is important for MMU exceptions */
-        gen_op_st_v(s, ot, s->T0, s->A0);
+        gen_writeback(s, decode, 0, s->T0);
         op->unit = X86_OP_SKIP;
     }
     /* NOTE: writing back registers after update is important for pop %sp */