]> git.proxmox.com Git - qemu.git/log
qemu.git
11 years agotarget-s390: Convert subchannel instructions
Richard Henderson [Mon, 27 Aug 2012 16:36:20 +0000 (09:36 -0700)]
target-s390: Convert subchannel instructions

While we're at it, list all of the chapter 14 subchannel insns.
Which is easy since all merely need indicate non-operation.

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert RRBE
Richard Henderson [Mon, 27 Aug 2012 16:22:13 +0000 (09:22 -0700)]
target-s390: Convert RRBE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert SSKE
Richard Henderson [Mon, 27 Aug 2012 16:18:01 +0000 (09:18 -0700)]
target-s390: Convert SSKE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert ISKE
Richard Henderson [Mon, 27 Aug 2012 16:13:38 +0000 (09:13 -0700)]
target-s390: Convert ISKE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert IPTE
Richard Henderson [Fri, 24 Aug 2012 23:25:28 +0000 (16:25 -0700)]
target-s390: Convert IPTE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert STAP
Richard Henderson [Fri, 24 Aug 2012 23:18:33 +0000 (16:18 -0700)]
target-s390: Convert STAP

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert SPX, STPX
Richard Henderson [Fri, 24 Aug 2012 23:11:32 +0000 (16:11 -0700)]
target-s390: Convert SPX, STPX

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert PTLB
Richard Henderson [Fri, 24 Aug 2012 22:59:26 +0000 (15:59 -0700)]
target-s390: Convert PTLB

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert SPKA
Richard Henderson [Fri, 24 Aug 2012 22:55:34 +0000 (15:55 -0700)]
target-s390: Convert SPKA

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert SPT, STPT
Richard Henderson [Fri, 24 Aug 2012 22:47:26 +0000 (15:47 -0700)]
target-s390: Convert SPT, STPT

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert SCKC, STCKC
Richard Henderson [Fri, 24 Aug 2012 22:36:58 +0000 (15:36 -0700)]
target-s390: Convert SCKC, STCKC

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert STCK
Richard Henderson [Fri, 24 Aug 2012 22:31:07 +0000 (15:31 -0700)]
target-s390: Convert STCK

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert SCK
Richard Henderson [Fri, 24 Aug 2012 22:20:49 +0000 (15:20 -0700)]
target-s390: Convert SCK

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert STIDP
Richard Henderson [Wed, 5 Sep 2012 17:21:47 +0000 (10:21 -0700)]
target-s390: Convert STIDP

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert SRST
Richard Henderson [Fri, 24 Aug 2012 21:27:42 +0000 (14:27 -0700)]
target-s390: Convert SRST

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert CLST, MVST
Richard Henderson [Wed, 5 Sep 2012 17:20:53 +0000 (10:20 -0700)]
target-s390: Convert CLST, MVST

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert MVPG
Richard Henderson [Wed, 5 Sep 2012 17:19:44 +0000 (10:19 -0700)]
target-s390: Convert MVPG

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert EAR, SAR
Richard Henderson [Fri, 24 Aug 2012 18:54:04 +0000 (11:54 -0700)]
target-s390: Convert EAR, SAR

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert CKSM
Richard Henderson [Fri, 24 Aug 2012 18:38:12 +0000 (11:38 -0700)]
target-s390: Convert CKSM

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert IPM
Richard Henderson [Wed, 5 Sep 2012 17:18:21 +0000 (10:18 -0700)]
target-s390: Convert IPM

Note that the previous placement of the PM field was incorrect.

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LFPC, SFPC
Richard Henderson [Fri, 24 Aug 2012 14:44:43 +0000 (07:44 -0700)]
target-s390: Convert LFPC, SFPC

Note that we were failing to set the rounding mode in fpu_status.

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert FLOGR
Richard Henderson [Fri, 24 Aug 2012 14:39:11 +0000 (07:39 -0700)]
target-s390: Convert FLOGR

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert CONVERT FROM FIXED
Richard Henderson [Fri, 24 Aug 2012 04:08:22 +0000 (21:08 -0700)]
target-s390: Convert CONVERT FROM FIXED

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert CONVERT TO FIXED
Richard Henderson [Thu, 23 Aug 2012 22:17:35 +0000 (15:17 -0700)]
target-s390: Convert CONVERT TO FIXED

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LOAD ZERO
Richard Henderson [Wed, 5 Sep 2012 17:14:24 +0000 (10:14 -0700)]
target-s390: Convert LOAD ZERO

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert FP SQUARE ROOT
Richard Henderson [Thu, 23 Aug 2012 21:33:03 +0000 (14:33 -0700)]
target-s390: Convert FP SQUARE ROOT

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVE
Richard Henderson [Wed, 5 Sep 2012 22:58:27 +0000 (15:58 -0700)]
target-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert TEST DATA CLASS
Richard Henderson [Thu, 23 Aug 2012 19:40:09 +0000 (12:40 -0700)]
target-s390: Convert TEST DATA CLASS

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert MULTIPLY AND ADD, SUBTRACT
Richard Henderson [Thu, 23 Aug 2012 19:30:12 +0000 (12:30 -0700)]
target-s390: Convert MULTIPLY AND ADD, SUBTRACT

