[{"id":3682992,"web_url":"http://patchwork.ozlabs.org/comment/3682992/","msgid":"<CALvbMcD5Tf-FajKwb48CgRJVCVzA83X50ORyiRTbutnFQdNFJw@mail.gmail.com>","list_archive_url":null,"date":"2026-04-27T20:52:32","subject":"Re: [PATCH] match.pd: x != CST1 ? x + CST2 : CST3 -> x + CST2\n [PR112659, PR122996]","submitter":{"id":91428,"url":"http://patchwork.ozlabs.org/api/people/91428/","name":"Andrew Pinski","email":"andrew.pinski@oss.qualcomm.com"},"content":"On Mon, Apr 27, 2026 at 6:03 AM Netanel Komm <netanelkomm@gmail.com> wrote:\n>\n> This patch extends conditional addition simplification introduced in\n> PR 122996 to handle a third constant and uniform vectors. This also\n> resolves the missing vector addition fold noted in PR 112659.\n>\n> It simplifies x != CST1 ? x + CST2 : CST3 into x + CST2 when\n> CST1 + CST2 == CST3.\n>\n> Bootstrapped and regression tested on x86_64-pc-linux-gnu.\n>\n>         PR tree-optimization/112659\n>         PR tree-optimization/122996\n>\n> gcc/ChangeLog:\n>\n>         * match.pd: Extend conditional addition pattern to handle\n>         a third constant and uniform vectors.\n>\n> gcc/testsuite/ChangeLog:\n>\n>         * g++.dg/tree-ssa/cond-add-vec-1.C: New test.\n>         * gcc.dg/tree-ssa/cond-add-1.c: New test.\n> ---\n>  gcc/match.pd                                  | 19 +++++--\n>  .../g++.dg/tree-ssa/cond-add-vec-1.C          | 49 +++++++++++++++++++\n>  gcc/testsuite/gcc.dg/tree-ssa/cond-add-1.c    | 26 ++++++++++\n>  3 files changed, 89 insertions(+), 5 deletions(-)\n>  create mode 100644 gcc/testsuite/g++.dg/tree-ssa/cond-add-vec-1.C\n>  create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/cond-add-1.c\n>\n> diff --git a/gcc/match.pd b/gcc/match.pd\n> index cb3a558a07d..8cdb6ddcba3 100644\n> --- a/gcc/match.pd\n> +++ b/gcc/match.pd\n> @@ -5251,11 +5251,20 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)\n>         && expr_no_side_effects_p (@1))\n>     @2)))\n>\n> -/* x != CST1 ? x + CST2 : 0 -> x + CST2 when CST1 == -CST2.  */\n> -(simplify\n> - (cond (ne @0 INTEGER_CST@2) (plus@1 @0 INTEGER_CST@3) integer_zerop)\n> - (if (wi::to_wide (@2) == -wi::to_wide (@3))\n> -  @1))\n> +/* x != CST1 ? x + CST2 : CST3 -> x + CST2 when CST1 + CST2 == CST3.\n> + * This handles both scalars and uniform vectors. */\n> +(for cnd (cond vec_cond)\n> + (simplify\n> +  (cnd (ne @0 uniform_integer_cst_p@1)\n> +       (plus@2 @0 uniform_integer_cst_p@3)\n> +       uniform_integer_cst_p@4)\n> +  (with {\n> +    tree cst1 = uniform_integer_cst_p (@1);\n> +    tree cst2 = uniform_integer_cst_p (@3);\n> +    tree cst3 = uniform_integer_cst_p (@4);\n> +  }\n> +  (if (wi::to_wide (cst1) + wi::to_wide (cst2) == wi::to_wide (cst3))\n> +   @2))))\n>\n>  /* Simplifications of shift and rotates.  */\n>\n> diff --git a/gcc/testsuite/g++.dg/tree-ssa/cond-add-vec-1.C b/gcc/testsuite/g++.dg/tree-ssa/cond-add-vec-1.C\n> new file mode 100644\n> index 00000000000..d095a8d9fcd\n> --- /dev/null\n> +++ b/gcc/testsuite/g++.dg/tree-ssa/cond-add-vec-1.C\n> @@ -0,0 +1,49 @@\n> +/* { dg-do compile } */\n> +/* { dg-options \"-O2 -fdump-tree-optimized\" } */\n> +\n> +#define vector4 __attribute__((vector_size(4*sizeof(int))))\n> +#define vector4_u8 __attribute__((vector_size(4*sizeof(unsigned char))))\n> +#define vector4_u32 __attribute__((vector_size(4*sizeof(unsigned int))))\n> +#define vector2_u64 __attribute__((vector_size(2*sizeof(unsigned long))))\n> +\n> +void unopt(vector4 int *v) {\n> +  vector4 int t = *v;\n> +  vector4 int t1 = t + 8;\n> +  *v = (t != -8) ? (t1) : (vector4 int){0, 0, 0, 0};\n> +}\n> +\n> +vector2_u64 unsigned long f1 (vector2_u64 unsigned long x) {\n> +  return x != (vector2_u64 unsigned long){5, 5}\n> +        ? x + (vector2_u64 unsigned long){10, 10}\n> +        : (vector2_u64 unsigned long){15, 15};\n> +}\n> +\n> +vector4_u32 unsigned int f2 (vector4_u32 unsigned int x)\n> +{\n> +  return x != (vector4_u32 unsigned int){20, 20, 20, 20}\n> +        ? x - (vector4_u32 unsigned int){5, 5, 5, 5}\n> +        : (vector4_u32 unsigned int){15, 15, 15, 15};\n> +}\n> +\n> +vector4_u8 unsigned char\n> +f3 (vector4_u8 unsigned char x)\n> +{\n> +  return x != (vector4_u8 unsigned char){100, 100, 100, 100}\n> +        ? x + (vector4_u8 unsigned char){166, 166, 166, 166}\n> +        : (vector4_u8 unsigned char){10, 10, 10, 10};\n> +}\n> +\n> +vector4 int g1 (vector4 int x) {\n> +  vector4 int cst1 = {5, 1};\n> +  vector4 int cst2 = {10, 2};\n> +  vector4 int cst3 = {15, 3};\n> +  return x != cst1 ? x + cst2 : cst3;\n> +}\n> +\n> +vector2_u64 unsigned long g2 (vector2_u64 unsigned long x) {\n> +  return x != (vector2_u64 unsigned long){10, 10}\n> +        ? x + (vector2_u64 unsigned long){20, 20}\n> +        : (vector2_u64 unsigned long){40, 40};\n> +}\n> +\n> +/* { dg-final { scan-tree-dump-times \".VCOND_MASK\" 2 \"optimized\" } } */\n\nThis testcase is not going to work for targets which don't have vector\nmodes. Simple way of testing is `-m32 -mno-sse` on x86_64-linux-gnu.\nMaybe the best way of checking is forwprop1 dump which is before the\nvector lowering pass.\nAlso it would be a good idea to split the testcase into 2, one for the\nones which should be optimized and the other for the ones which should\nnot be optimized.\nThe split applies to the scalar version below too.\n\nThanks,\nAndrew\n\n> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/cond-add-1.c b/gcc/testsuite/gcc.dg/tree-ssa/cond-add-1.c\n> new file mode 100644\n> index 00000000000..8b851d8350c\n> --- /dev/null\n> +++ b/gcc/testsuite/gcc.dg/tree-ssa/cond-add-1.c\n> @@ -0,0 +1,26 @@\n> +/* { dg-do compile } */\n> +/* { dg-options \"-O2 -fdump-tree-optimized\" } */\n> +\n> +typedef unsigned char u8;\n> +typedef unsigned short u16;\n> +typedef unsigned int u32;\n> +typedef unsigned long u64;\n> +\n> +u64 f1 (u64 x) { return x != 5 ? x + 10 : 15; }\n> +\n> +u32 f2 (u32 x) { return x != 20 ? x - 5 : 15; }\n> +\n> +u16 f3 (u16 x) { return x == 100 ? 150 : x + 50; }\n> +\n> +u8  f4 (u8 x)  { return x != 250 ? x + 2 : 252; }\n> +\n> +u8  f5 (u8 x) {\n> +  if (x == 100)\n> +    return 10;\n> +  else\n> +    return x + 166;\n> +}\n> +\n> +u64 g1 (u64 x) { return x != 10 ? x + 20 : 40; }\n> +\n> +/* { dg-final { scan-tree-dump-times \"if \" 1 \"optimized\" } } */\n> --\n> 2.30.2\n>","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=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=PIirMYDK;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=B1r6EnDb;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::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=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=PIirMYDK;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=B1r6EnDb","sourceware.org; dmarc=none (p=none dis=none)\n header.from=oss.qualcomm.com","sourceware.org;\n spf=pass smtp.mailfrom=oss.qualcomm.com","server2.sourceware.org;\n arc=pass smtp.remote-ip=205.220.168.131"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::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 4g4G4K55T0z1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 06:53:18 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 66DD54BA79B1\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 27 Apr 2026 20:53:16 +0000 (GMT)","from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com\n [205.220.168.131])\n by sourceware.org (Postfix) with ESMTPS id 2E4BD4BA7995\n for <gcc-patches@gcc.gnu.org>; Mon, 27 Apr 2026 20:52:46 +0000 (GMT)","from pps.filterd (m0279867.ppops.net [127.0.0.1])\n by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63RFLUoc3760592\n for <gcc-patches@gcc.gnu.org>; Mon, 27 Apr 2026 20:52:44 GMT","from mail-dy1-f198.google.com (mail-dy1-f198.google.com\n [74.125.82.198])\n by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dtacds6wq-1\n (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n for <gcc-patches@gcc.gnu.org>; Mon, 27 Apr 2026 20:52:44 +0000 (GMT)","by mail-dy1-f198.google.com with SMTP id\n 5a478bee46e88-2c0f6593ef5so13976790eec.1\n for <gcc-patches@gcc.gnu.org>; Mon, 27 Apr 2026 13:52:44 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 66DD54BA79B1","OpenDKIM Filter v2.11.0 sourceware.org 2E4BD4BA7995"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 2E4BD4BA7995","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 2E4BD4BA7995","ARC-Seal":["i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1777323166; cv=pass;\n b=L70u9pOiM+3l19QpJ/9gG3NEO8RqRqWebZZXzzGZ6fnwC5opVWaAKGlRgmjU7Bzg2EgmAx/ETRXXcI47ebQq/JA5x7z4YbCSVgdxThFg9Ql8vvJdk+ILvTLWG2XuAx7IZbw0UBcym5jQicSWesZ9QrM6V1msBYlYt5TZPyoEVCA=","i=1; a=rsa-sha256; t=1777323164; cv=none;\n d=google.com; s=arc-20240605;\n b=EY8tY2tsJlxJaM5VHqayASXFMtLhZTZ20osO2+0le2aXEZCxb1T9uFvgjzKQ5R4joo\n jIuh6Sa67u0J4twCDbcpm0TE3C9UAGYNFY//QAViE4VSN/lXkCJz3/VdDsyV4mKk9glG\n ei82gotfSpDiWiiaueB7sNhErV333Gyz/0USl12pmeOfGibDFRSk3cnSQELtEMwKhJLb\n Z+uu7d8X19ycEm9fy/dVfX5AQggG1/+n87ijYN/N0FQSsT0c0XD5J6nMPeDHWRt38KR2\n hf3ABxQJ3LXJxDo3qUmgYhdC2BiiN2D7PVcQjhKQrEWYXx9nPqEFqyLoIFiqOF532BiO\n u14Q=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=sourceware.org; s=key;\n t=1777323166; c=relaxed/simple;\n bh=7AHzBheqmdhSqYMW6zTe8pa7sRfiPgefPl5YDtQj51o=;\n h=DKIM-Signature:DKIM-Signature:MIME-Version:From:Date:Message-ID:\n Subject:To;\n b=qP/5OXvd1elz2/TknKaPnBDe/7N13QCpa33AGsreboQVQImFmPazmxhNANqCrnFEmeMeLPzfgdZtwYEmY5jbuWFWPtgjocWj53aTdcyfkruEWCwuwaG5fqw+q60HGOjKXQzANOCQO8okb3ZeZjYM1jnuiGwAa9EUY3qNdnktPS0=","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=Pvu3M92yUoq4DsA+8Q4Vih1LsvMGm/fohZrVocVNkH8=;\n fh=APniw1iy4bdRCUgTL1xo0ev+7/vKjrKkU4f4Pv9tnQ4=;\n b=gioKDpiLgSyoc7C41mvdFD4eWK6Eud9M6ZHCLW/xiQZRbENjx7pRvNAGFSy6+ahlX0\n OYNvaIwLrQaqkYp9vCT+lblfqcd5tNmqHfn8xP2W7vFC8EoxgEkjcwtrF6is09gZuSAx\n +9FBZlHBJz2KYC/YjJtMs7NVR8AVZWs5/zVkxeerGdiDmF2pb/MMBGGHH18ZQbx1mxKE\n +UTcy6IB4LTjxNyzPu2jS4zKd6qaJ6y9urLSnbTt3Ea+uR/oQudkI5EuBu4emSSVSLhW\n JRsGfLWEBEjAP9leknym3mrhTh5Z+7w/MeD2LVC19NR3EHXJgDJTqjEB+J9/RPTBd0Ue\n WwAg==; 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; d=qualcomm.com; h=\n cc:content-transfer-encoding:content-type:date:from:in-reply-to\n :message-id:mime-version:references:subject:to; s=qcppdkim1; bh=\n Pvu3M92yUoq4DsA+8Q4Vih1LsvMGm/fohZrVocVNkH8=; b=PIirMYDKh5DOcwus\n jeV2EFwOsJzz15jvoM+25fgCFwt4JwmrvMG4u04//w9gaFJXIkYi5hUE9JPE2+vK\n DvZCgCj9ZbeK1eTfzMv8SIWKzJakP5X/S4nGA7Qf1p7/aFtSaifKjrTCBMz1m8B8\n XZxrpwJ645DFJcN5yLHdzsXxIYSJ9VtNt/VLbSrtJ9I6avlNJzQtG63ChvgHtMo1\n EhHRJfv9jv71tmo50zbe5fjxj94BGGJhdWMN2PZyoxiYqgvZKYQ0rZfYC2Jq2dIX\n IaCuF/cuYNRe1maJwtyM1qzijkfFVsmGiH0zH1PbJUyfdokkTbWfjby75/rXqHZt\n PaqwZA==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1777323164; x=1777927964; 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=Pvu3M92yUoq4DsA+8Q4Vih1LsvMGm/fohZrVocVNkH8=;\n b=B1r6EnDb1L4smEX1dkISEVddPK4RqFLieoyfVFO+Spl+ir7bDpHywc65+D01BEH1PX\n cQ4AFYqS6FST+dCKgPOUrTreDsv8OY9QKZpjVezisuOmTyA77sqqD+FA9TW3B3TIWSZL\n EsUKkHg6uj8GhENVHtMR15bhApQIUXqO9+Fh8jAmJxagq4tHNtSY/I09QS4cwuznSwtM\n puasMFPCT5pOFGprBmdMp515fO2CqL9QrRIGJf3RziJOIsfyx2E/J3D/170a8Rw93tNb\n LA7eHWDFjkKSuiWIPwtnx3TX4u8pKh1mdeAbSRqOJzcv/YjbwGg/BJx0c92qzFLasP0p\n u+Tg=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777323164; x=1777927964;\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=Pvu3M92yUoq4DsA+8Q4Vih1LsvMGm/fohZrVocVNkH8=;\n b=cX03szUoEOdE+cmVxjg3BZ2u30ieSg7hU7A8k7zuzyxvufEDFwtMXJHkcwTuWaOeg/\n U9JudhRB+9Ska2BZvlc2UPxVY+X+nkq1UHlyIJjQHZtUU6TajfA+7IrgGOhd1i4l+It3\n E6V0dddypvq3V2E4g+xXvrjUl3EUcv+L9WxGZJIM9XPAG36M3GOIaCrVaDPJLFtIo0r9\n bJji6QqVlHBzjXcrkgSN2raSKak5olze5qBjYrb9EZ6BjOXRXrTsHZQnZY7dQ006fzPO\n sv2uZxOp4qCiumzAXGSwLPCDkEmdHPWiLH9jSkVmE+5jVn5E7ML1OnA1tVgQbgUH8joR\n nHHQ==","X-Gm-Message-State":"AOJu0YxDwQcSUXT/XATloYVqCuluaWYFtwI7TdZVc5ykFDfKSEglVhzM\n 0z+5qfqWO4jMtW8Ra55j6EFhFszHkbGK3S7nqQJIy/dHTkSXnpQqX3raHFO6f/skMp10/V7NJnY\n xdPGrxVce5/5Fye27ew3tO9Jx9CEwJwt7/bQ2Ta8LYduVF5X77H+AScJzMHWp8BdoVXTQxXhbRQ\n 6HrT/2/6d9kyUbfJmk51wa07ac0QnO2TGzkvQ=","X-Gm-Gg":"AeBDievr/e7uzRcVrlWUQ8OqBytn7rtm/FHLS20B4WH32u8Q3/AiaxmW228L2Sc9LlA\n Q+9PlcbBx45LpwVS9mVoCQ+87sLcdb2dL62dg3yvGKcLhg/toPnVW/eE5CRtN7gqp2vkux/UxuA\n JAeongv9XYzTUUHDSVdnpjHdEY02bQSc8WUnBL/iVHlpCxYsrHzymg7G4OEDw5W07gILk3dRBG6\n qY1zE1M1uU4fq0=","X-Received":["by 2002:a05:7301:1005:b0:2d9:db50:c6a5 with SMTP id\n 5a478bee46e88-2ed09df8945mr310663eec.0.1777323163739;\n Mon, 27 Apr 2026 13:52:43 -0700 (PDT)","by 2002:a05:7301:1005:b0:2d9:db50:c6a5 with SMTP id\n 5a478bee46e88-2ed09df8945mr310647eec.0.1777323163042; Mon, 27 Apr 2026\n 13:52:43 -0700 (PDT)"],"MIME-Version":"1.0","References":"<20260427130223.1253-1-netanelkomm@gmail.com>","In-Reply-To":"<20260427130223.1253-1-netanelkomm@gmail.com>","From":"Andrew Pinski <andrew.pinski@oss.qualcomm.com>","Date":"Mon, 27 Apr 2026 13:52:32 -0700","X-Gm-Features":"AVHnY4LUjNU59_2UX33tx1gUS903sUhtdykW31z9KKs7fApPeKGelnT-CBEbT6U","Message-ID":"\n <CALvbMcD5Tf-FajKwb48CgRJVCVzA83X50ORyiRTbutnFQdNFJw@mail.gmail.com>","Subject":"Re: [PATCH] match.pd: x != CST1 ? x + CST2 : CST3 -> x + CST2\n [PR112659, PR122996]","To":"Netanel Komm <netanelkomm@gmail.com>","Cc":"gcc-patches@gcc.gnu.org","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDI3MDIyMSBTYWx0ZWRfX6ZtXlJZgQ72p\n /E9HHnWxOWOJtObF+AEdz7mhuBqBjy4krwFmVcEtEU1JRi/STI52oxZqltWFRKu6UC5FitVKBzL\n 6CDs/OdbGncG50C43FHATSJYpfs1wD+i/0brlr5pnl/MH4gHZlkotppIiQyyePi9x7M6ckIvwUO\n bGm9XwXuiIOgA0V4heZw6Yn9P3mHbyN422Spi+ML8trzyx3HD2HgsPGsruh2JVLgVdCgk5LPWN4\n hepq65Com5gcCewW46xj7D2mRlkLgF1BmfRzC4nkihsjDht+D7nayUi8peq1yjokTAakTw+YpuO\n 09TVGOOS9R1lpvunErh20V5CfYOmnni8sXuU4G85PTEGrWlcXIcAn5Ay9M/1j9XP+0E2wrVfYnd\n dNpu0HoBb9KcmpHySp2oJ6TV5bVv/IeTJz1i/jwE+lm+PgLk7TY18tPADLDYXzd8VBGF1fyJvsr\n 0+rRq3m3CswJL09gJTg==","X-Authority-Analysis":"v=2.4 cv=QsduG1yd c=1 sm=1 tr=0 ts=69efcc9c cx=c_pps\n a=wEP8DlPgTf/vqF+yE6f9lg==:117 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10\n a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22\n a=eoimf2acIAo5FJnRuUoq:22 a=pGLkceISAAAA:8 a=y3NWXRqxfOdQbHGvqhwA:9\n a=QEXdDO2ut3YA:10 a=bBxd6f-gb0O0v-kibOvt:22","X-Proofpoint-GUID":"bh1FfwoDW2DAXFF-0cX-hpOtojEFDuFp","X-Proofpoint-ORIG-GUID":"bh1FfwoDW2DAXFF-0cX-hpOtojEFDuFp","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-27_04,2026-04-21_02,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n phishscore=0 adultscore=0 priorityscore=1501 bulkscore=0 malwarescore=0\n suspectscore=0 lowpriorityscore=0 clxscore=1015 spamscore=0 impostorscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604270221","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"}}]