public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/14532] New: s390x internal compiler error: output_operand: Cannot decompose address.
@ 2004-03-11 12:57 jakub at gcc dot gnu dot org
  2004-03-12 12:53 ` [Bug target/14532] " jakub at gcc dot gnu dot org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: jakub at gcc dot gnu dot org @ 2004-03-11 12:57 UTC (permalink / raw)
  To: gcc-bugs

/* { dg-do compile } */
/* { dg-options "-O2 -fpic" } */

struct I
{
  void *i;
  int j;
};
struct S
{
  struct S *m;
} **a;
extern char b[];
int d, e;

void bar (void *, void *, char *, int, int);
void baz (void *, int);

void
foo (void *x, struct I *y, char *z)
{
  struct S *f;
  int k = 1, l;

again:
  for (f = *a; f != (struct S *) a; f = f->m)
    {
      l = z - b;
      if (e && y)
        bar (&y->i, x, b, l, y->j);
      if (d)
        baz (x, l);
      z++;
    }
  if (k)
    {
      k = 0;
      goto again;
    }
}

Reproduceable on s390x on gcc-3_4-branch and trunk, works on 3.3 and earlier.

-- 
           Summary: s390x internal compiler error: output_operand: Cannot
                    decompose address.
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: x86_64-redhat-linux
GCC target triplet: s390x-redhat-linux


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


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

* [Bug target/14532] s390x internal compiler error: output_operand: Cannot decompose address.
  2004-03-11 12:57 [Bug target/14532] New: s390x internal compiler error: output_operand: Cannot decompose address jakub at gcc dot gnu dot org
@ 2004-03-12 12:53 ` jakub at gcc dot gnu dot org
  2004-03-16  4:56 ` [Bug target/14532] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu dot org @ 2004-03-12 12:53 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From jakub at gcc dot gnu dot org  2004-03-12 12:53 -------
This looks like generic reload bug to me.
find_reloads_subreg_address is called on (subreg:SI (reg:DI 52) 4) where
reg_equiv_mem[regno] is
(mem/u:DI (plus:DI (reg:DI 12 %r12)
        (const:DI (unspec:DI [
                    (symbol_ref:DI ("b") [flags 0x40] <var_decl 0x2a97d11680 b>)
                ] 111))) [0 S8 A8])

This calls find_reloads_address on
(plus:DI (reg:DI 12 %r12)
    (const:DI (plus:DI (unspec:DI [
                    (symbol_ref:DI ("b") [flags 0x40] <var_decl 0x2a97d11680 b>)
                ] 111)
            (const_int 4 [0x4]))))
which is not valid on s390 (that MEM without the offset is not offsetable even,
but find_reloads_subreg_address tried anyway).
This later calls find_reloads_address_1 on that
(plus:DI (reg:DI 12 %r12)
    (const:DI (plus:DI (unspec:DI [
                    (symbol_ref:DI ("b") [flags 0x40] <var_decl 0x2a97d11680 b>)
                ] 111)
            (const_int 4 [0x4]))))
which sees the second PLUS operand is a CONST and find_reloads_address_1's just
the first PLUS operand and not the second.
5321            else if (code1 == CONST_INT || code1 == CONST
5322                     || code1 == SYMBOL_REF || code1 == LABEL_REF)
5323              find_reloads_address_1 (mode, orig_op0, 0, &XEXP (x, 0), opnum,
5324                                      type, ind_levels, insn);
That doesn't change anything (of course, REG %r12 is valid, the CONST is not)
and keeps this invalid MEM in the insn stream.
I wonder if find_reloads_address_1 shouldn't be called also on the CONSTs.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rth at redhat dot com,
                   |                            |bernds at redhat dot com


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


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

* [Bug target/14532] [3.4/3.5 Regression] s390x internal compiler error: output_operand: Cannot decompose address.
  2004-03-11 12:57 [Bug target/14532] New: s390x internal compiler error: output_operand: Cannot decompose address jakub at gcc dot gnu dot org
  2004-03-12 12:53 ` [Bug target/14532] " jakub at gcc dot gnu dot org
@ 2004-03-16  4:56 ` pinskia at gcc dot gnu dot org
  2004-03-16 16:17 ` pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-03-16  4:56 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
            Summary|s390x internal compiler     |[3.4/3.5 Regression] s390x
                   |error: output_operand:      |internal compiler error:
                   |Cannot decompose address.   |output_operand: Cannot
                   |                            |decompose address.
   Target Milestone|---                         |3.4.1


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


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

* [Bug target/14532] [3.4/3.5 Regression] s390x internal compiler error: output_operand: Cannot decompose address.
  2004-03-11 12:57 [Bug target/14532] New: s390x internal compiler error: output_operand: Cannot decompose address jakub at gcc dot gnu dot org
  2004-03-12 12:53 ` [Bug target/14532] " jakub at gcc dot gnu dot org
  2004-03-16  4:56 ` [Bug target/14532] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
@ 2004-03-16 16:17 ` pinskia at gcc dot gnu dot org
  2004-06-05 20:28 ` mmitchel at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-03-16 16:17 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-03-16 16:17 -------
