qemu-patch-raspberry4/target
Paul A. Clarke 256be7d07a ppc: Fix xsmaddmdp and friends
A class of instructions of the form:
  op Target,A,B
which operate like:
  Target = Target * A + B
have a bit set which distinguishes them from instructions that operate as:
  Target = Target * B + A

This bit is not being checked properly (using PPC_BIT macro), so all
instructions in this class are operating incorrectly as the second form
above.  The bit was being checked as if it were part of a 64-bit
instruction opcode, rather than a proper 32-bit opcode.  Fix by using the
macro (PPC_BIT32) which treats the opcode as a 32-bit quantity.

Fixes: c9f4e4d8b6 ("target/ppc: improve VSX_FMADD with new GEN_VSX_HELPER_VSX_MADD macro")

Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
Message-Id: <1566401321-22419-1-git-send-email-pc@us.ibm.com>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
Tested-by: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-08-29 09:46:07 +10:00
..
alpha target/alpha: fix tlb_fill trap_arg2 value for instruction fetch 2019-08-25 12:30:48 -07:00
arm Monitor patches for 2019-08-21 2019-08-22 10:31:21 +01:00
cris Monitor patches for 2019-08-21 2019-08-22 10:31:21 +01:00
hppa Monitor patches for 2019-08-21 2019-08-22 10:31:21 +01:00
i386 Monitor patches for 2019-08-21 2019-08-22 10:31:21 +01:00
lm32 Monitor patches for 2019-08-21 2019-08-22 10:31:21 +01:00
m68k hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
microblaze Monitor patches for 2019-08-21 2019-08-22 10:31:21 +01:00
mips Monitor patches for 2019-08-21 2019-08-22 10:31:21 +01:00
moxie hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
nios2 Monitor patches for 2019-08-21 2019-08-22 10:31:21 +01:00
openrisc hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
ppc ppc: Fix xsmaddmdp and friends 2019-08-29 09:46:07 +10:00
riscv Monitor patches for 2019-08-21 2019-08-22 10:31:21 +01:00
s390x s390x/mmu: Factor out storage key handling 2019-08-22 14:53:49 +02:00
sh4 Monitor patches for 2019-08-21 2019-08-22 10:31:21 +01:00
sparc Monitor patches for 2019-08-21 2019-08-22 10:31:21 +01:00
tilegx hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
tricore Converted target/tricore to translate_loop 2019-08-22 17:01:30 +01:00
unicore32 Monitor patches for 2019-08-21 2019-08-22 10:31:21 +01:00
xtensa Monitor patches for 2019-08-21 2019-08-22 10:31:21 +01:00