public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/53698] New: ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts
@ 2012-06-16 12:45 zsojka at seznam dot cz
  2012-06-16 14:02 ` [Bug target/53698] [4.8 Regression] " hjl.tools at gmail dot com
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: zsojka at seznam dot cz @ 2012-06-16 12:45 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53698

             Bug #: 53698
           Summary: ICE: in plus_constant, at explow.c:88 with -O -mx32
                    -maddress-mode=long -fno-tree-dominator-opts
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: zsojka@seznam.cz


Created attachment 27633
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27633
reduced testcase (from testsuite/gcc.target/i386/pr52698.c)

Compiler output:
$ gcc -O -mx32 -maddress-mode=long -fno-tree-dominator-opts testcase.c
testcase.c: In function 'test2':
testcase.c:4:1: internal compiler error: in plus_constant, at explow.c:88
 test2 (void)
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


(gdb) bt
#0  fancy_abort (file=0x1213638 "/mnt/svn/gcc-trunk/gcc/explow.c", line=88,
function=0x1213b04 "plus_constant")
    at /mnt/svn/gcc-trunk/gcc/diagnostic.c:1010
#1  0x0000000000760aca in plus_constant (mode=SImode, x=0x7ffff5b9fa20, c=1) at
/mnt/svn/gcc-trunk/gcc/explow.c:88
#2  0x0000000000788bc6 in expand_expr_addr_expr_1 (exp=<optimized out>,
target=0x0, tmode=SImode, modifier=EXPAND_NORMAL, as=<optimized out>)
    at /mnt/svn/gcc-trunk/gcc/expr.c:7634
#3  0x000000000077b0a7 in expand_expr_addr_expr (modifier=EXPAND_NORMAL,
tmode=SImode, target=0x0, exp=0x7ffff5bb7848)
    at /mnt/svn/gcc-trunk/gcc/expr.c:7673
#4  expand_expr_real_1 (exp=0x7ffff5bb7848, target=0x0, tmode=<optimized out>,
modifier=EXPAND_NORMAL, alt_rtl=0x0)
    at /mnt/svn/gcc-trunk/gcc/expr.c:10379
#5  0x000000000078e54f in expand_expr (modifier=EXPAND_NORMAL, mode=VOIDmode,
target=0x0, exp=0x7ffff5bb7848) at /mnt/svn/gcc-trunk/gcc/expr.h:449
#6  expand_expr_real_2 (ops=0x7fffffffc660, target=0x0, tmode=QImode,
modifier=EXPAND_NORMAL) at /mnt/svn/gcc-trunk/gcc/expr.c:8076
#7  0x000000000077992c in expand_expr_real_1 (exp=0x7ffff5bb7820, target=0x0,
tmode=QImode, modifier=EXPAND_NORMAL, alt_rtl=0x0)
    at /mnt/svn/gcc-trunk/gcc/expr.c:10435
#8  0x000000000078c8fa in expand_expr (modifier=EXPAND_NORMAL, mode=QImode,
target=0x0, exp=0x7ffff5bb7820) at /mnt/svn/gcc-trunk/gcc/expr.h:449
#9  expand_expr_real_2 (ops=0x7fffffffc8f0, target=0x0, tmode=VOIDmode,
modifier=EXPAND_NORMAL) at /mnt/svn/gcc-trunk/gcc/expr.c:8089
#10 0x000000000077992c in expand_expr_real_1 (exp=0x7ffff5bb77f8, target=0x0,
tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0)
    at /mnt/svn/gcc-trunk/gcc/expr.c:10435
#11 0x000000000077fc47 in expand_expr (modifier=EXPAND_NORMAL, mode=VOIDmode,
target=0x0, exp=0x7ffff5bb77f8) at /mnt/svn/gcc-trunk/gcc/expr.h:449
#12 expand_operands (exp0=0x7ffff5bb7870, exp1=0x7ffff5bb77f8, target=0x0,
op0=0x7fffffffca80, op1=0x7fffffffca90, modifier=EXPAND_NORMAL)
    at /mnt/svn/gcc-trunk/gcc/expr.c:7451
#13 0x000000000078b83b in expand_expr_real_2 (ops=<optimized out>, target=0x0,
tmode=VOIDmode, modifier=EXPAND_NORMAL)
    at /mnt/svn/gcc-trunk/gcc/expr.c:9065
#14 0x000000000077992c in expand_expr_real_1 (exp=0x7ffff5baeea0, target=0x0,
tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0)
    at /mnt/svn/gcc-trunk/gcc/expr.c:10435
#15 0x000000000078e54f in expand_expr (modifier=EXPAND_NORMAL, mode=VOIDmode,
target=0x0, exp=0x7ffff5baeea0) at /mnt/svn/gcc-trunk/gcc/expr.h:449
#16 expand_expr_real_2 (ops=0x7fffffffce50, target=0x0, tmode=QImode,
modifier=EXPAND_NORMAL) at /mnt/svn/gcc-trunk/gcc/expr.c:8076
#17 0x000000000077992c in expand_expr_real_1 (exp=0x7ffff5bb78e8, target=0x0,
tmode=QImode, modifier=EXPAND_NORMAL, alt_rtl=0x0)
    at /mnt/svn/gcc-trunk/gcc/expr.c:10435
#18 0x0000000000ae70cb in expand_expr (mode=<optimized out>, exp=<optimized
out>, target=<optimized out>, modifier=<optimized out>)
    at /mnt/svn/gcc-trunk/gcc/expr.h:449
#19 computation_cost (expr=0x7ffff5bb78e8, speed=<optimized out>) at
/mnt/svn/gcc-trunk/gcc/tree-ssa-loop-ivopts.c:2880
#20 0x0000000000af18cb in get_computation_cost_at (data=0x7fffffffd3f0,
use=0x19602f0, cand=0x1957880, address_p=<optimized out>, 
    depends_on=0x7fffffffd2a8, at=0x7ffff5b96660, can_autoinc=0x0,
inv_expr_id=0x7fffffffd2a4) at
/mnt/svn/gcc-trunk/gcc/tree-ssa-loop-ivopts.c:4240
#21 0x0000000000af511b in get_computation_cost (inv_expr_id=0x7fffffffd2a4,
can_autoinc=0x0, depends_on=0x7fffffffd2a8, address_p=false, 
    cand=0x1957880, use=0x19602f0, data=0x7fffffffd3f0) at
/mnt/svn/gcc-trunk/gcc/tree-ssa-loop-ivopts.c:4259
#22 determine_use_iv_cost_generic (cand=0x1957880, use=0x19602f0,
data=0x7fffffffd3f0) at /mnt/svn/gcc-trunk/gcc/tree-ssa-loop-ivopts.c:4286
#23 determine_use_iv_cost (data=0x7fffffffd3f0, use=0x19602f0, cand=0x1957880)
at /mnt/svn/gcc-trunk/gcc/tree-ssa-loop-ivopts.c:4880
#24 0x0000000000af5640 in determine_use_iv_costs (data=0x7fffffffd3f0) at
/mnt/svn/gcc-trunk/gcc/tree-ssa-loop-ivopts.c:4986
#25 0x0000000000af6b31 in tree_ssa_iv_optimize_loop (loop=<optimized out>,
data=0x7fffffffd3f0)
    at /mnt/svn/gcc-trunk/gcc/tree-ssa-loop-ivopts.c:6713
#26 tree_ssa_iv_optimize () at
/mnt/svn/gcc-trunk/gcc/tree-ssa-loop-ivopts.c:6760
#27 0x0000000000b03377 in tree_ssa_loop_ivopts () at
/mnt/svn/gcc-trunk/gcc/tree-ssa-loop.c:613
#28 0x0000000000912c55 in execute_one_pass (pass=0x17822a0) at
/mnt/svn/gcc-trunk/gcc/passes.c:2164
#29 0x0000000000913015 in execute_pass_list (pass=0x17822a0) at
/mnt/svn/gcc-trunk/gcc/passes.c:2219
#30 0x0000000000913027 in execute_pass_list (pass=0x17828a0) at
/mnt/svn/gcc-trunk/gcc/passes.c:2220
#31 0x0000000000913027 in execute_pass_list (pass=0x177fe20) at
/mnt/svn/gcc-trunk/gcc/passes.c:2220
#32 0x00000000006bf848 in expand_function (node=0x7ffff5a81750) at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1615
#33 0x00000000006c1624 in expand_all_functions () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1720
#34 compile () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:2018
#35 0x00000000006c1be5 in finalize_compilation_unit () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:2095
#36 0x00000000005a1020 in c_write_global_declarations () at
/mnt/svn/gcc-trunk/gcc/c-decl.c:10108
#37 0x00000000009fef6c in compile_file () at
/mnt/svn/gcc-trunk/gcc/toplev.c:566
#38 do_compile () at /mnt/svn/gcc-trunk/gcc/toplev.c:1870
#39 toplev_main (argc=16, argv=0x7fffffffd6c8) at
/mnt/svn/gcc-trunk/gcc/toplev.c:1946
#40 0x00007ffff61b62ad in __libc_start_main () from /lib64/libc.so.6
#41 0x0000000000584451 in _start ()


Tested revisions:
r188682 - crash


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/53698] [4.8 Regression] ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts
  2012-06-16 12:45 [Bug target/53698] New: ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts zsojka at seznam dot cz
@ 2012-06-16 14:02 ` hjl.tools at gmail dot com
  2012-06-17  8:30 ` rsandifo at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: hjl.tools at gmail dot com @ 2012-06-16 14:02 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53698

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-06-16
                 CC|hjl at gcc dot gnu.org      |hjl.tools at gmail dot com,
                   |                            |rsandifo at gcc dot gnu.org
            Summary|ICE: in plus_constant, at   |[4.8 Regression] ICE: in
                   |explow.c:88 with -O -mx32   |plus_constant, at
                   |-maddress-mode=long         |explow.c:88 with -O -mx32
                   |-fno-tree-dominator-opts    |-maddress-mode=long
                   |                            |-fno-tree-dominator-opts
     Ever Confirmed|0                           |1

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> 2012-06-16 14:02:28 UTC ---
It is caused by revision 187199:

http://gcc.gnu.org/ml/gcc-cvs/2012-05/msg00195.html


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/53698] [4.8 Regression] ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts
  2012-06-16 12:45 [Bug target/53698] New: ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts zsojka at seznam dot cz
  2012-06-16 14:02 ` [Bug target/53698] [4.8 Regression] " hjl.tools at gmail dot com
