[Bug rtl-optimization/67483] combine.c sanitizer detects undefined negative left shift

2016-05-08 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67483

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-05-08
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Confirmed with trunk.

[Bug rtl-optimization/67483] combine.c sanitizer detects undefined negative left shift

2016-05-10 Thread zeccav at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67483

--- Comment #2 from Vittorio Zecca  ---
Yes I confirm it is in trunk:

../../gcc7/gcc/combine.c:7727:40: runtime error: shift exponent -1 is negative

combine.c:7727 is "& unsigned HOST_WIDE_INT) 1 << count)) - 1)) == 0"

count==-1 ?

[Bug rtl-optimization/67483] combine.c sanitizer detects undefined negative left shift

2016-05-13 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67483

--- Comment #3 from Segher Boessenkool  ---
Author: segher
Date: Fri May 13 23:01:40 2016
New Revision: 236232

URL: https://gcc.gnu.org/viewcvs?rev=236232&root=gcc&view=rev
Log:
combine: Don't call extract_left_shift with count < 0 (PR67483)

If the compiled program does a shift by a negative amount, combine will
happily work with that, but it shouldn't then do an undefined operation
in GCC itself.  This patch fixes the first case mentioned in the bug
report (I haven't been able to reproduce the second case, on trunk at
least).


PR rtl-optimization/67483
* combine.c (make_compound_operation): Don't call extract_left_shift
with negative shift amounts.

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

[Bug rtl-optimization/67483] combine.c sanitizer detects undefined negative left shift

2017-06-26 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67483

Segher Boessenkool  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Segher Boessenkool  ---
Fixed.