[Top][All Lists]
[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
- [Qemu-devel] [PATCH 000/126] Rewrite s390x translator,
Richard Henderson <=
- [Qemu-devel] [PATCH 001/126] tcg: Add TCGV_IS_UNUSED_*, Richard Henderson, 2012/09/09
- [Qemu-devel] [PATCH 006/126] target-s390: Add missing temp_free in gen_op_calc_cc, Richard Henderson, 2012/09/09
- [Qemu-devel] [PATCH 002/126] tcg: Add TCG_COND_NEVER, TCG_COND_ALWAYS, Richard Henderson, 2012/09/09
- [Qemu-devel] [PATCH 004/126] target-s390: Fix disassembly of cpsdr, Richard Henderson, 2012/09/09
- [Qemu-devel] [PATCH 005/126] target-s390: Fix gdbstub, Richard Henderson, 2012/09/09