http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57896
--- Comment #5 from Vittorio Zecca <zeccav at gmail dot com> --- Trying your vastly reduced test case, 152 lines vs 3057 of my original test case, I am getting an ICE in convert_move, at expr.c:452. The following is my backtrace: <command-line>: In function ‘__get_cpuid_max’: <command-line>:1:1: internal compiler error: in convert_move, at expr.c:452 0x62ee1b convert_move(rtx_def*, rtx_def*, int) ../../gcc-4.8.1/gcc/expr.c:451 0x62f098 convert_modes(machine_mode, machine_mode, rtx_def*, int) ../../gcc-4.8.1/gcc/expr.c:781 0x9939dd ix86_legitimize_address ../../gcc-4.8.1/gcc/config/i386/i386.c:13276 0x619880 memory_address_addr_space(machine_mode, rtx_def*, unsigned char) ../../gcc-4.8.1/gcc/explow.c:461 0x60b5a4 change_address_1 ../../gcc-4.8.1/gcc/emit-rtl.c:2021 0x671808 assign_parm_setup_stack ../../gcc-4.8.1/gcc/function.c:3234 0x671808 assign_parms ../../gcc-4.8.1/gcc/function.c:3416 0x67355f expand_function_start(tree_node*) ../../gcc-4.8.1/gcc/function.c:4824 0x58ac99 gimple_expand_cfg ../../gcc-4.8.1/gcc/cfgexpand.c:4552 Adding option -m32 I get ICE in ix86_expand_prologue, at config/i386/i386.c:10559