Bug 56214 - [4.8 Regression] FAIL: gcc.c-torture/execute/20050121-1.c compilation, ICE
Summary: [4.8 Regression] FAIL: gcc.c-torture/execute/20050121-1.c compilation, ICE
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.8.0
: P2 normal
Target Milestone: 4.8.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-06 01:18 UTC by John David Anglin
Modified: 2013-02-18 15:25 UTC (History)
0 users

See Also:
Host: hppa*-*-* (32-bit)
Target: hppa*-*-* (32-bit)
Build: hppa*-*-* (32-bit)
Known to work:
Known to fail:
Last reconfirmed: 2013-02-06 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John David Anglin 2013-02-06 01:18:44 UTC
Executing on host: /home/dave/gnu/gcc/objdir/gcc/xgcc -B/home/dave/gnu/gcc/objdir/gcc/ /home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20050121-1.c  -fno-diagnostics-show-caret  -w  -O0   -lm   -o /home/dave/gnu/gcc/objdir/gcc/testsuite/gcc/20050121-1.x0    (timeout = 300)
spawn /home/dave/gnu/gcc/objdir/gcc/xgcc -B/home/dave/gnu/gcc/objdir/gcc/ /home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20050121-1.c -fno-diagnostics-show-caret -w -O0 -lm -o /home/dave/gnu/gcc/objdir/gcc/testsuite/gcc/20050121-1.x0
/home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20050121-1.c: In function 'foo_char':
/home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20050121-1.c:33:1: error: unrecognizable insn:
(insn 46 25 34 2 (set (reg:SI 20 %r20)
        (subreg:SI (mem/c:CQI (plus:SI (reg/f:SI 3 %r3)
                    (const_int 22 [0x16])) [0 %sfp+22 S2 A64]) 0)) /home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20050121-1.c:33 -1
     (nil))
/home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20050121-1.c:33:1: internal compiler error: in extract_insn, at recog.c:2150
0x4c0f9f _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
        ../../gcc/gcc/rtl-error.c:109
0x4c0ff7 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        ../../gcc/gcc/rtl-error.c:117
0x48f52f extract_insn(rtx_def*)
        ../../gcc/gcc/recog.c:2150
0x48f5b3 extract_insn_cached(rtx_def*)
        ../../gcc/gcc/recog.c:2053
0x2d3623 cleanup_subreg_operands(rtx_def*)
        ../../gcc/gcc/final.c:3008
0x4b85ff reload(rtx_def*, int)
        ../../gcc/gcc/reload1.c:1240
0x3d2df3 do_reload
        ../../gcc/gcc/ira.c:4635
0x3d2df3 rest_of_handle_reload
        ../../gcc/gcc/ira.c:4736

Introduced between 195690 and 195703.
Comment 1 John David Anglin 2013-02-06 16:40:02 UTC
Testing fix.
Comment 2 John David Anglin 2013-02-18 15:21:41 UTC
Author: danglin
Date: Mon Feb 18 15:21:32 2013
New Revision: 196122

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196122
Log:
	PR target/56214
	* config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
	and HImode, require all displacements to be an integer multiple of the
	mode size.
	* config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
	only allow QImode and HImode when reload is in progress and strict is
	true.  Likewise for symbolic addresses.  Use base14_operand to check
	displacements in REG+BASE addresses.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/pa/pa.c
    trunk/gcc/config/pa/predicates.md
Comment 3 John David Anglin 2013-02-18 15:25:55 UTC
Fixed.