target/arm: Simplify GEN_SHIFT in translate.c
commitfe12080c5f96f077552de92eb44ea2bb0588f51f
authorRichard Henderson <richard.henderson@linaro.org>
Sun, 17 Apr 2022 17:43:40 +0000 (17 10:43 -0700)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 22 Apr 2022 13:44:54 +0000 (22 14:44 +0100)
treece167793f45d7155410304441b30897c9e695e85
parente01aa38d48babc21b62286e2435cb1d00bc82ae9
target/arm: Simplify GEN_SHIFT in translate.c

Instead of computing

    tmp1 = shift & 0xff;
    dest = (tmp1 > 0x1f ? 0 : value) << (tmp1 & 0x1f)

use

    tmpd = value << (shift & 0x1f);
    dest = shift & 0xe0 ? 0 : tmpd;

which has a flatter dependency tree.
Use tcg_constant_i32 while we're at it.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/translate.c