Use the new float*_muladd interface to softfloat.

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert FP MULTIPLY
Richard Henderson [Thu, 23 Aug 2012 19:02:38 +0000 (12:02 -0700)]
target-s390: Convert FP MULTIPLY

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert FP DIVIDE
Richard Henderson [Fri, 7 Sep 2012 18:41:12 +0000 (11:41 -0700)]
target-s390: Convert FP DIVIDE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert FP SUBTRACT
Richard Henderson [Thu, 23 Aug 2012 18:05:03 +0000 (11:05 -0700)]
target-s390: Convert FP SUBTRACT

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED
Richard Henderson [Thu, 23 Aug 2012 17:48:20 +0000 (10:48 -0700)]
target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LLGT
Richard Henderson [Wed, 22 Aug 2012 22:59:19 +0000 (15:59 -0700)]
target-s390: Convert LLGT

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert STORE REVERSED
Richard Henderson [Wed, 22 Aug 2012 22:52:55 +0000 (15:52 -0700)]
target-s390: Convert STORE REVERSED

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LOAD REVERSED
Richard Henderson [Wed, 22 Aug 2012 22:35:40 +0000 (15:35 -0700)]
target-s390: Convert LOAD REVERSED

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LOAD CONTROL, part 2
Richard Henderson [Sun, 2 Sep 2012 17:12:48 +0000 (10:12 -0700)]
target-s390: Convert LOAD CONTROL, part 2

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert TPROT
Richard Henderson [Wed, 22 Aug 2012 22:15:59 +0000 (15:15 -0700)]
target-s390: Convert TPROT

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert STCM
Richard Henderson [Wed, 22 Aug 2012 22:11:53 +0000 (15:11 -0700)]
target-s390: Convert STCM

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert CLM
Richard Henderson [Wed, 22 Aug 2012 21:59:22 +0000 (14:59 -0700)]
target-s390: Convert CLM

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert COMPARE AND SWAP
Richard Henderson [Wed, 22 Aug 2012 21:46:55 +0000 (14:46 -0700)]
target-s390: Convert COMPARE AND SWAP

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LCTL, STCTL
Richard Henderson [Wed, 22 Aug 2012 21:17:58 +0000 (14:17 -0700)]
target-s390: Convert LCTL, STCTL

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert EFPC, STFPC
Richard Henderson [Wed, 22 Aug 2012 21:09:05 +0000 (14:09 -0700)]
target-s390: Convert EFPC, STFPC

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert SIGP
Richard Henderson [Wed, 22 Aug 2012 20:52:23 +0000 (13:52 -0700)]
target-s390: Convert SIGP

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LRA
Richard Henderson [Wed, 22 Aug 2012 20:15:10 +0000 (13:15 -0700)]
target-s390: Convert LRA

Note that truncating the store to r1 based on PSW_MASK_64
is incorrect.  We always modify the entire register.

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert MVCP, MVCS
Richard Henderson [Wed, 22 Aug 2012 20:00:27 +0000 (13:00 -0700)]
target-s390: Convert MVCP, MVCS

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert CLC
Richard Henderson [Wed, 22 Aug 2012 19:54:07 +0000 (12:54 -0700)]
target-s390: Convert CLC

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert NC, XC, OC, TR, UNPK
Richard Henderson [Wed, 22 Aug 2012 18:54:19 +0000 (11:54 -0700)]
target-s390: Convert NC, XC, OC, TR, UNPK

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert MVC
Richard Henderson [Wed, 22 Aug 2012 18:43:06 +0000 (11:43 -0700)]
target-s390: Convert MVC