@ 2012-06-17  8:30 ` rsandifo at gcc dot gnu.org
  2012-06-17 18:48 ` hjl.tools at gmail dot com
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2012-06-17  8:30 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53698

--- Comment #2 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> 2012-06-17 08:29:38 UTC ---
Created attachment 27637
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27637
Suggested fix

Please try the attached


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/53698] [4.8 Regression] ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts
  2012-06-16 12:45 [Bug target/53698] New: ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts zsojka at seznam dot cz
  2012-06-16 14:02 ` [Bug target/53698] [4.8 Regression] " hjl.tools at gmail dot com
  2012-06-17  8:30 ` rsandifo at gcc dot gnu.org
@ 2012-06-17 18:48 ` hjl.tools at gmail dot com
  2012-06-18  9:33 ` rsandifo at gcc dot gnu.org
  2012-06-18 13:02 ` [Bug middle-end/53698] " hjl.tools at gmail dot com
  4 siblings, 0 replies; 6+ messages in thread
From: hjl.tools at gmail dot com @ 2012-06-17 18:48 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53698

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.8.0

--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> 2012-06-17 18:48:00 UTC ---
(In reply to comment #2)
> Created attachment 27637 [details]
> Suggested fix
> 
> Please try the attached

It works.  Thanks.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug target/53698] [4.8 Regression] ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts
  2012-06-16 12:45 [Bug target/53698] New: ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2012-06-17 18:48 ` hjl.tools at gmail dot com
