[Bug target/95535] Failure to optimize out cdqe after __bultin_ctz

2020-09-04 Thread gabravier at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95535

Gabriel Ravier  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Gabriel Ravier  ---
Looks like this is fixed but not marked as such, so I'll make it so.

[Bug target/95535] Failure to optimize out cdqe after __bultin_ctz

2020-06-05 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95535

--- 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 instructions
clear the upper 32 bits of the destination register and as the instructions
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.

[Bug target/95535] Failure to optimize out cdqe after __bultin_ctz

2020-06-04 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95535

--- Comment #2 from Jakub Jelinek  ---
Created attachment 48676
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48676=edit
gcc11-pr95535.patch

Untested version of the PR91824 popcnt fix.

[Bug target/95535] Failure to optimize out cdqe after __bultin_ctz

2020-06-04 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95535

Jakub Jelinek  changed:

   What|Removed |Added

   Last reconfirmed||2020-06-04
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org
 Status|UNCONFIRMED |ASSIGNED
 CC||jakub at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek  ---
I've done this for popcount in January, so need to do the same for tzcntl and
lzcntl.