This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/36447] simplify_subreg ICE with right shift more than length type AVR
- From: "hutchinsonandy at aim dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Jun 2008 03:08:45 -0000
- Subject: [Bug middle-end/36447] simplify_subreg ICE with right shift more than length type AVR
- References: <bug-36447-7746@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from hutchinsonandy at aim dot com 2008-06-06 03:08 -------
rev 132971 appears to have created this problem.
Revision: 132971
Author: bonzini
Date: 8:30:10 AM, Thursday, March 06, 2008
Message:
2008-03-06 Paolo Bonzini <bonzini@gnu.org>
* simplify-rtx.c (simplify_subreg): Remove useless shifts from
word-extractions out of a multi-word object.
----
Modified : /trunk/gcc/ChangeLog
Modified : /trunk/gcc/simplify-rtx.c
It fails because subreg simplification tries to extract byte 3 of the HImode
int 'a' at simplify-rtx 5271. No check is performed here to see if shift count
>= length. For this case simplification should give sign of value (-1 or 0).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36447