From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) by sourceware.org (Postfix) with ESMTPS id 61244385E836 for ; Fri, 3 May 2024 01:57:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 61244385E836 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 61244385E836 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.198.163.15 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714701442; cv=pass; b=uNgMekbZ0HTIxk2sXAJLfVQLKUpOYfONUF+i81F8RaZ2NizaqN7fkwp6UPY+tVRAFA95qwltX1YwnD7v3nipgZLL3YQtWV3ZD+koJFXhEhcAEZnh/S/ThJNMUyXEQx0lWbIsTGyt7bVYX5WIXq6T/6FNKs3BLSyacqMHcmxYHc0= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714701442; c=relaxed/simple; bh=Msxfsd5JyWWrQog0PYyDj5i7vE9O3FvMQWB6V4sMtSg=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=L776znOYvjaoZVyR++DfjroI69ogaoFwxhRL0YLfdbzP+HtF0m3avvVQK3nY+OssuSR7wdt7fSgDiQiIPWI/Hv3uCVKo85pn6Re7fBKePB7JKHCg2j/BXO3gt8+TETiYJaYYbRMXpXjqB23ZunsBMALfjjgXOgtIvlqUGvW28cw= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1714701439; x=1746237439; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Msxfsd5JyWWrQog0PYyDj5i7vE9O3FvMQWB6V4sMtSg=; b=etARsKr7XbSbcjz1z5I4WYox80ArRM0NJQyCk9QE6LfqnO/sQ3g2m9wy GS72eRPjSoY/PZBNgtNRFi5iCrpKlccpzNODqqZzYQyfGvl1fw7nYlulr ZObMaizkGmjtt3Q/p+B3hGcvlq7T7I24ntT65K3x6rwO0un27+pFafGeK HEJFOTo72qQ0dM/xYJ5Ty7ymcnJraxC9+gBdCLqdf7+d0m4wgJXRWiPGX cnLouEYSuC8I2f7Io/nTkGXAxDAvOMenzwF69q3jY6IlhHW2dLwYwDLmM JQO0efOTjt1PE91/u+ZKZQYSbFqukBhnyqvy5F5AyqdP4boMeGNmsvAZY A==; X-CSE-ConnectionGUID: nnAavECLRUyhXnThRu/2Ng== X-CSE-MsgGUID: V7ieC1vFQSGeyl0lmj/PFQ== X-IronPort-AV: E=McAfee;i="6600,9927,11062"; a="10662848" X-IronPort-AV: E=Sophos;i="6.07,247,1708416000"; d="scan'208";a="10662848" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 May 2024 18:57:17 -0700 X-CSE-ConnectionGUID: UfKQmgr0RuyElDu11fGO/w== X-CSE-MsgGUID: 2x2oNc+pQTWxEgMddEVntQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,247,1708416000"; d="scan'208";a="27907736" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orviesa008.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 02 May 2024 18:57:18 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 2 May 2024 18:57:17 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 2 May 2024 18:57:17 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 2 May 2024 18:57:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LdH/TpLsQEV5XD8mSuWdnGgsyytfLHvhrxwjsCfyl2fvws1DxDNTh2b26BM//NwXKM7SoaOLOo/GltRV+upke0a4c/kU29Vc11RSCKRxLT0ZMwt5GARqwrOGpOAPfX0ty3D9neP9IjNV8OzZy6Qr3QmBYr8GtCdsr21YXKSbBz/uSLqIdF3IEIEbfjFefZnZeRe/zifS6KmCnInRshWiGoRglRVGBSRv6rniAT9FtT9hI0ILNtivwTSQDtDWQyTIkU4R0KYoc0Y7dolUyrGkUztOioyM7/6OLfc97OkNTdGmSZGay8t5Zh+nP01hOpYEfB2hPBM4JBpFkNCG9HwZVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=m5VquI7NyqZ6BWyCkhFha2+xXWNZf+oWvdVPyWJxgnA=; b=k/Dk9hjG73irFeYsQsfd78Yshmty3cliMhR6pZUhEk6NKMfOX79iUtfic+hU+py6LaXZHZlCogHxKl+RGRmIXKqsjwQJ+PuwlmsnCd1dHVYbUVnBRnCUohBssYtjV7MD/rQ1dt6Pw+ObBkA4jIusKzUaGfaNQwtqurm7r1mn4OSQIrwjJIFoEdgjbMW4/shy/vxhnMc6H5LhWH1pTrenBwY1zAoQQnhHapW0Z2elY09eo/otFNtf+WQ1abRjYrXAFOfisCfhEWs5oRXtP9Dhcvt6vZIzcA/7O9wjAxs5Wgw6TyMLVNtwEQL2BSBvYr8nWyyr6j1p02/ERrXnhOaDMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by DM6PR11MB4563.namprd11.prod.outlook.com (2603:10b6:5:28e::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Fri, 3 May 2024 01:57:14 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::aaa8:bc22:5fb0:5ed0]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::aaa8:bc22:5fb0:5ed0%5]) with mapi id 15.20.7519.031; Fri, 3 May 2024 01:57:14 +0000 From: "Li, Pan2" To: "gcc-patches@gcc.gnu.org" CC: "jeffreyalaw@gmail.com" , "juzhe.zhong@rivai.ai" , "kito.cheng@gmail.com" , "Liu, Hongtao" , "richard.guenther@gmail.com" Subject: RE: [PATCH v3] DSE: Fix ICE after allow vector type in get_stored_val Thread-Topic: [PATCH v3] DSE: Fix ICE after allow vector type in get_stored_val Thread-Index: AQHams509Ds+oX8BZUKOLbD9FN7d2rGArslwgAQVDwA= Date: Fri, 3 May 2024 01:57:14 +0000 Message-ID: References: <20240226032558.587912-1-pan2.li@intel.com> <20240430071715.3391799-1-pan2.li@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5908:EE_|DM6PR11MB4563:EE_ x-ms-office365-filtering-correlation-id: fefec436-cb18-4b7a-b706-08dc6b145aa9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230031|1800799015|376005|366007|38070700009; x-microsoft-antispam-message-info: =?us-ascii?Q?8wKjDbKUyLxg8aDLk5oz9mPq0jcqP3pg+vpYoOqr3LxXq7BqZuX5N8s4XyR4?= =?us-ascii?Q?TvaDuy8n+dxFueh0cHhfHn17mc73xFI5kGirK7zs2+GV7tm20E73ClO9fde3?= =?us-ascii?Q?5kmvkf0rnUgtUlBdNbVrgqQddRWBi+iGGBgc4lLnPUa6Ey5F4Dglh9lUFvnQ?= =?us-ascii?Q?S8DI8Om0jtqrGNuWVlu6udcDK1x+qq6t+i+13ZcBom4u9bVordnNJ1ZIYtUo?= =?us-ascii?Q?s5YEJkh33jJjkvcuq7FfRY7+KAN9TxAn4lYZemUs1MOsY5Ni9qQ2wItvYjbb?= =?us-ascii?Q?w0ZxwCmb/LTigdKH0CSDbkwu4RZjFwH/Uu+qOZwURnRVfVmkSvTJ3Q17Ruhb?= =?us-ascii?Q?OT/gYBRy2BHlLPwH85QoofSAFopT2MSveCRrK9KAd1CIJDYksxUPfsU4/3IG?= =?us-ascii?Q?tKPvd6F7PEWCU+SiYXch4KjnUzDmPzGVArUozhtT9AH+flsNCZ9S+Ans2RW8?= =?us-ascii?Q?wZ9UVx9zZQ8UG5MMrLrqJM19vegMwvekGvMexmB0LOAPR5G0HEiSsyaHeDae?= =?us-ascii?Q?ZXc8TIUMbHUnZlY5+bmY/P226SVa6g/F/vE8oXj3ZvA+z4N/mBgNsIqCVUhC?= =?us-ascii?Q?yzYbb5dBDKlvRAZiznAifwODhVXJsr1S7MRG/oakeynOHovJt8xrvcUubX7G?= =?us-ascii?Q?ixEyjKFOhBxn5WDK58FNCyEQOslxiYpoLBYQsWP2BlQMk8se0szLDlm5NIlC?= =?us-ascii?Q?DwsUvr2dh7HMHdqzmMzoFG7d6vW2I+SVcrCWIpYKvaIFTnbmIJnTttzfsESl?= =?us-ascii?Q?L/LsLtjHeYWepAHPfkjwC2Za9odaRggzU6prs6za3Pd5S9r2/MooEOoTahEy?= =?us-ascii?Q?g9iue9HSsORsfh0J2uP46uIx1t8SZydgscl3s4+PU2+XSjoDzCX13XyvnSMm?= =?us-ascii?Q?n7CdWCce+RohyQReLegLobDA1HA8CmAxpKe+tlhtaxt2pM8SKS0a0OOLfjQp?= =?us-ascii?Q?Rys91LGjyCaNCQ1KU2vXXppobsOOWWg28ek+X+/aR+W353yC8zF4j+J45Uev?= =?us-ascii?Q?ecpi8jM1jCix4mTU4Fxfyj6yL5jxpZDrJDeZv5hnysH+iFln+qio8hKhT5v6?= =?us-ascii?Q?3SaWt8sgrW1En2lWhAyyElbVuiTz451KBYP+5/UcIpYBag8JUDFENlSx/Lxc?= =?us-ascii?Q?ObAZdNwvT7X+4WfCdKCfDk1REzE/ee5T97bv5RXoBLiAgYP8DrVSBIaFm/N4?= =?us-ascii?Q?sOZYPA4XeWo0Y2xgKZmk8f2XHsfgvGMzcL4Bt6nPsF+zDF3cvt0oqfFAeLGg?= =?us-ascii?Q?4PHmIj823deNMRSoELEEBj1FNIjJHAvvJQUVMUeRybCxtfSuu49NKdZwt1hj?= =?us-ascii?Q?DAA=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?6dWAZVoLmMwZC/lAn1jZPCIpHETMNOqgltf2OS/Gg8jx5Nf7u5jM+kNVTVaj?= =?us-ascii?Q?3MwBtOO9zmyHFwQQFbxX3Czh205vOx4yn1zHRf44On9SkK/+sLDG2fc/ixxr?= =?us-ascii?Q?n6s9V4WkvN1JO1/EyLgrq0n/KM0CDXDULueP6NB5NjCOz6DEJ6UBRrageoYt?= =?us-ascii?Q?B1ud6FKRDBfV4NBzCA0PVOcbkpdh0z5T8eMXS8kRwvlImuf7ozoDvIeQ6YXy?= =?us-ascii?Q?pPjn88rdewY5Ben8YHEIql+VdZZB82NM01/BSus/TXbvF6HAfL3aySDRqaOG?= =?us-ascii?Q?6hUUccre1mPtlyAP9ORIsAX6Vhbi7JrgfT4uoui2+2ASYTBt+4Aviy/UiQbB?= =?us-ascii?Q?re4Esad1PK9fx9S8sRfe/Ddz2dXNg5e2lo03WpZmvK63sjf6yYvvN6J/NCph?= =?us-ascii?Q?56AkMY2JAw9NSCMbHoHzaXGYrZ+1ZrjEil4ZtfpSt6l3g08iu4U0Lu5XtqfV?= =?us-ascii?Q?hGN9CzjrQPtxFQ9T/PYtx1o0DQAfssNBBOYa+TwjMbHiIvx5bdOaKQysfN4+?= =?us-ascii?Q?UmxtSPEgJdKKjO/kUQc9IUvyR7dAI5LEghyy6aioIwds6hh6mtBnqUjdDZBG?= =?us-ascii?Q?uFYTDsnBuJ9vsDFhtZXxI9oNc9+hXnOI7QBl6znPVNvzl26znTDknxMcW7tV?= =?us-ascii?Q?Hyr933LdRZlUxDOzx99+a5BQlOoJQBdhMWNfqiR/7JI9tbiO2DoI9Wj4PUZh?= =?us-ascii?Q?4nLRptrC1el5OrWTFkIJo4MbieIxIIbNd+xeLJ7zvS0CpEcRadrG8/Lm2xgh?= =?us-ascii?Q?5XCs3U/+Wue7x+RAHM+gE0iiA2xJS/k1DGj4pSGZvkOZ30TRvh3iGamNWXtK?= =?us-ascii?Q?ULUscgarupz7JAX7AeS5/Sn+BpShzjFs18fQ6VV0rIh3W9v3gOhvz2tiig1W?= =?us-ascii?Q?JXWJ6X/vyah2oWuT/UYCqzRqXEfCGvIaloTTfZ9DAFaD94zsWyXRfFV1NcrD?= =?us-ascii?Q?ZEBueKsj2wEg1AsWaEWfbTK4sDmgpMIH4WKhseFJaaKRV2mArhIjDgHVvzmP?= =?us-ascii?Q?RvlKXGdQgLXYsHHgihMaDzrNdDkG3Mta3Jl2kram7kD2WwlSZ5ENfKgMAEdB?= =?us-ascii?Q?R6Y/4gzqHxypB/6J02gx8Dm9CKiSfvkblvt8h/JyHeO2kSJP65dOPT/MZxUl?= =?us-ascii?Q?fMsxSYg4YEn8DBtm756VcRlP6eJIjSOn+ZygmzkcN2DEdANRtTEgd9/jC9J3?= =?us-ascii?Q?KtHiSIpFTLcIU9F9ZVQMjSHZRjr2iIH5r6epS8gP8rQ2lcJhPYEIxXf4hDIn?= =?us-ascii?Q?08zUHj4lVemTbfm7eU1gPTO7Zhfa5sMA2O2TAnFBOFwG4rHo+q2XEMrSoKu8?= =?us-ascii?Q?TE9kNwG8qXhI2DsmjdfFDr6K5ECto3q629vupScljgLE/SsmzZkzgkX/zelK?= =?us-ascii?Q?pCzpqEY4woEpsyeiXHAf8hl4LDa77a6bTb4MDBDTqxds6iRZ+G4IlXhIe/bE?= =?us-ascii?Q?QHoHmVw2hn9nAPzlRnuhIxQ3zcQ0d4Wm1b9R3Y4XOc3xi/2cSVV/pxvpFR0I?= =?us-ascii?Q?SfM33K2AEzbEmNfUMntb/QmYvwJlENIex8/7pv6sA4hwLGDYKfXXuepZ9lIB?= =?us-ascii?Q?4YDlLVMyLtAxb0weihA=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fefec436-cb18-4b7a-b706-08dc6b145aa9 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 May 2024 01:57:14.4337 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: EzCvb48MRLN/od90SR6JxoIgwAmFAnIjRWBIrAyBaYvW+3g9KRSeFOnOvCiD3t2l/0cVkhfJLTcXOYMsiPd5jw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4563 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Try to invoke validate_subreg directly in v4 as below. https://gcc.gnu.org/pipermail/gcc-patches/2024-May/650596.html Pan -----Original Message----- From: Li, Pan2=20 Sent: Tuesday, April 30, 2024 7:36 PM To: gcc-patches@gcc.gnu.org Cc: jeffreyalaw@gmail.com; juzhe.zhong@rivai.ai; kito.cheng@gmail.com; Liu,= Hongtao ; richard.guenther@gmail.com Subject: RE: [PATCH v3] DSE: Fix ICE after allow vector type in get_stored_= val Linaro reports one build failure for arm but works well in aarch64. /home/tcwg-build/workspace/tcwg_gnu_2/abe/snapshots/gcc.git~master/gcc/dse.= cc:1951:45: error: 'REGMODE_NATURAL_SIZE' was not declared in this scope Looks only part of backend implemented REGMODE_NATURAL_SIZE, then reference= this macro here may not be a good idea. gcc/config/i386/i386.cc:20835:/* Implement REGMODE_NATURAL_SIZE(MODE). */ gcc/config/i386/i386.h:1050:#define REGMODE_NATURAL_SIZE(MODE) ix86_regmode= _natural_size (MODE) gcc/config/aarch64/aarch64.cc:2479:/* Implement REGMODE_NATURAL_SIZE. */ gcc/config/aarch64/aarch64.h:1505:#define REGMODE_NATURAL_SIZE(MODE) aarch6= 4_regmode_natural_size (MODE) gcc/config/riscv/riscv.h:1212:#define REGMODE_NATURAL_SIZE(MODE) riscv_regm= ode_natural_size (MODE) gcc/config/riscv/riscv.cc:10241:/* Implement REGMODE_NATURAL_SIZE. */ gcc/config/sparc/sparc.h:706:#define REGMODE_NATURAL_SIZE(MODE) sparc_regmo= de_natural_size (MODE) Pan -----Original Message----- From: Li, Pan2 =20 Sent: Tuesday, April 30, 2024 3:17 PM To: gcc-patches@gcc.gnu.org Cc: jeffreyalaw@gmail.com; juzhe.zhong@rivai.ai; kito.cheng@gmail.com; Liu,= Hongtao ; richard.guenther@gmail.com; Li, Pan2 Subject: [PATCH v3] DSE: Fix ICE after allow vector type in get_stored_val From: Pan Li We allowed vector type for get_stored_val when read is less than or equal to store in previous. Unfortunately, the valididate_subreg treats the vector type's size is less than vector register as invalid. Then we will have ICE here. This patch would like to fix it by filter-out the invalid type size, and make sure the subreg is valid for both the read_mode and store_mode before perform the real gen_lowpart. The below test suites are passed for this patch: * The x86 bootstrap test. * The x86 regression test. * The riscv rv64gcv regression test. * The riscv rv64gc regression test. * The aarch64 regression test. gcc/ChangeLog: * dse.cc (get_stored_val): Make sure read_mode size is greater than or equal to the vector register size before gen_lowpart. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/pr111720-10.c: Adjust asm checker. * gcc.target/riscv/rvv/base/bug-6.c: New test. Signed-off-by: Pan Li --- gcc/dse.cc | 4 +++- .../gcc.target/riscv/rvv/base/bug-6.c | 22 +++++++++++++++++++ .../gcc.target/riscv/rvv/base/pr111720-10.c | 2 +- 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/bug-6.c diff --git a/gcc/dse.cc b/gcc/dse.cc index edc7a1dfecf..258d2ccc299 100644 --- a/gcc/dse.cc +++ b/gcc/dse.cc @@ -1946,7 +1946,9 @@ get_stored_val (store_info *store_info, machine_mode = read_mode, copy_rtx (store_info->const_rhs)); else if (VECTOR_MODE_P (read_mode) && VECTOR_MODE_P (store_mode) && known_le (GET_MODE_BITSIZE (read_mode), GET_MODE_BITSIZE (store_mod= e)) - && targetm.modes_tieable_p (read_mode, store_mode)) + && targetm.modes_tieable_p (read_mode, store_mode) + /* It's invalid in validate_subreg if read_mode size is < reg natural.= */ + && known_ge (GET_MODE_SIZE (read_mode), REGMODE_NATURAL_SIZE (read_mod= e))) read_reg =3D gen_lowpart (read_mode, copy_rtx (store_info->rhs)); else read_reg =3D extract_low_bits (read_mode, store_mode, diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/bug-6.c b/gcc/testsuit= e/gcc.target/riscv/rvv/base/bug-6.c new file mode 100644 index 00000000000..5bb00b8f587 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/bug-6.c @@ -0,0 +1,22 @@ +/* Test that we do not have ice when compile */ +/* { dg-do compile } */ +/* { dg-options "-march=3Drv64gcv -mabi=3Dlp64d -O3 -ftree-vectorize" } */ + +struct A { float x, y; }; +struct B { struct A u; }; + +extern void bar (struct A *); + +float +f3 (struct B *x, int y) +{ + struct A p =3D {1.0f, 2.0f}; + struct A *q =3D &x[y].u; + + __builtin_memcpy (&q->x, &p.x, sizeof (float)); + __builtin_memcpy (&q->y, &p.y, sizeof (float)); + + bar (&p); + + return x[y].u.x + x[y].u.y; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/pr111720-10.c b/gcc/te= stsuite/gcc.target/riscv/rvv/base/pr111720-10.c index 215eb99ce0f..ee6b2ccf7ad 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/base/pr111720-10.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/pr111720-10.c @@ -15,4 +15,4 @@ vbool4_t test () { } =20 /* { dg-final { scan-assembler-not {vle[0-9]+\.v\s+v[0-9]+,\s*[0-9]+\(sp\)= } } } */ -/* { dg-final { scan-assembler-not {vs[0-9]+r\.v\s+v[0-9]+,\s*[0-9]+\(sp\)= } } } */ +/* { dg-final { scan-assembler-times {vs[0-9]+r\.v\s+v[0-9]+,\s*[0-9]+\(sp= \)} 1 } } */ --=20 2.34.1