public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "uweigand at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ada/26096]  New: Ada bootstrap fail in g-alleve.adb
Date: Sat, 04 Feb 2006 01:00:00 -0000	[thread overview]
Message-ID: <bug-26096-1501@http.gcc.gnu.org/bugzilla/> (raw)

On s390x (64-bit only), Ada bootstrap fails with

+===========================GNAT BUG DETECTED==============================+
| 4.2.0 20060131 (experimental) (s390x-ibm-linux-gnu) GCC error:           |
| in simplify_subreg, at simplify-rtx.c:4339                               |
| Error detected at g-alleve.adb:1977:14                                   |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
| Use a subject line meaningful to you and us to track the bug.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact gcc or gnatmake command that you entered.              |
| Also include sources listed below in gnatchop format                     |
| (concatenated together with no headers between files).                   |
+==========================================================================+

The source code in question is

   function abs_v16qi (A : LL_VSC) return LL_VSC is
      VA : constant VSC_View := To_View (A);
   begin
      return To_Vector ((Values =>
                           LL_VSC_Operations.abs_vxi (VA.Values)));
   end abs_v16qi;

and the ICE occurs at

#0  internal_error (gmsgid=0x807dbcd4 "in %s, at %s:%d") at
../../gcc-head/gcc/diagnostic.c:587
#1  0x00000000803b12ee in fancy_abort (file=Variable "file" is not available.
) at ../../gcc-head/gcc/diagnostic.c:642
#2  0x00000000805146ee in simplify_subreg (outermode=BLKmode, op=0x20000417b28,
innermode=DImode, byte=2155723988)
    at ../../gcc-head/gcc/simplify-rtx.c:4339
#3  0x0000000080514c1e in simplify_gen_subreg (outermode=BLKmode,
op=0x20000417b28, innermode=DImode, byte=8)
    at ../../gcc-head/gcc/simplify-rtx.c:4606
#4  0x0000000080564ea2 in gen_lowpart_general (mode=BLKmode, x=0x20000417b28)
at ../../gcc-head/gcc/rtlhooks.c:43
#5  0x0000000080409650 in convert_move (to=0x200004177e0, from=Variable "from"
is not available.
) at ../../gcc-head/gcc/expr.c:640
#6  0x000000008040c73e in store_expr (exp=0x2000061dc60, target=0x200004177e0,
call_param_p=0)
    at ../../gcc-head/gcc/expr.c:4337
#7  0x000000008040df32 in expand_assignment (to=0x20001a69f20, from=0x80) at
../../gcc-head/gcc/expr.c:4142
#8  0x00000000803fe844 in expand_expr_real_1 (exp=Variable "exp" is not
available.
) at ../../gcc-head/gcc/expr.c:8443
#9  0x00000000804067d8 in expand_expr_real (exp=0x2000044f630,
target=0x200001b2400, tmode=VOIDmode,
    modifier=EXPAND_NORMAL, alt_rtl=Variable "alt_rtl" is not available.
) at ../../gcc-head/gcc/expr.c:6545
#10 0x000000008051bb62 in expand_expr_stmt (exp=0x2000044f630) at expr.h:493
#11 0x00000000805669b8 in expand_gimple_basic_block (bb=0x20001ab0900,
dump_file=Variable "dump_file" is not available.
) at ../../gcc-head/gcc/cfgexpand.c:1365
#12 0x0000000080568386 in tree_expand_cfg () at
../../gcc-head/gcc/cfgexpand.c:1624
#13 0x000000008056308e in execute_one_pass (pass=0x808ec280) at
../../gcc-head/gcc/passes.c:853
#14 0x00000000805631be in execute_pass_list (pass=0x808ec280) at
../../gcc-head/gcc/passes.c:885
#15 0x00000000802dc4ee in tree_rest_of_compilation (fndecl=0x20000248100) at
../../gcc-head/gcc/tree-optimize.c:412
#16 0x000000008001f8cc in gnat_expand_body (gnu_decl=0x20000248100) at
../../gcc-head/gcc/ada/misc.c:649
#17 0x00000000805b1c3e in cgraph_expand_function (node=0x20001a27450) at
../../gcc-head/gcc/cgraphunit.c:1101
#18 0x00000000805b3300 in cgraph_assemble_pending_functions () at
../../gcc-head/gcc/cgraphunit.c:354
#19 0x00000000805b2c0c in cgraph_finalize_function (decl=0x20000248100,
nested=0 '\0')
    at ../../gcc-head/gcc/cgraphunit.c:480
