qemu/target/s390x
David Hildenbrand 2cb8a68d37 s390x/tcg: Fix VECTOR SUBTRACT WITH BORROW INDICATION
Testing this, there seems to be something messed up. We are dealing with
unsigned numbers. "Each operand is treated as an unsigned binary integer."
Let's just implement as written in the PoP:

"A subtraction is performed by adding the contents of
 the second operand with the bitwise complement of
 the third operand along with a borrow indication from
 the rightmost bit position of the fourth operand and
 the result is placed in the first operand."

We can reuse gen_ac2_i64().

Fixes: 48390a7c27 ("s390x/tcg: Implement VECTOR SUBTRACT WITH BORROW INDICATION")
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20191021085715.3797-6-david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2019-10-21 17:34:12 +02:00
..
arch_dump.c s390x: Use uint64_t for vector registers 2019-06-07 14:53:25 +02:00
cc_helper.c target/s390x: Use tcg_s390_program_interrupt in TCG helpers 2019-10-09 12:49:01 +02:00
cpu_features_def.h s390x/cpumodel: Rework CPU feature definition 2019-06-21 15:26:53 +02:00
cpu_features_def.inc.h s390x/cpumodel: change internal name of vxpdeh to match description 2019-07-16 11:29:38 +02:00
cpu_features.c s390x/cpumodel: Rework CPU feature definition 2019-06-21 15:26:53 +02:00
cpu_features.h s390x/cpumodel: add Deflate-conversion facility 2019-05-21 16:59:16 +02:00
cpu_models.c s390x/cpumodel: Add missing visit_free 2019-10-21 17:30:06 +02:00
cpu_models.h hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
cpu-param.h tcg: Split out target/arch/cpu-param.h 2019-06-10 07:03:34 -07:00
cpu-qom.h hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
cpu.c targets (various): use softfloat-helpers.h where we can 2019-08-19 12:07:13 +01:00
cpu.h target/s390x: Remove ILEN_UNWIND 2019-10-09 12:49:02 +02:00
crypto_helper.c target/s390x: Use tcg_s390_program_interrupt in TCG helpers 2019-10-09 12:49:01 +02:00
diag.c target/s390x: Remove ilen parameter from s390_program_interrupt 2019-10-09 12:49:01 +02:00
excp_helper.c target/s390x: Remove ilen argument from trigger_pgm_exception 2019-10-09 12:49:02 +02:00
fpu_helper.c target/s390x: Use tcg_s390_program_interrupt in TCG helpers 2019-10-09 12:49:01 +02:00
gdbstub.c qemu-common: Move tcg_enabled() etc. to sysemu/tcg.h 2019-06-11 20:22:09 +02:00
gen-features.c s390x/cpumodel: Add new TCG features to QEMU cpu model 2019-10-09 12:49:01 +02:00
helper.c target/s390x: Return exception from mmu_translate 2019-10-09 12:49:01 +02:00
helper.h s390x/tcg: MVST: Fix storing back the addresses to registers 2019-09-23 09:28:29 +02:00
insn-data.def s390x/tcg: MVST: Fix storing back the addresses to registers 2019-09-23 09:28:29 +02:00
insn-format.def s390x/tcg: Define vector instruction formats 2019-03-11 09:31:01 +01:00
int_helper.c target/s390x: Use tcg_s390_program_interrupt in TCG helpers 2019-10-09 12:49:01 +02:00
internal.h target/s390x: Remove ilen argument from trigger_pgm_exception 2019-10-09 12:49:02 +02:00
interrupt.c target/s390x: Remove ilen argument from trigger_pgm_exception 2019-10-09 12:49:02 +02:00
ioinst.c target/s390x: Remove ilen parameter from s390_program_interrupt 2019-10-09 12:49:01 +02:00
kvm_s390x.h s390x/kvm: Configure page size after memory has actually been initialized 2019-04-25 13:47:01 +02:00
kvm-stub.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
kvm.c s390/kvm: split kvm mem slots at 4TB 2019-09-30 13:51:50 +02:00
machine.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
Makefile.objs s390x/tcg: Implement VECTOR FP ADD 2019-06-07 14:53:25 +02:00
mem_helper.c s390x/tcg: MVCL: Exit to main loop if requested 2019-10-10 12:27:15 +02:00
misc_helper.c target/s390x: Use tcg_s390_program_interrupt in TCG helpers 2019-10-09 12:49:01 +02:00
mmu_helper.c s390x/mmu: Remove duplicate check for MMU_DATA_STORE 2019-10-21 17:30:06 +02:00
s390-tod.h target/s390x: Split out s390-tod.h 2019-02-18 11:25:43 +01:00
sigp.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
tcg_s390x.h target/s390x: Remove ilen parameter from tcg_s390_program_interrupt 2019-10-09 12:49:01 +02:00
tcg-stub.c target/s390x: Remove ilen parameter from tcg_s390_program_interrupt 2019-10-09 12:49:01 +02:00
trace-events trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
translate_vx.inc.c s390x/tcg: Fix VECTOR SUBTRACT WITH BORROW INDICATION 2019-10-21 17:34:12 +02:00
translate.c target/s390x: Add ilen to unwind data 2019-10-09 12:49:01 +02:00
vec_fpu_helper.c s390x/tcg: Implement VECTOR FP TEST DATA CLASS IMMEDIATE 2019-06-07 14:53:26 +02:00
vec_helper.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
vec_int_helper.c s390x/tcg: Fix VECTOR SUBTRACT COMPUTE BORROW INDICATION 2019-10-21 17:33:29 +02:00
vec_string_helper.c s390x/tcg: Implement VECTOR STRING RANGE COMPARE 2019-06-07 14:53:25 +02:00
vec.h s390x/tcg: Implement VECTOR STRING RANGE COMPARE 2019-06-07 14:53:25 +02:00