summaryrefslogtreecommitdiffstats
path: root/target-s390x/translate.c
Commit message (Collapse)AuthorAgeFilesLines
...
* target-s390: Convert LOAD, STORE MULTIPLERichard Henderson2013-01-051-89/+123
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert SHIFT DOUBLERichard Henderson2013-01-051-30/+0Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert SHIFT, ROTATE SINGLERichard Henderson2013-01-051-98/+109
| | | | | | Note that we were missing the 32-bit SLA. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert DIAGNOSERichard Henderson2013-01-051-17/+16Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert LOAD PSWRichard Henderson2013-01-051-20/+21
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert SET SYSTEM MASKRichard Henderson2013-01-051-16/+9Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert CONVERT TO DECIMALRichard Henderson2013-01-051-12/+12
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert FP STORERichard Henderson2013-01-051-19/+11Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert EXECUTERichard Henderson2013-01-051-13/+26
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert INSERT CHARACTERS UNDER MASKRichard Henderson2013-01-051-73/+63Star
| | | | | | | Change the CC handling to be more like TEST UNDER MASK, with val & mask. This lets us handle ICMH much more like ICM. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert INSERT CHARACTERRichard Henderson2013-01-051-22/+13Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert FP LOADRichard Henderson2013-01-051-35/+67
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert MOVE LONGRichard Henderson2013-01-051-11/+12
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert SUPERVISOR CALLRichard Henderson2013-01-051-15/+19
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert SET ADDRESSING MODERichard Henderson2013-01-051-6/+0Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert TEST UNDER MASKRichard Henderson2013-01-051-64/+10Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert DIVIDERichard Henderson2013-01-051-163/+52Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert BRANCH ON COUNTRichard Henderson2013-01-051-119/+43Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert BRANCH ON CONDITIONRichard Henderson2013-01-051-95/+136
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert BRANCH AND SAVERichard Henderson2013-01-051-46/+56
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROWRichard Henderson2013-01-051-130/+61Star
| | | | | | | | | 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 STORERichard Henderson2013-01-051-43/+24Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert AND, OR, XOR, INSERT IMMEDIATERichard Henderson2013-01-051-180/+57Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVERichard Henderson2013-01-051-94/+48Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert LOAD LOGICAL IMMEDIATERichard Henderson2013-01-051-30/+12Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert LOAD AND TESTRichard Henderson2013-01-051-27/+10Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORDRichard Henderson2013-01-051-109/+48Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert LOAD ADDRESSRichard Henderson2013-01-051-14/+0Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert LOAD, LOAD LOGICALRichard Henderson2013-01-051-60/+40Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert COMPARE, COMPARE LOGICALRichard Henderson2013-01-051-186/+81Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert AND, OR, XORRichard Henderson2013-01-051-105/+29Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert 64-bit MULTIPLY LOGICALRichard Henderson2013-01-051-8/+28
| | | | | | | | | | | 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>
* target-s390: Convert 32-bit MULTIPLY, MULTIPLY LOGICALRichard Henderson2013-01-051-57/+25Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert MULTIPLY HALFWORD, SINGLERichard Henderson2013-01-051-103/+18Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATERichard Henderson2013-01-051-0/+7
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert ADD HALFWORDRichard Henderson2013-01-051-36/+7Star
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Reorg exception handlingRichard Henderson2013-01-051-149/+93Star
| | | | | | | | | Make the user path more like the system path. Prepare for more kinds of runtime exceptions. Rename ILC to ILEN to make it clear that we want to pass around a full instruction length, rather than a "code" that happens to be stored one bit left in a larger field. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Split out disas_jccRichard Henderson2013-01-051-279/+215Star
| | | | | | | | | | | Lots of duplicated code replaced with a couple of tables. We no longer attempt to manually invert the logic operation: the comments now match the code. In the fully general test, constant propagate (1 << (3 - cc)) into (8 >> cc). The new function will be usable by non-branch insns as well. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Add format based disassassmbly infrastructureRichard Henderson2013-01-051-365/+750
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Fix PSW_MASK handlingRichard Henderson2013-01-051-0/+2
| | | | | | | We were treating psw.mask as the 32-bit quantity it is in ESA mode. In particular, the CC field was at the wrong place. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Tidy unconditional BRCLRichard Henderson2013-01-051-0/+5
| | | | | | | | Yes, we're about to rewrite all of this, but having this unconditional jump recompute cc_op is a large source of "false diff errors" when trying to examine before and after dumps. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Fix BCRRichard Henderson2013-01-051-0/+2
| | | | | | | There were are two exit paths for which we forgot to copy s->cc_op back to the tcg register. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Fix SACF exitRichard Henderson2013-01-051-2/+2
| | | | | | | DISAS_EXCP is exit via exception; we wanted DISAS_JUMP. This matters when we start cleaning up the TB exit paths. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Register helpersRichard Henderson2013-01-051-0/+4
| | | | | | Which highlights a lot of cc helpers that no longer exist. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Use TCG registers for FPRRichard Henderson2013-01-051-28/+40
| | | | | | | | | At the same time, tidy other usages of tcg_gen_deposit_i64. In some cases we can "type cast" rather than extend, and in others we can allow tcg_gen_deposit_i64 itself to optimize the HOST_LONG_BITS==32 case. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Add missing temp_free in gen_op_calc_ccRichard Henderson2013-01-051-0/+1
| | | | 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>
* exec: move include files to include/exec/Paolo Bonzini2012-12-191-1/+1
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: kill libdis, move disassemblers to disas/Paolo Bonzini2012-12-191-1/+1
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* TCG: Use gen_opc_instr_start from context instead of global variable.Evgeny Voevodin2012-12-081-3/+3
| | | | | Signed-off-by: Evgeny Voevodin <e.voevodin@samsung.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>