http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49721
--- Comment #25 from H.J. Lu <hjl.tools at gmail dot com> 2011-08-18 21:56:43 UTC --- Another testcase: [hjl@gnu-6 pr49721]$ cat foo.f PARAMETER( LM=7 ) PARAMETER( NM=2+2**LM, NV=NM**3 ) PARAMETER( NR = (8*(NM**3+NM**2+5*NM-23+7*LM))/7 ) COMMON /X/ U, V, R, A REAL*8 U(NR),V(NV),R(NR),A(0:3) DO 20 IT=1,NIT CALL RESID(U,V,R,N,A) 20 CONTINUE END [hjl@gnu-6 pr49721]$ "-mx32 -O2 -ffast-math" may pass: (plus:SI (symbol_ref:SI ("x_") <var_decl 0x7ffff188b1e0 x>) (const_int 58071104 [0x3761840])) to convert_memory_address_addr_space #2 0x000000000078c0d1 in convert_memory_address_addr_space (to_mode=DImode, x=0x7ffff1971a10, as=0 '\000') at /export/gnu/import/git/gcc-x32/gcc/explow.c:380 #3 0x0000000000b06f58 in simplify_unary_operation_1 (code=ZERO_EXTEND, mode=DImode, op=0x7ffff1971a10) at /export/gnu/import/git/gcc-x32/gcc/simplify-rtx.c:1246 #4 0x0000000000b04cb1 in simplify_unary_operation (code=ZERO_EXTEND, mode=DImode, op=0x7ffff1971a10, op_mode=SImode) at /export/gnu/import/git/gcc-x32/gcc/simplify-rtx.c:582 #5 0x000000000118b977 in fold_rtx (x=0x7ffff1971a20, insn=0x7ffff1886ee8) at /export/gnu/import/git/gcc-x32/gcc/cse.c:3353 #6 0x000000000118e51f in cse_insn (insn=0x7ffff1886ee8) at /export/gnu/import/git/gcc-x32/gcc/cse.c:4500 #7 0x000000000119387e in cse_extended_basic_block (ebb_data=0x7fffffffdad0) at /export/gnu/import/git/gcc-x32/gcc/cse.c:6345 #8 0x0000000001193e5f in cse_main (f=0x7ffff1881b40, nregs=80) at /export/gnu/import/git/gcc-x32/gcc/cse.c:6522 #9 0x0000000001195999 in rest_of_handle_cse () If we don't permute, we will get Program received signal SIGSEGV, Segmentation fault. 0x0000000000622263 in init_alias_analysis () at /export/gnu/import/git/gcc-x32/gcc/alias.c:2870 2870 else if (DF_REG_DEF_COUNT (regno) == 1 (gdb) bt #0 0x0000000000622263 in init_alias_analysis () at /export/gnu/import/git/gcc-x32/gcc/alias.c:2870 #1 0x00000000008d07bc in one_pre_gcse_pass () at /export/gnu/import/git/gcc-x32/gcc/gcse.c:2650 #2 0x00000000008d2aa5 in execute_rtl_pre () at /export/gnu/import/git/gcc-x32/gcc/gcse.c:3727 #3 0x0000000000a47514 in execute_one_pass (pass=0x191ea60) at /export/gnu/import/git/gcc-x32/gcc/passes.c:2063 #4 0x0000000000a476fa in execute_pass_list (pass=0x191ea60) at /export/gnu/import/git/gcc-x32/gcc/passes.c:2118 #5 0x0000000000a4771b in execute_pass_list (pass=0x191f4a0) at /export/gnu/import/git/gcc-x32/gcc/passes.c:2119 #6 0x0000000000be1331 in tree_rest_of_compilation (fndecl=0x7ffff197b700) at /export/gnu/import/git/gcc-x32/gcc/tree-optimize.c:420 #7 0x00000000006d69ce in cgraph_expand_function (node=0x7ffff1888a20) at /export/gnu/import/git/gcc-x32/gcc/cgraphunit.c:1797 #8 0x00000000006d6b8d in cgraph_expand_all_functions () at /export/gnu/import/git/gcc-x32/gcc/cgraphunit.c:1856 #9 0x00000000006d7289 in cgraph_optimize () at /export/gnu/import/git/gcc-x32/gcc/cgraphunit.c:2126 #10 0x00000000006d4755 in cgraph_finalize_compilation_unit () at /export/gnu/import/git/gcc-x32/gcc/cgraphunit.c:1310 #11 0x00000000009d2e84 in write_global_declarations () ...