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

Reply via email to