[Bug target/60610] [4.9 Regression] ICE in convert_regs_1, at reg-stack.c:3064

2014-03-21 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60610

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Note that the weird thing is that with 4.8 I get

[  127s] GRUB2 will be compiled with following components:
...
[  127s] efiemu runtime: No (cannot compile with -m64 -mcmodel=large
-mno-red-zone -nostdlib)

but appearantly with 4.9 that succeeds (the compiler wasn't built with
multilibs)

[  153s] efiemu runtime: Yes

so maybe this isn't a true regression.  It's at least odd.


[Bug target/60610] [4.9 Regression] ICE in convert_regs_1, at reg-stack.c:3064

2014-03-21 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60610

--- Comment #2 from H.J. Lu hjl.tools at gmail dot com ---
(In reply to Richard Biener from comment #0)
 Created attachment 32417 [details]
 testcase
 
 /usr/lib/gcc/i586-suse-linux/4.9/cc1 -fpreprocessed efiemu.i -quiet
 -dumpbase efiemu.c -m64 -mcmodel=large -mno-red-zone -mtune=generic
 -march=x86-64 -auxbase-strip efiemu64_c.o -O2 -Wall -Werror -version -o
 efiemu.s
 ../../grub-core/efiemu/runtime/efiemu.c: In function 'efiemu_get_time':
 ../../grub-core/efiemu/runtime/efiemu.c:247:1: internal compiler error: in
 convert_regs_1, at reg-stack.c:3064
  }
  ^
 libbacktrace could not find executable to open
 Please submit a full bug report,
 with preprocessed source if appropriate.
 See http://bugs.opensuse.org/ for instructions.

I got

[hjl@gnu-6 pr60610]$ /export/build/gnu/gcc-32bit/build-i586-linux/gcc/cc1
-fpreprocessed efiemu.i -quiet -dumpbase efiemu.c -m64 -mcmodel=large
-mno-red-zone -mtune=generic -march=x86-64 -auxbase-strip efiemu64_c.o -O2
-Wall -version -o efiemu.s
GNU C (GCC) version 4.9.0 20140321 (experimental) (i586-linux)
compiled by GNU C version 4.8.2 20140115 (Red Hat 4.8.2-11), GMP version
5.1.2, MPFR version 3.1.2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C (GCC) version 4.9.0 20140321 (experimental) (i586-linux)
compiled by GNU C version 4.8.2 20140115 (Red Hat 4.8.2-11), GMP version
5.1.2, MPFR version 3.1.2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 1545236744b328e15d09c2404fa0d2e2
../../grub-core/efiemu/runtime/efiemu.c: In function
‘efiemu_set_virtual_address_map’:
../../grub-core/efiemu/runtime/efiemu.c:378:6: warning: cast to pointer from
integer of different size [-Wint-to-pointer-cast]
../../grub-core/efiemu/runtime/efiemu.c:381:6: warning: cast to pointer from
integer of different size [-Wint-to-pointer-cast]
../../grub-core/efiemu/runtime/efiemu.c:384:6: warning: cast to pointer from
integer of different size [-Wint-to-pointer-cast]
../../grub-core/efiemu/runtime/efiemu.c:387:6: warning: cast to pointer from
integer of different size [-Wint-to-pointer-cast]
[hjl@gnu-6 pr60610]$

[Bug target/60610] [4.9 Regression] ICE in convert_regs_1, at reg-stack.c:3064

2014-03-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60610

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
You need 32-bit non-multilib cc1.  I can reproduce this, looking into it now.
4.8 configured the same way would complain:
error: code model ‘large’ not supported in the 32 bit mode
sorry, unimplemented: 64-bit mode not compiled in
but 4.9 doesn't for some reason.

[Bug target/60610] [4.9 Regression] ICE in convert_regs_1, at reg-stack.c:3064

2014-03-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60610

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-03-21
 Ever confirmed|0   |1

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
This got broken with r203634.
203634   tmsriram   if ((TARGET_64BIT_P (opts-x_ix86_isa_flags) != 0)
203634   tmsriram   != ((opts-x_ix86_isa_flags  OPTION_MASK_ISA_64BIT) !=
0))
is always false, no matter how the compiler has been configured:
i386.h:#define TARGET_64BIT_P(x) TARGET_ISA_64BIT_P(x)
#define TARGET_ISA_64BIT_P(ix86_isa_flags) ((ix86_isa_flags 
OPTION_MASK_ISA_64BIT) != 0)


[Bug target/60610] [4.9 Regression] ICE in convert_regs_1, at reg-stack.c:3064

2014-03-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60610

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 32425
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32425action=edit
gcc49-pr60610.patch

Completely untested patch.


[Bug target/60610] [4.9 Regression] ICE in convert_regs_1, at reg-stack.c:3064

2014-03-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60610

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org ---
Fixed.


[Bug target/60610] [4.9 Regression] ICE in convert_regs_1, at reg-stack.c:3064

2014-03-21 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60610

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Fri Mar 21 21:24:31 2014
New Revision: 208756

URL: http://gcc.gnu.org/viewcvs?rev=208756root=gccview=rev
Log:
PR target/60610
* config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
redefine to 1 or 0.
* config/i386/darwin.h (TARGET_64BIT_P): Redefine to
TARGET_ISA_64BIT_P(x).

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/darwin.h
trunk/gcc/config/i386/i386.h