The code that was in gen_op_mvc was a bit confused wrt what lengths
it wanted to handle.  I also disbelieve that the inline memset is
worthwhile.

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert CLCLE, MVCLE
Richard Henderson [Wed, 22 Aug 2012 18:24:25 +0000 (11:24 -0700)]
target-s390: Convert CLCLE, MVCLE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LAM, STAM
Richard Henderson [Wed, 5 Sep 2012 16:38:22 +0000 (09:38 -0700)]
target-s390: Convert LAM, STAM

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert STNSM, STOSM
Richard Henderson [Wed, 22 Aug 2012 18:08:40 +0000 (11:08 -0700)]
target-s390: Convert STNSM, STOSM

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert NI, XI, OI
Richard Henderson [Wed, 22 Aug 2012 17:57:56 +0000 (10:57 -0700)]
target-s390: Convert NI, XI, OI

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert MOVE
Richard Henderson [Wed, 22 Aug 2012 17:22:28 +0000 (10:22 -0700)]
target-s390: Convert MOVE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LOAD, STORE MULTIPLE
Richard Henderson [Wed, 22 Aug 2012 16:49:37 +0000 (09:49 -0700)]
target-s390: Convert LOAD, STORE MULTIPLE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert SHIFT DOUBLE
Richard Henderson [Wed, 22 Aug 2012 16:22:23 +0000 (09:22 -0700)]
target-s390: Convert SHIFT DOUBLE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert SHIFT, ROTATE SINGLE
Richard Henderson [Wed, 22 Aug 2012 16:15:19 +0000 (09:15 -0700)]
target-s390: Convert SHIFT, ROTATE SINGLE

Note that we were missing the 32-bit SLA.

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert DIAGNOSE
Richard Henderson [Tue, 21 Aug 2012 21:41:36 +0000 (14:41 -0700)]
target-s390: Convert DIAGNOSE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LOAD PSW
Richard Henderson [Tue, 21 Aug 2012 21:33:36 +0000 (14:33 -0700)]
target-s390: Convert LOAD PSW

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert SET SYSTEM MASK
Richard Henderson [Tue, 21 Aug 2012 21:12:50 +0000 (14:12 -0700)]
target-s390: Convert SET SYSTEM MASK

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert CONVERT TO DECIMAL
Richard Henderson [Tue, 21 Aug 2012 21:05:11 +0000 (14:05 -0700)]
target-s390: Convert CONVERT TO DECIMAL

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert FP STORE
Richard Henderson [Wed, 5 Sep 2012 19:26:53 +0000 (12:26 -0700)]
target-s390: Convert FP STORE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert EXECUTE
Richard Henderson [Tue, 21 Aug 2012 20:48:38 +0000 (13:48 -0700)]
target-s390: Convert EXECUTE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert INSERT CHARACTERS UNDER MASK
Richard Henderson [Tue, 21 Aug 2012 20:13:09 +0000 (13:13 -0700)]
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.

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Cleanup cc computation helpers
Richard Henderson [Tue, 21 Aug 2012 19:36:10 +0000 (12:36 -0700)]
target-s390: Cleanup cc computation helpers

