[{"id":3685239,"web_url":"http://patchwork.ozlabs.org/comment/3685239/","msgid":"<CAMe9rOobMc3mTtRUdVmGbP_RTPoeqbpPSky2aWW=f2MymmaXtw@mail.gmail.com>","list_archive_url":null,"date":"2026-05-01T22:53:25","subject":"Re: [PATCH 3/4] i386: testsuite: fix shift-gf2p8affine-2.c failure on\n non-AVX512 CPU","submitter":{"id":4387,"url":"http://patchwork.ozlabs.org/api/people/4387/","name":"H.J. Lu","email":"hjl.tools@gmail.com"},"content":"On Sat, May 2, 2026 at 5:32 AM Xi Ruoyao <xry111@xry111.site> wrote:\n>\n> Enabling AVX512 via command line causes the compiler to generate AVX512\n> instructions even before the runtime CPU feature check, causing the test\n> to SIGILL if the CPU lacks AVX512.\n>\n> So enable AVX512 via function attribute instead and only call that\n> function after the CPU feature check.\n>\n> gcc/testsuite/\n>\n>         * gcc.target/i386/shift-gf2p8affine-2.c (dg-options): Remove\n>         flags for AVX512.\n>         (main): Move the test logic to test() and only call it if the\n>         CPU supports AVX512.\n>         (test): New, with [[gnu::target()]] to enable AVX512.\n> ---\n>  .../gcc.target/i386/shift-gf2p8affine-2.c     | 25 +++++++++++++------\n>  1 file changed, 18 insertions(+), 7 deletions(-)\n>\n> diff --git a/gcc/testsuite/gcc.target/i386/shift-gf2p8affine-2.c b/gcc/testsuite/gcc.target/i386/shift-gf2p8affine-2.c\n> index ef088ab0b95..2c119c3de58 100644\n> --- a/gcc/testsuite/gcc.target/i386/shift-gf2p8affine-2.c\n> +++ b/gcc/testsuite/gcc.target/i386/shift-gf2p8affine-2.c\n> @@ -1,5 +1,5 @@\n>  /* { dg-do run } */\n> -/* { dg-options \"-mgfni -mavx512vl -mavx512bw -mavx512f -O3 -Wno-shift-count-negative -march=x86-64 -mtune=generic\" } */\n> +/* { dg-options \"-O3 -Wno-shift-count-negative -march=x86-64 -mtune=generic\" } */\n>  /* { dg-require-effective-target gfni } */\n>  /* { dg-require-effective-target avx512vl } */\n>  /* { dg-require-effective-target avx512bw } */\n> @@ -151,12 +151,9 @@ FUNC (N5)\n>    func##N##ref (array2, len);                          \\\n>    if (memcmp (array, array2, len)) __builtin_abort ()\n>\n> -int main ()\n> +[[gnu::target (\"gfni,avx512vl,avx512bw,avx512f\")]]\n> +void test ()\n>  {\n> -  __builtin_cpu_init ();\n> -  if (!__builtin_cpu_supports (\"gfni\"))\n> -    return 0;\n> -\n>    const unsigned long len = 256;\n>    char array[len], array2[len];\n>    unsigned char filler = FILLER;\n> @@ -195,6 +192,20 @@ int main ()\n>    TEST (N5, sbyteshiftr);\n>    TEST (N5, ubyteror);\n>    TEST (N5, ubyterol);\n> +}\n> +\n> +int\n> +main ()\n> +{\n> +  __builtin_cpu_init ();\n> +  if (!__builtin_cpu_supports (\"gfni\"))\n> +    return 0;\n> +  if (!__builtin_cpu_supports (\"avx512vl\"))\n> +    return 0;\n> +  if (!__builtin_cpu_supports (\"avx512bw\"))\n> +    return 0;\n> +  if (!__builtin_cpu_supports (\"avx512f\"))\n> +    return 0;\n>\n> -  return 0;\n> +  test ();\n>  }\n> --\n> 2.54.0\n>\n\nIf __builtin_cpu_supports doesn't work with -mavx512vl -mavx512bw -mavx512f\non non-AVX512 CPU, more tests should fail.  Please\n\n1. Add test ().\n2. Drop __builtin_cpu_init.","headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=Lrmer9rr;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=Lrmer9rr","sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","sourceware.org; spf=pass smtp.mailfrom=gmail.com","server2.sourceware.org;\n arc=pass smtp.remote-ip=2607:f8b0:4864:20::629"],"Received":["from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g6mZL009tz1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 02 May 2026 08:54:32 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 861F543B5500\n\tfor <incoming@patchwork.ozlabs.org>; Fri,  1 May 2026 22:54:30 +0000 (GMT)","from mail-pl1-x629.google.com (mail-pl1-x629.google.com\n [IPv6:2607:f8b0:4864:20::629])\n by sourceware.org (Postfix) with ESMTPS id 5FA21490030A\n for <gcc-patches@gcc.gnu.org>; Fri,  1 May 2026 22:54:03 +0000 (GMT)","by mail-pl1-x629.google.com with SMTP id\n d9443c01a7336-2b24fede2acso13334995ad.3\n for <gcc-patches@gcc.gnu.org>; Fri, 01 May 2026 15:54:03 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 861F543B5500","OpenDKIM Filter v2.11.0 sourceware.org 5FA21490030A"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 5FA21490030A","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 5FA21490030A","ARC-Seal":["i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1777676043; cv=pass;\n b=lyki8J71CMRYvXdzuyi9HBu1bHdKaB1Y91Ejxjt4TeyeiO5hlxsqGWSrrtGDEIq73DSrgkIyBhyzoJ8tEPGMM3E+mdfwuIhurezVhEGMRQ/KSc6TQJJAoFeUhHtjMWR68GGBPJ1YXMic9ZNxiaKew2AILBPJr7Hbt+qL4rKNqlI=","i=1; a=rsa-sha256; t=1777676042; cv=none;\n d=google.com; s=arc-20240605;\n b=BD00qmnAXl3vWj4mAT10ZKqZCDLxD4NwktW/SHc1QT2zcLI06/q2NvBxEEyNXQxXnJ\n m56KlEP1O0t2I3eq3pcTBFz/BBlWPIRapGbTprz7M6FFvU04fLFBWSit0WkPcU6jAfdY\n gqDwUxYYXOzPiZ1m+EukZc/RwuLrmW8vqZC/BtBhcUYHMhzOs5t/3ctUfBQ2NY/3mBJs\n 3Bo0e84JBoVqS7f0THzUlIeQ3d5Tbh7t+6Ke4QgZLov45tEmmcRLLfRZXvhd7oSlqVG3\n kTt0uOMPA6QyD6e2PqX197EMmI3jws+PhlcxA5IGVbOoiq5tg17ozXDSoi+P58fkeAOT\n 5Y6A=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1777676043; c=relaxed/simple;\n bh=pIEIGw0OSo3LqWjjGfMQgdq6MVkcTRSokZkXf93jbJc=;\n h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;\n b=psIHkmf69z+B2ehKXOxFiCBJ6KHRpmfiunGNZL/o3+2tIk+uhRQKAGqcBywLihBsDgqQ3cjNjkTHb3gHsfiy4F/lqfX8rzkhPCIXq9/12vslXSMmCJWtp1g30PRv5hT69OJb9iaatMezKZMa9vMde9bdEUwb2yfbUVBAQGHYEjs=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:dkim-signature;\n bh=1qUCTgDctl61Gj2ovQL8rvRBv8lZDka5NxWGZZpq7Ic=;\n fh=fLOj8RPJ9nROtesax1vZzx0gjWOqD4xidnpd5d2OsBM=;\n b=SyhxseF9jRO96hH6Yhid79tgrBuSlo6clXFbibQPrRAxDcbofonUqZHGN0B5YcsK7a\n eqfDYYuSR5nYh3CEkQtvZI4/L3PHIOphbGR08x9euKxJJ25S80HNQezsnIuaoQtPJU+g\n gij2BB21MbExbF7tLzsVBt2ww3j3j4RWmfYXODVkYDZ34xXzZMoxFx4//wbM2cLFof+e\n SDKHT05rRdNW4tfx09wwo/CSq5QS37AEDb9Fxc5XOAFTVXT1MuCRbMdTnUvKov65WCsz\n MUhDp8noasJqqpWWr4ShgqpYivuXZF1VM0iDqqDyOg7WVi8kY8TSkHueuQdHJEWwAwlt\n tqlw==; darn=gcc.gnu.org"],"ARC-Authentication-Results":["i=2; server2.sourceware.org","i=1; mx.google.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1777676042; x=1778280842; darn=gcc.gnu.org;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:from:to:cc:subject:date\n :message-id:reply-to;\n bh=1qUCTgDctl61Gj2ovQL8rvRBv8lZDka5NxWGZZpq7Ic=;\n b=Lrmer9rrw2qGWVOjkvkfLjivjGLbO5tXE3ciVasUagPzwsf2248fKEYB4jEWjKeqjh\n dEySPjue8TlCobMYVZyfdfIN5XDoksHM1vhOfS7bBXsihfjYjqAJtGNxTyqbDII3Pv7z\n vHe68Yxy4KNV5Itcjh0JAdluZOYDYPbFvj6jVBbJgXLrNcI8lsfXZMD6JHjuhbeZtApG\n vSzyyE08u2gCDj2RcBkg0x3Yngfp7Mzp8JknCIrmLWMvykO9bP55ls7KqvZii6baCcYp\n YLIhLVtY+QTpkZesyoLRlV3rMo8J5UyWA0nQ3zgb0mdjS6Hx2JHIWprddxrg4gRL3fJP\n wkTg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777676042; x=1778280842;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=1qUCTgDctl61Gj2ovQL8rvRBv8lZDka5NxWGZZpq7Ic=;\n b=b/JjJegZWFa7/sQs75xfkNeT2Cj1RLYZbh9nqYkJTtjlgsuup/q4tDJplAgxIcHtDs\n Bc4M4PrTz9W5/o3fKGE6AZE9S93VJMMdxXSSqmTiUujqD+rJvr40cAwkTPkaJ0zrsCty\n fPwzx3nWvgFwhPOppmM67J+CJ34DqMwHQI0QTESZwVusOtfC0dzhBwfbdVRp0OxzA0fH\n aTz4Uyl3WQ9Pf3Tt6MeBkDB+8WrSik0+JdBmmXkyh4RQxJHHrPsAFAsNDvGsw3X4u9my\n jzq55/HG3XOudxGSBiyNMntCX6+liMqKap0OrdzfirDhx1drBMZN2sFtv2H319QwZyKj\n SSTA==","X-Gm-Message-State":"AOJu0YwGbevSOejea3cB1ZL8I3FX23+Gjx4yutcsl3k2j+qP06+YDLL4\n qY3ESH2ye8pShwgYhGtxVwbm0Qx0+tFbPVOx+sfe5YWy6kuqNEcJ/r+AQrS67daqbNMoB6LJ3l1\n 7IwGIs5pg+JqdshNeYRcjQVEGrHQcT4I=","X-Gm-Gg":"AeBDiev7GawEsCvrvJrXXTGXu1TEzXIQoWl1ax1frVm2E7VyRQ0fW3yltsY1QEnXgwz\n G+HPP0xbFFSeQM8V4B5LAQp2oU0AUhhQ/VNmug/dQUQi05se/f2fPTRFUYdUeWPso1MP5N99e9Q\n m89h5H1/TPtoENCVWJavVEsmc2ZBGeHXfE1dibW/zAcY87vE2BKJjtxKdg0DbT0bSECR3tIhVz+\n 9ApUxt0H/tePBYAZjZiqBdUHUbIhSGclpn74nNx9sRZFv1FCDOgpoN4mvW7dickGc6mzJJTlnxn\n hjJPPMu6tqkxYTu/","X-Received":"by 2002:a05:6a20:3d84:b0:3a3:1071:89f0 with SMTP id\n adf61e73a8af0-3a7f1ad469dmr878971637.2.1777676042157; Fri, 01 May 2026\n 15:54:02 -0700 (PDT)","MIME-Version":"1.0","References":"<20260501213120.324542-1-xry111@xry111.site>\n <20260501213120.324542-4-xry111@xry111.site>","In-Reply-To":"<20260501213120.324542-4-xry111@xry111.site>","From":"\"H.J. Lu\" <hjl.tools@gmail.com>","Date":"Sat, 2 May 2026 06:53:25 +0800","X-Gm-Features":"AVHnY4L65UMMiGw35NlgNXV8D71BMEjpYXZC__S7FT1LQgl0EJJ5YG5xCZLvR0k","Message-ID":"\n <CAMe9rOobMc3mTtRUdVmGbP_RTPoeqbpPSky2aWW=f2MymmaXtw@mail.gmail.com>","Subject":"Re: [PATCH 3/4] i386: testsuite: fix shift-gf2p8affine-2.c failure on\n non-AVX512 CPU","To":"Xi Ruoyao <xry111@xry111.site>","Cc":"gcc-patches@gcc.gnu.org, Richard Sandiford <rdsandiford@googlemail.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"}}]