Project

General

Profile

Emulator Issues #2

Use pshufb to improve speed of paired single load/store instructions

Added by hrydgard about 12 years ago.

Status:
Fixed
Priority:
Low
Assignee:
Category:
JIT
% Done:

0%

Operating system:
N/A
Issue type:
Feature request
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

pshufb, available from SSSE3, and sped up in SSE4, could help out
performance a lot for these instructions.

It could perhaps also be applied for byteswapping vertex data in the gfx
plugin.

History

#1 Updated by leandro.rhcp99 almost 12 years ago

But and for those that doesn't have CPU with SSE2,SSE3 or SSE4 (like me) ?

#2 Updated by hrydgard almost 12 years ago

It will of course only do this optimization on CPUs that support SSE4, they can be
easily detected.

If you don't even have SSE2, Dolphin will only be able to run in interpreter mode, sorry.

#3 Updated by hrydgard almost 12 years ago

  • Priority changed from Normal to Low

#4 Updated by leandro.rhcp99 almost 12 years ago

Thanks a lot hrydgard, maybe was this the cause of r5 doesn't work im my pc
(athlonxp +2400)... i must "mark" false to dynarec.
don't worry about it!
use the new features !

#5 Updated by hrydgard almost 12 years ago

  • Status changed from New to Work started

#6 Updated by Anonymous almost 12 years ago

By the way, I don't think cpudetect.cpp is working correctly. I stepped through it in
vs2008, and at the end of the function, ALL the bool values were true. Of course,
that should have been impossible, since I only have a windsor-core amd. (no SSSE3,
SSE4a, etc.) This assumption is supported by the fact that dolphin r179 hard crashes
when loading any game. VS reveals the culprit code to be:
0000000008D7B08B pshufb xmm7,xmmword ptr [6FB610h]
so basically, all the if statements you put in aren't working, since all the cpu
extensions get marked as being available. :p good luck

p.s. I tried replacing cpudetect (which was based off of vs2005 code from msdn, with
the vs2008 version http://msdn.microsoft.com/en-us/library/hskdteyh.aspx , to no avail.)

#7 Updated by hrydgard almost 12 years ago

ok i'll investigate.

#8 Updated by hrydgard almost 12 years ago

hopefully fixed cpudetect.

#9 Updated by hrydgard almost 12 years ago

  • Status changed from Work started to Fixed

Also available in: Atom PDF