From patchwork Fri Aug 21 13:07:44 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 141920 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 88DCF4BA9030 for ; Fri, 21 Aug 2026 13:08:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 88DCF4BA9030 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=f1zK8C28 X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id 7E2FE4BA2E1E for ; Fri, 21 Aug 2026 13:07:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7E2FE4BA2E1E 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 7E2FE4BA2E1E Authentication-Results: sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::630 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1787317666; cv=none; b=pupQppygK4XZlK+DnzMC5/lIQD0WpFYbzePpO37QUcNzlQeiGbmxDPhVuL2xtPY553p81vKXA+qcr6irvkaj2cWRttniX4YSgfzfrfFNr7XlOYTdcJOG4crrq2fnHA1jrTy5f7VC35L3VrD2lrF/UpF7E8zaM21zfqd/sdg1HY4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1787317666; c=relaxed/simple; bh=GM4SmI7k985HoJwQNHs3n57oOxsuzlDqJPA7llRUSOo=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:From:To; b=FpIQ1nPcpPCUOWWWRbTubFGfwe9GmZ4dPf4WBMpcM+QAiV8nf2+BLvm47ItJYqcvyycltX6uhVuw5rPxPuVZFb/C8hX1kZ8L3kf7Wi46tc+EHfKQQ2fk0iYEOaQ3IOOBX5kKEIEzNy8sGY2jK0H36EuXonBioiC2CqzYP/VAeuU= 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=f1zK8C28 DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7E2FE4BA2E1E Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-c207cb16cf5so160196166b.1 for ; Fri, 21 Aug 2026 06:07:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1787317665; x=1787922465; 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=EzPpHrU3GYHihMzYZj3XbdmRlFvKr6QIrprBYfme/Jw=; b=f1zK8C288ZzPekPqfIcef7+77b7H/IFoSmxvqakQ6EJCqc88fDzO36JlW+o/YDa8u+ mBTfYI+NEwNKy/ukcH2IoC7iIjmr4XTvCDngWW53vAZC3f1pTSOMHgHrAZVtlvNbTHHt foxs4rlYbrNdd2jy9+qDXlcZCsPl5b4Ul2+UOOnKoTYnS7ymJ/KzJ1v23xJl2hiLBkZn 3+RNoJK3ci7a46Vjis8ZJCdFFSQQI0CAlSjKyDhGBD5IYxH5nYVABFdBX8kob10c7ocg Rh7Zklo3c1z7vpCSP8kheSKcSZcp+PCQ2sexpNPA6Ho2caTeFoks7qH8+/5lazSeCxcP SW5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787317665; x=1787922465; 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=EzPpHrU3GYHihMzYZj3XbdmRlFvKr6QIrprBYfme/Jw=; b=L3gojAP0+vJM5LHogzPbGQk/oLdxlsqLbcdRfePFHLbfUrAUUlQYfKaX48EVmTwKCS EGF4/MhLh/hV1mzMZ/gK4ioj+aOGdMlGxYbiwzDZa1bmmz+yTvr1IHnB158JYVL0xSMq 8pywefjtuEcmCWaQBWvR1rH7SGNDkeq4s3Zkm2tg1pvW4fKKFKkFnyHFCNdxOvTFm3q3 svpxr4uW6nVwkkbZOlLiBM1Cho9HthzMLSjQk2H7Vms4JYOgk1EM8dYrjUJD6hMm5bMj W6oKJHtbJnoRL3lgv3s6QYOLpEa4xgQSGCGQnuWZq67OqSlRCg1HY4C4qg2Ta7anaeIx QPRw== X-Gm-Message-State: AFuF++lwK5b0WqpNtWeDryky/o5oeHOV5WOdXNr0+7GjllaPDJviQh/g OUfizSL14Uf1Ccg5l8IZ4jRPwCMyzzsDNvHuVjdy/3gBuafsg+d2As2+3piRxldZRKvUT9izTfh QINRH8Q== X-Gm-Gg: AR+sD12X/8mbXneJyr0lzsVizmwWTl56FfIonatzyU2KYKKxrTELryjyCKuTitKWLnt qP+aqmP0HxfrieTkUqCYtc4xFNzTiULmK6zebbPQqVSj34amDUZ1i6J+9ZWjd6q6CbVBtau4l0X QpjgiaoRtUx0UePopIz1UbmFgp/dyIcgW4Z3aMdA/QdiyphGBuDT/UurGPGSnaWAJ4hucVTBedD 5/RKCYfdA8COWPJKwAlm4xRajeJfF6/uRHOme+tZel49SpQBVUyFIU7CYS0tottCF2bmNUA+Is3 Du9AesUFAL9i+K7igixIKuQPasn4A/WVYlWn1szV/dQsEcakIz/n0pOdUYsdNg/3Rho3aSiByAT pKgDk67hlGMAzzo6k1ospSJvHBXr5vEMZOeWCR4MxykpHp90eqvFaSP9AbHTeBJBTi6Vm+IOQz/ oKPa0xGrvIpf5uD0ybEi92bG6SAJSzXcxZSlH+nTvOR/ZuFpJHrh6ukcaT4U2IM04TU2CTCAme9 uvqe0zM1xlrY3e2rzwxtXCpFqptt3mn7h/5fx0+nSHVV205p0wdcaOw/A== X-Received: by 2002:a17:907:e1c6:20b0:c20:d90b:2ccf with SMTP id a640c23a62f3a-c246a306b53mr475416366b.7.1787317665326; Fri, 21 Aug 2026 06:07:45 -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-c24591dc662sm456537966b.42.2026.08.21.06.07.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 21 Aug 2026 06:07:45 -0700 (PDT) Message-ID: Date: Fri, 21 Aug 2026 15:07:44 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 1/4] x86/APX: handle EVEX.V4 in build_evex_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 There's no need to defer to the more expensive build_apx_evex_prefix(). This way is_apx_evex_encoding() ends up simpler / cheaper as well. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -4547,9 +4547,7 @@ is_any_vex_encoding (const insn_template static INLINE bool is_apx_evex_encoding (void) { - return i.rex2 || i.tm.opcode_space == SPACE_MAP4 || pp.has_nf - || (i.vex.register_specifier - && (i.vex.register_specifier->reg_flags & RegRex2)); + return i.rex2 || i.tm.opcode_space == SPACE_MAP4 || pp.has_nf; } static INLINE bool @@ -4649,7 +4647,7 @@ build_evex_prefix (void) register_specifier += 8; /* The upper 16 registers are encoded in the fourth byte of the EVEX prefix. */ - if (!(i.vex.register_specifier->reg_flags & RegVRex)) + if (!(i.vex.register_specifier->reg_flags & (RegVRex | RegRex2))) i.vex.bytes[3] = 0x8; register_specifier = ~register_specifier & 0xf; } @@ -4879,9 +4877,6 @@ build_apx_evex_prefix (bool force_nd) gas_assert (i.rm.mode != 3); i.vex.bytes[2] &= ~0x04; } - if (i.vex.register_specifier - && i.vex.register_specifier->reg_flags & RegRex2) - i.vex.bytes[3] &= ~0x08; /* Encode the NDD bit of the instruction promoted from the legacy space. ZU shares the same bit with NDD. */ From patchwork Fri Aug 21 13:08:02 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 141921 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 DF4F04BB1C23 for ; Fri, 21 Aug 2026 13:08:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DF4F04BB1C23 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=d6H51tZ7 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 0E1E14BB1C04 for ; Fri, 21 Aug 2026 13:08:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0E1E14BB1C04 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 0E1E14BB1C04 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=1787317685; cv=none; b=Q7aC/cl0D8i2pozoqRG3SGcuiLjch8JMMyLfDCK1/yK6MacKWKhTLO5baBc8m3Gkf+OJjm5VhkVS1v50R4Xa29+Ppm35pJbTK8Z3JH8qLsuPVWkIU3f+qkyOcE0dqnrt5OWsuDcAPny4s6YZlEp9pd0OCEXLa4g82gWJIJa88dE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1787317685; c=relaxed/simple; bh=m+V6hggcBtl4sRGAgajGDIgeEc+EMfFLgkRq0kPrjgw=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:From:To; b=FqbCAScPpluK03fxr5VK7SEeMzPnHDOtCMzhHTE/Ss/73tJNhKDC37I0r0eiuCso3khkLPugLBRvZxod4yZwTtBn9T9EPHpJwU5n0qqHLagL+RPXeyiK0QwTeUMuc3W2DP5bhs9Dz06kORBHs2oymB3wKnhqCm1uRC3y/F2UlYY= 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=d6H51tZ7 DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0E1E14BB1C04 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-69c108fee7fso1843137a12.3 for ; Fri, 21 Aug 2026 06:08:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1787317684; x=1787922484; 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=TdfDXMgeLtcBGgCsFOf09AqVXDIjcTRDYsae0m7EiNM=; b=d6H51tZ7AJp8/HoNOn7mD+bPxupwSdfarIzwAk8ZL4ye+Je8siJKkhlT1cKgiblBoV cIE/eGmDEYMj1is2EPc8eSRSwMhXYa0YuvTTF9tyTg8H4Ww0XGTqYr644m2XyRAAqi8o NBwdGFbzEzeIFZlJl8gNzVccIbLT34gLIIitIm8PYwsPWIBcWEarCvs9yrRsZEnq1dJa 3L3l8KErQU8O7fLTbPkMqOCmHIc141fGmNWdw6JwHdUd7QjkOcNLCr+ur/0xbddF1zQ1 4QTqiTmdxSlyI9E5DpXmQkGhxNQqhjDpWAYkyp91l4oxNckWqCxk7cmC2YJIVRZdOQT2 0uGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787317684; x=1787922484; 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=TdfDXMgeLtcBGgCsFOf09AqVXDIjcTRDYsae0m7EiNM=; b=LNWHlFgFYK0wSHm5xKjfTYKQPL+0og+KBDNIRkU8nZeSyZXRrtRmRk+eWnhgDgTtqG kPnyCp/krZqv9VAYvRGynULKpA8Ox7Zpm8WT1MLcFF8Qa4TIS2GBUbuzIPPYk1ZYkH8Y urY7IyYiqiWgkwZTbZMKVjmustcHSoV6QOmSmr0Ae/PjLaOP8EoE4zPIU1PZkPX+UcO4 Kj45vHdusDYMkc4nDFHEUPoVm7Quf7gJ5FWVdux0q31BY7l94N/nEB08nu5Rcn+/jNbK ikyhzs5H+lLb7qc+bmGiWEpaScgWT5CpsuGAK4Yb05V0S111EPkVvQJovBlw6mQaB1Mm jVng== X-Gm-Message-State: AFuF++mUo7eagktPoBA1V9Rt1DV65HmydDy9sf6LmdO6OiplcvJ54UMM yZpiXMGgycZGBvOL3ZT2e0kPb6TszFFZfc8Q8B+PwL5Qy/fEGyNxa02P6UmQhBPa0onUMysIfkb wdJwKdw== X-Gm-Gg: AR+sD11+eWYtz6JfjMGUgSrxLXa/yGU9GBW/LUZrbei+aRihudPTKKPGRhUwSR+WwqJ UkC+RIshOpM+wahIadYJn7nBZ2lj4/zDO7EMlFcfg2rdLg2QMnB19+S6hAX9zOtw7/VRdvIROGN dTzmx5W+ODsF/xHHbBCz/Hh9vutGB1v4yzjfWMaDNwtqIUYOIEnL0fFv0SVJM2oWF7Rj+21rzqk 8yK5NhNhbI9vQdVzgdnyR79Wv5LJZu8dJA2tlTADbfHFCp8gD2s2m73vpVu31qSfuWaBpUjW7Wq 9flM6fXiNcA/a5gz5Huq9s5LoIeUbmEfHjX7bkWsZ6/LRzbGHvgdL108At7X4an4tx1UF07oWM2 nUHNlf424eDop60H5NDWFVDu6+YwMR6euNl+vv+lJ70kD6+w6dAJL+CcJj30SGW5Fd+cGvdozX9 IyMZX0AvP83B2gfnqFvOUjrNzTTvmy6z4FAvuuOKKIha+eCLHUvi9LBY1q/8LQHm4urciPqONcx hNqbCGWiIdToWzkBpkTLuPi45ySaXhQvnprX87ByrXnRBHqTZgQIo6hJyn52flwPZnN5SMcyzo= X-Received: by 2002:a05:6402:27c6:b0:6a3:691a:9d82 with SMTP id 4fb4d7f45d1cf-6a42f1b9788mr6202902a12.3.1787317683892; Fri, 21 Aug 2026 06:08:03 -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 4fb4d7f45d1cf-6a3ff16c2cbsm6763576a12.22.2026.08.21.06.08.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 21 Aug 2026 06:08:03 -0700 (PDT) Message-ID: <04d125fc-ebb3-400d-b6fb-9c934f8ae469@suse.com> Date: Fri, 21 Aug 2026 15:08:02 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 2/4] x86/APX: handle EVEX.R4 and EVEX.X4 in build_evex_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 There's no need to defer to the more expensive build_apx_evex_prefix(), as there's no need to first set bits just to then clear them again. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -4547,7 +4547,7 @@ is_any_vex_encoding (const insn_template static INLINE bool is_apx_evex_encoding (void) { - return i.rex2 || i.tm.opcode_space == SPACE_MAP4 || pp.has_nf; + return (i.rex2 & REX_B) || i.tm.opcode_space == SPACE_MAP4 || pp.has_nf; } static INLINE bool @@ -4677,10 +4677,9 @@ build_evex_prefix (void) /* The fifth bit of the second EVEX byte is 1's compliment of the REX_R bit in VREX. */ - if (!(i.vrex & REX_R)) + if (!((i.vrex | i.rex2) & REX_R)) i.vex.bytes[1] |= 0x10; - else - vrex_used |= REX_R; + vrex_used |= i.vrex & REX_R; if ((i.reg_operands + i.imm_operands) == i.operands) { @@ -4760,7 +4759,7 @@ build_evex_prefix (void) /* The third byte of the EVEX prefix. */ i.vex.bytes[2] = ((w << 7) | (register_specifier << 3) - | 4 /* Encode the U bit. */ + | (i.rex2 & REX_X ? 0 : 4) /* Encode the U bit. */ | i.tm.opcode_modifier.opcodeprefix); /* The fourth byte of the EVEX prefix. */ @@ -4868,15 +4867,8 @@ build_apx_evex_prefix (bool force_nd) } build_evex_prefix (); - if (i.rex2 & REX_R) - i.vex.bytes[1] &= ~0x10; if (i.rex2 & REX_B) i.vex.bytes[1] |= 0x08; - if (i.rex2 & REX_X) - { - gas_assert (i.rm.mode != 3); - i.vex.bytes[2] &= ~0x04; - } /* Encode the NDD bit of the instruction promoted from the legacy space. ZU shares the same bit with NDD. */ From patchwork Fri Aug 21 13:08:40 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 141922 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 60BA24BB1C29 for ; Fri, 21 Aug 2026 13:09:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 60BA24BB1C29 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=f4JNSgE6 X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id 486744BA2E1E for ; Fri, 21 Aug 2026 13:08:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 486744BA2E1E 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 486744BA2E1E Authentication-Results: sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::630 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1787317727; cv=none; b=S924vKF8zn3Gx8Pv0QDJRONCn3cQr79NPc2JmtWGNbY5M6WwVhGsrKMUsrh7yWo6vkufleGAOlQpJYsmAYOg2oAQ+W/clKi/cCBhyHsARqm5kZyt2DDTj8qXv76kSMUEnrCC+oVsbmwzekrEM1I6yKOPN2SNB2rTB8Et6MdyOII= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1787317727; c=relaxed/simple; bh=64jjD4IsBrF/FhZesrhOsBdvkQwPyOuVhTqgbmxLP3k=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:From:To; b=mrfcU8QzFPaHmHx6ePdqcDA8IGjH2Izw2D3wD38/hLwGDgMJ51kR1uN4mDAcuYp4560JtdhcHB+Ca+rDZg09rp+SESWgHHRyxOj1ZWInupwu1xwTmTxSC5UNx8gEVggQK8P20tq9cuJ9StguzOPvKcTVxPNOp66RlvBbdRew9+A= 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=f4JNSgE6 DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 486744BA2E1E Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-c1712a04ddaso164008666b.2 for ; Fri, 21 Aug 2026 06:08:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1787317721; x=1787922521; 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=RMB8Z15Sl2iC06jninxW5uJs39VDmyGYJH7kf9NBSxc=; b=f4JNSgE6H1OfS08ufH2iGzYte0f8/EIBFRiwYdQ4Ufx0XEFQ4lRIH+tCBcG+3oCzdS 7hdkdoBMXk3Nm6sdlYgop/etVEbZoL0vFHy4JS7NjAjhJF6CYGk8j9hSnm28lapf4/9c ZHRdbRHQhFWEW/MGDhwJ1YC8Hl2siCFtw8zwAkXhlZzUSq2qyOklO5txKNabNVw9kF8h hN3++eQCcv2Pumf92BMgMoALWq6995Y6sHzb5tC5doCcyRjPCAlM6SiT4IK8iHdMafCz qFityPEJWdx5Da5bXezdMJdXm2xTaAcySBcR12kNrqFm4BLRBGxWrIXJAwnQuh9f0Q2z j6lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787317721; x=1787922521; 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=RMB8Z15Sl2iC06jninxW5uJs39VDmyGYJH7kf9NBSxc=; b=duY0mQohMqow9zyCIzTjijP4phHA6Hci7Eszepw4rkpwW+VGVLa4zK+H2sXN3ejyiN SpObXM1N/G7G3MiZcMt1/Bn+Dq/kAK50nOawJrmr5VnTdj/+wjJYQUFkbpQnI158lFgv +cxtMZLeHcH44KrMklDRPVjWuu5nSq0JavcoortCIizuZm10P4UIExRYE70fovhYrmii Bgtd6A7S11nmmIuGKFLRZZH/y8VZNA2MKz3nV4nvSkXlfarJFEONj+8QDgo+J8B6bw7b wsLbfzBANoH08vDlaNMs88MYiuGUvybNuGcTGS3vsBiwrCtGbGFEw4/RKJ92lBFgK98T QeBQ== X-Gm-Message-State: AFuF++nOCP95GbSbARGauB3fIRqPspDjfTSPsh2y4AJNnQfPsFX9WDLn CL5x6DKPsXqwW/uq5TsMUQVzitYfULRVHeFWYuK8GMcvo4qePDBp+vEpEYeE82iby8X1N1nOSID HhThV8A== X-Gm-Gg: AR+sD12YC3BddnP2b+43nhhDAO5huG8RHV0uxiHIMQDmvH+FfuNNsvYMgkmzC9D1ntU vlyWnMPWag+SoFoL+QbL98F2ZxVj06r4oE97GxNw9AcpXjC3TFAUyO9A3/YnsVkSq6hLJ9loVc+ jt5wo3b8hwEIPeMqG8fVv1PuMc/qXvBhnEqLFkOThlmqRbZct1sepnZ6EwoqFUykcq6kbixNf4P KIo6pzF/ECSTqU2KP6zni8ubj8wGXKcy4QdpW5xV74mD0S8mEK9f9JYD4bQJ2hZRywhb72ey+h9 O2WXhMhkdahwq/U/Cd7IbKdhzL2QnmHlonzMxGhGrKzXjpvjVIHFEEjq70XsYzI1VN2VFzqcalM wqpO4OYp1IsY+Gifb2+Q5mSHmUg9WGY/nmnRSo2C5RqhCdKr+X0655Zqs85CHZO30fF8ijT4EYz bcapB3fhcs4pIsgj2rxsKgp8TbJ0zibLi1OmFhquXYtFFrRoG9evbjBNtZDQUjgYvCf+u1H5EBT GkgnogGrX7PVPvHTWuG12uAPlRZqZKIV+KQslFXuiM5OeBvzHVJ X-Received: by 2002:a17:907:7256:b0:c21:49df:1650 with SMTP id a640c23a62f3a-c246a5eededmr581502366b.8.1787317721123; Fri, 21 Aug 2026 06:08:41 -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-c2458b09349sm460974266b.19.2026.08.21.06.08.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 21 Aug 2026 06:08:40 -0700 (PDT) Message-ID: <0d19413d-0efb-4115-bf61-14ba0ee97ed6@suse.com> Date: Fri, 21 Aug 2026 15:08:40 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 3/4] x86/APX: re-arrange ND / NF / SCC handling slightly 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 Extend the checking of incoming ND/aaa to all three cases. Set OSZC in a single operation. Adjust comments. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -4870,28 +4870,38 @@ build_apx_evex_prefix (bool force_nd) if (i.rex2 & REX_B) i.vex.bytes[1] |= 0x08; - /* Encode the NDD bit of the instruction promoted from the legacy - space. ZU shares the same bit with NDD. */ + /* Encode the ND bit of instructions promoted from legacy space. + ZU shares the bit with ND. */ if ((i.vex.register_specifier && i.tm.opcode_space == SPACE_MAP4) || i.tm.opcode_modifier.operandconstraint == ZERO_UPPER || force_nd) - i.vex.bytes[3] |= 0x10; + { + /* Incoming ND and aaa bits should be 0. */ + know (!(i.vex.bytes[3] & 0x17)); + + i.vex.bytes[3] |= 0x10; + } /* Encode SCC and oszc flags bits. */ if (i.tm.opcode_modifier.operandconstraint == SCC) { - /* The default value of vvvv is 1111 and needs to be cleared. */ - i.vex.bytes[2] &= ~0x78; - i.vex.bytes[2] |= (i.oszc_flags << 3); - /* ND and aaa bits shold be 0. */ + /* Incoming ND and aaa bits should (still) be 0. */ know (!(i.vex.bytes[3] & 0x17)); - /* The default value of V' is 1 and needs to be cleared. */ + + /* The incoming value of vvvv is 1111, i.e. bits may need clearing. */ + i.vex.bytes[2] &= (i.oszc_flags << 3) | 0x87; + /* The incoming value of V4 is 1 and needs to be cleared. */ i.vex.bytes[3] = (i.vex.bytes[3] & ~0x08) | i.scc; } /* Encode the NF bit. */ if (pp.has_nf || i.tm.opcode_modifier.operandconstraint == EVEX_NF) - i.vex.bytes[3] |= 0x04; + { + /* Incoming aaa bits should (still) be 0. */ + know (!(i.vex.bytes[3] & 7)); + + i.vex.bytes[3] |= 0x04; + } return true; } 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)