#20 0x000000008003f176 in gnat_to_gnu (gnat_node=Variable "gnat_node" is not
available.
) at ../../gcc-head/gcc/ada/trans.c:1485
#21 0x0000000080046996 in process_decls (gnat_decls=Variable "gnat_decls" is
not available.
) at ../../gcc-head/gcc/ada/trans.c:5101
#22 0x000000008003e0fc in gnat_to_gnu (gnat_node=Variable "gnat_node" is not
available.
) at ../../gcc-head/gcc/ada/trans.c:3763
#23 0x0000000080046e30 in Compilation_Unit_to_gnu (gnat_node=1643) at
../../gcc-head/gcc/ada/trans.c:2457
#24 0x0000000080048a74 in gigi (gnat_root=1643, max_gnat_node=Variable
"max_gnat_node" is not available.
) at ../../gcc-head/gcc/ada/trans.c:241
#25 0x00000000802d13a0 in back_end.call_back_end
(mode=back_end__generate_object)
    at ../../gcc-head/gcc/ada/back_end.adb:125
#26 0x00000000802d1b72 in _ada_gnat1drv () at
../../gcc-head/gcc/ada/gnat1drv.adb:620
#27 0x0000000080020396 in gnat_parse_file (set_yydebug=Variable "set_yydebug"
is not available.
) at ../../gcc-head/gcc/ada/misc.c:242
#28 0x000000008052baa4 in toplev_main (argc=Variable "argc" is not available.
) at ../../gcc-head/gcc/toplev.c:998
#29 0x000002000004716a in __libc_start_main () from /lib64/tls/libc.so.6
#30 0x0000000080003992 in _start ()


It looks like the problem is caused by attempting to store a TImode
source into a BLKmode target:

(gdb) call debug_tree (to)
 <var_decl 0x20001a69f20
gnat__altivec__low_level_vectors__abs_v16qi__va___ALIGN
    type <record_type 0x20001a69c60
gnat__altivec__vector_views__vsc_view____ALIGN sizes-gimplified BLK
        size <integer_cst 0x200001c6060 constant invariant 256>
        unit size <integer_cst 0x200001ae3c0 constant invariant 32>
        align 64 symtab 0 alias set 0
        fields <field_decl 0x200005dec38 F type <record_type 0x20001a69420
gnat__altivec__vector_views__vsc_view>
            decl_5 TI file g-alleve.adb line 1975
            size <integer_cst 0x200001aedb0 constant invariant visited 128>
            unit size <integer_cst 0x200001aede0 constant invariant visited 16>
            align 128 offset_align 8
            offset <bit_and_expr 0x2000061bc18 type <integer_type 0x200001ba000
long int>

                arg 0 <negate_expr 0x200003dd7c0 type <integer_type
0x200001ba000 long int>

                    arg 0 <nop_expr 0x200003dd780 type <integer_type
0x200001ba000 long int>

                        arg 0 <addr_expr 0x200003dd6c0 type <pointer_type
0x20001a69e70>
                            arg 0 <placeholder_expr 0x20001a05700>>>>
                arg 1 <integer_cst 0x200001aeb40 constant invariant 15>>
            bit offset <integer_cst 0x200001c6120 constant invariant visited 0>
context <record_type 0x20001a69c60
gnat__altivec__vector_views__vsc_view____ALIGN>>
        Ada size <max_expr 0x2000061bea0 type <integer_type 0x200001ba0b0
bit_size_type>

            arg 0 <plus_expr 0x2000061be58 type <integer_type 0x200001ba0b0
bit_size_type>

                arg 0 <mult_expr 0x2000061be10 type <integer_type 0x200001ba0b0
bit_size_type>

                    arg 0 <bit_and_expr 0x2000061bc60 type <integer_type
