target/arm: Rearrange Floating-point data-processing (2 regs)
commite80941bd64cc388554770fd72334e9e7d459a1ef
authorRichard Henderson <richard.henderson@linaro.org>
Thu, 21 Feb 2019 18:17:45 +0000 (21 18:17 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 21 Feb 2019 18:17:45 +0000 (21 18:17 +0000)
tree8066ea1f84542a381375267d95c736296162c432
parent37356079fcdb34e13abbed8ea0c00ca880c31247
target/arm: Rearrange Floating-point data-processing (2 regs)

There are lots of special cases within these insns.  Split the
major argument decode/loading/saving into no_output (compares),
rd_is_dp, and rm_is_dp.

We still need to special case argument load for compare (rd as
input, rm as zero) and vcvt fixed (rd as input+output), but lots
of special cases do disappear.

Now that we have a full switch at the beginning, hoist the ISA
checks from the code generation.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20190215192302.27855-4-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