This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/31876] SH: ICE in gen_lowpart_general, at rtlhooks.c:59
- From: "kkojima at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 May 2007 23:45:29 -0000
- Subject: [Bug target/31876] SH: ICE in gen_lowpart_general, at rtlhooks.c:59
- References: <bug-31876-8402@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from kkojima at gcc dot gnu dot org 2007-05-10 00:45 -------
I've confirmed that the testcase fails with 4.1 and doesn't fail
with 4.0, 4.2 and 4.3. It looks similar to fr30's PR target/21283.
Does the patch below work for you?
--- ORIG/gcc-4_1-branch/gcc/config/sh/sh.md 2006-06-22 12:53:20.000000000
+0900
+++ LOCAL/gcc-4_1-branch/gcc/config/sh/sh.md 2007-05-10 08:28:35.000000000
+0900
@@ -3018,7 +3020,9 @@ label:
"
{
if (TARGET_SH1
- && GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) == 255)
+ && GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) == 255
+ && (GET_CODE (operands[1]) != SUBREG
+ || SCALAR_INT_MODE_P (GET_MODE (XEXP (operands[1], 0)))))
{
emit_insn (gen_zero_extendqisi2 (operands[0],
gen_lowpart (QImode, operands[1])));
--
kkojima at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kkojima at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |ice-on-valid-code
Known to fail| |4.1.2
Known to work| |4.0.4 4.2.0 4.3.0
Last reconfirmed|0000-00-00 00:00:00 |2007-05-10 00:45:28
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31876