0x200001ba0b0 bit_size_type>

                        arg 0 <nop_expr 0x200003dd840 type <integer_type
0x200001ba0b0 bit_size_type>
                            arg 0 <negate_expr 0x200003dd7c0>>
                        arg 1 <integer_cst 0x200001ae570 constant invariant
visited 15>>
                    arg 1 <integer_cst 0x200001ae4e0 constant invariant 8>> arg
1 <integer_cst 0x200001aedb0 128>> arg 1 <integer_cst 0x200001c6120 0>>
        pointer_to_this <pointer_type 0x20001a69e70> chain <type_decl
0x20001a7f820 D.7885>>
    addressable used BLK file g-alleve.adb line 1975 size <integer_cst
0x200001c6060 256> unit size <integer_cst 0x200001ae3c0 32>
    align 64 context <function_decl 0x20000248100
gnat__altivec__low_level_vectors__abs_v16qi>
    (mem/s/c:BLK (plus:DI (reg/f:DI 39 virtual-stack-vars)
        (const_int -104 [0xffffffffffffff98])) [0
gnat__altivec__low_level_vectors__abs_v16qi__va___ALIGN+0 S32 A64]) chain
<var_decl 0x2000061d0b0 va>>



(gdb) call debug_tree (exp)
 <var_decl 0x2000061dc60 D.7902
    type <record_type 0x20001a69420 gnat__altivec__vector_views__vsc_view
sizes-gimplified visited TI
        size <integer_cst 0x200001aedb0 constant invariant visited 128>
        unit size <integer_cst 0x200001aede0 constant invariant visited 16>
        align 128 symtab 0 alias set -1
        fields <field_decl 0x200005de7e8 values type <record_type 0x20001a69630
gnat__altivec__vector_views__varray_signed_char___PAD>
            TI file g-alvevi.ads line 68 size <integer_cst 0x200001aedb0 128>
unit size <integer_cst 0x200001aede0 16>
            align 128 offset_align 64
            offset <integer_cst 0x200001ae420 constant invariant visited 0>
            bit offset <integer_cst 0x200001c6120 constant invariant visited 0>
context <record_type 0x20001a69420 gnat__altivec__vector_views__vsc_view>> Ada
size <integer_cst 0x200001aedb0 128>
        pointer_to_this <pointer_type 0x20001a69a50> reference_to_this
<reference_type 0x20001a699a0> chain <type_decl 0x20000455270 D.7877>>
    used ignored TI file g-alleve.adb line 1975 size <integer_cst 0x200001aedb0
128> unit size <integer_cst 0x200001aede0 16>
    align 128 context <function_decl 0x20000248100
gnat__altivec__low_level_vectors__abs_v16qi>
    (reg:TI 70 [ D.7902 ]) chain <var_decl 0x2000061dd10
gnat__altivec__low_level_vectors__abs_v16qi__va___ALIGN.523>>

Is this supposed to work this way?


-- 
           Summary: Ada bootstrap fail in g-alleve.adb
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: uweigand at gcc dot gnu dot org
GCC target triplet: s390x-*-linux-gnu


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


             reply	other threads:[~2006-02-04  1:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-04  1:00 uweigand at gcc dot gnu dot org [this message]
2006-02-04  8:38 ` [Bug ada/26096] " ebotcazou at gcc dot gnu dot org
2006-02-04  8:44 ` ebotcazou at gcc dot gnu dot org
2006-02-04 19:11 ` [Bug ada/26096] [4.2 Regression] Ada bootstrap fails " uweigand at gcc dot gnu dot org
2006-02-04 19:42 ` ebotcazou at gcc dot gnu dot org
2006-02-04 20:17 ` uweigand at gcc dot gnu dot org
2006-02-04 20:27 ` ebotcazou at gcc dot gnu dot org
2006-02-04 20:34 ` laurent at guerby dot net
2006-02-08 21:44 ` uweigand at gcc dot gnu dot org
2006-02-08 22:05 ` ebotcazou at gcc dot gnu dot org
2006-02-08 22:36 ` uweigand at gcc dot gnu dot org
2006-02-15  9:31 ` charlet at gcc dot gnu dot org
2006-02-15 10:02 ` charlet at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-26096-1501@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).