History | View | Annotate | Download (6.4 kB)
target-s390x: Use mulu2 for mlgr insn
Signed-off-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
target-s390: Perform COMPARE AND SWAP inline
Still no proper solution for CONFIG_USER_ONLY, but the systemversion is significantly better.
Signed-off-by: Richard Henderson <rth@twiddle.net>
target-s390: Use TCG_CALL_NO_WG for memory helpers
Those that do not read or write tcg registers, but canraise exceptions via memory faults.
target-s390: Use TCG_CALL_NO_WG for floating-point helpers
None of them read or write tcg registers, but most canraise fp exceptions.
target-s390: Use TCG_CALL_NO_WG for integer helpers
The division routines do not read or write tcg registers,but can raise fixed-point divide exceptions.
target-s390: Use TCG_CALL_NO_WG for misc helpers
target-s390: Use noreturn for exception and load_psw
Both always exit the cpu loop.
target-s390: Implement POPCNT
target-s390: Implement LOAD/SET FP AND SIGNAL
target-s390: Implement CONVERT TO LOGICAL
target-s390: Implement CONVERT FROM LOGICAL
target-s390: Convert SSKE
target-s390: Convert RRBE
target-s390: Convert STURA
target-s390: Convert CSP
target-s390: Convert STCKE
target-s390: Convert STSI
target-s390: Convert SERVC
target-s390: Convert IPM
Note that the previous placement of the PM field was incorrect.
target-s390: Convert CKSM
target-s390: Convert CLST, MVST
target-s390: Convert SRST
target-s390: Convert STIDP
target-s390: Convert SCK
target-s390: Convert STCK
target-s390: Convert SCKC, STCKC
target-s390: Convert SPT, STPT
target-s390: Convert FP SUBTRACT
target-s390: Convert FP DIVIDE
target-s390: Convert FP MULTIPLY
target-s390: Convert MULTIPLY AND ADD, SUBTRACT
Use the new float*_muladd interface to softfloat.
target-s390: Convert TEST DATA CLASS
target-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVE
target-s390: Convert FP SQUARE ROOT
target-s390: Convert LOAD ZERO
target-s390: Convert CONVERT TO FIXED
target-s390: Convert CONVERT FROM FIXED
target-s390: Convert FLOGR
target-s390: Convert LFPC, SFPC
Note that we were failing to set the rounding mode in fpu_status.
target-s390: Convert COMPARE AND SWAP
target-s390: Convert STCM
target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED
target-s390: Convert LRA
Note that truncating the store to r1 based on PSW_MASK_64is incorrect. We always modify the entire register.
target-s390: Convert INSERT CHARACTERS UNDER MASK
Change the CC handling to be more like TEST UNDER MASK, with val & mask.This lets us handle ICMH much more like ICM.
target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROW
I'm resonably certain that the carry/borrow-out condition for bothhelpers was incorrect, failing to take into account the carry-in.Adding the new CC_OP codes also allows removing the awkward interface...
target-s390: Convert DIVIDE
target-s390: Convert 64-bit MULTIPLY LOGICAL
Use a new "retxl" member of CPUS290XState to return the "eXtra Low" partof a 128-bit value. That said, this will get used when two independentvalues need returning (e.g. quotient+remainder) as well.
At the same time, shuffle the elements of CPUS390XState to get this new...
target-s390: Register helpers
Which highlights a lot of cc helpers that no longer exist.
exec: move include files to include/exec/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
target-s390x: rename helper flags
Rename helper flags to the new ones. This is purely a mechanical change,it's possible to use better flags by looking at the helpers.
Cc: Alexander Graf <agraf@suse.de>Reviewed-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-s390x: avoid AREG0 for misc helpers
Make misc helpers take a parameter for CPUState insteadof relying on global env.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>[agraf: fix conflict]Signed-off-by: Alexander Graf <agraf@suse.de>
target-s390x: switch to AREG0 free mode
Add an explicit CPUState parameter instead of relying on AREG0.
Remove temporary wrappers and switch to AREG0 free mode.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>[agraf: fix conflicts]Signed-off-by: Alexander Graf <agraf@suse.de>
target-s390x: avoid AREG0 for FPU helpers
Make FPU helpers take a parameter for CPUState insteadof relying on global env.
Introduce temporary wrappers for FPU load and store ops.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>Signed-off-by: Alexander Graf <agraf@suse.de>
target-s390x: avoid AREG0 for integer helpers
Make integer helpers take a parameter for CPUState insteadof relying on global env.
target-s390x: avoid AREG0 for condition code helpers
Make condition code helpers take a parameter for CPUState insteadof relying on global env.
Move helpers.h to helper.h
Provides a file naming scheme consistent with other targets.
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>Signed-off-by: Alexander Graf <agraf@suse.de>