public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/26247]  New: [4.2 regression] gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant
@ 2006-02-13  0:21 hp at gcc dot gnu dot org
  2006-02-13  1:28 ` [Bug rtl-optimization/26247] " pinskia at gcc dot gnu dot org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: hp at gcc dot gnu dot org @ 2006-02-13  0:21 UTC (permalink / raw)
  To: gcc-bugs

Same setup as with 26232, but with the patch applied.
Another bug exposed with -fmove-loop-invariants.  This time
it's strict_low_part that isn't handled.  Looks like gen_move_insn
is insufficient.  Or just punt on a dest that's strict_low_part
just like on cc0 setters.

Running /home/hp/combined/combined/gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp
...
FAIL: gcc.dg/tree-ssa/gen-vect-26.c (test for excess errors)
WARNING: gcc.dg/tree-ssa/gen-vect-26.c compilation failed to produce executable
FAIL: gcc.dg/tree-ssa/gen-vect-28.c (test for excess errors)
WARNING: gcc.dg/tree-ssa/gen-vect-28.c compilation failed to produce executable
FAIL: gcc.dg/tree-ssa/gen-vect-32.c (test for excess errors)
WARNING: gcc.dg/tree-ssa/gen-vect-32.c compilation failed to produce executable

(just 26 and 28 for cris-axis-linux-gnu)

gcc.log says:
Executing on host: /home/hp/combined/cris-sim/gcc/xgcc
-B/home/hp/combined/cris-sim/gcc/ /home/hp/combined/combined/gcc/testsuite\
/gcc.dg/tree-ssa/gen-vect-26.c   -O2 -ftree-vectorize
-ftree-vectorizer-verbose=3 -fdump-tree-vect-stats -fno-show-column   -isys\
tem /home/hp/combined/cris-sim/cris-elf/./newlib/targ-include -isystem
/home/hp/combined/combined/newlib/libc/include -B/home/hp/\
combined/cris-sim/cris-elf/./libgloss/cris/
-L/home/hp/combined/cris-sim/cris-elf/./libgloss/cris
-L/home/hp/combined/combined/li\
bgloss/cris -L/home/hp/combined/cris-sim/ld
-B/home/hp/combined/cris-sim/cris-elf/./newlib/
-L/home/hp/combined/cris-sim/cris-elf\
/./newlib -sim3  -lm   -o ./gen-vect-26.exe    (timeout = 300)
/home/hp/combined/combined/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-26.c: In
function 'main':^M
/home/hp/combined/combined/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-26.c:28:
internal compiler error: in int_mode_for_mode, at stor\
-layout.c:250^M

(gdb) bt
#0  fancy_abort (file=0x842c3f0 "/home/hp/combined/combined/gcc/stor-layout.c",
line=250,
    function=0x842c206 "int_mode_for_mode") at
/home/hp/combined/combined/gcc/diagnostic.c:642
#1  0x082abeae in int_mode_for_mode (mode=VOIDmode) at
/home/hp/combined/combined/gcc/stor-layout.c:250
#2  0x081dfd72 in emit_move_via_integer (mode=VOIDmode, x=0x400b3b68,
y=0x400c5b80, force=0 '\0')
    at /home/hp/combined/combined/gcc/expr.c:2829
#3  0x081e04ad in emit_move_insn_1 (x=0x400b3b68, y=0x400c5b80) at
/home/hp/combined/combined/gcc/expr.c:3154
#4  0x0825d1a8 in gen_move_insn (x=0x400b3b68, y=0x400c5b80) at
/home/hp/combined/combined/gcc/optabs.c:4398
#5  0x0819b5b5 in move_invariant_reg (loop=0x400d60c0, invno=1074382240) at
/home/hp/combined/combined/gcc/loop-invariant.c:1105
#6  0x0819b63f in move_invariants (loop=0x84b4128) at
/home/hp/combined/combined/gcc/loop-invariant.c:1152
#7  0x0819b76f in move_single_loop_invariants (loop=0x84b4128) at
/home/hp/combined/combined/gcc/loop-invariant.c:1209
#8  0x0819b7e5 in move_loop_invariants (loops=0x848a5c8) at
/home/hp/combined/combined/gcc/loop-invariant.c:1243
#9  0x08178ce9 in rtl_move_loop_invariants () at
/home/hp/combined/combined/gcc/loop-init.c:252
#10 0x082df092 in execute_one_pass (pass=0x844e160) at
/home/hp/combined/combined/gcc/passes.c:853
#11 0x082df171 in execute_pass_list (pass=0x844e160) at
/home/hp/combined/combined/gcc/passes.c:897
#12 0x082df195 in execute_pass_list (pass=0x844e0a0) at
/home/hp/combined/combined/gcc/passes.c:898
#13 0x082df195 in execute_pass_list (pass=0x844f2e0) at
/home/hp/combined/combined/gcc/passes.c:898
#14 0x080c6106 in tree_rest_of_compilation (fndecl=0x400be400) at
/home/hp/combined/combined/gcc/tree-optimize.c:412
#15 0x0805a9e8 in c_expand_body (fndecl=0x400be400) at
/home/hp/combined/combined/gcc/c-decl.c:6689
#16 0x08312ce8 in cgraph_expand_function (node=0x400be480) at
/home/hp/combined/combined/gcc/cgraphunit.c:1101
#17 0x08312e6c in cgraph_expand_all_functions () at
/home/hp/combined/combined/gcc/cgraphunit.c:1166
#18 0x0831358e in cgraph_optimize () at
/home/hp/combined/combined/gcc/cgraphunit.c:1434
#19 0x0805c3c2 in c_write_global_declarations () at
/home/hp/combined/combined/gcc/c-decl.c:7804
#20 0x082b4f32 in compile_file () at
/home/hp/combined/combined/gcc/toplev.c:1012
#21 0x082b63a3 in do_compile () at /home/hp/combined/combined/gcc/toplev.c:1944
#22 0x082b6405 in toplev_main (argc=17, argv=0xbffffbb4) at
/home/hp/combined/combined/gcc/toplev.c:1976
#23 0x080a819f in main (argc=17, argv=0xbffffbb4) at
/home/hp/combined/combined/gcc/main.c:35

#6  0x0819b63f in move_invariants (loop=0x84b4128) at
/home/hp/combined/combined/gcc/loop-invariant.c:1152
#5  0x0819b5b5 in move_invariant_reg (loop=0x400d60c0, invno=1074382240) at
/home/hp/combined/combined/gcc/loop-invariant.c:1105
#4  0x0825d1a8 in gen_move_insn (x=0x400b3b68, y=0x400c5b80) at
/home/hp/combined/combined/gcc/optabs.c:4398
(gdb) p x
$5 = 0x400b3b68
(gdb) pr
(strict_low_part (subreg:QI (reg:SI 73) 0))
(gdb) p y
$6 = 0x400c5b80
(gdb) pr
(reg 74)
(gdb) 

I presume you won't insist on preprocessed code, just cut out the #include
<stdlib.h>
and s/N/128/g from gen-vect-26.c.


-- 
           Summary: [4.2 regression] gcc.dg/tree-ssa/gen-vect-26.c, 28 and
                    32. int_mode_for_mode ICE strict_low_part loop-invariant
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hp at gcc dot gnu dot org
GCC target triplet: cris-axis-elf, cris-axis-linux-gnu


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


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

* [Bug rtl-optimization/26247] [4.2 regression] gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant
  2006-02-13  0:21 [Bug rtl-optimization/26247] New: [4.2 regression] gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant hp at gcc dot gnu dot org
@ 2006-02-13  1:28 ` pinskia at gcc dot gnu dot org
  2006-02-13  1:32 ` rakdver at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-13  1:28 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
           Keywords|                            |ice-on-valid-code
   Target Milestone|---                         |4.2.0


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


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

* [Bug rtl-optimization/26247] [4.2 regression] gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant
  2006-02-13  0:21 [Bug rtl-optimization/26247] New: [4.2 regression] gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant hp at gcc dot gnu dot org
  2006-02-13  1:28 ` [Bug rtl-optimization/26247] " pinskia at gcc dot gnu dot org
