{"id":2227394,"url":"http://patchwork.ozlabs.org/api/patches/2227394/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/patch/20260423154930.183274-1-Pengfei.Li2@arm.com/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/projects/17/?format=json","name":"GNU Compiler Collection","link_name":"gcc","list_id":"gcc-patches.gcc.gnu.org","list_email":"gcc-patches@gcc.gnu.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260423154930.183274-1-Pengfei.Li2@arm.com>","list_archive_url":null,"date":"2026-04-23T15:49:30","name":"vect: Avoid unnecessary poly_int comparisons in loop preheader","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"4f0caef6a8a5f6d46a70bfc89c21860c214e6ef1","submitter":{"id":90721,"url":"http://patchwork.ozlabs.org/api/people/90721/?format=json","name":"Pengfei Li","email":"Pengfei.Li2@arm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/20260423154930.183274-1-Pengfei.Li2@arm.com/mbox/","series":[{"id":501212,"url":"http://patchwork.ozlabs.org/api/series/501212/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/list/?series=501212","date":"2026-04-23T15:49:30","name":"vect: Avoid unnecessary poly_int comparisons in loop preheader","version":1,"mbox":"http://patchwork.ozlabs.org/series/501212/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2227394/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2227394/checks/","tags":{},"related":[],"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 (1024-bit key;\n unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256\n header.s=selector1 header.b=fIbkoKQN;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=fIbkoKQN;\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 (1024-bit key,\n unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256\n header.s=selector1 header.b=fIbkoKQN;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=fIbkoKQN","sourceware.org;\n dmarc=pass (p=none dis=none) header.from=arm.com","sourceware.org; spf=pass smtp.mailfrom=arm.com","server2.sourceware.org;\n arc=pass smtp.remote-ip=52.101.70.61"],"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 4g1gZP54qtz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 01:51:55 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id A81C54BC22C4\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 15:51:52 +0000 (GMT)","from AS8PR04CU009.outbound.protection.outlook.com\n (mail-westeuropeazon11011061.outbound.protection.outlook.com [52.101.70.61])\n by sourceware.org (Postfix) with ESMTPS id AAAA84BAD143\n for <gcc-patches@gcc.gnu.org>; Thu, 23 Apr 2026 15:51:20 +0000 (GMT)","from CWLP265CA0492.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:18a::8)\n by AS4PR08MB7904.eurprd08.prod.outlook.com (2603:10a6:20b:51f::13) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.21; Thu, 23 Apr\n 2026 15:51:16 +0000","from DU6PEPF00009523.eurprd02.prod.outlook.com\n (2603:10a6:400:18a:cafe::63) by CWLP265CA0492.outlook.office365.com\n (2603:10a6:400:18a::8) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9846.21 via Frontend Transport; Thu,\n 23 Apr 2026 15:51:15 +0000","from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by\n DU6PEPF00009523.mail.protection.outlook.com (10.167.8.4) with Microsoft SMTP\n Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9846.18 via\n Frontend Transport; Thu, 23 Apr 2026 15:51:15 +0000","from CWLP265CA0340.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401:5a::16)\n by AM7PR08MB5448.eurprd08.prod.outlook.com (2603:10a6:20b:106::10) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.21; Thu, 23 Apr\n 2026 15:50:11 +0000","from AM2PEPF0001C711.eurprd05.prod.outlook.com\n (2603:10a6:401:5a:cafe::d1) by CWLP265CA0340.outlook.office365.com\n (2603:10a6:401:5a::16) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9846.21 via Frontend Transport; Thu,\n 23 Apr 2026 15:50:11 +0000","from nebula.arm.com (172.205.89.229) by\n AM2PEPF0001C711.mail.protection.outlook.com (10.167.16.181) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9846.18 via Frontend Transport; Thu, 23 Apr 2026 15:50:11 +0000","from AZ-NEU-EX04.Arm.com (10.240.25.138) by AZ-NEU-EX04.Arm.com\n (10.240.25.138) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Thu, 23 Apr\n 2026 15:50:08 +0000","from ip-10-248-139-167.eu-west-1.compute.internal (10.248.139.167)\n by mail.arm.com (10.240.25.138) with Microsoft SMTP Server id 15.2.2562.29\n via Frontend Transport; Thu, 23 Apr 2026 15:50:08 +0000"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org A81C54BC22C4","OpenDKIM Filter v2.11.0 sourceware.org AAAA84BAD143"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org AAAA84BAD143","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org AAAA84BAD143","ARC-Seal":["i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1776959481; cv=pass;\n b=oX4bVwI3Ndtkthk0h55O0QVs3wh5wWvGcJYg42Yiz0f+2g6SOX5Ry78kZe4gCytAFTKoqmn+ZRIHLlQOT+nnF4On87LorPwoGZrbrSjnPqot20hduxQoGztwf/HZ6+AViSMQWexe50skGv6FlRt1ZHCabAQ/bmFfwvGdQbVY7O8=","i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;\n b=Rfb4HUFLSGjGNv2dYKUnGthWQD48NOji6KNNw+bnCJ/n4y33ioHlEXdX6e3l9Nf482FTiZ5GTC/inT9qVPzcAr5i0fflWlMM4C9oZTHPyFjkUDDfnjBJrJ2PypPQ0cDvCCKuIp2VpG5r82badF9NwTWu2zT7ZJLU0Oy/gFMSBwFwRvb8YeNMwi5VFcam7E8y181jVQ+l0gAA29bJNrmMWlUiKcMJDM/KJAuijQv9mzVgywE7HKalnu1Nrj7819KSHjzls7JS1Uth8ncz6mpqkZTa5Qx/9VqGNHSd6WCtMBkMhDRJo7vKigUHrAGTlvr7efwh4vNsToJXkXlJzGWYpg==","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=aOZwQZkcA4FfwJIK2AfgL9y4YuIOkxyLZwTn9+e70noDrxSfzgOCnoNG0b2yqzrFiDx/sZDmQOMGMHx3AQ+fO7SovjIUM9vmEUunafd4QnUqV7voNbneJt1Hfx0XIQlACV6gmZRNh7iDkP9t4bOpJV4zGgjY8v4x39b2dFErxqD08SOGjGz2hlnjBvaaAz+qvggQTjqfou7rqQ51YNMtF5Zf1/feZZAHkeKkgJG+6eSCtAHcqnP8SeTBt8Sz3G7bPxI72yHekGZk5hto0BfGykC1kZpA+gf1mG3dv5eaALCSxP6TDDahi1ZSjnq/pN/SM1IyZk+d5oSLJlbzdtpeog=="],"ARC-Message-Signature":["i=3; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776959481; c=relaxed/simple;\n bh=Su1+57uQxak1QkxlBB18Zh0YbL+XIlmUO20y8QjlZ/A=;\n h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:\n MIME-Version;\n b=oHMXYrELuG609kRpQ+1Q+GYHDB427fJ2LIvxWSWvBT+cjiLVvETnXgqUcL/B2AB3IMQaiqB0ufduVrgHcktGOn4iZPJ+Ko7dxZbu1SbnyzaeRxMrHPmvxcYVHnIE6gC1nt6OVUgjY/p9UBOKueQIw77ENL2TkT8qn0gwdmxGLj8=","i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=xv3e0cHWy7X+CdIepr6BrjbSyxHP8xXLRGz0hfrbNlk=;\n b=fjIl+UPDIAjdyROEjNj36iz21i7WKJXVWnsFbhDVHkiUH+q99B5DfW06JA1TpolG+VbfT8hYR6ajtPKhkuK0T1M5e/Ejl1X+ttZQYiEwSjaeDRMF+eXntb/gAK+WKeULHhv+kGMyx7ePAXDW4IW+CIO7w7R4/x5IIHlojXCC6r88jm2rzDUXxFhIVtc20A4OPJDOoW3dJmxfPX3kiDr/JBbkKtDaWLtA5ium8HxyP8UF0jtGkTLCdMnYIz4YTPLbv5NTRyh62hw+EqJGgqs1v7ohHrxwuy/7lXnYietRKjktuuiOL46MqYZUD5Bu4tlru7kU8LuDk9PB+r4SihcugA==","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=xv3e0cHWy7X+CdIepr6BrjbSyxHP8xXLRGz0hfrbNlk=;\n b=NfGMuHy1ddMY5bQ4cz7GIiyeh8A/buie5BLHpGuKRYnrlGOpajANwh+7FKjf3cFmmtD97KTHwwNE6A/50FLlzCGHi/rOq0XiZyPjR/YVU+PQxNWL+U/TkghOqV7heG+PjW+/kKbDgwS0N5vH/wMpR7yCRslzWC7OFe0reQSVC/TF3PROydNa0D52AoyX9imB9pgTf9yA8voXGwTLgmL1UbDmY08JB9hbXoqIYU6PL2h5izlHx60j7VMkiA9tVxdjxnOI4aNXQzCmp44vE8M2nNjq59vx8ughAb7hzFM5i1LnoXHSNpKmbhVd/rEatyAE5HwqTZ1VgDZkEhiV1EXphQ=="],"ARC-Authentication-Results":["i=3; server2.sourceware.org","i=2; mx.microsoft.com 1; spf=pass (sender ip is\n 4.158.2.129) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass\n (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass\n (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1\n spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com])","i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 172.205.89.229) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com;\n dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;\n dkim=none (message not signed); arc=none (0)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=xv3e0cHWy7X+CdIepr6BrjbSyxHP8xXLRGz0hfrbNlk=;\n b=fIbkoKQNM6pKj4Hc12NYBWkuUqISRgySKuhjMDvTmybAA+hZL5BT0Ey37hCGaSBLbcEC2V0m/KubVAsPVZEjP8uJFAl8K0AIemkfl6rvcvNHW2ta1xiHA8W2H+burlUyuVTeSJq8IvCS5DsEadwQzzK3+W3+O/klMKSSfqF9D0M=","v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=xv3e0cHWy7X+CdIepr6BrjbSyxHP8xXLRGz0hfrbNlk=;\n b=fIbkoKQNM6pKj4Hc12NYBWkuUqISRgySKuhjMDvTmybAA+hZL5BT0Ey37hCGaSBLbcEC2V0m/KubVAsPVZEjP8uJFAl8K0AIemkfl6rvcvNHW2ta1xiHA8W2H+burlUyuVTeSJq8IvCS5DsEadwQzzK3+W3+O/klMKSSfqF9D0M="],"X-MS-Exchange-Authentication-Results":["spf=pass (sender IP is 4.158.2.129)\n smtp.mailfrom=arm.com; dkim=pass (signature was verified)\n header.d=arm.com;dmarc=pass action=none header.from=arm.com;","spf=pass (sender IP is 172.205.89.229)\n smtp.mailfrom=arm.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=arm.com;"],"Received-SPF":["Pass (protection.outlook.com: domain of arm.com designates\n 4.158.2.129 as permitted sender) receiver=protection.outlook.com;\n client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C","Pass (protection.outlook.com: domain of arm.com designates\n 172.205.89.229 as permitted sender) receiver=protection.outlook.com;\n client-ip=172.205.89.229; helo=nebula.arm.com; pr=C"],"From":"Pengfei Li <Pengfei.Li2@arm.com>","To":"<gcc-patches@gcc.gnu.org>","CC":"<rguenther@suse.de>, <Tamar.Christina@arm.com>, <rdapp.gcc@gmail.com>,\n Pengfei Li <Pengfei.Li2@arm.com>","Subject":"[PATCH] vect: Avoid unnecessary poly_int comparisons in loop\n preheader","Date":"Thu, 23 Apr 2026 15:49:30 +0000","Message-ID":"<20260423154930.183274-1-Pengfei.Li2@arm.com>","X-Mailer":"git-send-email 2.43.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-EOPAttributedMessage":"1","X-MS-TrafficTypeDiagnostic":"\n AM2PEPF0001C711:EE_|AM7PR08MB5448:EE_|DU6PEPF00009523:EE_|AS4PR08MB7904:EE_","X-MS-Office365-Filtering-Correlation-Id":"2677bbe1-587c-45c5-32e1-08dea1502701","x-checkrecipientrouted":"true","NoDisclaimer":"true","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam-Untrusted":"BCL:0;\n ARA:13230040|1800799024|376014|36860700016|82310400026|56012099003|13003099007|18002099003;","X-Microsoft-Antispam-Message-Info-Original":"\n hcxPKxo4Sr7ZY5zh9v2RGKuUAB9jaooWzxUDjkHvhGP5WDEDCX7XqvGdoeibGsnZ5GCjLjGnFfcV0nw5JX3G+lUaylEc/RHSaHZbwc1VeMf5AhNOWxxxH+ugHxZ0Kr1bfflsfpWwvh5FV1kTGLmrhGmqNQtUoeU3nRJWp6cQYEgcWqgsMbPPEBoKwxP3GadmPx5IFFUQ6eDSr6J9C60/WPmOxde3AvLZRTuRiywlTZ1jLxUhib29p/nFkClD3GqDpbINWqScJYgaHkdAUiyqpoOaPkyn3Ru9GUOEYTiZPhUMhNaz+SelO8kdPdSAuhvQoOfIni/x/hkxLJ+b1ncJK/mAESz02h/9+VgHe9v9iTB0LGEMWL3SWlQWw19qYYeiMilJeQ07MCx9AGm80oB4E1/7i108nbPUtjWzFWeVL3aaqmcaWDw2P8HsoCpH/oHQXNNtuxaVSd2I7V8qc1N6tf32E5w0JwVtYzEm5Net16yyHPp1QGxWlRnHDMlMVkRf0Ve5J/+cgoAKYyJgBhkP1ZqU90WkumELuahKEy/zTSZE7Z54SqTC3KbfkbEy+/zSJj8nis0xRntgy9qj5jsY/qgxi6FEivOxvHXcQ+XDDMqIPMJrBcdaoOqkgVHBQM3ACZW8AbQC+jx7JpGTXzpMRz1a3V98nlPBWponWXHvzAJCZkwYLL6x+5DOrQaskNCuNqPFY0Q+TLKo7HrFja64gfISLXhw97oYV8mObMl2AMI=","X-Forefront-Antispam-Report-Untrusted":"CIP:172.205.89.229; CTRY:IE; LANG:en;\n SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent;\n CAT:NONE;\n SFS:(13230040)(1800799024)(376014)(36860700016)(82310400026)(56012099003)(13003099007)(18002099003);\n DIR:OUT; SFP:1101;","X-Exchange-RoutingPolicyChecked":"\n W5FEqMYmENLJybP6jIohw85em608UT1SzVuG/fj+T6+gGlvrh39pTLa2mX1OhH9UWwNgCp52f7R9Ljv3KBSBzOUaHfcDVIMa/aYoSWBCQ5sN8lzdHYrNnh1TgVNQVFGNVWni9mGmMAMob3Mdk1VujqZ+ufQPSWRz3gUs6FXlMUJKwBSbUBMXVIDAhQNpRcv+bT47tBN/Wlrf5w48/pfha16E1VTywX7z+5CVYjvwN8NjYWSHrl4nKZ5kBRTahzWIididgO0rnmERM6uldPg2wP6NJ3k5OkSMA1v1zrBYyETED1CTvhWfCnKKQp5GvkfPS4QtwYjfhqZY4Cegn8vFMg==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":["AM7PR08MB5448","AS4PR08MB7904"],"X-MS-Exchange-Transport-CrossTenantHeadersStripped":"\n DU6PEPF00009523.eurprd02.prod.outlook.com","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id-Prvs":"\n 66424efc-6c33-4f2f-d802-08dea150007d","X-Microsoft-Antispam":"BCL:0;\n ARA:13230040|82310400026|35042699022|14060799003|36860700016|376014|1800799024|13003099007|56012099003|18002099003;","X-Microsoft-Antispam-Message-Info":"\n z2UY9Bh3+myY0JqKv2uOJolJVgySTHATHbiiRdmRS/6e0zy9YcA7iZHurokVy8FtcrvrKgUkVA4q1DGR4NSx02LH3vSMi2Ielx/n3c9A1k8W47FosFQwaknhKt54228PWW4BPDeFVLocXywpiYNfGwwvGRQm6WgV/0Vj/umbp4CFv7pbg1PjI3LMsERlrCQ+uz2MzwRV/XgHSqkKCnP12FfJYeyf9JY0L4o/ndQ0K8pXTk/8+CWT6/6Czf2Xi/DEm2QIjgDlG6T2ph5tFwtoiWjaif/ViEUf2BL+La9u8n+aAmiXes57FAcFcMEdipmDZjSbye+M6FKwNJm/n7lsfEE0CCMLxi7EuE67iAKe0M3KnSd6jwI1wGn4ADwTVYSMbk/e6XI5UJ3QNU1tR91yUKzEG+Ugs0u8qWKmd05YZz8mg3IdLPC9ue74xn3zAsCPQgnSzaAL9d+01busbEbw76+PwXleFzEuCd2I0r+n+qV9o70on4+OkejTyXJ2x4i6+9ojt3CYCHFJ0ELp4hi1ekXih1ei42FxSR8obZCOHD3zKeT4qPhL20KNRqDs6kvwpBCacxUUUr5eCpPp1f89hPiA7TW128us451VFomYJ5mT1hGsjM5J9vQ7S3OqW6+/QkZBsL0C63EXklPsDbJZKMDRO6G8iTvHy8+ZhwgIozD5/vDa04EbfpkE32MJq9Tu9ObTyL+3O82CjcFrSf4DmKFjAPkfwtt8vf177TYVekE=","X-Forefront-Antispam-Report":"CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com;\n PTR:InfoDomainNonexistent; CAT:NONE;\n SFS:(13230040)(82310400026)(35042699022)(14060799003)(36860700016)(376014)(1800799024)(13003099007)(56012099003)(18002099003);\n DIR:OUT; SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n /ssh5iw1KWfx9lDu02oBY11J30/oxfkr47arQx9VvXd9js8MAsuBqZhBmc/gTcddgVUSS5lkZk98o/FZU/lCQiv6aGHeL6C7ZYvBA3VFleuI0QzltTBIJbQ5LGJIHOuvjEhgygULngKGm6srGjqZk4o2qxD8/+aiUzBwwVWV/zrL6wHsjhEDR+uWXDoNiICpDEpn8etZlfmtWUkdvdQkXnZxLcwaHR9DsmT5NiLqpVfhMXoV8d4Kl1ccsUppMmaMgFFD8JSjjiQyrJc94ZOUPR4zwCg2oAcW8npS5KqaXCHR/jgJSDKgd0d9W7ex5H4RGcS2GQVDcr1m+Z4jm4kbcUmx0Krm8jvwO7s+7G3Gd74q3Mtwqb7wC2NG8oRimaCnE4zA4S3jrJ84lVPdzjFhMovv6kMQyE8LzJ7rN7Zlofh5antCaPRYFaYp4e7dVumj","X-OriginatorOrg":"arm.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"23 Apr 2026 15:51:15.6058 (UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 2677bbe1-587c-45c5-32e1-08dea1502701","X-MS-Exchange-CrossTenant-Id":"f34e5979-57d9-4aaa-ad4d-b122a662184d","X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp":"\n TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129];\n Helo=[outbound-uk1.az.dlp.m.darktrace.com]","X-MS-Exchange-CrossTenant-AuthSource":"\n DU6PEPF00009523.eurprd02.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","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"},"content":"When vectorizing loops with VLA modes, GCC may insert runtime checks\nthat compare poly_int values against constants. Examples include the\nskip_vector check for loops with known niters and the pagesize check\nfor loops with speculative loads.\n\nSince these poly_int values are bounded by the target's maximum vector\nlength, their maximum possible values can be determined at compile time.\nIf the upper bound does not exceed the constant used in the check, the\ncheck can be omitted.\n\nThis patch uses estimated_poly_value with POLY_VALUE_MAX to find the\nupper bound and inserts these checks only when required.\n\nBootstrapped and tested on aarch64-linux-gnu and x86_64-linux-gnu.\n\ngcc/ChangeLog:\n\n\t* tree-vect-loop-manip.cc (vect_do_peeling): Avoid unnecessary\n\tskip_vector checks using estimated_poly_value.\n\t(vect_create_cond_for_vla_spec_read): Make the pagesize check\n\tconditional using estimated_poly_value.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/aarch64/sve/vect-poly-int-cmp_1.c: New test.\n\t* gcc.target/aarch64/sve/vect-poly-int-cmp_2.c: New test.\n---\n .../aarch64/sve/vect-poly-int-cmp_1.c          | 14 ++++++++++++++\n .../aarch64/sve/vect-poly-int-cmp_2.c          | 14 ++++++++++++++\n gcc/tree-vect-loop-manip.cc                    | 18 ++++++++++++------\n 3 files changed, 40 insertions(+), 6 deletions(-)\n create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/vect-poly-int-cmp_1.c\n create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/vect-poly-int-cmp_2.c","diff":"diff --git a/gcc/testsuite/gcc.target/aarch64/sve/vect-poly-int-cmp_1.c b/gcc/testsuite/gcc.target/aarch64/sve/vect-poly-int-cmp_1.c\nnew file mode 100644\nindex 00000000000..03ab37e7c4b\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/aarch64/sve/vect-poly-int-cmp_1.c\n@@ -0,0 +1,14 @@\n+/* { dg-do compile } */\n+/* { dg-options \"-O3 -msve-vector-bits=scalable -mautovec-preference=sve-only -fdump-tree-vect\" } */\n+\n+void large_cst_niters (char *a)\n+{\n+ for (int i = 0; i < 5000; i++)\n+ {\n+   if (a[i] > 0)\n+     return;\n+   a[i]++;\n+ }\n+}\n+\n+/* { dg-final { scan-tree-dump-times \"if\\[^\\n\\r\\]*POLY_INT_CST\" 0 \"vect\" } } */\ndiff --git a/gcc/testsuite/gcc.target/aarch64/sve/vect-poly-int-cmp_2.c b/gcc/testsuite/gcc.target/aarch64/sve/vect-poly-int-cmp_2.c\nnew file mode 100644\nindex 00000000000..2a2af31b783\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/aarch64/sve/vect-poly-int-cmp_2.c\n@@ -0,0 +1,14 @@\n+/* { dg-do compile } */\n+/* { dg-options \"-O3 -msve-vector-bits=scalable -mautovec-preference=sve-only -fdump-tree-vect\" } */\n+\n+void small_cst_niters (char *a)\n+{\n+ for (int i = 0; i < 30; i++)\n+ {\n+   if (a[i] > 0)\n+     return;\n+   a[i]++;\n+ }\n+}\n+\n+/* { dg-final { scan-tree-dump-times \"if\\[^\\n\\r\\]*POLY_INT_CST\" 1 \"vect\" } } */\ndiff --git a/gcc/tree-vect-loop-manip.cc b/gcc/tree-vect-loop-manip.cc\nindex cd1ea746ae4..9271675dc6d 100644\n--- a/gcc/tree-vect-loop-manip.cc\n+++ b/gcc/tree-vect-loop-manip.cc\n@@ -3380,8 +3380,9 @@ vect_do_peeling (loop_vec_info loop_vinfo, tree niters, tree nitersm1,\n   bool skip_vector = false;\n   if (!uncounted_p)\n     skip_vector = (LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo)\n-\t\t   ? maybe_lt (LOOP_VINFO_INT_NITERS (loop_vinfo),\n-\t\t\t       bound_prolog + bound_epilog)\n+\t\t   ? ((HOST_WIDE_INT) LOOP_VINFO_INT_NITERS (loop_vinfo)\n+\t\t      < estimated_poly_value (bound_prolog + bound_epilog,\n+\t\t\t\t\t      POLY_VALUE_MAX))\n \t\t   : (!LOOP_VINFO_USE_VERSIONING_WITHOUT_PEELING (loop_vinfo)\n \t\t      || vect_epilogues));\n \n@@ -4162,10 +4163,15 @@ vect_create_cond_for_vla_spec_read (loop_vec_info loop_vinfo, tree *cond_expr)\n \t\t\t\t       amount_and_expr, cst_ul_zero);\n   chain_cond_expr (cond_expr, powof2_cond_expr);\n \n-  /* Create an expression of \"amount <= cst_ul_pagesize\".  */\n-  tree pagesize_cond_expr = fold_build2 (LE_EXPR, boolean_type_node,\n-\t\t\t\t\t amount, cst_ul_pagesize);\n-  chain_cond_expr (cond_expr, pagesize_cond_expr);\n+  /* If the max possible read amount may exceed the minimum page size, create\n+     an expression of \"amount <= cst_ul_pagesize\".  */\n+  if (estimated_poly_value (read_amount_poly, POLY_VALUE_MAX)\n+      > (HOST_WIDE_INT) param_min_pagesize)\n+    {\n+      tree pagesize_cond_expr = fold_build2 (LE_EXPR, boolean_type_node,\n+\t\t\t\t\t     amount, cst_ul_pagesize);\n+      chain_cond_expr (cond_expr, pagesize_cond_expr);\n+    }\n }\n \n /* If LOOP_VINFO_CHECK_UNEQUAL_ADDRS contains <A1, B1>, ..., <An, Bn>,\n","prefixes":[]}