Welcome, Guest. Please login or register.

Author Topic: WinUAE getting a 64bit JIT upgrade?  (Read 3653 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline bloodlineTopic starter

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
WinUAE getting a 64bit JIT upgrade?
« on: April 25, 2010, 07:14:49 AM »
Just reading through the WinUAE sources, and I notice the JIT now has some x86-64 ifdefs. The copyright notice on the files has not been updated for ages, so this could be old work... But it would be very cool take advantage of the newer processor :)

Anyone know anything about this?

On a related note, I was reading the source to see how tightly the WinUAE code is with its GUI code, I would like to get a MacOS X (Cocoa based) target as part of the standard WinUAE tree.

Offline Thomas

Re: WinUAE getting a 64bit JIT upgrade?
« Reply #1 on: April 25, 2010, 07:32:31 AM »
Quote
WinUAE getting a 64bit JIT upgrade?

--------------------------------------------------------------------------------

Just reading through the WinUAE sources, and I notice the JIT now has some x86-64 ifdefs.


I rather think that the opposite is true. Toni made an experimental 64bit version of WinUAE and I suppose he added the ifdefs in order to *remove* JIT from it because there is no 64bit JIT.

Offline B00tDisk

  • VIP / Donor - Lifetime Member
  • Hero Member
  • *****
  • Join Date: Dec 2002
  • Posts: 1670
    • Show only replies by B00tDisk
    • http://www.thedelversdungeon.com
Re: WinUAE getting a 64bit JIT upgrade?
« Reply #2 on: April 25, 2010, 07:34:49 AM »
Yeah...there's a thread bout this over on the english amiga board; here is where you'll find it.
Back away from the EU-SSR!
 

Offline bloodlineTopic starter

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: WinUAE getting a 64bit JIT upgrade?
« Reply #3 on: April 25, 2010, 07:45:30 AM »
Ahhh, OK. cheers guys.

Offline ElPolloDiabl

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show only replies by ElPolloDiabl
Re: WinUAE getting a 64bit JIT upgrade?
« Reply #4 on: April 25, 2010, 07:47:18 AM »
Why don't we get some bounties going?
Go Go Gadget Signature!
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16878
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: WinUAE getting a 64bit JIT upgrade?
« Reply #5 on: April 25, 2010, 12:20:02 PM »
You guys want to be careful what you wish for.

Experimenting with GCC 4.2.4 64-bit, I found some very strange behaviour with code performance for my old virtual machine project.

The code compiled for 32-bit and -mtuned for P4 runs about 30% faster on my core2 than exactly the same code compiled for my core2 64-bit native and -mtuned for core2:

Code: [Select]

karlos@Megaburken-II:/extropia/exvm/bin$ ./exvm_x64
VM compiled 64-bit native
There are presently 239 core instructions defined

Beginning Virtual Program
-----------------------

Allocated buffer [512 x 512]
Wrote buffer 'framebuffer.pgm'
Freed buffer
Executed 319360443 statements
Time taken :3306.496ms

-----------------------

VMCore dump

rX:  64-bit (hex dump) :          s32 :    s16 :   s8 : c
 1: 0x0000000000000000 :            0 :      0 :    0 : . : 0.00000000
 2: 0x0000000000000200 :          512 :    512 :    0 : . : 0.00000000
 3: 0x0000000000000200 :          512 :    512 :    0 : . : 0.00000000
 4: 0x000000003FA00000 :   1067450368 :      0 :    0 : . : 1.25000000
 5: 0x0000000000000200 :          512 :    512 :    0 : . : 0.00000000
 6: 0x00000000BFE00000 :   3219128320 :      0 :    0 : . : -1.75000000
 7: 0x000000003F400000 :   1061158912 :      0 :    0 : . : 0.75000000
 8: 0x000000003BA00000 :   1000341504 :      0 :    0 : . : 0.00488281
 9: 0x0000000000000200 :          512 :    512 :    0 : . : 0.00000000
10: 0x00000000000000FF :          255 :    255 :   -1 : . : 0.00000000
11: 0x00000000C10CE6A7 :   3238848167 :  -6489 :  -89 : . : -8.80631161
12: 0x00000000BE9C4320 :   3197911840 :  17184 :   32 : . : -0.30519962
13: 0x0000000000000004 :            4 :      4 :    4 : . : 0.00000000
14: 0x00000000411AD2A7 :   1092276903 : -11609 :  -89 : . : 9.67642879
15: 0x00000000BE9C4320 :   3197911840 :  17184 :   32 : . : -0.30519962
16: 0x0000000000404868 :      4212840 :  18536 :  104 : h : 0.00000000
PC: 0x605af2
RS: 0x606010 (0)
DS: 0x608020 (0)
CS: 0x609030 (0)
ST: 0x00000002 (Completed)

Code: [Select]

karlos@Megaburken-II:/extropia/exvm/bin$ ./exvm_x86
VM compiled 32-bit native
There are presently 239 core instructions defined

Beginning Virtual Program
-----------------------

Allocated buffer [512 x 512]
Wrote buffer 'framebuffer.pgm'
Freed buffer
Executed 319360443 statements
Time taken :2191.308ms

-----------------------

VMCore dump

rX:  64-bit (hex dump) :          s32 :    s16 :   s8 : c
 1: 0x0000000000000000 :            0 :      0 :    0 : . : 0.00000000
 2: 0x0000000000000200 :          512 :    512 :    0 : . : 0.00000000
 3: 0x0000000000000200 :          512 :    512 :    0 : . : 0.00000000
 4: 0x000000003FA00000 :   1067450368 :      0 :    0 : . : 1.25000000
 5: 0x0000000000000200 :          512 :    512 :    0 : . : 0.00000000
 6: 0x00000000BFE00000 :  -1075838976 :      0 :    0 : . : -1.75000000
 7: 0x000000003F400000 :   1061158912 :      0 :    0 : . : 0.75000000
 8: 0x000000003BA00000 :   1000341504 :      0 :    0 : . : 0.00488281
 9: 0x0000000000000200 :          512 :    512 :    0 : . : 0.00000000
10: 0x00000000000000FF :          255 :    255 :   -1 : . : 0.00000000
11: 0x00000000C10CE6A7 :  -1056119129 :  -6489 :  -89 : . : -8.80631161
12: 0x00000000BE9C4320 :  -1097055456 :  17184 :   32 : . : -0.30519962
13: 0x0000000000000004 :            4 :      4 :    4 : . : 0.00000000
14: 0x00000000411AD2A7 :   1092276903 : -11609 :  -89 : . : 9.67642879
15: 0x00000000BE9C4320 :  -1097055456 :  17184 :   32 : . : -0.30519962
16: 0x000000000804C81C :    134531100 : -14308 :   28 : . : 0.00000000
PC: 0x0804E3B2
RS: 0x0804F008 (0)
DS: 0x08051010 (0)
CS: 0x08052018 (0)
ST: 0x00000002 (Completed)





This trend was not observed with AMD Athlon 64.
int p; // A