@ 2006-02-13  1:32 ` rakdver at gcc dot gnu dot org
  2006-02-13  1:47 ` hp at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2006-02-13  1:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from rakdver at gcc dot gnu dot org  2006-02-13 01:32 -------
This should fix the problem:

Index: loop-invariant.c
===================================================================
*** loop-invariant.c    (revision 110898)
--- loop-invariant.c    (working copy)
*************** invariant_for_use (struct df_ref *use)
*** 232,237 ****
--- 232,240 ----
    struct df_ref *def;
    basic_block bb = BLOCK_FOR_INSN (use->insn), def_bb;

+   if (use->flags & DF_REF_READ_WRITE)
+     return NULL;
+
    defs = DF_REF_CHAIN (use);
    if (!defs || defs->next)
      return NULL;
*************** find_exits (struct loop *loop, basic_blo
*** 582,589 ****
  static bool
  may_assign_reg_p (rtx x)
  {
!   return (can_copy_p (GET_MODE (x))
          && GET_MODE (x) != BLKmode
          && (!REG_P (x)
              || !HARD_REGISTER_P (x)
              || REGNO_REG_CLASS (REGNO (x)) != NO_REGS));
--- 585,593 ----
  static bool
  may_assign_reg_p (rtx x)
  {
!   return (GET_MODE (x) != VOIDmode
          && GET_MODE (x) != BLKmode
+         && can_copy_p (GET_MODE (x))
          && (!REG_P (x)
              || !HARD_REGISTER_P (x)
              || REGNO_REG_CLASS (REGNO (x)) != NO_REGS));
*************** check_dependencies (rtx insn, bitmap dep
*** 683,688 ****
--- 687,695 ----

    for (use = DF_INSN_GET (df, insn)->uses; use; use = use->next_ref)
      {
+       if (use->flags & DF_REF_READ_WRITE)
+       return false;
+
        defs = DF_REF_CHAIN (use);
        if (!defs)
        continue;


-- 


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


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

* [Bug rtl-optimization/26247] [4.2 regression] gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant
  2006-02-13  0:21 [Bug rtl-optimization/26247] New: [4.2 regression] gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant hp at gcc dot gnu dot org
  2006-02-13  1:28 ` [Bug rtl-optimization/26247] " pinskia at gcc dot gnu dot org
  2006-02-13  1:32 ` rakdver at gcc dot gnu dot org
@ 2006-02-13  1:47 ` hp at gcc dot gnu dot org
  2006-02-13 20:27 ` rakdver at gcc dot gnu dot org
  2006-02-13 20:58 ` pinskia at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: hp at gcc dot gnu dot org @ 2006-02-13  1:47 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from hp at gcc dot gnu dot org  2006-02-13 01:47 -------
Thanks.  Will test within days: machines are busy right now.


-- 


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


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

* [Bug rtl-optimization/26247] [4.2 regression] gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant
  2006-02-13  0:21 [Bug rtl-optimization/26247] New: [4.2 regression] gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant hp at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2006-02-13  1:47 ` hp at gcc dot gnu dot org
@ 2006-02-13 20:27 ` rakdver at gcc dot gnu dot org
  2006-02-13 20:58 ` pinskia at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2006-02-13 20:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from rakdver at gcc dot gnu dot org  2006-02-13 20:27 -------
Subject: Bug 26247

Author: rakdver
Date: Mon Feb 13 20:27:44 2006
New Revision: 110924

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110924
Log:
        PR rtl-optimization/26247
        PR rtl-optimization/26248
        * loop-invariant.c (may_assign_reg_p): Do not allow VOIDmode.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/loop-invariant.c


-- 


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


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

* [Bug rtl-optimization/26247] [4.2 regression] gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant
  2006-02-13  0:21 [Bug rtl-optimization/26247] New: [4.2 regression] gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant hp at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2006-02-13 20:27 ` rakdver at gcc dot gnu dot org
@ 2006-02-13 20:58 ` pinskia at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-13 20:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pinskia at gcc dot gnu dot org  2006-02-13 20:58 -------
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED


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


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

end of thread, other threads:[~2006-02-13 20:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-02-13  0:21 [Bug rtl-optimization/26247] New: [4.2 regression] gcc.dg/tree-ssa/gen-vect-26.c, 28 and 32. int_mode_for_mode ICE strict_low_part loop-invariant hp at gcc dot gnu dot org
2006-02-13  1:28 ` [Bug rtl-optimization/26247] " pinskia at gcc dot gnu dot org
2006-02-13  1:32 ` rakdver at gcc dot gnu dot org
2006-02-13  1:47 ` hp at gcc dot gnu dot org
2006-02-13 20:27 ` rakdver at gcc dot gnu dot org
2006-02-13 20:58 ` pinskia at gcc dot gnu dot 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).