On 2 September 2015 at 18:57, Richard Henderson <r...@twiddle.net> wrote: > Handling this with TCG_COND_ALWAYS will allow these unlikely > cases to be handled without special cases in the rest of the > translator. The TCG optimizer ought to be able to reduce > these ALWAYS conditions completely. > > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > target-arm/translate.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/target-arm/translate.c b/target-arm/translate.c > index 1f43777..e2bccef 100644 > --- a/target-arm/translate.c > +++ b/target-arm/translate.c > @@ -799,6 +799,14 @@ void arm_test_cc(DisasCompare *cmp, int cc) > tcg_gen_andc_i32(value, cpu_ZF, value); > break; > > + case 14: /* always */ > + case 15: /* always */ > + /* Use the ALWAYS condition, which will fold early. > + It doesn't matter what we use for the value. */ > + cond = TCG_COND_ALWAYS; > + value = cpu_ZF; > + goto no_invert; > +
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> The usual multiline comment style in target-arm is /* line one * line two */ by the way. thanks -- PMM