[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-07 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #28 from davem at gcc dot gnu.org 2012-11-07 08:42:17 UTC --- Author: davem Date: Wed Nov 7 08:42:09 2012 New Revision: 193283 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193283 Log: Revert sparc U constraint

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-07 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 davem at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-06 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #24 from davem at gcc dot gnu.org 2012-11-06 18:07:46 UTC --- On several occasions, in both public and private emails, I have in fact expressed my displeasure with how the configure system and the sparc backend treat things

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-06 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #25 from davem at gcc dot gnu.org 2012-11-06 22:32:40 UTC --- Just an update. I know what the exact problem is. Actually it's a combination of things. Because of the way that IRA maintains it's hard reg sets, it can end up

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-06 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #26 from davem at gcc dot gnu.org 2012-11-07 07:11:44 UTC --- Ok, it seems it is not possible to expression the even integer register condition using register classes. Therefore I will revert the U constraint removal. I

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-06 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #27 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-11-07 07:37:05 UTC --- Longer term we do need a fix for this. It is very clear that IRA is allocating odd registers at times for DImode pseudos on 32-bit, and the

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||davem at

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #2 from Mikael Pettersson mikpe at it dot uu.se 2012-11-05 13:14:22 UTC --- I'm now trying a bootstrap with r192871, r192824, and r192757 reverted, as those were the only recent SPARC-specific changes I could find.

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #3 from Mikael Pettersson mikpe at it dot uu.se 2012-11-05 14:12:09 UTC --- (In reply to comment #0) = 0x00575f94 _ZL27emit_note_insn_var_locationPPvS_+1604: ldd [ %i0 + %g1 ], %o1 The destination register field is

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.8.0

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #5 from davem at gcc dot gnu.org 2012-11-05 18:22:17 UTC --- I'm really surprised to see the integer ldd/std patterns matching in a 64-bit build.

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #6 from davem at gcc dot gnu.org 2012-11-05 18:24:11 UTC --- Oh I see, you're forcing v8 in the configure line. It's so much easier to sparc32 bash before running configure so that the build/host/target ends up being correct

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #7 from Mikael Pettersson mikpe at it dot uu.se 2012-11-05 19:13:30 UTC --- (In reply to comment #2) I'm now trying a bootstrap with r192871, r192824, and r192757 reverted, as those were the only recent SPARC-specific changes

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #8 from davem at gcc dot gnu.org 2012-11-05 19:16:14 UTC --- Thanks for tracking this down, I'll fix or revert.

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #9 from davem at gcc dot gnu.org 2012-11-05 21:38:40 UTC --- I'm having a hard time reproducing this, I've tried 32-bit bootstraps with several variations of your listed configure command line. But meanwhile I want some

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-05 21:41:09 UTC --- I guess best would be if you could attach your var-tracking.ii and the exact cc1plus command line used to compile it.

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #11 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-11-05 21:47:17 UTC --- I'm having a hard time reproducing this, I've tried 32-bit bootstraps with several variations of your listed configure command line. I can

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #12 from davem at gcc dot gnu.org 2012-11-05 21:50:38 UTC --- That configuration doesn't make any sense. It's going to pass -m64 down into the libgcc2 build, then the internal --with-cpu=v8 setting is going to override all

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #13 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-11-05 21:55:13 UTC --- Created attachment 28621 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28621 Preprocessed file /home/ebotcazou/build/./prev-gcc/cc1plus

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #14 from davem at gcc dot gnu.org 2012-11-05 22:04:10 UTC --- The bug does not trigger using that var-tracking test file using a properly configures 32-bit compiler, I just checked. This sparc64+--with-cpu=v8 is not a legal

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #15 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-11-05 22:08:00 UTC --- That configuration doesn't make any sense. It's going to pass -m64 down into the libgcc2 build, then the internal --with-cpu=v8 setting is

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #16 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-11-05 22:19:38 UTC --- The bug does not trigger using that var-tracking test file using a properly configures 32-bit compiler, I just checked. Configure a regular

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #17 from davem at gcc dot gnu.org 2012-11-05 22:21:32 UTC --- If sparc+--with-cpu=v8 and sparc64+--with-cpu=v8 were equal then my build would trigger the problem too :-) I'll look more deeply into this, thanks Eric.

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #18 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-11-05 22:31:13 UTC --- If sparc+--with-cpu=v8 and sparc64+--with-cpu=v8 were equal then my build would trigger the problem too :-) Yep, you might want to configure

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #19 from davem at gcc dot gnu.org 2012-11-06 01:43:40 UTC --- I always use --enable-targets=all

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #20 from davem at gcc dot gnu.org 2012-11-06 01:44:09 UTC --- Eric, I checked, and that is not how Debian builds their gcc. They build with sparc-unknown-linux as the triplet. So they configure their compiler correctly, and

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #21 from davem at gcc dot gnu.org 2012-11-06 01:49:28 UTC --- And now I remember more about this. They did that utterly stupid sparc64+--with-cpu=v8 thing exactly because --enable-targets=all didn't exist for sparc way back

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread davem at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #22 from davem at gcc dot gnu.org 2012-11-06 04:15:21 UTC --- Ok IRA is where the allocation of %o1 for DImode is performed. I'll try to figure out why it isn't consulting HARD_REGNO_MODE_OK to validate this choice.

[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3

2012-11-05 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211 --- Comment #23 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-11-06 07:49:43 UTC --- Eric, I checked, and that is not how Debian builds their gcc. They build with sparc-unknown-linux as the triplet. So they configure their