According to RTH implementation, I am sure, his current implementation must have fixed some issues which my original implementation will meet, next.
At present, I shall firstly focus on the current status - merge original implementation to current implementation. And after comparing the test, the result is: send patches directly: raise: unimp (origin is ok) v1multu: unimp (origin is ok) v4add: unimp (origin is ok) vshl-vshr: unimp (origin is ok) need analyzing (it is easy, I guess): mm: abort (origin has no issue) pcnt: abort (origin has no issue) v1addi: abort (origin has no issue) let analyzing easier: try-pending: abort (origin causes pending). I shall try to fix them, and send patches. Then continue gcc testsuite. Thanks. On 9/16/15 23:20, Chen Gang wrote: > > OK, thanks. I got them in qemu master tree, and they have passed several > simple tests. > > Next, I shall send several patches based on it (except floating point > insns) for my current steps. > > Then continue to test gcc testsuite, hope we can finish it within this > month. > > > Thanks. > > On 9/15/15 23:03, Richard Henderson wrote: >> With typos fixed from final review. >> >> >> r~ >> >> >> The following changes since commit b76a0d5db25ad9f81346930230092fdf1e88a5a1: >> >> Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' into >> staging (2015-09-15 13:03:53 +0100) >> >> are available in the git repository at: >> >> git://github.com/rth7680/qemu.git tags/pull-tile-20150915 >> >> for you to fetch changes up to 461aa6783eec27f209b026c6647fc7a83b2997cd: >> >> target-tilegx: Handle v1shl, v1shru, v1shrs (2015-09-15 07:45:34 -0700) >> >> ---------------------------------------------------------------- >> TileGX basic instructions >> >> ---------------------------------------------------------------- >> Chen Gang (9): >> linux-user: tilegx: Add architecture related features >> linux-user: Support tilegx architecture in linux-user >> linux-user: Conditionalize syscalls which are not defined in tilegx >> target-tilegx: Add opcode basic implementation from Tilera Corporation >> target-tilegx: Modify opcode_tilegx.h to fit QEMU usage >> target-tilegx: Add special register information from Tilera Corporation >> target-tilegx: Add cpu basic features for linux-user >> target-tilegx: Add several helpers for instructions translation >> target-tilegx: Add TILE-Gx building files >> >> Richard Henderson (26): >> target-tilegx: Modify _SPECIAL_ opcodes >> target-tilegx: Fix LDNA_ADD_IMM8_OPCODE_X1 >> target-tilegx: Framework for decoding bundles >> target-tilegx: Generate SEGV properly >> target-tilegx: Handle simple logical operations >> target-tilegx: Handle arithmetic instructions >> host-utils: Add revbit functions >> target-arm: Use new revbit functions >> target-tilegx: Handle most bit manipulation instructions >> target-tilegx: Handle basic load and store instructions >> target-tilegx: Handle post-increment load and store instructions >> target-tilegx: Handle unconditional jump instructions >> target-tilegx: Handle conditional branch instructions >> target-tilegx: Handle comparison instructions >> target-tilegx: Implement system and memory management instructions >> target-tilegx: Handle bitfield instructions >> target-tilegx: Handle shift instructions >> target-tilegx: Handle conditional move instructions >> target-tilegx: Handle scalar multiply instructions >> target-tilegx: Handle mask instructions >> target-tilegx: Handle v1cmpeq, v1cmpne >> target-tilegx: Handle mtspr, mfspr >> target-tilegx: Handle atomic instructions >> target-tilegx: Handle v4int_l/h >> target-tilegx: Handle v1shli, v1shrui >> target-tilegx: Handle v1shl, v1shru, v1shrs >> >> configure | 2 + >> default-configs/tilegx-linux-user.mak | 1 + >> include/elf.h | 2 + >> include/qemu/host-utils.h | 77 ++ >> linux-user/elfload.c | 23 + >> linux-user/main.c | 238 ++++ >> linux-user/syscall.c | 50 +- >> linux-user/syscall_defs.h | 14 +- >> linux-user/tilegx/syscall.h | 40 + >> linux-user/tilegx/syscall_nr.h | 324 +++++ >> linux-user/tilegx/target_cpu.h | 35 + >> linux-user/tilegx/target_signal.h | 28 + >> linux-user/tilegx/target_structs.h | 46 + >> linux-user/tilegx/termbits.h | 274 +++++ >> target-arm/helper-a64.c | 15 +- >> target-arm/helper.c | 12 +- >> target-tilegx/Makefile.objs | 1 + >> target-tilegx/cpu.c | 173 +++ >> target-tilegx/cpu.h | 179 +++ >> target-tilegx/helper.c | 80 ++ >> target-tilegx/helper.h | 10 + >> target-tilegx/opcode_tilegx.h | 1406 +++++++++++++++++++++ >> target-tilegx/simd_helper.c | 55 + >> target-tilegx/spr_def_64.h | 216 ++++ >> target-tilegx/translate.c | 2161 >> +++++++++++++++++++++++++++++++++ >> 25 files changed, 5431 insertions(+), 31 deletions(-) >> create mode 100644 default-configs/tilegx-linux-user.mak >> create mode 100644 linux-user/tilegx/syscall.h >> create mode 100644 linux-user/tilegx/syscall_nr.h >> create mode 100644 linux-user/tilegx/target_cpu.h >> create mode 100644 linux-user/tilegx/target_signal.h >> create mode 100644 linux-user/tilegx/target_structs.h >> create mode 100644 linux-user/tilegx/termbits.h >> create mode 100644 target-tilegx/Makefile.objs >> create mode 100644 target-tilegx/cpu.c >> create mode 100644 target-tilegx/cpu.h >> create mode 100644 target-tilegx/helper.c >> create mode 100644 target-tilegx/helper.h >> create mode 100644 target-tilegx/opcode_tilegx.h >> create mode 100644 target-tilegx/simd_helper.c >> create mode 100644 target-tilegx/spr_def_64.h >> create mode 100644 target-tilegx/translate.c >> >> > -- Chen Gang (陈刚) Open, share, and attitude like air, water, and life which God blessed