qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 000/126] Rewrite s390x translator


From: Richard Henderson
Subject: [Qemu-devel] [PATCH 000/126] Rewrite s390x translator
Date: Sun, 9 Sep 2012 14:04:18 -0700

As promised the other week.  I've cleaned up the patch set and
re-based it on Blueswirl's areg0 patch set.  For reference, the
entire patch set is available at

  git://repo.or.cz/qemu/rth.git rth/s390-reorg-3

Testing has mostly been on the gcc testsuite, where the execute
test failures are reduced to

FAIL: gcc.dg/attr-ifunc-1.c execution test
FAIL: gcc.dg/attr-ifunc-3.c execution test
FAIL: gcc.dg/attr-ifunc-4.c execution test
FAIL: gcc.dg/attr-ifunc-5.c execution test
FAIL: gcc.dg/cdce1.c execution test
FAIL: gcc.dg/cleanup-11.c execution test
FAIL: gcc.dg/cleanup-9.c execution test
FAIL: gcc.dg/torture/pr41094.c  -O0  execution test
FAIL: gcc.dg/torture/tls/tls-test.c * execution test

I'll probably start trying out the glibc testsuite next, as
that's quite likely to flush out remaining problems with the
fp support (both cdce1 and pr41094 are both failures in pow).

I've also done some testing with -march={z10,z196}, but I
don't have those results handy atm.



r~


