tcg/aarch64: change some enums, avoid runtime shifts

declare the ldst, arithmetic and shift/rotate enums
with expression values that can be directly used
without shifts in building the instructions.

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
Suggested-by: Richard Henderson <rth@twiddle.net>
tcg/aarch64: remove some magic numbers and improve ldst

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
tcg/aarch64: refactor instruction classes LDST, ARITH, MOVI

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
tcg/aarch64: implement immediate arith helper, mul, more cleanup

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
tcg/aarch64: refactor register shifts

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
tcg/aarch64: refactor bitfield and extract

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
tcg/aarch64: refactor conditional select

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
tcg/aarch64: formatting fixes

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
tcg/aarch64: cleanup branches from magic values

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
tcg/aarch64: revisit imm logical, rev and nop

put magic instruction constants in the initial enums

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>