target/ppc: introduce vsr64_offset() to simplify get_cpu_vsr{l,h}() and set_cpu_vsr...
commitd59d1182b14fcdad350108012fb015e6c2d355f0
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Thu, 7 Mar 2019 18:05:20 +0000 (7 18:05 +0000)
committerDavid Gibson <david@gibson.dropbear.id.au>
Tue, 12 Mar 2019 03:33:04 +0000 (12 14:33 +1100)
treea53994758e0ee72308d682ae18fe4068566f708e
parent8a14d31b00ae82ed430806bac96962b73fe6967f
target/ppc: introduce vsr64_offset() to simplify get_cpu_vsr{l,h}() and set_cpu_vsr{l,h}()

Now that all VSX registers are stored in host endian order, there is no need
to go via different accessors depending upon the register number. Instead we
introduce vsr64_offset() and use it directly from within get_cpu_vsr{l,h}() and
set_cpu_vsr{l,h}().

This also allows us to rewrite avr64_offset() and fpr_offset() in terms of the
new vsr64_offset() function to more clearly express the relationship between the
VSX, FPR and VMX registers, and also remove vsrl_offset() which is no longer
required.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-Id: <20190307180520.13868-8-mark.cave-ayland@ilande.co.uk>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
target/ppc/cpu.h
target/ppc/translate/vsx-impl.inc.c