[Bug target/77881] [5/6 Regression] Non-optimal signed comparison on x86_64 since r146817

2017-10-10 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77881

Jakub Jelinek  changed:

   What|Removed |Added

   Target Milestone|5.5 |6.5

--- Comment #9 from Jakub Jelinek  ---
GCC 5 branch is being closed

[Bug target/77881] [5/6 Regression] Non-optimal signed comparison on x86_64 since r146817

2016-12-01 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77881

Richard Biener  changed:

   What|Removed |Added

 Target||x86_64-*-*
   Priority|P3  |P2
  Known to work||7.0
  Known to fail||5.4.0, 6.2.0

[Bug target/77881] [5/6 Regression] Non-optimal signed comparison on x86_64 since r146817

2016-11-23 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77881

--- Comment #8 from Segher Boessenkool  ---
Author: segher
Date: Wed Nov 23 14:33:13 2016
New Revision: 242757

URL: https://gcc.gnu.org/viewcvs?rev=242757=gcc=rev
Log:
combine: Convert subreg-of-lshiftrt to zero_extract properly (PR78390)

r242414, for PR77881, introduces some bugs (PR78390, PR78438, PR78477).
It all has the same root cause: that patch makes combine convert every
lowpart subreg of a logical shift right to a zero_extract.  This cannot
work at all if it is not a constant shift, and it has to be a bit more
careful exactly which bits it extracts.


PR target/77881
PR bootstrap/78390
PR target/78438
PR bootstrap/78477
* combine.c (make_compound_operation_int): Do not convert a subreg of
a non-constant logical shift right to a zero_extract.  Handle the case
where some zero bits have been shifted into the range covered by that
subreg.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c

[Bug target/77881] [5/6 Regression] Non-optimal signed comparison on x86_64 since r146817

2016-11-15 Thread matz at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77881

Michael Matz  changed:

   What|Removed |Added

Summary|[5/6/7 Regression]  |[5/6 Regression]
   |Non-optimal signed  |Non-optimal signed
   |comparison on x86_64 since  |comparison on x86_64 since
   |r146817 |r146817

--- Comment #7 from Michael Matz  ---
Fixed for gcc 7.  Not planning backports myself , it's a minor code quality
regression only.  But keeping it open in case anyone else wants to.