From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [IPv6:2a00:1450:4864:20::336]) by sourceware.org (Postfix) with ESMTPS id A4D103858000 for ; Fri, 19 Jan 2024 11:25:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A4D103858000 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A4D103858000 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::336 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705663559; cv=none; b=j5iNu62GYmCpNL9HMwJ9tMIKOFrgX5nd3iP+fY1KBErrL1FwHWm3DhxINBbTUpVz2lNuZeCK5S5ZqnkFOu5HeTj+pZ4juPaHBExmRWvub3dW68tN7X4Dc3V/vj5rCPfd8Vq8sJH2bnyJB+2xZk2RsHboWhWTO5jHmG9RtzAm2Eg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705663559; c=relaxed/simple; bh=CdeChrzgjUJK1kCqKXuQAAgaOLuCgGDG53osyFQBQ9g=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:From:To; b=ejNmwRNYAMF8Kf3tS8WIY6c6eE2DKGWSiJsImXg/o5BFHbq1murZnZ2Za2cvb/TYzTq1f4j6Puw7UR2ecXf4Dyi4zJyz8Sry4jB+Zh2Gfcr98H5gYe97wtn3HM9gViHIIJd4lcVDM7QmV5+UDCjT6gapf3tEfJYMcgeg6YVGo2k= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-40e72a567eeso7347305e9.0 for ; Fri, 19 Jan 2024 03:25:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1705663555; x=1706268355; darn=sourceware.org; h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to :from:content-language:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=N6dzsEGBA1ZjfMAxpa6r6K0/ZnC+5MdmsANV+MBCcd0=; b=gMcf+ZQeuOivIzWZbD//T23NlE2tsG4SwspftQ17Dh6cw9GcY7a8Qn1dAObyvaHAhe KSYL9Pub7HwqvWzvRuN9TLcl8bxZ7S1Wx5QQRG5199UCl55d01CvimzsSNDQFdpWWANA fkyVIjGf0yd9H/OmhY8sGB7xUygwo+N1t206IUO32m3n7Wdqwkj/XoJ5pgcFTPPVmmgB doX8VZziORYNDSm5NLJIbqW8hTh/s9ok/mc51wKUCHDn7ve7AjtBl8D0jLJY5icVMCf1 2WG+JkJWyAjj0I8SXpq13RB0IzjMdtLWUtCOfmOsI5X9/9voY1c5ExXbZtoMRU2K41vE v4Uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705663555; x=1706268355; h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to :from:content-language:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=N6dzsEGBA1ZjfMAxpa6r6K0/ZnC+5MdmsANV+MBCcd0=; b=bi9PwCclpwBrWcmf3iT6fPGJAi+8dJhj9FVppJ/Sgpf+MW/GfjXa1WulTn/cZ11ck9 Ic/I4C8rftqJLDzfl4rfBJccIVxO911c4B/bM9/S+9TfUuuJwC+pGM93+U5sxiqb3HDp XxXsiaqPsy0g6MB0pzRLV0VYHPgJ8a+/HWE1hr8B9qoaUkVwKubErtxAb/Ot+IKN87ru pbqzqNmieKbYXObgMMzj/c3S3NXo27myk+pT8Y7SoyHUQXtRnOokspA3H7+gazV+By18 JOt5HYDiAvlwsXLQTXGR51XAI6SyLxqXm6+kMmEsL2OTRno+B8nMs8s7l3Lr19EDg0Oz fObw== X-Gm-Message-State: AOJu0YxqyiJUpRVrkqXofzHqcQlQykn9SuzfBhahZPmU8pN8m7GZwt5b 5XIBTVtJZIxFIRmthm4yMwL9/jAhyTONr/7DegsYmAXsqcMgVTmzF8ECxjKuuk4HsMuzYeS0/Rg = X-Google-Smtp-Source: AGHT+IHhZDTzuOnn2Kdi2LtVnPHr4sYfBbu6hFgjgk43lR1Yo+gS9IJYhcAZJIJ+6egcZ98fZQ9gXg== X-Received: by 2002:a7b:c5c4:0:b0:40e:478a:2220 with SMTP id n4-20020a7bc5c4000000b0040e478a2220mr732387wmk.22.1705663555415; Fri, 19 Jan 2024 03:25:55 -0800 (PST) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id l6-20020a7bc346000000b0040d81ca11casm27999094wmj.28.2024.01.19.03.25.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Jan 2024 03:25:55 -0800 (PST) Message-ID: Date: Fri, 19 Jan 2024 12:25:54 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 2/2] x86/APX: TILE{RELEASE,ZERO} have no EVEX encodings Content-Language: en-US From: Jan Beulich To: Binutils Cc: "H.J. Lu" , Lili Cui References: <86ed7622-73e5-469e-88fd-550dd2e7fca6@suse.com> Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <86ed7622-73e5-469e-88fd-550dd2e7fca6@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3025.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Re-using the entire VEX decode hierarchy for the respective major opcode has led to those two also being decoded as-if valid. Follow the earlier USE_X86_64_EVEX_{PFX,W}_TABLE approach to avoid this happening. --- a/opcodes/i386-dis-evex.h +++ b/opcodes/i386-dis-evex.h @@ -375,9 +375,9 @@ static const struct dis386 evex_table[][ { "vpsllv%DQ", { XM, Vex, EXx }, PREFIX_DATA }, /* 48 */ { Bad_Opcode }, - { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F3849) }, + { X86_64_EVEX_MEM_W_TABLE (VEX_W_0F3849_X86_64_L_0) }, { Bad_Opcode }, - { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F384B) }, + { X86_64_EVEX_MEM_W_TABLE (VEX_W_0F384B_X86_64_L_0) }, { "vrcp14p%XW", { XM, EXx }, PREFIX_DATA }, { "vrcp14s%XW", { XMScalar, VexScalar, EXdq }, PREFIX_DATA }, { "vrsqrt14p%XW", { XM, EXx }, 0 }, --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -823,6 +823,7 @@ enum USE_X86_64_EVEX_FROM_VEX_TABLE, USE_X86_64_EVEX_PFX_TABLE, USE_X86_64_EVEX_W_TABLE, + USE_X86_64_EVEX_MEM_W_TABLE, USE_3BYTE_TABLE, USE_XOP_8F_TABLE, USE_VEX_C4_TABLE, @@ -845,6 +846,7 @@ enum DIS386 (USE_X86_64_EVEX_FROM_VEX_TABLE, (I)) #define X86_64_EVEX_PFX_TABLE(I) DIS386 (USE_X86_64_EVEX_PFX_TABLE, (I)) #define X86_64_EVEX_W_TABLE(I) DIS386 (USE_X86_64_EVEX_W_TABLE, (I)) +#define X86_64_EVEX_MEM_W_TABLE(I) DIS386 (USE_X86_64_EVEX_MEM_W_TABLE, (I)) #define THREE_BYTE_TABLE(I) DIS386 (USE_3BYTE_TABLE, (I)) #define XOP_8F_TABLE() DIS386 (USE_XOP_8F_TABLE, 0) #define VEX_C4_TABLE() DIS386 (USE_VEX_C4_TABLE, 0) @@ -8802,6 +8804,7 @@ get_valid_dis386 (const struct dis386 *d case USE_X86_64_EVEX_FROM_VEX_TABLE: case USE_X86_64_EVEX_PFX_TABLE: case USE_X86_64_EVEX_W_TABLE: + case USE_X86_64_EVEX_MEM_W_TABLE: ins->evex_type = evex_from_vex; /* EVEX from VEX instructions are 64-bit only and require that EVEX.z, EVEX.L'L, EVEX.b, and the lower 2 bits of EVEX.aaa must be 0. */ @@ -8816,6 +8819,12 @@ get_valid_dis386 (const struct dis386 *d goto use_prefix_table; if (dp->op[0].bytemode == USE_X86_64_EVEX_W_TABLE) goto use_vex_w_table; + if (dp->op[0].bytemode == USE_X86_64_EVEX_MEM_W_TABLE) + { + if (ins->modrm.mod == 3) + return &bad_opcode; + goto use_vex_w_table; + } /* Fall through. */ case USE_X86_64_TABLE: