This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/53385] New: "Error: operand out of range" after changes for LSHIFT_EXPR in vrp.c
- From: "wschmidt at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 17 May 2012 01:57:29 +0000
- Subject: [Bug tree-optimization/53385] New: "Error: operand out of range" after changes for LSHIFT_EXPR in vrp.c
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53385
Bug #: 53385
Summary: "Error: operand out of range" after changes for
LSHIFT_EXPR in vrp.c
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: wschmidt@gcc.gnu.org
CC: bergner@vnet.ibm.com, meissner@gcc.gnu.org,
pthaugen@us.ibm.com, rguenther@suse.de
Host: powerpc64-linux
Target: powerpc64-linux
Build: powerpc64-linux
Starting with revision 187535, bootstrap is broken on
powerpc64-unknown-linux-gnu:
/home/wschmidt/gcc/build/gcc-mainline-base/./gcc/xgcc
-B/home/wschmidt/gcc/build/gcc-mainline-base/./gcc/
-B/home/wschmidt/gcc/install/gcc-mainline-base/powerpc64-linux/bin/
-B/home/wschmidt/gcc/install/gcc-mainline-base/powerpc64-linux/lib/ -isystem
/home/wschmidt/gcc/install/gcc-mainline-base/powerpc64-linux/include -isystem
/home/wschmidt/gcc/install/gcc-mainline-base/powerpc64-linux/sys-include -g
-O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem
./include -fPIC -mlong-double-128 -mno-minimal-toc -g -DIN_LIBGCC2
-fbuilding-libgcc -fno-stack-protector -fPIC -mlong-double-128
-mno-minimal-toc -I. -I. -I../.././gcc
-I/home/wschmidt/gcc/gcc-mainline-base/libgcc
-I/home/wschmidt/gcc/gcc-mainline-base/libgcc/.
-I/home/wschmidt/gcc/gcc-mainline-base/libgcc/../gcc
-I/home/wschmidt/gcc/gcc-mainline-base/libgcc/../include
-I/home/wschmidt/gcc/gcc-mainline-base/libgcc/../libdecnumber/dpd
-I/home/wschmidt/gcc/gcc-mainline-base/libgcc/../libdecnumber -DHAVE_CC_TLS -o
_gcov_interval_profiler.o -MT _gcov_interval_profiler.o -MD -MP -MF
_gcov_interval_profiler.dep -DL_gcov_interval_profiler -c
/home/wschmidt/gcc/gcc-mainline-base/libgcc/libgcov.c
/tmp/ccrZ0fWL.s: Assembler messages:
/tmp/ccrZ0fWL.s:49: Error: operand out of range (65 is not between 0 and 63)
*** [_gcov_interval_profiler.o] Error 1
make[3]: *** Waiting for unfinished jobs....
An example of the problem is:
long unsigned foo (long unsigned a) { return (a << 2) & 0x3fffffffc; }
which produces "rldic 3,3,2,65" instead of "rldic 3,3,2,30".