]> git.ipfire.org Git - thirdparty/qemu.git/commit
target-arm: A64: add support for logical (shifted register)
authorAlexander Graf <agraf@suse.de>
Tue, 17 Dec 2013 19:42:34 +0000 (19:42 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 17 Dec 2013 19:42:34 +0000 (19:42 +0000)
commit832ffa1ce073f010fd1c766361b2e35ce3f105d3
treed1ee95fe5c5699ec01f71537b1b649f296a4a42c
parente952d8c77a59dd31b5a4332f19e19f43dc90bd68
target-arm: A64: add support for logical (shifted register)

Add support for the instructions described in "C3.5.10 Logical
(shifted register)".

We store the flags in the same locations as the 32 bit decoder.
This is slightly awkward when calculating 64 bit results, but seems
a better tradeoff than having to rework the whole 32 bit decoder
and also make 32 bit result calculation in A64 awkward.

Signed-off-by: Alexander Graf <agraf@suse.de>
[claudio: some refactoring to avoid hidden allocation of temps,
  rework flags, use enums for shift types,
  renaming of functions]
Signed-off-by: Claudio Fontana <claudio.fontana@linaro.org>
[PMM: Use TCG's andc/orc/eqv ops rather than manually inverting]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
target-arm/translate-a64.c