On Mon, 8 Feb 2021 at 03:48, Richard Henderson <richard.hender...@linaro.org> wrote: > > Add registers and function stubs. The functionality > is disabled via use_neon_instructions defined to 0. > > We must still include results for the mandatory opcodes in > tcg_target_op_def, as all opcodes are checked during tcg init. > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
> + if (use_neon_instructions) { > + tcg_target_available_regs[TCG_TYPE_V64] = ALL_VECTOR_REGS; > + tcg_target_available_regs[TCG_TYPE_V128] = ALL_VECTOR_REGS; > + > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q0); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q1); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q2); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q3); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q4); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q5); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q6); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q7); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q8); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q9); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q10); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q11); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q12); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q13); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q14); > + tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_Q15); > + } The AAPCS says that q4-q7 are preserved across calls. Otherwise Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM