From patchwork Fri Aug 21 13:09:11 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 141923 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CEFFC4BA799A for ; Fri, 21 Aug 2026 13:11:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CEFFC4BA799A Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=suse.com header.i=@suse.com header.a=rsa-sha256 header.s=google header.b=HoO1C6fj X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) by sourceware.org (Postfix) with ESMTPS id BCF144BAE7D2 for ; Fri, 21 Aug 2026 13:09:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BCF144BAE7D2 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 BCF144BAE7D2 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::532 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1787317754; cv=none; b=Q0hkgFW87QzA7VVZP7tjxvo9tGQFPCUpn3ubJcq2D+KUnqlZCHRvjAFp1/jP51XmkOBiF6c95vr/UdtlVP5sbSb5/L7jkIx+1+En/Yp85hXumvixhS1QajuZ8OcKnP27Z4zLHqoGqbs7w21BdxGrBjk4rMmAWRK+Btt5wl7acb8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1787317754; c=relaxed/simple; bh=CF/t2eC1jXc7LC+1QDcrRiRxFrLrWWKJHMct2e67+RI=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:From:To; b=NYyxkqzvfHUL9IyepYUrqGsaTTD2MSW+1B/94EWBA8v6lmPB2Iz9zsVTdTQ1u3Ua6nfnxtyfSunBNjoTZAlOp6Ofovq4eGzEi1wjudx1uZfyCI4WsjrSD8lLz5mTraISQ48CCo6jKZo9J8v3dMtZpa/Rhv+Rk59O8WsM8CIpV2E= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=suse.com header.i=@suse.com header.a=rsa-sha256 header.s=google header.b=HoO1C6fj DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BCF144BAE7D2 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-6a3fda88184so1768077a12.3 for ; Fri, 21 Aug 2026 06:09:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1787317753; x=1787922553; darn=sourceware.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=knrKCP1+/zqBTA4MKL+skdJh9sG4GumlJKfBmrGopsg=; b=HoO1C6fjsgNfqw2Eedcy/bf2a8RxUP/f/7x9tEbgm0G5UMTomlo+wdPwwUQymGvjWr Eb9C9quGxIuHWQ6lRJuZ3od4QjAkr/cRQd7AvB/BD2JSRuF7Xy+CTv+gU0FCcni4mMVK GEPDYcFYIw1oC6Gf51IILLHReJIfl6QePczYyTiaFl7Nu1ebPJM5H29mpRfFKTvJnbU7 xO8exNeE6HJV8QSjyyL27uTiTZ7eI9+f//069dnKKpMxU3/yOqU9oMgonra43UjrOnpp /6YoZWZWJVKSC5F6Lo9M0cs+XA64htkQ9GgGd8RAABfNwMWGw6HGs7sZe1XAqd1MhYUx SlSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787317753; x=1787922553; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=knrKCP1+/zqBTA4MKL+skdJh9sG4GumlJKfBmrGopsg=; b=iWXhSho8nGYjuV5o86RN5tadxWvDmJfANJ7EHm1vPOqil0+5Nhwn0iwDmMU4EPxgK0 UWKB3NPghbcK5ptHl9xfNkY1GIFJnqGpPzAvWswu0/I3EQyEHvNHMp/IULcuxd8meVbg kJAWwoqEzibYT5FI8pZ4ELAujIvsJcDHuKEUPXguMUqK/iDrrk4BBoNM7YnxK/XlBUZN e2/I5vU7sJysu3rBCQJO5Nn8X52bjP7UqaCoI5GCnVjWNqpPo2kKhHhR2b2wH+WLjifF ob5rYDBJIsLRiwD+Lw3cezWoM2TaHOFYjpUGkNTXv1kQ6jCzVVBclLxC92tdPwzWILYs i7bw== X-Gm-Message-State: AFuF++nRQg0VHbp12WerWYfCVoPoCvbW23g7G+Xgdtt8l8uVk60To52u KY4l3gWXoIsDKqxRU1/k/EQqe4H2EzH5ZrYbyzD5J8Dj50cUPUWNPDSv02zuSzmou6f0fHMO/YA bnfu5UQ== X-Gm-Gg: AR+sD11+8X+tqWuAUCw3ru2nT/WWs8no0Z17ROASIP6X7PzykHAxY/q0pu2qWmR9+hT LnL/5QMtggLgMo0ImefaFd8TQRGgWmwccUStI25NuDBi4f72Ha3iU72PcnPraL0q/Va6mDWNAEK FeRipzudHxqr4NjRzYk4V6X9oVQsFoLZtk0B2NDorxUUroKWIb4Z+uQsOfxcxOe0BOLIE+1g1o1 M2EyvCHlKyd9WLhDawUE2G+GB+rXksCX9jJziYzjb0lzLrNR4pWyPrniFCWcHrjnJJ9eD7UL7Kf bsMdh8ZJC6I5QfiHitQ79urhcbhi9PWR931EpYR4QCMMSbMkZBFwnCOl69IIrCAoqJagrBC5MKg RMX32LrqdkI7QJvVZyLcWoBdOCn2B9BuCHrFsfP/EXu5kkux2iZQgtvu/JHYWh2wjiDB/yt3j11 iVTRJrhymw5EeTZMe8s1cNsXfv9iQPoGdKlVqhdOGxLmCQe2aaC63MMI66RVkTPX8+a0zoiDs9F PogKNXFUaHDha8cp/kSkU1exlzbJq6SvozZuc4MgNIr5k/2BqKP X-Received: by 2002:a17:907:db03:b0:c12:74af:51f3 with SMTP id a640c23a62f3a-c246a33e291mr622415966b.6.1787317753536; Fri, 21 Aug 2026 06:09:13 -0700 (PDT) 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 a640c23a62f3a-c2458b58a50sm509626266b.26.2026.08.21.06.09.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 21 Aug 2026 06:09:12 -0700 (PDT) Message-ID: <89ff1405-086a-4d3a-a3b1-f7a155b5f9fe@suse.com> Date: Fri, 21 Aug 2026 15:09:11 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 4/4] x86: update comments ahead of build_*_prefix() From: Jan Beulich To: Binutils Cc: "H.J. Lu" References: Content-Language: en-US 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: X-Spam-Status: No, score=-3015.4 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 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org The one that was there ahead of build_apx_evex_prefix() really belongs ahead of build_evex_prefix(), in modernized form. --- Alternatively we could consistently omit these layout details, which only repeat what the manuals say. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -4370,8 +4370,15 @@ install_template (const insn_template *t i.opcode_length = l; } -/* Build the VEX prefix. */ +/* Build the VEX prefix (2- or 3-byte) + | C5h | + | `R3 | `vvvv | L | pp | + + | C4h | + | `R3 | `X3 | `B3 | mmmmm | + | W | `vvvv | L | pp | +*/ static void build_vex_prefix (const insn_template *t) { @@ -4628,8 +4635,12 @@ get_broadcast_bytes (const insn_template return bytes; } -/* Build the EVEX prefix. */ - +/* Build the EVEX prefix (4-byte) for evex insn + | 62h | + | `R3 | `X3 | `B3 | `R4 | B4 | mmm | + | W | `vvvv | U | pp | + | z | L'L | b | `V4 | aaa | +*/ static void build_evex_prefix (void) { @@ -4814,7 +4825,7 @@ build_evex_prefix (void) /* Build (2 bytes) rex2 prefix. | D5h | - | m | R4 X4 B4 | W R X B | + | m | R4 X4 B4 | W R3 X3 B3 | Rex2 reuses i.vex as they both encode i.tm.opcode_space in their prefixes. */ @@ -4829,11 +4840,20 @@ build_rex2_prefix (void) | ((i.rex | i.prefix[REX_PREFIX]) & 0xf)); } -/* Build the EVEX prefix (4-byte) for evex insn +/* Build the EVEX prefix (4-byte) for APX insn. Apart from the basic form + (see build_evex_prefix()) there are two new forms: + + | 62h | + | `R3 | `X3 | `B3 | `R4 | B4 | mmm | + | W | `vvvv | `X4 | pp | + | 00 | L | ND | `V4 | NF | 00 | + + and for NCI: + | 62h | - | `R`X`B`R' | B'mmm | - | W | v`v`v`v | `x' | pp | - | z| L'L | b | `v | aaa | + | `R3 | `X3 | `B3 | `R4 | B4 | mmm | + | W | OSZC | `X4 | pp | + | 0000 | SC3 SC2 SC1 SC0 | */ static bool build_apx_evex_prefix (bool force_nd)