The inline markers hid the fact that {n}abs_32 were unused
because of typos in the main do_calc_cc function.  Let the
compiler handle auto-inlining here.

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert INSERT CHARACTER
Richard Henderson [Tue, 21 Aug 2012 14:12:29 +0000 (07:12 -0700)]
target-s390: Convert INSERT CHARACTER

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert FP LOAD
Richard Henderson [Wed, 5 Sep 2012 19:24:24 +0000 (12:24 -0700)]
target-s390: Convert FP LOAD

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert MOVE LONG
Richard Henderson [Mon, 20 Aug 2012 23:46:49 +0000 (16:46 -0700)]
target-s390: Convert MOVE LONG

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert SUPERVISOR CALL
Richard Henderson [Mon, 20 Aug 2012 23:41:05 +0000 (16:41 -0700)]
target-s390: Convert SUPERVISOR CALL

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert SET ADDRESSING MODE
Richard Henderson [Mon, 20 Aug 2012 23:28:56 +0000 (16:28 -0700)]
target-s390: Convert SET ADDRESSING MODE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert TEST UNDER MASK
Richard Henderson [Mon, 20 Aug 2012 23:20:58 +0000 (16:20 -0700)]
target-s390: Convert TEST UNDER MASK

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Send signals for divide
Richard Henderson [Thu, 6 Sep 2012 00:27:40 +0000 (17:27 -0700)]
target-s390: Send signals for divide

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert DIVIDE
Richard Henderson [Mon, 20 Aug 2012 21:02:02 +0000 (14:02 -0700)]
target-s390: Convert DIVIDE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert BRANCH ON COUNT
Richard Henderson [Mon, 20 Aug 2012 21:22:58 +0000 (14:22 -0700)]
target-s390: Convert BRANCH ON COUNT

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert BRANCH ON CONDITION
Richard Henderson [Mon, 20 Aug 2012 15:28:02 +0000 (08:28 -0700)]
target-s390: Convert BRANCH ON CONDITION

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert BRANCH AND SAVE
Richard Henderson [Sat, 18 Aug 2012 18:38:19 +0000 (11:38 -0700)]
target-s390: Convert BRANCH AND SAVE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROW
Richard Henderson [Sat, 18 Aug 2012 01:52:33 +0000 (18:52 -0700)]
target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROW

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>
11 years agotarget-s390: Convert STORE
Richard Henderson [Fri, 17 Aug 2012 23:00:08 +0000 (16:00 -0700)]
target-s390: Convert STORE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert AND, OR, XOR, INSERT IMMEDIATE
Richard Henderson [Fri, 17 Aug 2012 22:01:36 +0000 (15:01 -0700)]
target-s390: Convert AND, OR, XOR, INSERT IMMEDIATE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVE
Richard Henderson [Fri, 17 Aug 2012 18:38:37 +0000 (11:38 -0700)]
target-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LOAD LOGICAL IMMEDIATE
Richard Henderson [Fri, 17 Aug 2012 18:20:33 +0000 (11:20 -0700)]
target-s390: Convert LOAD LOGICAL IMMEDIATE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LOAD AND TEST
Richard Henderson [Fri, 17 Aug 2012 18:03:39 +0000 (11:03 -0700)]
target-s390: Convert LOAD AND TEST

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORD
Richard Henderson [Fri, 17 Aug 2012 17:27:29 +0000 (10:27 -0700)]
target-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORD

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LOAD ADDRESS
Richard Henderson [Fri, 17 Aug 2012 16:57:07 +0000 (09:57 -0700)]
target-s390: Convert LOAD ADDRESS

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert LOAD, LOAD LOGICAL
Richard Henderson [Fri, 17 Aug 2012 16:45:53 +0000 (09:45 -0700)]
target-s390: Convert LOAD, LOAD LOGICAL

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert COMPARE, COMPARE LOGICAL
Richard Henderson [Thu, 16 Aug 2012 22:20:51 +0000 (15:20 -0700)]
target-s390: Convert COMPARE, COMPARE LOGICAL

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert AND, OR, XOR
Richard Henderson [Sat, 1 Sep 2012 23:28:39 +0000 (16:28 -0700)]
target-s390: Convert AND, OR, XOR

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert 64-bit MULTIPLY LOGICAL
Richard Henderson [Tue, 25 Sep 2012 22:26:59 +0000 (15:26 -0700)]
target-s390: Convert 64-bit MULTIPLY LOGICAL

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>
11 years agotarget-s390: Convert 32-bit MULTIPLY, MULTIPLY LOGICAL
Richard Henderson [Tue, 25 Sep 2012 22:17:59 +0000 (15:17 -0700)]
target-s390: Convert 32-bit MULTIPLY, MULTIPLY LOGICAL

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert MULTIPLY HALFWORD, SINGLE
Richard Henderson [Tue, 25 Sep 2012 22:10:35 +0000 (15:10 -0700)]
target-s390: Convert MULTIPLY HALFWORD, SINGLE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATE
Richard Henderson [Thu, 16 Aug 2012 21:42:49 +0000 (14:42 -0700)]
target-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATE

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Implement SUBTRACT HALFWORD
Richard Henderson [Mon, 27 Aug 2012 21:46:42 +0000 (14:46 -0700)]
target-s390: Implement SUBTRACT HALFWORD

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Convert ADD HALFWORD
Richard Henderson [Thu, 16 Aug 2012 21:09:45 +0000 (14:09 -0700)]
target-s390: Convert ADD HALFWORD

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Reorg exception handling
Richard Henderson [Sat, 15 Sep 2012 02:31:57 +0000 (19:31 -0700)]
target-s390: Reorg exception handling

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>
11 years agotarget-s390: Split out disas_jcc
Richard Henderson [Wed, 5 Sep 2012 20:31:01 +0000 (13:31 -0700)]
target-s390: Split out disas_jcc

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>
11 years agotarget-s390: Add format based disassassmbly infrastructure
Richard Henderson [Thu, 16 Aug 2012 00:16:22 +0000 (17:16 -0700)]
target-s390: Add format based disassassmbly infrastructure

Signed-off-by: Richard Henderson <rth@twiddle.net>
11 years agotarget-s390: Fix PSW_MASK handling
Richard Henderson [Mon, 24 Sep 2012 19:06:15 +0000 (12:06 -0700)]
target-s390: Fix PSW_MASK handling

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>
11 years agotarget-s390: Tidy unconditional BRCL
Richard Henderson [Sat, 22 Sep 2012 12:28:43 +0000 (05:28 -0700)]
target-s390: Tidy unconditional BRCL

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>
11 years agotarget-s390: Fix BCR
Richard Henderson [Sat, 22 Sep 2012 12:25:09 +0000 (05:25 -0700)]
target-s390: Fix BCR

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>
11 years agotarget-s390: Fix SACF exit
Richard Henderson [Sat, 22 Sep 2012 12:22:18 +0000 (05:22 -0700)]
target-s390: Fix SACF exit

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>