[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 1/3] target/i386: Fix and add some comments next to SSE/AV
|
From: |
Paolo Bonzini |
|
Subject: |
Re: [PATCH v2 1/3] target/i386: Fix and add some comments next to SSE/AVX instructions. |
|
Date: |
Tue, 9 May 2023 16:25:19 +0200 |
On Mon, May 1, 2023 at 1:14 PM Ricky Zhou <ricky@rzhou.org> wrote:
>
> Adds some comments describing what instructions correspond to decoding
> table entries and fixes some existing comments which named the wrong
> instruction.
Queued all three, thanks!
Paolo
> ---
> target/i386/tcg/decode-new.c.inc | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/target/i386/tcg/decode-new.c.inc
> b/target/i386/tcg/decode-new.c.inc
> index 4fdd87750b..1a579451d2 100644
> --- a/target/i386/tcg/decode-new.c.inc
> +++ b/target/i386/tcg/decode-new.c.inc
> @@ -274,9 +274,9 @@ static void decode_0F78(DisasContext *s, CPUX86State
> *env, X86OpEntry *entry, ui
> {
> static const X86OpEntry opcodes_0F78[4] = {
> {},
> - X86_OP_ENTRY3(EXTRQ_i, V,x, None,None, I,w, cpuid(SSE4A)),
> + X86_OP_ENTRY3(EXTRQ_i, V,x, None,None, I,w, cpuid(SSE4A)), /*
> AMD extension */
> {},
> - X86_OP_ENTRY3(INSERTQ_i, V,x, U,x, I,w, cpuid(SSE4A)),
> + X86_OP_ENTRY3(INSERTQ_i, V,x, U,x, I,w, cpuid(SSE4A)), /*
> AMD extension */
> };
> *entry = *decode_by_prefix(s, opcodes_0F78);
> }
> @@ -284,9 +284,9 @@ static void decode_0F78(DisasContext *s, CPUX86State
> *env, X86OpEntry *entry, ui
> static void decode_0F79(DisasContext *s, CPUX86State *env, X86OpEntry
> *entry, uint8_t *b)
> {
> if (s->prefix & PREFIX_REPNZ) {
> - entry->gen = gen_INSERTQ_r;
> + entry->gen = gen_INSERTQ_r; /* AMD extension */
> } else if (s->prefix & PREFIX_DATA) {
> - entry->gen = gen_EXTRQ_r;
> + entry->gen = gen_EXTRQ_r; /* AMD extension */
> } else {
> entry->gen = NULL;
> };
> @@ -660,15 +660,15 @@ static void decode_0F10(DisasContext *s, CPUX86State
> *env, X86OpEntry *entry, ui
> static void decode_0F11(DisasContext *s, CPUX86State *env, X86OpEntry
> *entry, uint8_t *b)
> {
> static const X86OpEntry opcodes_0F11_reg[4] = {
> - X86_OP_ENTRY3(MOVDQ, W,x, None,None, V,x, vex4), /* MOVPS */
> - X86_OP_ENTRY3(MOVDQ, W,x, None,None, V,x, vex4), /* MOVPD */
> + X86_OP_ENTRY3(MOVDQ, W,x, None,None, V,x, vex4), /* MOVUPS */
> + X86_OP_ENTRY3(MOVDQ, W,x, None,None, V,x, vex4), /* MOVUPD */
> X86_OP_ENTRY3(VMOVSS, W,x, H,x, V,x, vex4),
> X86_OP_ENTRY3(VMOVLPx, W,x, H,x, V,q, vex4), /* MOVSD */
> };
>
> static const X86OpEntry opcodes_0F11_mem[4] = {
> - X86_OP_ENTRY3(MOVDQ, W,x, None,None, V,x, vex4), /* MOVPS */
> - X86_OP_ENTRY3(MOVDQ, W,x, None,None, V,x, vex4), /* MOVPD */
> + X86_OP_ENTRY3(MOVDQ, W,x, None,None, V,x, vex4), /* MOVUPS */
> + X86_OP_ENTRY3(MOVDQ, W,x, None,None, V,x, vex4), /* MOVUPD */
> X86_OP_ENTRY3(VMOVSS_st, M,ss, None,None, V,x, vex4),
> X86_OP_ENTRY3(VMOVLPx_st, M,sd, None,None, V,x, vex4), /* MOVSD */
> };
> @@ -839,9 +839,9 @@ static const X86OpEntry opcodes_0F[256] = {
> [0x17] = X86_OP_ENTRY3(VMOVHPx_st, M,q, None,None, V,dq, vex4 p_00_66),
>
> [0x50] = X86_OP_ENTRY3(MOVMSK, G,y, None,None, U,x, vex7 p_00_66),
> - [0x51] = X86_OP_GROUP3(sse_unary, V,x, H,x, W,x, vex2_rep3
> p_00_66_f3_f2),
> - [0x52] = X86_OP_GROUP3(sse_unary, V,x, H,x, W,x, vex4_rep5 p_00_f3),
> - [0x53] = X86_OP_GROUP3(sse_unary, V,x, H,x, W,x, vex4_rep5 p_00_f3),
> + [0x51] = X86_OP_GROUP3(sse_unary, V,x, H,x, W,x, vex2_rep3
> p_00_66_f3_f2), /* sqrtps */
> + [0x52] = X86_OP_GROUP3(sse_unary, V,x, H,x, W,x, vex4_rep5 p_00_f3), /*
> rsqrtps */
> + [0x53] = X86_OP_GROUP3(sse_unary, V,x, H,x, W,x, vex4_rep5 p_00_f3), /*
> rcpps */
> [0x54] = X86_OP_ENTRY3(PAND, V,x, H,x, W,x, vex4 p_00_66), /*
> vand */
> [0x55] = X86_OP_ENTRY3(PANDN, V,x, H,x, W,x, vex4 p_00_66), /*
> vandn */
> [0x56] = X86_OP_ENTRY3(POR, V,x, H,x, W,x, vex4 p_00_66), /* vor
> */
> @@ -879,7 +879,7 @@ static const X86OpEntry opcodes_0F[256] = {
>
> [0x58] = X86_OP_ENTRY3(VADD, V,x, H,x, W,x, vex2_rep3
> p_00_66_f3_f2),
> [0x59] = X86_OP_ENTRY3(VMUL, V,x, H,x, W,x, vex2_rep3
> p_00_66_f3_f2),
> - [0x5a] = X86_OP_GROUP3(sse_unary, V,x, H,x, W,x, vex2_rep3
> p_00_66_f3_f2),
> + [0x5a] = X86_OP_GROUP3(sse_unary, V,x, H,x, W,x, vex2_rep3
> p_00_66_f3_f2), /* CVTPS2PD */
> [0x5b] = X86_OP_GROUP0(0F5B),
> [0x5c] = X86_OP_ENTRY3(VSUB, V,x, H,x, W,x, vex2_rep3
> p_00_66_f3_f2),
> [0x5d] = X86_OP_ENTRY3(VMIN, V,x, H,x, W,x, vex2_rep3
> p_00_66_f3_f2),
> --
> 2.39.2
>