public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/34042]  New: Segfault in mips_cannot_change_mode_class
@ 2007-11-09 13:51 fxcoudert at gcc dot gnu dot org
  2007-11-09 18:55 ` [Bug target/34042] " rsandifo at gcc dot gnu dot org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2007-11-09 13:51 UTC (permalink / raw)
  To: gcc-bugs

$ cat foo.i
typedef long double Tal2ldouble __attribute__((aligned (2)));
struct S2015 { Tal2ldouble a; };
extern struct S2015 check2015 ();
extern void checkx2015 (struct S2015);
void test2015 (void) { checkx2015 (check2015 ()); }
boltzmann ~/devel/irun $ cat foo.i
typedef long double Tal2ldouble __attribute__((aligned (2)));
struct S2015 { Tal2ldouble a; };
extern struct S2015 check2015 ();
extern void checkx2015 (struct S2015);
void test2015 (void) { checkx2015 (check2015 ()); }
boltzmann ~/devel/irun $ ./bin/gcc foo.i
gcc: Internal error: Segmentation fault (program cc1)

$ ./bin/gcc foo.i
gcc: Internal error: Segmentation fault (program cc1)

The backtrace for the segfault is:

Program received signal SIGSEGV, Segmentation fault.
0x1014a75c in mips_cannot_change_mode_class (from=TImode, to=DImode,
    class=FP_REGS) at ../../trunk/gcc/config/mips/mips.c:8732
8732    {
(gdb) bt
#0  0x1014a75c in mips_cannot_change_mode_class (from=TImode, to=DImode,
    class=FP_REGS) at ../../trunk/gcc/config/mips/mips.c:8732
#1  0x104b7ef4 in simplify_subreg (outermode=DImode, op=0x40bb280,
    innermode=TImode, byte=0) at ../../trunk/gcc/simplify-rtx.c:5021
#2  0x104b8bec in simplify_gen_subreg (outermode=TImode, op=0xa,
    innermode=SImode, byte=0) at ../../trunk/gcc/simplify-rtx.c:5218
#3  0x1020d0a0 in emit_move_multi_word (mode=TImode, x=0x50e1660, y=0x40bb280)
    at ../../trunk/gcc/expr.c:3265
#4  0x10209e50 in emit_move_insn (x=0x50e1660, y=0x40bb280)
    at ../../trunk/gcc/expr.c:3408
#5  0x101aaef4 in copy_to_reg (x=0x40bb280) at ../../trunk/gcc/explow.c:617
#6  0x1018fc6c in operand_subword_force (op=0x40bb280, offset=0, mode=TImode)
    at ../../trunk/gcc/emit-rtl.c:1448
#7  0x1020d2b0 in emit_move_multi_word (mode=TImode, x=0x50e1640, y=0x40bb280)
    at ../../trunk/gcc/expr.c:3276
#8  0x10209e50 in emit_move_insn (x=0x50e1640, y=0x40bb280)
    at ../../trunk/gcc/expr.c:3408
#9  0x101aaef4 in copy_to_reg (x=0x40bb280) at ../../trunk/gcc/explow.c:617
#10 0x1018fc6c in operand_subword_force (op=0x40bb280, offset=0, mode=TImode)
    at ../../trunk/gcc/emit-rtl.c:1448


-- 
           Summary: Segfault in mips_cannot_change_mode_class
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: fxcoudert at gcc dot gnu dot org
 GCC build triplet: mips-sgi-irix6.5
  GCC host triplet: mips-sgi-irix6.5
GCC target triplet: mips-sgi-irix6.5


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


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

* [Bug target/34042] Segfault in mips_cannot_change_mode_class
  2007-11-09 13:51 [Bug target/34042] New: Segfault in mips_cannot_change_mode_class fxcoudert at gcc dot gnu dot org
@ 2007-11-09 18:55 ` rsandifo at gcc dot gnu dot org
  2007-11-11 13:54 ` rsandifo at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2007-11-09 18:55 UTC (permalink / raw)
  To: gcc-bugs



-- 

rsandifo at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |rsandifo at gcc dot gnu dot
                   |dot org                     |org
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-11-09 18:55:04
               date|                            |


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


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

* [Bug target/34042] Segfault in mips_cannot_change_mode_class
  2007-11-09 13:51 [Bug target/34042] New: Segfault in mips_cannot_change_mode_class fxcoudert at gcc dot gnu dot org
  2007-11-09 18:55 ` [Bug target/34042] " rsandifo at gcc dot gnu dot org
@ 2007-11-11 13:54 ` rsandifo at gcc dot gnu dot org
  2007-11-11 14:34 ` fxcoudert at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2007-11-11 13:54 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from rsandifo at gcc dot gnu dot org  2007-11-11 13:54 -------
Created an attachment (id=14530)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14530&action=view)
Proposed patch

Sorry, this is a long-latent bug exposed by the __divdc3 fix:

   http://gcc.gnu.org/ml/gcc-patches/2007-09/msg02112.html

Could you try the attached patch?  I'll test it on some targets
as well, but I don't have access to targets with 128-bit long doubles
at the moment (hoping this will change soon).


-- 


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


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

* [Bug target/34042] Segfault in mips_cannot_change_mode_class
  2007-11-09 13:51 [Bug target/34042] New: Segfault in mips_cannot_change_mode_class fxcoudert at gcc dot gnu dot org
  2007-11-09 18:55 ` [Bug target/34042] " rsandifo at gcc dot gnu dot org
  2007-11-11 13:54 ` rsandifo at gcc dot gnu dot org
