Richard Henderson [Mon, 27 Aug 2012 18:12:40 +0000 (11:12 -0700)]
target-s390: Convert SERVC
Signed-off-by: Richard Henderson <rth@twiddle.net>
Richard Henderson [Mon, 27 Aug 2012 18:04:48 +0000 (11:04 -0700)]
target-s390: Convert LPSWE
Signed-off-by: Richard Henderson <rth@twiddle.net>
Richard Henderson [Mon, 27 Aug 2012 17:58:59 +0000 (10:58 -0700)]
target-s390: Convert STFL
Signed-off-by: Richard Henderson <rth@twiddle.net>
Richard Henderson [Mon, 27 Aug 2012 17:43:38 +0000 (10:43 -0700)]
target-s390: Convert STSI
Signed-off-by: Richard Henderson <rth@twiddle.net>
Richard Henderson [Mon, 27 Aug 2012 17:17:16 +0000 (10:17 -0700)]
target-s390: Convert SACF
Signed-off-by: Richard Henderson <rth@twiddle.net>
Richard Henderson [Mon, 27 Aug 2012 17:11:36 +0000 (10:11 -0700)]
target-s390: Convert STCKE
Signed-off-by: Richard Henderson <rth@twiddle.net>
Richard Henderson [Mon, 27 Aug 2012 16:57:18 +0000 (09:57 -0700)]
target-s390: Convert CSP
Signed-off-by: Richard Henderson <rth@twiddle.net>
Richard Henderson [Mon, 27 Aug 2012 16:45:38 +0000 (09:45 -0700)]
target-s390: Convert STURA
Signed-off-by: Richard Henderson <rth@twiddle.net>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>