MPLAYER update (Win32, tests needed) (Announce)
> - Illegal instruction exception on old Pentium 1 CPU's
> http://pastebin.com/m31384347
Just for clarity (although I'm not that experienced, honestly):
lea esi,[esi] ; Crappy code !!!
Most likely a NOP equivalent for speed reasons / alignment.
add edx,1 ; Crappy code !!!
INC/DEC are slow on Pentium 4 on up, and forbidden completely in 64-bit mode. GCC actually generates this a lot when using -mtune=generic or similar.
nop ; Crappy code !!!
lea esi,[esi] ; Crappy code !!!
While I agree that blindly putting NOPs everywhere is pointless and annoying, they are faster than ever (esp. on Core 2), e.g. less than one clock nowadays. Even using them on an original Pentium can allegedly increase performance, if used correctly.
mov esp,[ebp-$14] ; &
lea esp,[ebp-$0C] ; & Crappy code
Okay, seems redundant here.
adc esi,0 ; !!!
neg esi
Could be useful (although I can't tell from looking what it intends to do here). I know Darek Mihocka's No Execute blog whines about some VC compilers using SBB, which doesn't avoid partial register stalls.
Long story short: it's extremely complicated trying to optimize for anything!!
(EDIT: That reminds me, I just found out [a year late, heh] that Darek open-sourced the DOS version of PC Xformer 3.80, but it's hidden inside the GEMCE900.ZIP sources under \atari8\ folder, apparently needs MASM and VC6 or better. It's not as compatible as the Atari800 emulator (which isn't full speed even on my P166), but XFORMER.EXE is fast even on a 486 [Hover Bovver]!)
Complete thread:
- MPLAYER update (Win32, tests needed) - DOS386, 20.12.2009, 08:28 (Announce)
- MPLAYER update (Win32, tests needed) - Rugxulo, 20.12.2009, 20:07
- MPLAYER update (Win32, tests needed) - Laaca, 21.12.2009, 01:26
- MPLAYER update (Win32, tests needed) - ron, 21.12.2009, 03:08
- !!! IT WORKS AGAIN !!! - DOS386, 21.12.2009, 07:55
- !!! IT WORKS AGAIN !!! - Khusraw, 21.12.2009, 09:56
- MPLAYER update (Win32, tests needed) - Khusraw, 21.12.2009, 09:34
- MPLAYER update (Win32, tests needed) - Deniska, 23.12.2009, 00:23
- MPLAYER update (Win32, tests needed) - Rugxulo, 23.12.2009, 05:52
- MPLAYER update (Win32, tests needed) - Khusraw, 23.12.2009, 07:52
- MPLAYER update (Win32, tests needed) - RayeR, 25.12.2009, 01:08
- MPLAYER update (Win32, tests needed) - Khusraw, 25.12.2009, 10:48
- MPLAYER update (Win32, tests needed) - RayeR, 25.12.2009, 01:08
- MPLAYER update (Win32, tests needed) - Deniska, 23.12.2009, 00:23
- !!! IT WORKS AGAIN !!! - DOS386, 21.12.2009, 07:55
- MPLAYER update (Win32, tests needed) - ron, 21.12.2009, 03:08
- MPLAYER update (Win32, tests needed) - Rugxulo, 22.12.2009, 10:19
- MPLAYER update (Win32, tests needed) - mht, 22.12.2009, 16:58
- MPLAYER update (Win32, NOT fixed) - DOS386, 22.12.2009, 17:19
- x86 code optimization - Rugxulo, 22.12.2009, 19:16
- x86 code optimization - DOS386, 23.12.2009, 09:05
- x86 code optimization - marcov, 23.12.2009, 22:38
- x86 code optimization - DOS386, 23.12.2009, 09:05
- MPLAYER update (Win32, NOW IS fixed) - DOS386, 19.03.2010, 06:26
- MPLAYER 31139 - DOS386, 13.05.2010, 03:49
- MPLAYER 31170 - DOS386, 06.06.2010, 15:48
- MPLAYER 31139 - DOS386, 13.05.2010, 03:49
- x86 code optimization - Rugxulo, 22.12.2009, 19:16
- MPLAYER update (Win32, tests needed) - Khusraw, 22.12.2009, 18:41
- INC/DEC speed - Rugxulo, 22.12.2009, 19:01
- INC/DEC speed - Khusraw, 24.12.2009, 13:37
- INC/DEC speed - Rugxulo, 25.12.2009, 01:00
- INC/DEC speed - Khusraw, 24.12.2009, 13:37
- INC/DEC speed - Rugxulo, 22.12.2009, 19:01