From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 553A2388F045; Fri, 5 Jun 2020 08:45:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 553A2388F045 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1591346705; bh=CDTos7CBvQMPY9iqzOyYfxOIJsZLzdv3P0OtEDMxYu4=; h=From:To:Subject:Date:In-Reply-To:References:From; b=Q8HZUo1ZQklyK8kutTtMckRTf9bgD87E+hAtvEdlX+Qn7cWg9zAgWBF47hku262Hx s95YnwqMO6ZYZvonqoFtsDx78A5wgN/tBqWJM9/UXqKcZFibn2Au7nJL4f2oQmVYTc 8sy7hfWmV1sRmi36lP2f5ZbfyzVu4dlR5w8vSa0k= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/95535] Failure to optimize out cdqe after __bultin_ctz Date: Fri, 05 Jun 2020 08:45:05 +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: 11.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: jakub 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 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Jun 2020 08:45:05 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D95535 --- Comment #3 from CVS Commits --- The master branch has been updated by Jakub Jelinek : https://gcc.gnu.org/g:892b51cb73f24157391cd18c2215e8d703af97e7 commit r11-965-g892b51cb73f24157391cd18c2215e8d703af97e7 Author: Jakub Jelinek Date: Fri Jun 5 10:44:23 2020 +0200 ix86: Improve __builtin_c[lt]z followed by extension [PR95535] In January I've added patterns to optimize SImode -> DImode sign or zero extension of __builtin_popcount, this patch does the same for __builtin_c[lt]z. Like most other instructions, the [tl]zcntl instruct= ions clear the upper 32 bits of the destination register and as the instruct= ions only result in values 0 to 32 inclusive, both sign and zero extensions behave the same. 2020-06-05 Jakub Jelinek PR target/95535 * config/i386/i386.md (*ctzsi2_zext, *clzsi2_lzcnt_zext): New define_insn_and_split patterns. (*ctzsi2_zext_falsedep, *clzsi2_lzcnt_zext_falsedep): New define_insn patterns. * gcc.target/i386/pr95535-1.c: New test. * gcc.target/i386/pr95535-2.c: New test.=