Confirmed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2004-03-16 16:17:23
               date|                            |


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


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

* [Bug target/14532] [3.4/3.5 Regression] s390x internal compiler error: output_operand: Cannot decompose address.
  2004-03-11 12:57 [Bug target/14532] New: s390x internal compiler error: output_operand: Cannot decompose address jakub at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2004-03-16 16:17 ` pinskia at gcc dot gnu dot org
@ 2004-06-05 20:28 ` mmitchel at gcc dot gnu dot org
  2004-08-23 20:55 ` mmitchel at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-06-05 20:28 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-06-05 20:28 -------
S390 is not a primary platform; moving target to 3.4.2.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.1                       |3.4.2


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


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

* [Bug target/14532] [3.4/3.5 Regression] s390x internal compiler error: output_operand: Cannot decompose address.
  2004-03-11 12:57 [Bug target/14532] New: s390x internal compiler error: output_operand: Cannot decompose address jakub at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2004-06-05 20:28 ` mmitchel at gcc dot gnu dot org
@ 2004-08-23 20:55 ` mmitchel at gcc dot gnu dot org
  2004-11-01  0:46 ` [Bug target/14532] [3.4/4.0 " mmitchel at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-08-23 20:55 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-08-23 20:55 -------
Postponed until GCC 3.4.3.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.2                       |3.4.3


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


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

* [Bug target/14532] [3.4/4.0 Regression] s390x internal compiler error: output_operand: Cannot decompose address.
  2004-03-11 12:57 [Bug target/14532] New: s390x internal compiler error: output_operand: Cannot decompose address jakub at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2004-08-23 20:55 ` mmitchel at gcc dot gnu dot org
@ 2004-11-01  0:46 ` mmitchel at gcc dot gnu dot org
  2004-12-01 18:21 ` pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-11-01  0:46 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-11-01 00:45 -------
Postponed until GCC 3.4.4.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.3                       |3.4.4


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


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

* [Bug target/14532] [3.4/4.0 Regression] s390x internal compiler error: output_operand: Cannot decompose address.
  2004-03-11 12:57 [Bug target/14532] New: s390x internal compiler error: output_operand: Cannot decompose address jakub at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2004-11-01  0:46 ` [Bug target/14532] [3.4/4.0 " mmitchel at gcc dot gnu dot org
@ 2004-12-01 18:21 ` pinskia at gcc dot gnu dot org
  2004-12-20  1:49 ` [Bug target/14532] [3.4 " pinskia at gcc dot gnu dot org
  2005-04-29 18:48 ` mmitchel at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-01 18:21 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P2                          |P3


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


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

* [Bug target/14532] [3.4 Regression] s390x internal compiler error: output_operand: Cannot decompose address.
  2004-03-11 12:57 [Bug target/14532] New: s390x internal compiler error: output_operand: Cannot decompose address jakub at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2004-12-01 18:21 ` pinskia at gcc dot gnu dot org
@ 2004-12-20  1:49 ` pinskia at gcc dot gnu dot org
  2005-04-29 18:48 ` mmitchel at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-12-20  1:49 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-12-20 01:49 -------
Works for me on the mainline.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|3.4.1 4.0.0                 |3.4.1
      Known to work|                            |4.0.0
            Summary|[3.4/4.0 Regression] s390x  |[3.4 Regression] s390x
                   |internal compiler error:    |internal compiler error:
                   |output_operand: Cannot      |output_operand: Cannot
                   |decompose address.          |decompose address.


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


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

* [Bug target/14532] [3.4 Regression] s390x internal compiler error: output_operand: Cannot decompose address.
  2004-03-11 12:57 [Bug target/14532] New: s390x internal compiler error: output_operand: Cannot decompose address jakub at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2004-12-20  1:49 ` [Bug target/14532] [3.4 " pinskia at gcc dot gnu dot org
@ 2005-04-29 18:48 ` mmitchel at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-04-29 18:48 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2005-04-29 18:48 -------
Removing target milestone; S390 is not a primary or secondary target.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.4                       |---


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


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

end of thread, other threads:[~2005-04-29 18:48 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-11 12:57 [Bug target/14532] New: s390x internal compiler error: output_operand: Cannot decompose address jakub at gcc dot gnu dot org
2004-03-12 12:53 ` [Bug target/14532] " jakub at gcc dot gnu dot org
2004-03-16  4:56 ` [Bug target/14532] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
2004-03-16 16:17 ` pinskia at gcc dot gnu dot org
2004-06-05 20:28 ` mmitchel at gcc dot gnu dot org
2004-08-23 20:55 ` mmitchel at gcc dot gnu dot org
2004-11-01  0:46 ` [Bug target/14532] [3.4/4.0 " mmitchel at gcc dot gnu dot org
2004-12-01 18:21 ` pinskia at gcc dot gnu dot org
2004-12-20  1:49 ` [Bug target/14532] [3.4 " pinskia at gcc dot gnu dot org
2005-04-29 18:48 ` mmitchel 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).