Go Back   Project64 Forums > General Discussion > Open Discussion

Reply
 
Thread Tools Display Modes
  #1091  
Old 29th October 2014, 11:44 AM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 2,008
Default

Quote:
Originally Posted by Frank74 View Post
Aha!

Must have a touch of dyslexia, reading SSSE3 as SSE3.

Hopefully I'll be getting a new PC end of the year.
Lol I don't blame you for getting mixed up. Even I used to be confused about it. Lucky you! I could use a new PC ;/ .
Reply With Quote
  #1092  
Old 29th October 2014, 04:36 PM
oddMLan's Avatar
oddMLan oddMLan is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jan 2009
Location: Parappa Town
Posts: 210
Default

Quote:
Originally Posted by RPGMaster View Post
rsp.dll actually requires SSSE3. It needs it for instructions like pshufb.
Lies, it actually requires SSJ3 to execute over nine thousand instructions per second.

Last edited by oddMLan; 29th October 2014 at 05:24 PM.
Reply With Quote
  #1093  
Old 29th October 2014, 05:06 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Quote:
Originally Posted by Frank74 View Post
Wondering why rsp.dll crashes with an exception, but rsp_sse2.dll works fine.

My processor is supposed to support sse3.
I myself have only SSE3 support on this 1.90 GHz machine but have never really been able to test the SSSE3 implementation myself...actually once when I had Windows installed on MarathonMan's laptop. Past that, I've never had access to SSE4 or SSSE3 h/w.

Don't really need SSE3 or later though; everything the N64 RSP does can be directly mapped to SSE2 which is why I'm hoping there won't even be a reason to have a SSSE3 version of the plugin.

Last edited by HatCat; 29th October 2014 at 05:08 PM.
Reply With Quote
  #1094  
Old 29th October 2014, 06:02 PM
V1del V1del is offline
Project Supporter
Senior Member
 
Join Date: Feb 2012
Posts: 442
Default

FWIW i never had any issues with the SSSE3 variant, but I wasn't really doing much specific testing so maybe some quirkass RSP usage in some game that has an issue with SSSE3 exists :P
Reply With Quote
  #1095  
Old 29th October 2014, 06:24 PM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 2,008
Default

Quote:
Originally Posted by HatCat View Post
Don't really need SSE3 or later though; everything the N64 RSP does can be directly mapped to SSE2 which is why I'm hoping there won't even be a reason to have a SSSE3 version of the plugin.
Probably not. The gap seems to be smaller, with this current source. Although I'm using Intel since I am unable to compile with GCC. It's giving me trouble, saying 'there's conflicting types for DllMain".
Reply With Quote
  #1096  
Old 29th October 2014, 06:27 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Oh I'm sure that would have to have been a bug with the GNU C compiler.

All the vector stuff was optimized 95% or more on the C level; any responsibility beyond that went to the compiler (which actually did a poor job with the multiply packs). It's a little more under my control and less the compiler's these days since some inline-assembly-ish intrinsics are being used (inflexible and unportable code ftw? ), but the SSSE3 code was all the shuffle method MarathonMan suggested and, automatic code generated by the compiler in some of the clips/merge stuff. So if you guys found a bug with the SSSE3 build, that didn't happen with the SSE2 build, that would imply a compiler bug with GCC's code generation, rather than a bug in my code.
Reply With Quote
  #1097  
Old 29th October 2014, 06:28 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Quote:
Originally Posted by RPGMaster View Post
unable to compile with GCC. It's giving me trouble, saying 'there's conflicting types for DllMain".
Code:
ld --shared --entry _DllMain@12 -o ../rsp/bin/rsp.dll ../rsp/obj/module.o ../rsp/obj/su.o ../rsp/obj/vu.o ../rsp/obj/multiply.o ../rsp/obj/add.o ../rsp/obj/select.o ../rsp/obj/logical.o ../rsp/obj/divide.o -lkernel32
Reply With Quote
  #1098  
Old 30th October 2014, 02:14 AM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 2,008
Default

Quote:
Originally Posted by HatCat View Post
It's a little more under my control and less the compiler's these days since some inline-assembly-ish intrinsics are being used (inflexible and unportable code ftw? )
I would prefer multiplying the performance .
Quote:
Originally Posted by HatCat View Post
Code:
ld --shared --entry _DllMain@12 -o ../rsp/bin/rsp.dll ../rsp/obj/module.o ../rsp/obj/su.o ../rsp/obj/vu.o ../rsp/obj/multiply.o ../rsp/obj/add.o ../rsp/obj/select.o ../rsp/obj/logical.o ../rsp/obj/divide.o -lkernel32
thnx
Reply With Quote
  #1099  
Old 30th October 2014, 02:17 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

There is no change in performance, just in method of expressing the algorithm.
It can however be said that the binary itself has "multiplied performance".

The algorithm is adjusted to fixate itself to present-day compiler limitations for Intel SSE2. I'm sure the native C version of the algorithm would beat out the inline-assembly-ish intrinsics for many other operations.
Reply With Quote
  #1100  
Old 4th November 2014, 11:42 AM
uyjulian uyjulian is offline
Junior Member
 
Join Date: Sep 2013
Posts: 29
Default

Quote:
Originally Posted by RPGMaster View Post
rsp.dll actually requires SSSE3. It needs it for instructions like pshufb.
Yep, that extra S.

Ugh these confusing names
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 04:23 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.