]> git.ipfire.org Git - thirdparty/qemu.git/commit
target-ppc: fix vcipher, vcipherlast, vncipherlast and vpermxor
authorAurelien Jarno <aurelien@aurel32.net>
Sun, 13 Sep 2015 21:03:44 +0000 (23:03 +0200)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Wed, 21 Oct 2015 04:03:39 +0000 (23:03 -0500)
commitbac9ce97d33c8034e41bedc1e8d4c0604f069f5e
tree2f686ad464fa20aa3004af8a223a0979e4ac7c5e
parent33fca8589cf2aa7bf91564e6a8f26b3ba0910541
target-ppc: fix vcipher, vcipherlast, vncipherlast and vpermxor

For vector instructions, the helpers get pointers to the vector register
in arguments. Some operands might point to the same register, including
the operand holding the result.

When emulating instructions which access the vector elements in a
non-linear way, we need to store the result in an temporary variable.

This fixes openssl when emulating a POWER8 CPU.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
(cherry picked from commit 65cf1f65be0fc4883edbd66feeab3ddaceb11c00)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
target-ppc/int_helper.c