target/s390x: improve MOVE LONG and MOVE LONG EXTENDED
commitd33271213437ed1834b0a50540d79e877e1cd894
authorAurelien Jarno <aurelien@aurel32.net>
Wed, 31 May 2017 22:01:19 +0000 (1 00:01 +0200)
committerRichard Henderson <rth@twiddle.net>
Tue, 6 Jun 2017 22:20:43 +0000 (6 15:20 -0700)
tree966d687176f2537e4cbd5c5dfa9679df12fb8772
parent22f04c31980c63c6f842135679b104f0d87d4613
target/s390x: improve MOVE LONG and MOVE LONG EXTENDED

As MVCL and MVCLE only differ by their operands, use a common
do_mvcl helper. Optimize it calling fast_memmove and fast_memset.
Correctly write back addresses. Check that r1 and r2/r3 registers
are even.

Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Message-Id: <20170531220129.27724-21-aurelien@aurel32.net>
Signed-off-by: Richard Henderson <rth@twiddle.net>
target/s390x/mem_helper.c
target/s390x/translate.c