Richard Henderson (126):
  tcg: Add TCGV_IS_UNUSED_*
  tcg: Add TCG_COND_NEVER, TCG_COND_ALWAYS
  target-s390: Disassemble more z10 and z196 opcodes
  target-s390: Fix disassembly of cpsdr
  target-s390: Fix gdbstub
  target-s390: Add missing temp_free in gen_op_calc_cc
  target-s390: Use TCG registers for FPR
  target-s390: Add format based disassassmbly infrastructure
  target-s390: Split out disas_jcc
  target-s390: Reorg exception handling
  target-s390: Convert ADD HALFWORD
  target-s390: Implement SUBTRACT HALFWORD
  target-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATE
  target-s390: Convert MULTIPLY
  target-s390: Convert AND, OR, XOR
  target-s390: Convert COMPARE, COMPARE LOGICAL
  target-s390: Convert LOAD, LOAD LOGICAL
  target-s390: Convert LOAD ADDRESS
  target-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORD
  target-s390: Convert LOAD AND TEST
  target-s390: Convert LOAD LOGICAL IMMEDIATE
  target-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVE
  target-s390: Convert AND, OR, XOR, INSERT IMMEDIATE
  target-s390: Convert STORE
  target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROW
  target-s390: Convert BRANCH AND SAVE
  target-s390: Convert BRANCH ON CONDITION
  target-s390: Convert BRANCH ON COUNT
  target-s390: Convert DIVIDE
  target-s390: Send signals for divide
  target-s390: Convert TEST UNDER MASK
  target-s390: Convert SET ADDRESSING MODE
  target-s390: Convert SUPERVISOR CALL
  target-s390: Convert MOVE LONG
  target-s390: Convert FP LOAD
  target-s390: Convert INSERT CHARACTER
  target-s390: Cleanup cc computation helpers
  target-s390: Convert INSERT CHARACTERS UNDER MASK
  target-s390: Convert EXECUTE
  target-s390: Convert FP STORE
  target-s390: Convert CONVERT TO DECIMAL
  target-s390: Convert SET SYSTEM MASK
  target-s390: Convert LOAD PSW
  target-s390: Convert DIAGNOSE
  target-s390: Convert SHIFT, ROTATE SINGLE
  target-s390: Convert SHIFT DOUBLE
  target-s390: Convert LOAD, STORE MULTIPLE
  target-s390: Convert MOVE
  target-s390: Convert NI, XI, OI
  target-s390: Convert STNSM, STOSM
  target-s390: Convert LAM, STAM
  target-s390: Convert CLCLE, MVCLE
  target-s390: Convert MVC
  target-s390: Convert NC, XC, OC, TR, UNPK
  target-s390: Convert CLC
  target-s390: Convert MVCP, MVCS
  target-s390: Convert LRA
  target-s390: Convert SIGP
  target-s390: Convert EFPC, STFPC
  target-s390: Convert LCTL, STCTL
  target-s390: Convert COMPARE AND SWAP
  target-s390: Convert CLM
  target-s390: Convert STCM
  target-s390: Convert TPROT
  target-s390: Convert LOAD CONTROL, part 2
  target-s390: Convert LOAD REVERSED
  target-s390: Convert STORE REVERSED
  target-s390: Convert LLGT
  target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED
  target-s390: Convert FP SUBTRACT
  target-s390: Convert FP DIVIDE
  target-s390: Convert FP MULTIPLY
  target-s390: Convert MULTIPLY AND ADD, SUBTRACT
  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
  target-s390: Convert IPM
  target-s390: Convert CKSM
  target-s390: Convert EAR, SAR
  target-s390: Convert MVPG
  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 SPKA
  target-s390: Convert PTLB
  target-s390: Convert SPX, STPX
  target-s390: Convert STAP
  target-s390: Convert IPTE
  target-s390: Convert ISKE
  target-s390: Convert SSKE
  target-s390: Convert RRBE
  target-s390: Convert subchannel instructions
  target-s390: Convert STURA
  target-s390: Convert CSP
  target-s390: Convert STCKE
  target-s390: Convert SACF
  target-s390: Convert STSI
  target-s390: Convert STFL
  target-s390: Convert LPSWE
  target-s390: Convert SERVC
  target-s390: Delete dead code from old translator
  target-s390: Implement BRANCH ON INDEX
  target-s390: Tidy s->op_cc handling
  target-s390: Implement COMPARE AND BRANCH
  target-s390: Implement RISBG
  target-s390: Implement LDGR, LGDR
  target-s390: Implement R[NOX]SBG
  target-s390: Implement PREFETCH
  target-s390: Implement COMPARE RELATIVE LONG
  target-s390: Implement COMPARE AND TRAP
  target-s390: Implement LOAD ON CONDITION
  target-s390: Implement STORE ON CONDITION
  target-s390: Implement CONVERT TO LOGICAL
  target-s390: Implement CONVERT FROM LOGICAL
  target-s390: Implement POPCNT
  target-s390: Implement CPSDR
  target-s390: Check insn operand specifications

 gdbstub.c                    |   78 +-
 linux-user/main.c            |  133 +-
 s390-dis.c                   |  173 +-
 target-s390x/cc_helper.c     |  335 +-
 target-s390x/cpu.h           |  127 +-
 target-s390x/fpu_helper.c    |  941 ++---
 target-s390x/helper.h        |  168 +-
 target-s390x/insn-data.def   |  800 ++++
 target-s390x/insn-format.def |   55 +
 target-s390x/int_helper.c    |  176 +-
 target-s390x/mem_helper.c    |  326 +-
 target-s390x/misc_helper.c   |   98 +-
 target-s390x/translate.c     | 8314 +++++++++++++++++++-----------------------
 tcg/arm/tcg-target.c         |    2 +-
 tcg/hppa/tcg-target.c        |    2 +-
 tcg/i386/tcg-target.c        |    2 +-
 tcg/ppc/tcg-target.c         |    2 +-
 tcg/ppc64/tcg-target.c       |    2 +-
 tcg/s390/tcg-target.c        |    6 +-
 tcg/sparc/tcg-target.c       |    2 +-
 tcg/tcg-op.h                 |   82 +-
 tcg/tcg.c                    |    2 +
 tcg/tcg.h                    |   43 +-
 23 files changed, 5992 insertions(+), 5877 deletions(-)
 create mode 100644 target-s390x/insn-data.def
 create mode 100644 target-s390x/insn-format.def

-- 
1.7.11.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]