public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/48053] New: ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack
@ 2011-03-09 21:36 pthaugen at gcc dot gnu.org
2011-03-09 22:51 ` [Bug target/48053] " bergner at gcc dot gnu.org
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: pthaugen at gcc dot gnu.org @ 2011-03-09 21:36 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48053
Summary: ICE in in build_int_cst_wide, when building cpu2000
galgel/equake/ammp/fma3d/sixtrack
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: pthaugen@gcc.gnu.org
CC: dje@gcc.gnu.org, bergner@gcc.gnu.org,
meissner@gcc.gnu.org
Host: powerpc64-linux
Target: powerpc64-linux
Build: powerpc64-linux
Created attachment 23609
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23609
reduced testcase
The following ICE just showed up on my nightly spec runs.
$ /home/pthaugen/install/gcc/trunk_debug/bin/gcc -c -m64 -O3 -mcpu=power7
-funroll-loops quake.c
quake.c: In function ‘main’:
quake.c:24:1: internal compiler error: in build_int_cst_wide, at tree.c:1226
$ /home/pthaugen/install/gcc/trunk_debug/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/home/pthaugen/install/gcc/trunk_debug/bin/gcc
COLLECT_LTO_WRAPPER=/home/pthaugen/install/gcc/trunk_debug/libexec/gcc/powerpc64-linux/4.6.0/lto-wrapper
Target: powerpc64-linux
Configured with: /home/pthaugen/src/gcc/trunk/gcc/configure
--prefix=/home/pthaugen/install/gcc/trunk_debug --target=powerpc64-linux
--host=powerpc64-linux --build=powerpc64-linux --enable-secureplt
--enable-threads=posix --enable-shared --enable-__cxa_atexit
--with-long-double-128 --enable-decimal-float --disable-alsa --enable-checking
--with-as=/opt/gcc-nightly/binutils-2.20/bin/as
--with-ld=/opt/gcc-nightly/binutils-2.20/bin/ld --with-lto
--with-libelf=/opt/gcc-nightly/gcc-host-libs
--with-gmp=/opt/gcc-nightly/gcc-host-libs
--with-mpfr=/opt/gcc-nightly/gcc-host-libs
--with-mpc=/opt/gcc-nightly/gcc-host-libs --enable-languages=c
--disable-bootstrap
Thread model: posix
gcc version 4.6.0 20110309 (experimental) [trunk revision 170818] (GCC)
Breakpoint 1, build_int_cst_wide (type=0xfffb0f011b8, low=18446744073709551615,
hi=-1)
at /home/pthaugen/src/gcc/trunk/gcc/gcc/tree.c:1226
1226 gcc_unreachable ();
(gdb) prt type
<real_type 0xfffb0f011b8 double sizes-gimplified DF
size <integer_cst 0xfffb0e10780 type <integer_type 0xfffb0f000a8
bit_size_type> constant 64>
unit size <integer_cst 0xfffb0e107a8 type <integer_type 0xfffb0f00000 long
unsigned int> constant 8>
align 64 symtab 0 alias set 2 canonical type 0xfffb0f011b8 precision 64
pointer_to_this <pointer_type 0xfffb0f013b0>>
(gdb) p /x low
$2 = 0xffffffffffffffff
(gdb) p /x hi
$3 = 0xffffffffffffffff
(gdb) p TREE_CODE(type)
$4 = REAL_TYPE
(gdb) bt
#0 build_int_cst_wide (type=0xfffb0f011b8, low=18446744073709551615, hi=-1)
at /home/pthaugen/src/gcc/trunk/gcc/gcc/tree.c:1226
#1 0x00000000103c4120 in make_tree (type=0xfffb0f011b8, x=0xfffb0e70460)
at /home/pthaugen/src/gcc/trunk/gcc/gcc/expmed.c:4960
#2 0x00000000103c4268 in make_tree (type=0xfffb10ceb98, x=0xfffb0e79430)
at /home/pthaugen/src/gcc/trunk/gcc/gcc/expmed.c:4991
#3 0x0000000010bc5d7c in force_const_mem (mode=V2DFmode, x=0xfffb0e79430)
at /home/pthaugen/src/gcc/trunk/gcc/gcc/varasm.c:3543
#4 0x00000000103d7230 in emit_move_insn (x=0xfffb0edba40, y=0xfffb0e79430)
at /home/pthaugen/src/gcc/trunk/gcc/gcc/expr.c:3368
#5 0x0000000010bea40c in rs6000_expand_vector_init (target=0xfffb0edba40,
vals=0xfffb0e79420)
at /home/pthaugen/src/gcc/trunk/gcc/gcc/config/rs6000/rs6000.c:5299
#6 0x0000000010e20898 in gen_vec_initv4si (operand0=0xfffb0edba40,
operand1=0xfffb0e79420)
at /home/pthaugen/src/gcc/trunk/gcc/gcc/config/rs6000/vector.md:658
#7 0x0000000010e2630c in gen_split_2212 (curr_insn=0xfffb10097e0,
operands=0x1160a8b8)
at /home/pthaugen/src/gcc/trunk/gcc/gcc/config/rs6000/altivec.md:246
#8 0x0000000010f3e460 in split_14 (x0=0xfffb0e99930, insn=0xfffb10097e0)
at /home/pthaugen/src/gcc/trunk/gcc/gcc/config/rs6000/altivec.md:229
#9 0x0000000010f404f0 in split_insns (x0=0xfffb0e99930, insn=0xfffb10097e0)
at /home/pthaugen/src/gcc/trunk/gcc/gcc/config/rs6000/dfp.md:480
#10 0x000000001038c980 in try_split (pat=0xfffb0e99930, trial=0xfffb10097e0,
last=1)
at /home/pthaugen/src/gcc/trunk/gcc/gcc/emit-rtl.c:3415
#11 0x00000000106dcf9c in split_insn (insn=0xfffb10097e0)
at /home/pthaugen/src/gcc/trunk/gcc/gcc/recog.c:2781
#12 0x00000000106dd5bc in split_all_insns ()
at /home/pthaugen/src/gcc/trunk/gcc/gcc/recog.c:2870
#13 0x00000000106e0700 in rest_of_handle_split_before_sched2 ()
at /home/pthaugen/src/gcc/trunk/gcc/gcc/recog.c:3811
...
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/48053] ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack
2011-03-09 21:36 [Bug target/48053] New: ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack pthaugen at gcc dot gnu.org
@ 2011-03-09 22:51 ` bergner at gcc dot gnu.org
2011-03-09 22:52 ` bergner at gcc dot gnu.org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: bergner at gcc dot gnu.org @ 2011-03-09 22:51 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48053
Peter Bergner <bergner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2011.03.09 22:51:15
Ever Confirmed|0 |1
--- Comment #1 from Peter Bergner <bergner at gcc dot gnu.org> 2011-03-09 22:51:15 UTC ---
I'm positive this showed up with Mike's patch to fix PR47755, which modified
easy_altivec_constant. I was in the middle of debugging a similar bug which
shows up even without the easy_altivec_constant change. I already have a patch
to fix that, but it looks like I can extend it to cover this test case as well.
I'll look into it.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/48053] ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack
2011-03-09 21:36 [Bug target/48053] New: ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack pthaugen at gcc dot gnu.org
2011-03-09 22:51 ` [Bug target/48053] " bergner at gcc dot gnu.org
@ 2011-03-09 22:52 ` bergner at gcc dot gnu.org
2011-03-11 17:08 ` bergner at gcc dot gnu.org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: bergner at gcc dot gnu.org @ 2011-03-09 22:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48053
Peter Bergner <bergner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |bergner at gcc dot gnu.org
|gnu.org |
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/48053] ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack
2011-03-09 21:36 [Bug target/48053] New: ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack pthaugen at gcc dot gnu.org
2011-03-09 22:51 ` [Bug target/48053] " bergner at gcc dot gnu.org
2011-03-09 22:52 ` bergner at gcc dot gnu.org
@ 2011-03-11 17:08 ` bergner at gcc dot gnu.org
2011-03-11 19:06 ` bergner at gcc dot gnu.org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: bergner at gcc dot gnu.org @ 2011-03-11 17:08 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48053
--- Comment #2 from Peter Bergner <bergner at gcc dot gnu.org> 2011-03-11 17:08:33 UTC ---
Created attachment 23633
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23633
A related but different test case.
Attached is another test case that tweaks a similar bug that Pat's test case
exposes. In this case, it is not dependent on Mike's patch. The problem for
both starts in rs6000_expand_vector_init(). In Pat's test case, we attempt to
load the same constant into each V2DFmode half, with this test case, we attempt
to load different values, one being a constant and the other a var which leads
to a different ICE:
pr48053-2.c: In function ‘foo’:
pr48053-2.c:29:14: internal compiler error: in int_mode_for_mode, at
stor-layout.c:490
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/48053] ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack
2011-03-09 21:36 [Bug target/48053] New: ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack pthaugen at gcc dot gnu.org
` (2 preceding siblings ...)
2011-03-11 17:08 ` bergner at gcc dot gnu.org
@ 2011-03-11 19:06 ` bergner at gcc dot gnu.org
2011-03-13 4:07 ` bergner at gcc dot gnu.org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: bergner at gcc dot gnu.org @ 2011-03-11 19:06 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48053
--- Comment #3 from Peter Bergner <bergner at gcc dot gnu.org> 2011-03-11 19:06:17 UTC ---
Author: bergner
Date: Fri Mar 11 19:06:14 2011
New Revision: 170883
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170883
Log:
gcc/
PR target/48053
* config/rs6000/predicates.md (easy_vector_constant_add_self,
easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
* config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
mode is not V2DImode or V2DFmode.
(vspltis_constant): Do not handle V2DImode and V2DFmode.
(rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
* config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
registers to 0.
(movdi_internal64): Likewise.
gcc/testsuite/
PR target/48053
* gcc/testsuite/gcc.target/powerpc/pr48053-1.c: New test.
* gcc/testsuite/gcc.target/powerpc/pr48053-2.c: Likewise.
Added:
branches/ibm/gcc-4_5-branch/gcc/testsuite/gcc.target/powerpc/pr48053-1.c
branches/ibm/gcc-4_5-branch/gcc/testsuite/gcc.target/powerpc/pr48053-2.c
Modified:
branches/ibm/gcc-4_5-branch/gcc/ChangeLog.ibm
branches/ibm/gcc-4_5-branch/gcc/config/rs6000/predicates.md
branches/ibm/gcc-4_5-branch/gcc/config/rs6000/rs6000.c
branches/ibm/gcc-4_5-branch/gcc/config/rs6000/rs6000.md
branches/ibm/gcc-4_5-branch/gcc/testsuite/ChangeLog.ibm
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/48053] ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack
2011-03-09 21:36 [Bug target/48053] New: ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack pthaugen at gcc dot gnu.org
` (3 preceding siblings ...)
2011-03-11 19:06 ` bergner at gcc dot gnu.org
@ 2011-03-13 4:07 ` bergner at gcc dot gnu.org
2011-03-13 4:11 ` bergner at gcc dot gnu.org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: bergner at gcc dot gnu.org @ 2011-03-13 4:07 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48053
--- Comment #4 from Peter Bergner <bergner at gcc dot gnu.org> 2011-03-13 04:06:46 UTC ---
Author: bergner
Date: Sun Mar 13 04:06:41 2011
New Revision: 170920
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170920
Log:
gcc/
PR target/48053
* config/rs6000/predicates.md (easy_vector_constant_add_self,
easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
* config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
mode is not V2DImode or V2DFmode.
(vspltis_constant): Do not handle V2DImode and V2DFmode.
(rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
* config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
registers to 0.
(movdi_internal64): Likewise.
gcc/testsuite/
PR target/48053
* gcc/testsuite/gcc.target/powerpc/pr48053-1.c: New test.
* gcc/testsuite/gcc.target/powerpc/pr48053-2.c: Likewise.
Added:
trunk/gcc/testsuite/gcc.target/powerpc/pr48053-1.c
trunk/gcc/testsuite/gcc.target/powerpc/pr48053-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/predicates.md
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/config/rs6000/rs6000.md
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/48053] ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack
2011-03-09 21:36 [Bug target/48053] New: ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack pthaugen at gcc dot gnu.org
` (4 preceding siblings ...)
2011-03-13 4:07 ` bergner at gcc dot gnu.org
@ 2011-03-13 4:11 ` bergner at gcc dot gnu.org
2011-03-14 19:37 ` meissner at gcc dot gnu.org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: bergner at gcc dot gnu.org @ 2011-03-13 4:11 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48053
Peter Bergner <bergner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #5 from Peter Bergner <bergner at gcc dot gnu.org> 2011-03-13 04:11:14 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/48053] ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack
2011-03-09 21:36 [Bug target/48053] New: ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack pthaugen at gcc dot gnu.org
` (5 preceding siblings ...)
2011-03-13 4:11 ` bergner at gcc dot gnu.org
@ 2011-03-14 19:37 ` meissner at gcc dot gnu.org
2011-03-14 20:52 ` meissner at gcc dot gnu.org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: meissner at gcc dot gnu.org @ 2011-03-14 19:37 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48053
--- Comment #6 from Michael Meissner <meissner at gcc dot gnu.org> 2011-03-14 19:37:14 UTC ---
Created attachment 23654
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23654
Patch to fix 32-bit error on splititng loading 0 into VSX register
After this patch was installed, it was discovered that in 32-bit if the
compiler decides to load 0 into a VSX register, the compiler will complain when
it tries to split the load into two separate insns (for each gpr), and it can't
allocate a temporary GPR after reload.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/48053] ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack
2011-03-09 21:36 [Bug target/48053] New: ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack pthaugen at gcc dot gnu.org
` (6 preceding siblings ...)
2011-03-14 19:37 ` meissner at gcc dot gnu.org
@ 2011-03-14 20:52 ` meissner at gcc dot gnu.org
2011-03-14 21:32 ` meissner at gcc dot gnu.org
2011-03-14 23:35 ` meissner at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: meissner at gcc dot gnu.org @ 2011-03-14 20:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48053
--- Comment #7 from Michael Meissner <meissner at gcc dot gnu.org> 2011-03-14 20:51:44 UTC ---
Author: meissner
Date: Mon Mar 14 20:51:41 2011
New Revision: 170962
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170962
Log:
Fix fix to PR 48053
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.md
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/48053] ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack
2011-03-09 21:36 [Bug target/48053] New: ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack pthaugen at gcc dot gnu.org
` (7 preceding siblings ...)
2011-03-14 20:52 ` meissner at gcc dot gnu.org
@ 2011-03-14 21:32 ` meissner at gcc dot gnu.org
2011-03-14 23:35 ` meissner at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: meissner at gcc dot gnu.org @ 2011-03-14 21:32 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48053
--- Comment #8 from Michael Meissner <meissner at gcc dot gnu.org> 2011-03-14 21:31:40 UTC ---
Author: meissner
Date: Mon Mar 14 21:31:37 2011
New Revision: 170964
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170964
Log:
Fix fix to PR 48053
Modified:
branches/ibm/gcc-4_5-branch/gcc/ChangeLog.ibm
branches/ibm/gcc-4_5-branch/gcc/config/rs6000/rs6000.md
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/48053] ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack
2011-03-09 21:36 [Bug target/48053] New: ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack pthaugen at gcc dot gnu.org
` (8 preceding siblings ...)
2011-03-14 21:32 ` meissner at gcc dot gnu.org
@ 2011-03-14 23:35 ` meissner at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: meissner at gcc dot gnu.org @ 2011-03-14 23:35 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48053
--- Comment #9 from Michael Meissner <meissner at gcc dot gnu.org> 2011-03-14 23:35:14 UTC ---
Author: meissner
Date: Mon Mar 14 23:35:11 2011
New Revision: 170969
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170969
Log:
Fix fix to PR 48053
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/config/rs6000/rs6000.md
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2011-03-14 23:35 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-09 21:36 [Bug target/48053] New: ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack pthaugen at gcc dot gnu.org
2011-03-09 22:51 ` [Bug target/48053] " bergner at gcc dot gnu.org
2011-03-09 22:52 ` bergner at gcc dot gnu.org
2011-03-11 17:08 ` bergner at gcc dot gnu.org
2011-03-11 19:06 ` bergner at gcc dot gnu.org
2011-03-13 4:07 ` bergner at gcc dot gnu.org
2011-03-13 4:11 ` bergner at gcc dot gnu.org
2011-03-14 19:37 ` meissner at gcc dot gnu.org
2011-03-14 20:52 ` meissner at gcc dot gnu.org
2011-03-14 21:32 ` meissner at gcc dot gnu.org
2011-03-14 23:35 ` meissner at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).