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