summaryrefslogtreecommitdiffstats
path: root/target-s390x/int_helper.c
Commit message (Collapse)AuthorAgeFilesLines
* target-s390x: fix CONVERT TO BINARY (CVD, CVDY)Aurelien Jarno2015-07-071-5/+4
| | | | | | | | | | | current_number being shift left by more than 32 bits, we can't use a simple int. Similarly use an int64_t type for the input binary value, to not get the -2^31 case wrong. Finally don't initialize shift to 4, it's already done in the for loop. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Alexander Graf <agraf@suse.de>
* target-s390x: remove unused helpersAurelien Jarno2015-06-051-20/+0
| | | | | | Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Alexander Graf <agraf@suse.de>
* target-s390x: optimize (negative-) abs computationAurelien Jarno2015-06-051-22/+0
| | | | | | | | | Now that movcond exists, it's easy to write (negative-) absolute value using TCG code instead of an helper. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Alexander Graf <agraf@suse.de>
* tcg: Invert the inclusion of helper.hRichard Henderson2014-05-281-1/+1
| | | | | | | | | | Rather than include helper.h with N values of GEN_HELPER, include a secondary file that sets up the macros to include helper.h. This minimizes the files that must be rebuilt when changing the macros for file N. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Henderson <rth@twiddle.net>
* exec: Change cpu_abort() argument to CPUStateAndreas Färber2014-03-131-1/+2
| | | | Signed-off-by: Andreas Färber <afaerber@suse.de>
* s390x: use CONFIG_INT128 to detect __uint128_tGabriel Kerneis2013-04-261-2/+1
| | | | | | | | | | | | | Target s390x uses ad-hoc macro magic to guess if the compiler supports the GCC extension __uint128_t. This patch uses the the dedicated macro CONFIG_INT128 defined by configure instead. This fixes compilation with the CIL source code analyzer, which uses GCC as a preprocessor but does not support __uint128_t. Signed-off-by: Gabriel Kerneis <gabriel@kerneis.info> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
* target-s390x: Use mulu2 for mlgr insnRichard Henderson2013-02-231-8/+0
| | | | | Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* target-s390: Implement POPCNTRichard Henderson2013-01-051-0/+12
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert FLOGRRichard Henderson2013-01-051-19/+3
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Send signals for divideRichard Henderson2013-01-051-6/+45
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert DIVIDERichard Henderson2013-01-051-14/+33
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROWRichard Henderson2013-01-051-43/+0
| | | | | | | | | I'm resonably certain that the carry/borrow-out condition for both helpers was incorrect, failing to take into account the carry-in. Adding the new CC_OP codes also allows removing the awkward interface we used for the slb helpers. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert 64-bit MULTIPLY LOGICALRichard Henderson2013-01-051-11/+4
| | | | | | | | | | | Use a new "retxl" member of CPUS290XState to return the "eXtra Low" part of a 128-bit value. That said, this will get used when two independent values need returning (e.g. quotient+remainder) as well. At the same time, shuffle the elements of CPUS390XState to get this new space from existing padding in the structure. Signed-off-by: Richard Henderson <rth@twiddle.net>
* misc: move include files to include/qemu/Paolo Bonzini2012-12-191-1/+1
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* target-s390x: avoid AREG0 for integer helpersBlue Swirl2012-09-101-6/+6
| | | | | | | | Make integer helpers take a parameter for CPUState instead of relying on global env. Signed-off-by: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
* target-s390x: split integer helpersBlue Swirl2012-09-101-0/+201
Move integer helpers to int_helper.c. Signed-off-by: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
OpenPOWER on IntegriCloud