On Fri, Feb 5, 2010 at 4:52 PM, Riku Voipio <riku.voi...@iki.fi> wrote: > From: Juha Riihimäki <juha.riihim...@nokia.com> > > add an extra check in "two registers and a shift" to ensure element > size decoding logic cannot fail. > > Signed-off-by: Juha Riihimäki <juha.riihim...@nokia.com> > Signed-off-by: Riku Voipio <riku.voi...@nokia.com> > --- > target-arm/translate.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/target-arm/translate.c b/target-arm/translate.c > index 743b846..8bba034 100644 > --- a/target-arm/translate.c > +++ b/target-arm/translate.c > @@ -4567,8 +4567,9 @@ static int disas_neon_data_insn(CPUState * env, > DisasContext *s, uint32_t insn) > size = 3; > } else { > size = 2; > - while (size && (insn & (1 << (size + 19))) == 0) > + while (size && (insn & (1 << (size + 19))) == 0) { > size--; > + } > } > shift = (insn >> 16) & ((1 << (3 + size)) - 1); > /* To avoid excessive dumplication of ops we implement shift
I think there's a patch ordering problem that makes the comment and the change not agree :-) Laurent