@ 2007-11-11 14:34 ` fxcoudert at gcc dot gnu dot org
  2007-11-11 16:56 ` fxcoudert at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2007-11-11 14:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from fxcoudert at gcc dot gnu dot org  2007-11-11 14:34 -------
(In reply to comment #1)
> Could you try the attached patch?

I am rebulding and will test it, but it takes quite some time...

By the way, I have posted the test results of mainline on mips-sgi-irix6.5 at
http://gcc.gnu.org/ml/gcc-testresults/2007-11/msg00486.html. I intend to open
individual PRs for each distinct failure when I get time to trim them down to
simple testcases. Do you want me to CC you on these when they look like target
issues? (ie not front-end)


-- 


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


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

* [Bug target/34042] Segfault in mips_cannot_change_mode_class
  2007-11-09 13:51 [Bug target/34042] New: Segfault in mips_cannot_change_mode_class fxcoudert at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2007-11-11 14:34 ` fxcoudert at gcc dot gnu dot org
@ 2007-11-11 16:56 ` fxcoudert at gcc dot gnu dot org
  2007-11-11 23:00 ` rsandifo at nildram dot co dot uk
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2007-11-11 16:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from fxcoudert at gcc dot gnu dot org  2007-11-11 16:56 -------
(In reply to comment #2)
> I am rebulding and will test it, but it takes quite some time...

Less than I thought! It fixes it, and no other regression has appeared.


-- 


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


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

* [Bug target/34042] Segfault in mips_cannot_change_mode_class
  2007-11-09 13:51 [Bug target/34042] New: Segfault in mips_cannot_change_mode_class fxcoudert at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2007-11-11 16:56 ` fxcoudert at gcc dot gnu dot org
@ 2007-11-11 23:00 ` rsandifo at nildram dot co dot uk
  2007-11-12 20:05 ` rsandifo at gcc dot gnu dot org
  2007-11-12 20:10 ` rsandifo at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: rsandifo at nildram dot co dot uk @ 2007-11-11 23:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from rsandifo at nildram dot co dot uk  2007-11-11 22:59 -------
Subject: Re:  Segfault in mips_cannot_change_mode_class

"fxcoudert at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> writes:
>> Could you try the attached patch?
>
> I am rebulding and will test it, but it takes quite some time...

Thanks.  Glad to hear from the later message that it went OK.
I'll commit tomorrow if my testing goes the same way.

> By the way, I have posted the test results of mainline on mips-sgi-irix6.5 at
> http://gcc.gnu.org/ml/gcc-testresults/2007-11/msg00486.html. I intend to open
> individual PRs for each distinct failure when I get time to trim them down to
> simple testcases. Do you want me to CC you on these when they look like target
> issues? (ie not front-end)

Sure, please do.  In fact, please CC me on them whatever they are.
I try to look out for MIPS bugs, but it's always possible I'll miss some.

Richard


-- 


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


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

* [Bug target/34042] Segfault in mips_cannot_change_mode_class
  2007-11-09 13:51 [Bug target/34042] New: Segfault in mips_cannot_change_mode_class fxcoudert at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2007-11-11 23:00 ` rsandifo at nildram dot co dot uk
@ 2007-11-12 20:05 ` rsandifo at gcc dot gnu dot org
  2007-11-12 20:10 ` rsandifo at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2007-11-12 20:05 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from rsandifo at gcc dot gnu dot org  2007-11-12 20:05 -------
Subject: Bug 34042

Author: rsandifo
Date: Mon Nov 12 20:05:46 2007
New Revision: 130119

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130119
Log:
gcc/
        PR target/34042
        * config/mips/mips.c (mips_return_fpr_single): New function.
        (mips_function_value): Use it when returning single-field
        aggregates in FPRs.
        (mips_expand_call): Handle the PARALLELs created by
        mips_return_fpr_single.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/mips/mips.c


-- 


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


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

* [Bug target/34042] Segfault in mips_cannot_change_mode_class
  2007-11-09 13:51 [Bug target/34042] New: Segfault in mips_cannot_change_mode_class fxcoudert at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2007-11-12 20:05 ` rsandifo at gcc dot gnu dot org
@ 2007-11-12 20:10 ` rsandifo at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2007-11-12 20:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from rsandifo at gcc dot gnu dot org  2007-11-12 20:10 -------
Thanks for the testing.  Now fixed on mainline.


-- 

rsandifo at gcc dot gnu dot org changed:

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


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


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

end of thread, other threads:[~2007-11-12 20:10 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-11-09 13:51 [Bug target/34042] New: Segfault in mips_cannot_change_mode_class fxcoudert at gcc dot gnu dot org
2007-11-09 18:55 ` [Bug target/34042] " rsandifo at gcc dot gnu dot org
2007-11-11 13:54 ` rsandifo at gcc dot gnu dot org
2007-11-11 14:34 ` fxcoudert at gcc dot gnu dot org
2007-11-11 16:56 ` fxcoudert at gcc dot gnu dot org
2007-11-11 23:00 ` rsandifo at nildram dot co dot uk
2007-11-12 20:05 ` rsandifo at gcc dot gnu dot org
2007-11-12 20:10 ` rsandifo 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).