http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47364
Summary: [x32] internal compiler error: in emit_move_insn, at expr.c:3355 Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com On x32 branch, revision 169022 gave me: [hjl@gnu-6 ilp32-6]$ cat l.i static unsigned char foo[256]; arc4_init(void) { int n; for (n = 0; n < 256; n++) foo[n] = n; } ... Starting program: /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/cc1 -fpreprocessed l.i -quiet -dumpbase l.i -mx32 -mtune=generic -march=x86-64 -auxbase-strip l.s -O -version -fPIC -o l.s GNU C (GCC) version 4.6.0 20110119 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.1 20100924 (Red Hat 4.5.1-4), GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C (GCC) version 4.6.0 20110119 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.1 20100924 (Red Hat 4.5.1-4), GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 907bc1978bdfb9cacc592629d3ab71fe Breakpoint 1, fancy_abort ( file=0x11f1068 "/export/gnu/import/git/gcc-x32/gcc/expr.c", line=3355, function=0x11f2526 "emit_move_insn") at /export/gnu/import/git/gcc-x32/gcc/diagnostic.c:893 893 internal_error ("in %s, at %s:%d", function, trim_filename (file), line); (gdb) bt #0 fancy_abort (file=0x11f1068 "/export/gnu/import/git/gcc-x32/gcc/expr.c", line=3355, function=0x11f2526 "emit_move_insn") at /export/gnu/import/git/gcc-x32/gcc/diagnostic.c:893 #1 0x00000000006f074b in emit_move_insn (x=0x7ffff1af4bc0, y=0x7ffff1af4aa0) at /export/gnu/import/git/gcc-x32/gcc/expr.c:3354 #2 0x0000000000cda2b9 in ix86_legitimize_address (x=0x7ffff1af81f8, oldx=0x7ffff1af81c8, mode=QImode) at /export/gnu/import/git/gcc-x32/gcc/config/i386/i386.c:12952 #3 0x00000000009ed580 in default_addr_space_legitimize_address ( x=0x7ffff1af81f8, oldx=0x7ffff1af81c8, mode=QImode, as=0 '\000') at /export/gnu/import/git/gcc-x32/gcc/targhooks.c:1136 #4 0x00000000006d416b in memory_address_addr_space (mode=QImode, x=0x7ffff1af81f8, as=0 '\000') at /export/gnu/import/git/gcc-x32/gcc/explow.c:457 #5 0x000000000070ba0e in expand_expr_real_1 (exp=0x7ffff1af60a0, target=0x0, tmode=VOIDmode, modifier=EXPAND_WRITE, alt_rtl=0x0) at /export/gnu/import/git/gcc-x32/gcc/expr.c:8645 #6 0x0000000000704be3 in expand_expr_real (exp=0x7ffff1af60a0, target=0x0, tmode=VOIDmode, modifier=EXPAND_WRITE, alt_rtl=0x0) at /export/gnu/import/git/gcc-x32/gcc/expr.c:7214 #7 0x00000000006e7863 in expand_expr (exp=0x7ffff1af60a0, target=0x0, mode=VOIDmode, modifier=EXPAND_WRITE) at /export/gnu/import/git/gcc-x32/gcc/expr.h:422