Search
lxdream.org :: lxdream/src/sh4/sh4x86.in :: log
lxdream 0.9.1
released Jun 29
Download Now
filename src/sh4/sh4x86.in
changeset1198:407659e01ef0
authorNathan Keynes <nkeynes@lxdream.org>
dateFri Dec 16 10:08:45 2011 +1000 (7 years ago)
permissions-rw-r--r--
last changeAdd volatile qualifier to return-address frobbing - works around optimizer
bug in GCC versions after 4.2
file annotate diff log rss
1198:407659e01ef07 yearsNathan KeynesAdd volatile qualifier to return-address frobbing - works around optimizer
1197:904fba59a7057 yearsNathan KeynesImprove handling of NAN in fcmp/eq and ftrc
1196:a14dbddafd137 yearsNathan KeynesUpdate maximum epilogue size
1194:ee6ce58046088 yearsnkeynesHandle memory exceptions thrown while in shadow mode
1193:dff55bdc4f468 yearsnkeynesFix MAC.W operand ordering - reads from Rn first, then Rm (per the manual)
1191:12fdf3aafcd48 yearsnkeynesSH4 shadow-mode tweaks
1186:2dc47c67bb938 yearsnkeynesAdd support for block linking when the block target is fixed. Only a small
1182:b38a327ad8fa8 yearsnkeynesAdd block profiling option to count the number of executions of each block,
1176:70feb17494278 yearsNathan KeynesFix block-chaining epilogue for 64-bit builds (was loading a 32-bit pointer,
1149:da6124fceec69 yearsnkeynesAdd chain pointer to the xlat cache, so that we can maintain multiple blocks
1146:76c5d10642629 yearsnkeynesFix 32-bit non-fastcall build
1125:9dd5dee45db99 yearsnkeynesImplement shadow-execution 'core' to run translator + interpreter side by
1120:7c40a0f687b39 yearsnkeynesAdd missing sh4_translate_breakpoint_hit to the symbol table
1112:4cac5e474d4c9 yearsnkeynesRearrange the main translation loop to allow translated blocks to jump
1092:7c4ffe27e7b59 yearsnkeynesFix 64-bit x86 disassembly
1091:1865583743459 yearsnkeynesAdd side-by-side x86+sh4 disassembly output
1067:d3c00ffccfcd10 yearsnkeynesNo-op merge lxdream-mem to tip to remove head (Long since merged in
1065:bc1cc0c5491710 yearsnkeynesNo-op merge lxdream-mmu to remove head (actually merged long ago)
1011:fdd58619b76010 yearsnkeynesRestructure operand types - xlat-refactor
1008:4c8211637afc10 yearsnkeynesUpdate sh4_translate_end_block_size() to have the correct backpatch sizes
1006:3a169c224c1210 yearsnkeynesCommit current work-in-progress to xlat-refactor branch xlat-refactor
1004:eae00185813410 yearsnkeynesRemove last lingering bits of SH4-specific code from the ABI headers
1003:7b2688cbbca310 yearsnkeynesRevert change to xltcache and fix breakpoint precision correctly
996:2e8cf0a8724310 yearsnkeynesFix stupid mistake in non-frame-exception path
995:eb9d43e8aa0810 yearsnkeynesCleanup ABI headers - most of the content made consistent between versions, and moved into sh4x86.in proper
992:7c15f8a7199510 yearsnkeynesMove ABI headers to xlat/x86 as well (and finally rename erroneously named ia64abi to amd64abi)
991:60c7fab9c88010 yearsnkeynesMove xltcache to xlat/ src directory
975:007bf7eb944f10 yearsnkeynesAdd read_byte_for_write mem function for correct implementation of AND.B and friends
974:16b079ed11bb10 yearsnkeynesFix double-counting of instructions in delay slots in sh4_finalize_instruction
956:4c1ed9e0398510 yearsnkeynesExit immediately on an unconditional exception - makes those blocks a little simpler and shorter
953:f4a156508ad110 yearsnkeynesMerge lxdream-mem branch back to trunk
946:d41ee7994db710 yearsnkeynesFully integrate SQ with the new address space code - added additional 'prefetch' lxdream-mem
941:c67574ed435510 yearsnkeynesImplement CORE_EXIT_EXCEPTION for use when direct frame messing about doesn't work lxdream-mem
939:6f2302afeb8910 yearsnkeynesMMU work-in-progress lxdream-mem
937:81b0c79d978810 yearsnkeynesUpdate sh4x86 to take advantage of SR assumptions. nice 2% there :) lxdream-mem
936:f394309c399a10 yearsnkeynesReplace fpscr_mask/fpscr flags in xlat_cache_block with a single xlat_sh4_mode, lxdream-mem
930:07e5b11419db10 yearsnkeynesRemove pointer cache and add full address-space map. Much better lxdream-mem
929:fd8cb0c82f5f10 yearsnkeynesFirst pass experiment using cached decoding. lxdream-mem
927:17b6b9e245d810 yearsnkeynesAdd return-address-modifying exception return code to mmu TLB lookups (a little bit faster)
926:68f3e0fe02f110 yearsnkeynesSetup a 'proper' stackframe in translated blocks. This doesn't affect performance noticeably,
911:2f6ba75b84d111 yearsnkeynesDeclare mem_copy_* functions as FASTCALL
908:a00debcf260011 yearsnkeynesFix x86-64 build (typos et al)
905:4c17ebd9ef5e11 yearsnkeynesUse regparam calling conventions for all functions called from translated code,
904:5b92e51ac06b11 yearsnkeynesEnable the FIPR SSE3 code for now, and add a comment on the sh4r.fr alignment
903:1337c7a7dd6b11 yearsnkeynesAdd SSE3 versions of FIPR and FTRV - the latter is about a 4.5% improvement
901:32c5cf5e206f11 yearsnkeynesMove the precision/size tests to translation-time rather than execution-time,
879:a07af43e03c411 yearsnkeynesFix corner flag case with conditional delayed branches
875:2147174fb32011 yearsnkeynesFix a few more subtle flag problems
872:a3041742bb7d11 yearsnkeynesFix CLRS/SETS - These kill the carry value, they don't set it.
824:016cda9d051811 yearsnkeynesCorrect generated UNDEF() => UNDEF(ir) for consistency with UNIMP(ir)
800:0d1be79c9b3311 yearsnkeynesFix x86-64 bugs (only visible on OS X)
789:7e7ec23217fc11 yearsnkeynesFix 64-bit correctness in ptr loads in FTRC
733:633ee022f52e11 yearsnkeynesBug 60: Fix off-by-one in recovery list size
732:f05753bbe72311 yearsnkeynesFix alignment check for 64-bit FMOVs
675:b97020f9af1c11 yearsnkeyneshange 64-bit configuration to use sizeof(void *) rather than the system id
673:44c579439d7311 yearsnkeynesCount fpscr ops separately from other LDS/STS instructions
671:a530ea88eebd11 yearsnkeynesPermanently add SH4 instruction statistics tracking (enabled with --enable-sh4stats)
669:ab344e42bca911 yearsnkeynesCleanup most of the -Wall warnings (getting a bit sloppy...)
626:a010e30a30e911 yearsnkeynesFix LDS/STS to FPUL/FPSCR to check the FPU disabled bit. Fixes
604:1024c3a9cb8811 yearsnkeynesFix backpatching when the block moves during translation
.