> > +static void gen_window_check1(DisasContext *dc, unsigned r1)
> > +{
> > +if (option_enabled(dc, XTENSA_OPTION_WINDOWED_REGISTER) &&
> > +r1 / 4 > dc->used_window) {
> > +TCGv_i32 pc = tcg_const_i32(dc->pc);
> > +TCGv_i32 w = tcg_const_i32(r1 / 4);
> > +
> > +
On 05/17/2011 03:32 PM, Max Filippov wrote:
> +static void gen_window_check1(DisasContext *dc, unsigned r1)
> +{
> +if (option_enabled(dc, XTENSA_OPTION_WINDOWED_REGISTER) &&
> +r1 / 4 > dc->used_window) {
> +TCGv_i32 pc = tcg_const_i32(dc->pc);
> +TCGv_i32 w = tcg_c
See ISA, 4.7.1.3 for details.
Window check is inserted before commands that push "used register
watermark" beyond its current level. Used register watermark is reset on
instructions that change WINDOW_BASE/WINDOW_START SRs.
Signed-off-by: Max Filippov
---
target-xtensa/translate.c | 105 ++