Hi, On Thu, Jan 19, 2017 at 01:41:33PM +0100, Sebastian Huber wrote: > conftest.c:16:1: error: unrecognizable insn: > } > ^ > (insn/f 22 21 23 2 (parallel [ > (set (reg/f:DI 1 1) > (plus:SI (reg/f:DI 1 1) > (const_int 16 [0x10]))) > (set (mem:BLK (reg/f:DI 1 1) [0 A8]) > (const_int 0 [0])) > (set (mem:BLK (reg/f:DI 1 1) [0 A8]) > (const_int 0 [0])) > ]) "conftest.c":16 -1 > (expr_list:REG_CFA_DEF_CFA (reg/f:DI 1 1) > (nil)))
This is stack_restore_tie, which requires TARGET_32BIT. It currently is only generated from rs6000_emit_stack_reset: /* This blockage is needed so that sched doesn't decide to move the sp change before the register restores. */ if (DEFAULT_ABI == ABI_V4 || (TARGET_SPE_ABI && info->spe_64bit_regs_used != 0 && info->first_gp_reg_save != 32)) return emit_insn (gen_stack_restore_tie (updt_reg_rtx, frame_reg_rtx, GEN_INT (frame_off))); so you seem to have 64-bit ABI_V4? I wonder how well tested that is, you are likely to run into more problems. Either stack_restore_tie or the above code will need a tweak. Segher