On 6/6/19 12:45 PM, Peter Maydell wrote:
> Convert the VFP load/store multiple insns to decodetree.
> This includes tightening up the UNDEF checking for pre-VFPv3
> CPUs which only have D0-D15 : they now UNDEF for any access
> to D16-D31, not merely when the smallest register in the
> transfer list is in D16-D31.
>
> This conversion does not try to share code between the single
> precision and the double precision versions; this looks a bit
> duplicative of code, but it leaves the door open for a future
> refactoring which gets rid of the use of the "F0" registers
> by inlining the various functions like gen_vfp_ld() and
> gen_mov_F0_reg() which are hiding "if (dp) { ... } else { ... }"
> conditionalisation.
>
> Signed-off-by: Peter Maydell <[email protected]>
> ---
> target/arm/translate-vfp.inc.c | 162 +++++++++++++++++++++++++++++++++
> target/arm/translate.c | 97 +-------------------
> target/arm/vfp.decode | 18 ++++
> 3 files changed, 183 insertions(+), 94 deletions(-)
Reviewed-by: Richard Henderson <[email protected]>
r~