@ 2012-06-18  9:33 ` rsandifo at gcc dot gnu.org
  2012-06-18 13:02 ` [Bug middle-end/53698] " hjl.tools at gmail dot com
  4 siblings, 0 replies; 6+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2012-06-18  9:33 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53698

--- Comment #4 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> 2012-06-18 09:32:56 UTC ---
Author: rsandifo
Date: Mon Jun 18 09:32:51 2012
New Revision: 188725

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188725
Log:
gcc/
    PR middle-end/53698
    * expr.c (expand_expr_addr_expr_1): Convert to tmode before
    performing an addition.

gcc/testsuite/
    PR middle-end/53698
    * gcc.target/i386/pr53698.c: New test.

Added:
    trunk/gcc/testsuite/gcc.target/i386/pr53698.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/expr.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug middle-end/53698] [4.8 Regression] ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts
  2012-06-16 12:45 [Bug target/53698] New: ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2012-06-18  9:33 ` rsandifo at gcc dot gnu.org
@ 2012-06-18 13:02 ` hjl.tools at gmail dot com
  4 siblings, 0 replies; 6+ messages in thread
From: hjl.tools at gmail dot com @ 2012-06-18 13:02 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53698

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
          Component|target                      |middle-end
         Resolution|                            |FIXED

--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> 2012-06-18 13:02:00 UTC ---
Fixed.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-06-18 13:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-16 12:45 [Bug target/53698] New: ICE: in plus_constant, at explow.c:88 with -O -mx32 -maddress-mode=long -fno-tree-dominator-opts zsojka at seznam dot cz
2012-06-16 14:02 ` [Bug target/53698] [4.8 Regression] " hjl.tools at gmail dot com
2012-06-17  8:30 ` rsandifo at gcc dot gnu.org
2012-06-17 18:48 ` hjl.tools at gmail dot com
2012-06-18  9:33 ` rsandifo at gcc dot gnu.org
2012-06-18 13:02 ` [Bug middle-end/53698] " hjl.tools at gmail dot com

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).