From patchwork Tue Aug 4 09:42:56 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tamar Christina X-Patchwork-Id: 140572 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 2964D4BB24C2 for ; Tue, 4 Aug 2026 09:44:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2964D4BB24C2 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=CEbLbokQ; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=CEbLbokQ X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010030.outbound.protection.outlook.com [52.101.69.30]) by sourceware.org (Postfix) with ESMTPS id 6F76D4BB24C8 for ; Tue, 4 Aug 2026 09:43:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6F76D4BB24C8 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 6F76D4BB24C8 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=52.101.69.30 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1785836620; cv=pass; b=F7fdWx4JGXdNLvWbm6SFHbb3ALHWKVoc5iYSSlT7QwG368wpUOcH0ft7zD5HKbxqbc2P1fDvQnYGV3pL+Et05Yoq7oo9dANIRD7PPOa9+mCGlX8qdHh6QIvtzhQGz0HKC0wXSoacXxmKeJS+JWK/mk4Yvg7qmV9LDYz9Fxaf/VA= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1785836620; c=relaxed/simple; bh=snVoUxA5e+w3X8SHwFwK7dt1YTeIV958P/yp81jcUJA=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=q2PE6XIDtcM2IegnrjmrnJD6nrU5EI+CKGn4slZ3IiXnt5tWMzipICQBKUSDaotDi3fysVcUaj8ugzmPY4xUQ7y7AI4CcBbGSlG4F0aiMFqWi0QfJWqihCJ8IdS2k+eCEYGo7pM6UjqU8SlV9X+ZBR0toVJ2Zyn8HOz+Xj0uJnk= ARC-Authentication-Results: i=3; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=CEbLbokQ; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=CEbLbokQ DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6F76D4BB24C8 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=uzQWwenV3CHpPZoZIWK6qYJBjqcUsUBWpJ+yHXlcHuVwTwi0/ROj6CFqp/TnAXlushebc04kHyDAby4brG+VP3HIRn2Xw8S0s3R2PS+B/YFgMvs6KuPQN+CqAzQeQnuLSAedaCD50Q8yl7pXPhJ0qnDTgDZuLVfDNxwCfgOpnuWcf18KNUtgbxd9q6NGRIgqExqPQBYY32RxTkRWPGoF1ktJZlpA4Og/9J6jubpRBuKQHbjAVhDLjDS7pnPn0GM1ftIhfNbLD18OdjQ9L4oRQh+NC31Yse8IiBPCF4sXlyX98aQlNmPhuyFeOjnOHj7h1mdT7GN/4IxuxYhdGaINNw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=MGfG/uWTlVaE9v1jkc7f0CNm6YkLXINfOZMgK8SK9tM=; b=icHxk5GN++rZbMU38nXHBID8GVtWNRjrjDeAUmA99a/S3cxKTZjELsKxJLabQpBMkS5xIzJftXmoAnziAkYmpXiYrTsSAhqQicKnLdR1S83xhhseSjAAiYDnAHw0BV6IaMTCMXC0LfqUmcMmzBeb7ze8MWCPv+E9oO6VS0whsikDlQXl9dyG1njzTZYfreQBNY0wRfVmfKEalc4wV8TfRkWdns8r3uOZh/QbE/P/+wr3ZNB99YWGVSnO4hKMPcv2kGWlLa5KACsDZnIYtF5csh0R3mANlXdaDfGFHzxRU0yLZZ5ErzVCRQXloXTrbCTZM09+xWbaQhF5+AeiyXm/8g== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MGfG/uWTlVaE9v1jkc7f0CNm6YkLXINfOZMgK8SK9tM=; b=CEbLbokQWpQIYiRFNjkoD50w8utVGE31whC+CvSPE2bCaWTTIUL+DdeN4SGi9bk79PGiDrY9LJW9kntCIidup48f2iyyVBBAEXXK2hQmI53kyF4hkjNg6VOZkqC75c83ydYWPqbU+BzLRPBasaseH2mYvXqjkt2kYa47J92kZ24= Received: from DU2P251CA0001.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:230::12) by PA4PR08MB7546.eurprd08.prod.outlook.com (2603:10a6:102:26c::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.18; Tue, 4 Aug 2026 09:43:34 +0000 Received: from DB1PEPF000509E3.eurprd03.prod.outlook.com (2603:10a6:10:230:cafe::4) by DU2P251CA0001.outlook.office365.com (2603:10a6:10:230::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.270.18 via Frontend Transport; Tue, 4 Aug 2026 09:43:34 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by DB1PEPF000509E3.mail.protection.outlook.com (10.167.242.53) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.270.5 via Frontend Transport; Tue, 4 Aug 2026 09:43:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KuVBhRHiomaFRoZ0MAGWjvXgHrauDKYe4DfZ2YyNcSl07cGy68dnCiSOHKBDgUJW3HRNAneEWlCAYZ7RNVrRNi/+ZLIR8x0UTsfw/C5OkRE4lomAcYK7Mb9DGZudHvuRlAeHrUl+KaB2zYLe6Q79oFQJDXn4c5tu+3SDZRl0P92hIn6S/VcZm9Bv1t/TFjKGbmiTXqQXz3CYEXiFTzYst59J/PFIzSaByAYeZQtHw0VW2C1PLQ2DmBd0U8EqFFs7Ejrb7OEukfhLolTG7JkanSFD7kv9FNZ3pA07aTs75Ml7MimUZO06KO18tlDNWuHEN//hHpGUlexoP9riiv21Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=MGfG/uWTlVaE9v1jkc7f0CNm6YkLXINfOZMgK8SK9tM=; b=PGO+20mui0PNzWB6l/goRPSBOZ8mwwpMfCHCQD1Ev/uq46sh088nZ61pHG414FINF8hFOeIBon22jfMpXUoCSXa8+Jv6gYohsloxDVhLXglGsrGR5fW5r4uz0pSbV2D8WTRoWlrD5ZACTYjqn3o99gcFyeB3qmD77kfp1IgFeRz0kIWt++08Wqnd3L0RVX89uayb5CwSwigZTkeaM1ktrH3nc9fFY2hLGLR5/3LTCq8qO8hkQStkrmGR/c2akJzaxmMcfYPOPitOYlPJMkMeb6t05RddyQsd5QdXw2xNO5+QQVEPOeE8XSQTWzAaPWG0SzZ9XBmTKC6idAsElnhcGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MGfG/uWTlVaE9v1jkc7f0CNm6YkLXINfOZMgK8SK9tM=; b=CEbLbokQWpQIYiRFNjkoD50w8utVGE31whC+CvSPE2bCaWTTIUL+DdeN4SGi9bk79PGiDrY9LJW9kntCIidup48f2iyyVBBAEXXK2hQmI53kyF4hkjNg6VOZkqC75c83ydYWPqbU+BzLRPBasaseH2mYvXqjkt2kYa47J92kZ24= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI0PR08MB10392.eurprd08.prod.outlook.com (2603:10a6:800:210::10) by PA6PR08MB10470.eurprd08.prod.outlook.com (2603:10a6:102:3d5::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.15; Tue, 4 Aug 2026 09:43:00 +0000 Received: from VI0PR08MB10392.eurprd08.prod.outlook.com ([fe80::cd7c:e19a:2072:75cc]) by VI0PR08MB10392.eurprd08.prod.outlook.com ([fe80::cd7c:e19a:2072:75cc%4]) with mapi id 15.21.0292.013; Tue, 4 Aug 2026 09:43:00 +0000 Date: Tue, 4 Aug 2026 10:42:56 +0100 From: Tamar Christina To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, rguenther@suse.de Subject: [patch]middle-end: fix condition on multiple negate pattern [PR126602] Message-ID: Content-Disposition: inline X-ClientProxiedBy: LO4P265CA0261.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:37c::14) To VI0PR08MB10392.eurprd08.prod.outlook.com (2603:10a6:800:210::10) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI0PR08MB10392:EE_|PA6PR08MB10470:EE_|DB1PEPF000509E3:EE_|PA4PR08MB7546:EE_ X-MS-Office365-Filtering-Correlation-Id: 4c153511-aef3-4ead-0d93-08def20cda21 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|6049299003|23010399003|376014|1800799024|366016|10067099003|4053099003|56012099006|11063799006|3023799007|18002099003; X-Microsoft-Antispam-Message-Info-Original: 5uvk+Gz80WedYwDDZtVROoP72vcSDxvOZ9SAy9ZvKme+aXvKMOeKo0WuowKUfI/pMmgIyAHEltNccW+PzkKdRA9KfU5heGLbLxfduhGYMtKWVj0BCWFmOixJ97OCb59xWBVJ35BpEsb9wQs5G5r8pkPc0KmiMI7zp8e8JFidqNJE/7DbNLaq5OLXoiftpHhbYFI1bF1k9EXL7mMUV836Qy0fEOGd/JKNhvAtW5ZBhCR+PU0vhqvCkBmbmoYs89adWXFVFKtHHpdRCMKp8dZRAZuXHqurM2Jj7b0kh7WYF+hLSwM+veHXZ2fcFkjZxBH5awUqrkWbLCSBdkyNjr835ZBqqTj0KyEJWdbR1U2JgZ3R9rjCWdWZfBPqk4T4F0K00ryMFRfCwOFp1wuJ3UMoppSEeDAHVaZ7GGbnS6nipgkFIEauHswI9iW4sS4dN/Ib/AYrkwaTznLPGwkUWxJvIu4QMSNSbPgJmPTPs2zkC/WDfOZ7wcGKED4qwGHG0JGOe/AHsA9BjPvsyiTjdO3oQofIO6mvc+AAcn0weAXSeBIPmvSowtTHevxr1lxRTEVJ+OvWyIJaFq4XOFPg7Q5wfTQvyIO9zfO58r3lDV03ppZaeOsIYHOoQT2cBiw5j3Dd X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10392.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(6049299003)(23010399003)(376014)(1800799024)(366016)(10067099003)(4053099003)(56012099006)(11063799006)(3023799007)(18002099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: grbgFmnOZVlQ+NXzW9KwwRr7fJ9UvrrgtW2duzbqbBjLUO6v/Q8PvoPR2FT0UEj/EGHg5hjQz3fS0q+aOtrTu5Ok/MQ+8lN6OCNufgQAFtv6eSOxhgUdEb+XMQ+nzQG4ZbywdljiRxBpT4cTzP7lvBVySjohwFPAg5upJSb3JcSa1AVb2qlmBLsLTVGfcbbMEcnyvE9hLSbT2t0aIsH2MMguhddOgrg8Pum+/xujde4sdxixzrvzV3OwVPGcv2kN0msz9SS8ERUED3yMs3VVEs3j/fg2+XFkPd6upusxelfkFzaw/5ATtYeVLpk01OJNpw4OwJrsJKq3QIRgdZULFw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA6PR08MB10470 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF000509E3.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 961448df-f747-4bf1-47cc-08def20cc584 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|35042699022|1800799024|14060799003|376014|36860700016|82310400026|6049299003|10067099003|11063799006|56012099006|3023799007|18002099003|4053099003; X-Microsoft-Antispam-Message-Info: lNPAmYRB/LLJhPe3Dfe/z0EulvpOGvLANfxdTkuJOJjsn3rqAR1I3ROhxOm3aJWScOjFyHG11EcvXH8L0pUXiosDHY/oMCyztLz0Eq1n7O0GudyfOe8sK6O7QtT2n1DxWyUKyABRL6Kn/tYglRiCMQMYrHLoi6e/i4dtDAHxE+Fw5O28RrGBC/Lz+3dtD4HO5QmqgiMWgGci20P6fXxhQpSvGBY/9pafOnQazyyBeGp3HG9KES3UqeX/o+q+E07oru1Wlz6cH4qsdv3eUP7kbMj/sTGTWSDcAbXj9zudef6bmGKB4eb4/1uajS4f/02JWoF+ar+555I85Evs606fNTulrJhKSOLDq0p60xtSffAJlk3vdple9j57MVKYhvWATmB8Cy8NIqiK21VIiVidWBtmJo1udd0kgQdGYEx4W5Tob9NzR+o5BeC4Z95wl9T1bZhvEzy76ADB/xl16//0tOcA9PbUT2ifgFThlGaLRDIw18H1Q7V0eLv4McVKBdpbxCYXnsja2zgmCNEIYeK8OldraVk9kBChuiUc7CWXszbu+PdLyopDeeBg434E+51C2wDZpvCuk++lcduryR6VBv3hIOmDflmO+2vICpuXX+3uuTuB7GD/9OtazUaVBgFxb/5TT/l4L387SKr84B69EhRjze600A09hIYfq+TISj4= X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(23010399003)(35042699022)(1800799024)(14060799003)(376014)(36860700016)(82310400026)(6049299003)(10067099003)(11063799006)(56012099006)(3023799007)(18002099003)(4053099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: heTuFF72A1cm+3QGBXM2fXzdH3Ipe06JWH9DBPPVwV7apZqgBMDLmLxHovY87ufsC4yhSWnwn0tZN129f0bSPDITfDEQ1NK8ln4WthHl3T3/QEdKXvWsrXU1SPA43P+IwUX0OKKgBwz4DlI7sT31lXEN0Rei52MOzP0hcowtBUoJu7k/rhxgK+WVw2JPCt0sVVB9LHmDb20lacE0ALQIyfR7lf0SlG21NXatDntr5bCXjxvSh2ji4siEp3o55h7+Mz6qPW9SkCqjdcTsan5EFwSuHF8tLg0btOwJqPS/sUHtYedIPIhcBvhLf83+2T8m/lKL22AVDbjqk46cSC7xYHcSg942UrIZe4vmo5VMf4maMfOf+/CdvhwRPF/FexuqAAFmiGYEQ4rUk4KJI1GaSygN9SSO4Ujx5kIUUl8WDIpqA35rMEX+A3QtQ9RHxgDE X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2026 09:43:34.5651 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4c153511-aef3-4ead-0d93-08def20cda21 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509E3.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7546 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, KAM_LOTSOFHASH, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, WEIRD_PORT 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~patchwork=sourceware.org@gcc.gnu.org The optimization added in r17-527-gca2920882be has a bogus constraint which allows floating point FMAs through and folds them into integer ones. i.e. we produce Matching expression match.pd:159, gimple-match-10.cc:33 Matching expression match.pd:159, gimple-match-10.cc:33 Applying pattern match.pd:10328, gimple-match-5.cc:8685 gimple_simplified to _15 = (vector(8) unsigned int) a_6; _16 = (vector(8) unsigned int) _13; _17 = (vector(8) unsigned int) _1; _18 = .FNMA (_15, _16, _17); _3 = (svfloat32_t __attribute__((arm_sve_vector_bits(256)))) _18; Generated FMA _3 = (svfloat32_t __attribute__((arm_sve_vector_bits(256)))) _18; Which ICEs because the SVE attributes don't match. This fixes the guard where I think the intention was for this to only apply to Integral types. Bootstrapped Regtested on aarch64-none-linux-gnu, arm-none-linux-gnueabihf, x86_64-pc-linux-gnu -m32, -m64 and no issues. Ok for master? Thanks, Tamar gcc/ChangeLog: PR tree-optimization/126602 * match.pd: Fix constraints. gcc/testsuite/ChangeLog: PR tree-optimization/126602 * gcc.target/aarch64/sve/pr126602.c: New test. --- -- diff --git a/gcc/match.pd b/gcc/match.pd index f6ecee41509e360e430da5e0339f998c069495ba..9c821575793fa51095c15d0cde68e636138383ad 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -10305,12 +10305,12 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) (simplify (fmas:c (nop_convert (negate @0)) @1 @2) (with { tree t = TREE_TYPE (@0); } - (if ((!ANY_INTEGRAL_TYPE_P (type) - || TYPE_UNSIGNED (type) - || !TYPE_OVERFLOW_SANITIZED (type)) + (if ((ANY_INTEGRAL_TYPE_P (type) + && (TYPE_UNSIGNED (type) + || !TYPE_OVERFLOW_SANITIZED (type)) && (!ANY_INTEGRAL_TYPE_P (t) || TYPE_UNSIGNED (t) - || !TYPE_OVERFLOW_SANITIZED (type))) + || !TYPE_OVERFLOW_SANITIZED (t)))) /* Move the negation into FNMA only when signed overflow is unobservable for both the outer operation and the inner negate. */ (with { tree utype = unsigned_type_for (type); } diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pr126602.c b/gcc/testsuite/gcc.target/aarch64/sve/pr126602.c new file mode 100644 index 0000000000000000000000000000000000000000..3b9378cebb14530443b2503a04634aeee2d2e901 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/sve/pr126602.c @@ -0,0 +1,28 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -march=armv9-a -msve-vector-bits=256" } */ + +#include +typedef svfloat32_t sv8f __attribute__((arm_sve_vector_bits(256))); +typedef float v8f __attribute__((vector_size(32))); + +/* c - (sv8f)(a * b), multiply in the GNU vector type. */ +void p (v8f *pa, v8f *pb, sv8f *pc) +{ + v8f a = *pa, b = *pb; + v8f m = a * b; + *pc = *pc - (sv8f)m; +} + +/* Mirrored: multiply in the SVE type, addend a GNU vector. */ +void q (sv8f *pa, sv8f *pb, v8f *pc) +{ + sv8f m = *pa * *pb; + *pc = *pc - (v8f)m; +} + +/* Explicit negate of a multiplicand. */ +void r (v8f *pa, v8f *pb, sv8f *pc) +{ + v8f m = (-*pa) * *pb; + *pc = *pc + (sv8f)m; +}