From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id C42A33858D1E; Tue, 3 Jan 2023 09:10:35 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672737036; x=1704273036; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=3M4xE+3nx+clDOjrKFSAPUi5HonL+3iaMmqxwCTDNNE=; b=JfwkPFhupFfx4TSi62H9wLde9u1CCd23j4jkVZXkdBwUzb3a1oJzQ9ri af10tJPN1gy7+IhUDgrUwJotfXRwQFBS2iMDBCEBr0S1XqH4vxTy48Mpg ZFJYGluT566lNHGVMzLZm9vC2i3PaKoHuN3iMr+5n+GEc5UQOu8OBNTI+ BcML7UEnMtwyUGSooEVVTkxifvmbkmRWvCK4N0vqegmgAzvhK0coSoZPT WKmLt0ZzqHNaUiaRyRMyO0EkHmUdLDKVqZ3krBIGMEYh9zjX3a4AOx/4f HhIV6a/8/4rIZhdvaIH4wjubbJLdzVUssoTsKtHUtmoTW9YjlxrcEuzDl Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="386055346" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="386055346" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2023 01:10:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="983511206" X-IronPort-AV: E=Sophos;i="5.96,296,1665471600"; d="scan'208";a="983511206" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga005.fm.intel.com with ESMTP; 03 Jan 2023 01:10:22 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Tue, 3 Jan 2023 01:10:21 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Tue, 3 Jan 2023 01:10:21 -0800 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.16 via Frontend Transport; Tue, 3 Jan 2023 01:10:21 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.42) 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.16; Tue, 3 Jan 2023 01:10:15 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xzm5td5UFsNVYGViBgUFVY2Th2QYbFz6pcVoDCJz6dbfgvw/uXniT13EPWsDMFpN3dVLH/O7tXPbDd0jnpnplKdDBhH4TbtIcfQ+vLUuTMi9JD2THPj76znkP6J7VevUreo2njB8nlLfW32eECDh7MMaQJqbsxtnq6XvKamkON3IlgyLqjeEt0Yq78+YafYdAiY91JnN+qXfGDZitNqvyP0bs5oY/B71bxZxICvk9Se9ydOZSwjb+peP87ozhAuN9oz7caFC5QqbWrTBsJAB0sFOqq2u947dHJtR7p2XTgFBXqZtLqmCur2OBVARljgkks1QTBzoT/oxJvYhXsiSyg== 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=BxEqEPVn7DL5mkfifPFG2NUW49FXnv4mV4BD49+2B9c=; b=BhBiOFZhk48kz3Ihl23a/TRZPRHvgkb6j4SUGnZdM1BJ9tbVJi00uEn6OPzULefDKSdlviQfHKeQAkAH7Ge6C6s8IpmSP8xwbckrzrwxJkdzwu9/ZZP620UcK8o1RnteDs7HcNhcEFu4HskKZN1d006x2jA0e175/11pRa8JzYtCDO4JnV+5Bl5waEtZad6SDVYdQvbNdSPlYMI6hmciklopQDHRdR2HN5enl5gf+1Wg5gLtgijmUBbCOH89j2Z6yLlAbloU3eVt3do/fkOSzUc60QM+miPDYymNjxTqqp6PuOLxld1HVrDvPuWtEmKQwwJpOSxI4n4rIku3+aV2aw== 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 SJ0PR11MB5940.namprd11.prod.outlook.com (2603:10b6:a03:42f::18) by DM4PR11MB7183.namprd11.prod.outlook.com (2603:10b6:8:111::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Tue, 3 Jan 2023 09:10:14 +0000 Received: from SJ0PR11MB5940.namprd11.prod.outlook.com ([fe80::ab5b:a35d:74e3:9056]) by SJ0PR11MB5940.namprd11.prod.outlook.com ([fe80::ab5b:a35d:74e3:9056%6]) with mapi id 15.20.5944.019; Tue, 3 Jan 2023 09:10:13 +0000 From: "Hu, Lin1" To: Segher Boessenkool , Andrew Pinski CC: Jiufu Guo , Jiufu Guo via Gcc-patches , Richard Biener , Richard Biener , "dje.gcc@gmail.com" , "linkw@gcc.gnu.org" , "jeffreyalaw@gmail.com" Subject: RE: [PATCH] loading float member of parameter stored via int registers Thread-Topic: [PATCH] loading float member of parameter stored via int registers Thread-Index: AQHZH1H07xoqMH8P3Uur2AoZtL1MNa6MZ40Q Date: Tue, 3 Jan 2023 09:10:13 +0000 Message-ID: References: <20221223165239.GA25951@gate.crashing.org> <20221223195207.GB25951@gate.crashing.org> <7ek02dft05.fsf@pike.rch.stglabs.ibm.com> <7e8ritexu0.fsf@pike.rch.stglabs.ibm.com> <7epmc1eil4.fsf@pike.rch.stglabs.ibm.com> <20221230074419.GE25951@gate.crashing.org> <20230103085932.GG25951@gate.crashing.org> In-Reply-To: <20230103085932.GG25951@gate.crashing.org> 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: SJ0PR11MB5940:EE_|DM4PR11MB7183:EE_ x-ms-office365-filtering-correlation-id: 40369be7-54f9-48e2-94eb-08daed6a52df x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +cv/6TJ5JrFg0eaDztMZtJlVfHVbSRrqegChpdZ7AouFPU2UgwQTWQeY94DYNZy5oGxuLgAtn1sHopEYT3M7oWYTmQ5u1ymXrb1469flcdYTkr8JCZd0EErsnLP3ccddGVlzyZhdcUmQTeEZJw5KFHTR6m4l1vRtqiNGjPU9ho0if6itZGUsVFXm8ykKnZ9TOUJBgj6kExKP4q/GMIU3cFofpSTh1z20CRGSg6u5qLEE00xvFhxf1+5VMwl0pqPTMbA/IxVHqX5NI5Gssf2Xu1D6uuNkjCGpWvM3iyuJLrpfiwK+Fsd7XFgk20kanntdSALjLOjOzEJHSa8rqL6M5xg3aUAiyQW78PSrJBsF8KHK3ShoWbbBI7BwubVT1orCV9Lxa5bB0OR0d3So3UU3AVJ3cVZpMlhzLGieYw14a/P+Dp+j9EGfzIFLQZxUrxfnaZEurPP1sJLOypCKKqm89gltVLw/+tYQhsaQbk+yZbB1Cc2V3zsQAqqXXS1xhI49/Bg/yfQKFeLBQl9fJjJU5SWDySSvvAsawvrXM+aFJecI6aiZIJZJg5fEV5RmMwEadOLDuysxNfSYB3Ls55K0oC+0t8QtkoOx1XFYfXWBf0wSshfLN67gJD4jFTOcq4S6qJHqBfWG9eW0Zpq1JNJF93l1wb4rkyBTRcewsFKNAaoSvfAD+8kwXYZD1LrMY9pLD/PdUdUY1joeJYN0WTtBAporIjBeYqub7roGg59UG+w= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5940.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(39860400002)(346002)(136003)(376002)(366004)(451199015)(52536014)(5660300002)(7696005)(76116006)(8936002)(41300700001)(2906002)(316002)(54906003)(66556008)(66476007)(4326008)(66446008)(64756008)(8676002)(66946007)(71200400001)(110136005)(6506007)(53546011)(478600001)(186003)(33656002)(26005)(9686003)(83380400001)(86362001)(55016003)(82960400001)(122000001)(38070700005)(38100700002)(22166006);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?FjcMVPLDlhbYZxqpxV9Ztmki0+H3xRH434DDRhX1kSlfFOGcy8c0jmwPXCAH?= =?us-ascii?Q?Lyha032agUNCmswvZ/fyLuSTqn9SYjJ/Phz9Hti+bIsZyW9FzD+W8IrDezrT?= =?us-ascii?Q?M1G8Sig+zCA54OIy/lVQyzG0kNgDpb51VQ/mRGB4/asNGgh/9fBqIv9WSfNh?= =?us-ascii?Q?N8KTf3dttVEd2yBdAAg2tYSc7HeZuLSDv5Bx8af0ZHrG0O1o3eWpavu8KdBZ?= =?us-ascii?Q?lCIlb7U3kUkOvfvdCPUqbyfpbAIMpQpnQMw9V2F+PQXJcF/GoDC1Px1tFeyh?= =?us-ascii?Q?NfSI4kQ+2+V/1VoS3wGwrVIf5jEZxPGnyb5dAhJi4Gl8bPtFvsc7thHuqxZD?= =?us-ascii?Q?r+p2Qld8HsLI4f31NK+QudPIH70cadOdm3IWu08lchCkZ0FRKAyThFyRf9A9?= =?us-ascii?Q?cij5G+jdSm236wZ5Pm7Zi+YiPI70BDc97gKfHq5LDIViQjm42i3oL1B5EWj8?= =?us-ascii?Q?vjr00k/03aVtFC5BzkxlUfVSVXo/8PMKES11/W4cOHM+i6M0MMfIo/HX3Hvz?= =?us-ascii?Q?Fvr+xmVCupI0souWg9aZDk874MqXtd7DSfQew8l6iNE94fIPvY/ttIIEEi3F?= =?us-ascii?Q?oKkPVLBwaDy5aIMfO3Po6Fuze7tBCVQKOD4cj3LZruUQ3C0ksYccfrxj091/?= =?us-ascii?Q?rrM4uaONFJXLioleg8ZSP4AovnJvVn3yWzuE19j0yPhOia9GmRJ9vntXC/7b?= =?us-ascii?Q?6OCz/yXGimzlukJCAXRtVqkbFvP8yMEnH5PnNtDlI5lffCHB7UO5uWDTJHyi?= =?us-ascii?Q?yFkpc+JNNHzRV9mvD8vTx+4SdXGNIjhjvE2C0lO9Mvbq+XiGBhE59qyu5uuP?= =?us-ascii?Q?8bQdATaeY2aCuD1VkGZO+JXONMUBvw3sSOiwRXoLQtPP2aI0n+zTcrro2gj4?= =?us-ascii?Q?oSNT+i5S5nao44TwjZDUI6U5S53VksSSax/BKQppfOt5GYzFk2kxChlBJVbY?= =?us-ascii?Q?u4lxYWfLRRGuKlKwHH24CDhRA2vrh6z6ShuO5tLNv7yllZ0Mkkz1o25XmR8T?= =?us-ascii?Q?vATh8j350Kvfrgc1vTHYTnhlrChmdEHTQzw8NcW0p5Pd7jSzWhwd+cMMK8Cb?= =?us-ascii?Q?Yw6j8ruPY2q4CbocuXaw5HY3krHaAVKQkBkivpodTIKWBm25tt6d6S9SFKic?= =?us-ascii?Q?ZVRSR4x/O//fe98P0GxoDJcq7z2Gz2bQFmT6jW1aEVUkhHHpyttiwJKyhiAE?= =?us-ascii?Q?Nmnt/6v6hejSd4l+5FWqdTx/XvWQAb9gqsCCfYQwtDG3WKx+lX2npuYkayUf?= =?us-ascii?Q?M4iUkAoYFHGrP3vlBmu8PrCVXNHAL/6buSqnZe1YfTd4wXW0xVebg7S9Q6qu?= =?us-ascii?Q?EYHgwtoDEYpF1FilDK8qtJ1gpgXVFI7Wr5Blwv5p9Q5dCfjgfavKB6VSNwG4?= =?us-ascii?Q?RIGsqb+EXhc9W5lZ+dQLRhvdJEUtTJt+B6vXPF9l9kaE0SwsrOXnGnYbqB/P?= =?us-ascii?Q?jNqUQdEh8epxHd+Xw1PFNuqiCW2qeVbFfIha763QW3ifClciHSVsbmivTAtM?= =?us-ascii?Q?W0PQ1meJQC4R4h286HEGTE2JiYoRCfMA5DThuuCO22DRFOAYRF4gAA1m9oAj?= =?us-ascii?Q?5bh7nZ/yT6HgH6q67eY=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: SJ0PR11MB5940.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40369be7-54f9-48e2-94eb-08daed6a52df X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jan 2023 09:10:13.8577 (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: nwtKqJoaOnqQjOHAZHttUTSZPEB6pPJ5L8ws1NzLLZge4bKQYxsge2oRSyTNJ5cDkBP7myR9d7XLO1EWXDSjtg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB7183 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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: Sorry for send this mail. I enter the wrong command line. -----Original Message----- From: Gcc-patches On = Behalf Of Segher Boessenkool Sent: Tuesday, January 3, 2023 5:00 PM To: Andrew Pinski Cc: Jiufu Guo ; Jiufu Guo via Gcc-patches ; Richard Biener ; Richard Bien= er ; dje.gcc@gmail.com; linkw@gcc.gnu.org; jeffreyalaw@g= mail.com Subject: Re: [PATCH] loading float member of parameter stored via int regis= ters Hi! On Fri, Dec 30, 2022 at 12:30:04AM -0800, Andrew Pinski wrote: > On Thu, Dec 29, 2022 at 11:45 PM Segher Boessenkool=20 > wrote: > > Ah! This simply shows rs6000_modes_tieable_p is decidedly non-optimal: > > it does not allow tying a scalar float to anything else. No such=20 > > thing is required, or good apparently. I wonder why we have such=20 > > restrictions at all in rs6000; is it just unfortunate history, was=20 > > it good at one point in time? >=20 > The documentation for TARGET_MODES_TIEABLE_P says the following: > If TARGET_HARD_REGNO_MODE_OK (r, mode1) and TARGET_HARD_REGNO_MODE_OK=20 > (r, mode2) are always the same for any r, then TARGET_MODES_TIEABLE_P=20 > (mode1, mode2) should be true. If they differ for any r, you should=20 > define this hook to return false unless some other mechanism ensures=20 > the accessibility of the value in a narrower mode. >=20 > even though rs6000_hard_regno_mode_ok_uncached's comment has the followin= g: > /* The float registers (except for VSX vector modes) can only hold floa= ting > modes and DImode. */ That comment is incorrect. See fctiw for example, which defines only the S= Imode part of the result (the other bits are undefined). > TARGET_P8_VECTOR and TARGET_P9_VECTOR has special cased different modes n= ow: > if (TARGET_P8_VECTOR && (mode =3D=3D SImode)) > return 1; >=20 > if (TARGET_P9_VECTOR && (mode =3D=3D QImode || mode =3D=3D HImo= de)) > return 1; > Which I suspect that means rs6000_modes_tieable_p should return true=20 > for SImode and SFmode if TARGET_P8_VECTOR is true. Likewise for=20 > TARGET_P9_VECTOR and SFmode and QImode/HImode too. It means that older CPUs do not have as many instructions to do scalar inte= ger operations in vector registers, making it (almost) always a losing prop= osition to put scalar integers there. On newer CPUs it is not quite as bad= , there is a full(er) complement of instructions to do such things in vecto= r regs, just a bit slower than on GPRs. But yeah we might need to fix hard_regno_mode_ok if we change tieable. Segher