From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com [IPv6:2607:f8b0:4864:20::102d]) by sourceware.org (Postfix) with ESMTPS id 6A5363858297 for ; Fri, 29 Jul 2022 14:29:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6A5363858297 Received: by mail-pj1-x102d.google.com with SMTP id e8-20020a17090a280800b001f2fef7886eso5418761pjd.3 for ; Fri, 29 Jul 2022 07:29:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9QEx/MzjESz1dSI0YAjdlOOFWvcnBnU9MocUiK2ahAU=; b=B1tnpPRvLF1nbLxJkcJ2A7oURm4msalHLZzTQf+X9xuouRuimqjSVAS3cL4FxtPlP/ V/NNRrY3vBp67OzPgolii6fwnjHIwlP8X4XDzxfMWRM0hNdgSK76EW3guq8ZiLsMH+0a kmufh4TVENAYcLk2HaZ2R0QMcDQzq1IUbqXOQJuOvTzmoo41FsTusXbmVkNy1+t63W5o 7QABhsvX+fjKsHuzpR150ih8sxEFFNKvgWnEmwhtHg4d7j8DncyTyKkK11ZTH/q+Uz+t ERIf4GsXpoSTdYlw9ML6IxBejDs4bJGC5JrFCuW1AFoK3XWj4i0si3z8a8xOZY6QPV6+ MztA== X-Gm-Message-State: ACgBeo0KeqFZZvZMVrkUlHJUiQU6FJ3pOq+mbnvoypTUlUNI/pgdI8lD Srv/f+JgX/uTY44En+Q9hYnXS5vRhomtpQr+cxHHYwk9 X-Google-Smtp-Source: AA6agR4KyTLhDMamfdGL+lWSfIJPBBptYXsX3hwFbGP5Yz1Cr72FbOkVACfdkxEFwqjL65+l7i5qO6IvP9YEIZea9DA= X-Received: by 2002:a17:90a:2e16:b0:1f2:f54c:c6a0 with SMTP id q22-20020a17090a2e1600b001f2f54cc6a0mr5157666pjd.10.1659104974209; Fri, 29 Jul 2022 07:29:34 -0700 (PDT) MIME-Version: 1.0 References: <069ebf9d-53e6-97fe-6785-355da52e3b80@suse.com> In-Reply-To: <069ebf9d-53e6-97fe-6785-355da52e3b80@suse.com> From: "H.J. Lu" Date: Fri, 29 Jul 2022 07:28:58 -0700 Message-ID: Subject: Re: [PATCH v2] x86: SKINIT with operand needs IgnoreSize To: Jan Beulich Cc: Binutils Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3018.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Jul 2022 14:29:37 -0000 On Fri, Jul 29, 2022 at 12:23 AM Jan Beulich wrote: > > Without it in 16-bit mode a pointless operand size prefix would be > emitted. > --- > v2: Clone new testcase. > > --- a/gas/testsuite/gas/i386/i386.exp > +++ b/gas/testsuite/gas/i386/i386.exp > @@ -109,6 +109,7 @@ if [gas_32_check] then { > run_list_test "cr-err" "" > run_dump_test "cdr" > run_dump_test "svme" > + run_dump_test "svme16" > run_dump_test "amdfam10" > run_dump_test "ssse3" > run_dump_test "rep" > --- a/gas/testsuite/gas/i386/svme.s > +++ b/gas/testsuite/gas/i386/svme.s > @@ -1,4 +1,7 @@ > .text > +.ifdef __ia16__ > + .code16 > +.endif > common: > clgi > invlpga > --- /dev/null > +++ b/gas/testsuite/gas/i386/svme16.d > @@ -0,0 +1,41 @@ > +#as: --defsym __ia16__=1 > +#objdump: -dw -Mi8086 > +#name: 16-bit SVME > +#source: svme.s > + > +.*: +file format .* > + > +Disassembly of section .text: > + > +0+000 : > +[ ]*[0-9a-f]+:[ ]+0f 01 dd[ ]+clgi > +[ ]*[0-9a-f]+:[ ]+0f 01 df[ ]+invlpga > +[ ]*[0-9a-f]+:[ ]+0f 01 de[ ]+skinit > +[ ]*[0-9a-f]+:[ ]+0f 01 dc[ ]+stgi > +[ ]*[0-9a-f]+:[ ]+0f 01 da[ ]+vmload > +[ ]*[0-9a-f]+:[ ]+0f 01 d9[ ]+vmmcall > +[ ]*[0-9a-f]+:[ ]+0f 01 d8[ ]+vmrun > +[ ]*[0-9a-f]+:[ ]+0f 01 db[ ]+vmsave > +[0-9a-f]+ : > +[ ]*[0-9a-f]+:[ ]+0f 01 de[ ]+skinit > +[ ]*[0-9a-f]+:[ ]+67 0f 01 df[ ]+addr32 invlpga > +[ ]*[0-9a-f]+:[ ]+67 0f 01 da[ ]+addr32 vmload > +[ ]*[0-9a-f]+:[ ]+67 0f 01 d8[ ]+addr32 vmrun > +[ ]*[0-9a-f]+:[ ]+67 0f 01 db[ ]+addr32 vmsave > +[0-9a-f]+ : > +[ ]*[0-9a-f]+:[ ]+0f 01 df[ ]+invlpga > +[ ]*[0-9a-f]+:[ ]+0f 01 da[ ]+vmload > +[ ]*[0-9a-f]+:[ ]+0f 01 d8[ ]+vmrun > +[ ]*[0-9a-f]+:[ ]+0f 01 db[ ]+vmsave > +[0-9a-f]+ : > +[ ]*[0-9a-f]+:[ ]+0f 01 de[ ]+skinit > +[ ]*[0-9a-f]+:[ ]+67 0f 01 df[ ]+addr32 invlpga > +[ ]*[0-9a-f]+:[ ]+67 0f 01 da[ ]+addr32 vmload > +[ ]*[0-9a-f]+:[ ]+67 0f 01 d8[ ]+addr32 vmrun > +[ ]*[0-9a-f]+:[ ]+67 0f 01 db[ ]+addr32 vmsave > +[0-9a-f]+ : > +[ ]*[0-9a-f]+:[ ]+0f 01 df[ ]+invlpga > +[ ]*[0-9a-f]+:[ ]+0f 01 da[ ]+vmload > +[ ]*[0-9a-f]+:[ ]+0f 01 d8[ ]+vmrun > +[ ]*[0-9a-f]+:[ ]+0f 01 db[ ]+vmsave > +#pass > --- a/opcodes/i386-opc.tbl > +++ b/opcodes/i386-opc.tbl > @@ -2068,7 +2068,7 @@ clgi, 0xf01dd, None, CpuSVME, No_bSuf|No > invlpga, 0xf01df, None, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {} > invlpga, 0xf01df, None, CpuSVME, AddrPrefixOpReg, { Acc|Word|Dword|Qword, RegC|Dword } > skinit, 0xf01de, None, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {} > -skinit, 0xf01de, None, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Acc|Dword } > +skinit, 0xf01de, None, CpuSVME, No_bSuf|IgnoreSize|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Acc|Dword } > stgi, 0xf01dc, None, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {} > vmgexit, 0xf30f01d9, None, CpuSEV_ES, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {} > vmload, 0xf01da, None, CpuSVME, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {} OK. Thanks. -- H.J.