From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 6F9B83856973; Sat, 7 Oct 2023 07:57:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6F9B83856973 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1696665472; bh=HgF/nsCEvgfFfxby4KAMQfKw6fT/FyNAgmNMuwfAP+s=; h=From:To:Subject:Date:In-Reply-To:References:From; b=bY2DMdYi36x9ESOARrubJNAMt/8j/mWZ85Fdmxdj6Zfkz1KBT8p5T+3aGTq5hpNKT x0sy4ekb95/59NRJ3JWbYBr0dyNy6eGt/L+OvnRVDp8gkac+a9jhhYVvNMr6+Obsut uLPkhjJGNiLUAtb2nns3XPm+o6ygM1JBoMkKOEsQ= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/108338] use mtvsrws for lowpart DI->SF conversion on P9 Date: Sat, 07 Oct 2023 07:57:52 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D108338 --- Comment #2 from CVS Commits --- The master branch has been updated by Jiu Fu Guo : https://gcc.gnu.org/g:537d7a445ca0ed677751afd3cdcf8465ccd5fb7e commit r14-4445-g537d7a445ca0ed677751afd3cdcf8465ccd5fb7e Author: Jiufu Guo Date: Thu Sep 28 17:34:45 2023 +0800 rs6000: use mtvsrws to move sf from si p9 As mentioned in PR108338, on p9, we could use mtvsrws to implement the bitcast from SI to SF (or lowpart DI to SF). For example: *(long long*)buff =3D di; float f =3D *(float*)(buff); "sldi 9,3,32 ; mtvsrd 1,9 ; xscvspdpn 1,1" is generated. A better one would be "mtvsrws 1,3 ; xscvspdpn 1,1". PR target/108338 gcc/ChangeLog: * config/rs6000/rs6000.md (movsf_from_si): Update to generate mtvsrws for P9. gcc/testsuite/ChangeLog: * gcc.target/powerpc/pr108338.c: Updated to check mtvsrws for p= 9.=