Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
298 user(s) are online (116 user(s) are browsing Forums)

Members: 0
Guests: 298

more...

Support us!

Headlines

 
  Register To Post  

(1) 2 »
X5000 optimized code compile
Just can't stay away
Just can't stay away


See User information
It seems that code compiled with the flag "-mcpu=750" works fine under X5000, but it is not optimal since we are using the CPU G3. G4 7450 crashes understandably, of course, since the X5000 does not have an AtiVec unit.

Is there a way to compile optimized for the X5000, and what should the flags look like?

MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
Go to top
Re: X5000 optimized code compile
Just popping in
Just popping in


See User information
-mcpu=e5500 maybe?

Go to top
Re: X5000 optimized code compile
Amigans Defender
Amigans Defender


See User information
Did you try to add -mno-altivec?

i'm really tired...
Go to top
Re: X5000 optimized code compile
Not too shy to talk
Not too shy to talk


See User information
-mcpu=e5500 crashed, but I am trying now with -mcpu=e5500 -mno-altivec, if this works. Just sent the test exe to Maijestroy (don't have an x5000 myselves, I got a x1000). We'll see if this works.

Thanks for your help.

Go to top
Re: X5000 optimized code compile
Just can't stay away
Just can't stay away


See User information
@TheMagicSN

Quote:
TheMagicSN wrote:-mcpu=e5500 crashed, but I am trying now with -mcpu=e5500 -mno-altivec, if this works. Just sent the test exe to Maijestroy (don't have an x5000 myselves, I got a x1000). We'll see if this works.


The Test.exe unfortunately still crashes but in the GR-log it looks like "libgcc.so" which causes the crash. Does "libgcc.so" have to be compiled with the same flag?

Crash log for task "GemRB"
Generated by GrimReaper 53.19
Crash occured in module libgcc
.so at address 0x7EA5BB54
Type of crash
: DSI (Data Storage Interrupt) exception
Alert number
: 0x80000003

Register dump
:
GPR (General Purpose Registers):
   
0: EF7ED198 53939B30 00000002 00000000 5C59FAC4 01839BF8 7EBA37CC 530EE000 
   8
: 00000003 00000001 00000000 00001CE9 00001D10 5501D550 53F23388 00000001 
  16
: 54E7D410 EF9A7E50 5AFD84F0 53F242DC 53F242DC 5341DEB8 5341DCB8 53939BE8 
  24
: 00000000 5341DCB8 00000000 5341DCB8 02440000 00000000 6E248CC4 6E240D80 


FPR 
(Floating Point Registers, NaN = Not a Number):
   
0:             -nan               55       1.6905e-17              0.5 
   4
:      4.76837e-07       4.5036e+15       4.5036e+15       4.5036e+15 
   8
:     -2.75573e-07      2.48016e-05         0.157079              0.5 
  12
:                0            32768     -8.78552e-53          35.0171 
  16
:    -1.31476e-288     1.53045e-219     1.36261e-216     3.49813e-247 
  20
:     1.41487e-262     2.81927e+192    -5.79946e-144     2.64491e-152 
  24
:     2.04061e-256     -1.0027e-152    -4.86937e-250     4.74844e-250 
  28
:     1.81868e-294      5.93591e-66     6.57077e-182     8.92326e-248 

FPSCR 
(Floating Point Status and Control Register): 0x82008000


SPRs 
(Special Purpose Registers):
           
Machine State (msr) : 0x0002F030
                Condition 
(cr) : 0x53A5DDC0
      Instruction Pointer 
(ip) : 0x7EA5BB54
       Xtended Exception 
(xer) : 0x018407B0
                   Count 
(ctr) : 0x00000000
                     Link 
(lr) : 0x00000000
            DSI Status 
(dsisr) : 0x01860BA0
            Data Address 
(dar) : 0x00000000



680x0 emulated registers
:
DATA: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
ADDR
: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
FPU0
:                0                0                0                0 
FPU4
:                0                0                0                0 



Symbol info
:
Instruction pointer 0x7EA5BB54 belongs to module "libgcc.so" (HUNK/Kickstart)

Stack trace:
    
module Games:BetaTestGemRB/BG2/libgcc.so at 0x7EA5BB54 (section 0 @ 0x7E54)
    
module Games:BetaTestGemRB/BG2/libgcc.so at 0x7EA5BB2C (section 0 @ 0x7E2C)
    
GemRB:_ZN5GemRB13ToggleLoggingEb()+0x318 (section 7 @ 0xE9A44)
    
GemRB:main()+0xc0 (section 7 @ 0xB502C)
    
native kernel module newlib.library.kmod+0x00002614
    native kernel module newlib
.library.kmod+0x00003340
    native kernel module newlib
.library.kmod+0x00003864
    GemRB
:_start()+0x1e0 (section 7 @ 0x1C3C)
    
native kernel module dos.library.kmod+0x0002a458
    native kernel module kernel
+0x0005c18c
    native kernel module kernel
+0x0005c204

PPC disassembly
:
 
7ea5bb4c: 93a10014   stw               r29,20(r1)
 
7ea5bb50: 813f0000   lwz               r9,0(r31)
*
7ea5bb54: 83830000   lwz               r28,0(r3)
 
7ea5bb58: 2c090000   cmpwi             r9,0
 7ea5bb5c
: 83be8000   lwz               r29,-32768(r30)

System information:

CPU 
 Model
: Freescale P5040 (E5500 core) V1.2 
 CPU speed
: 2200 MHz 
 FSB speed
: 800 MHz 
 Extensions
:  

Machine 
 Machine name
: AmigaOne X5000/40 
 Memory
: 2097152 KB 
 Extensions
: bus.pci bus.pcie 

Expansion buses 
 PCI
/AGP 
  00
:00.0 Vendor 0x1957 Device 0x0451 
  01
:00.0 Vendor 0x1002 Device 0x67DF 
   Range 0
: 80000000 - 90000000 (PREF.MEM) 
   
Range 2: 90000000 - 90200000 (PREF.MEM) 
   
Range 4: 00001000 - 00001100 (IO) 
  
01:00.1 Vendor 0x1002 Device 0xAAF0 
   Range 0
: 90240000 - 90244000 (MEM) 
  
02:00.0 Vendor 0x1957 Device 0x0451 
  03
:00.0 Vendor 0x111D Device 0x8092 
  04
:01.0 Vendor 0x111D Device 0x8092 
  04
:02.0 Vendor 0x111D Device 0x8092 
  04
:03.0 Vendor 0x111D Device 0x8092 
  04
:08.0 Vendor 0x111D Device 0x8092 
  04
:10.0 Vendor 0x111D Device 0x8092 
  05
:00.0 Vendor 0x12D8 Device 0xE111 
  07
:00.0 Vendor 0x1102 Device 0x0012 
   Range 0
: A0000000 - A0004000 (MEM) 
   
Range 2: A0004000 - A0008000 (MEM) 

Libraries 
 0x5c6d5668
: german.language V52.1 
 0x0239ecc2
: exec.library V54.30 
 0x6fef99a8
: cgxvideo.library V42.1 
 0x55396ae8
: pthreads.library V53.12 
 0x58c61bb8
: RAMDock.docky V51.3 
 0x5c225148
: GFXDock.docky V51.6 
 0x59161318
: CPUDock.docky V51.2 
 0x58c52928
: NetDock.docky V52.0 
 0x591cc228
: AK-GIF.datatype V54.14 
 0x5906ab18
: toolbar.gadget V53.6 
 0x58c52e28
: infodata.gadget V53.3 
 0x583c8f40
: fuelgauge.gadget V53.8 
 0x58c701a8
: piechart.gadget V53.1 
 0x592f30b8
: infowindow.class V53.15 
 0x59160990
: texteditor.gadget V53.32 
 0x59161e20
: tabbed.gadget V54.455 
 0x59160280
: select.gadget V53.7 
 0x58be7f00
: datesheet.gadget V1.9 
 0x5812b9a8
: sliderbar.gadget V53.22 
 0x583c8df8
: tickbox.gadget V53.14 
 0x58be7970
: time.gadget V1.14 
 0x583c8b80
: clock.gadget V53.1 
 0x583c8d60
: gradientslider.gadget V53.7 
 0x58be70f0
: anim.gadget V53.7 
 0x5c67db58
: progressbar.gadget V53.12 
 0x583c6c68
: X5000Temp.docky V50.2 
 0x5aeba0b0
: shared.image V2.1 
 0x5c67d958
: Separator.docky V53.2 
 0x58c0b024
: clipview.library V1.12 
 0x5c67da58
: SubDock.docky V53.1 
 0x583c80e0
: arexx.class V53.6 
 0x583c8044
: colorwheel.gadget V53.7 
 0x6e249e90
: slider.gadget V53.17 
 0x6e249d50
: getfont.gadget V53.11 
 0x6e336a30
: getfile.gadget V53.12 
 0x5b386dc8
: clicktab.gadget V53.51 
 0x5aee0e98
: screenblanker.library V53.7 
 0x6e249c10
: checkbox.gadget V53.13 
 0x58142760
: requester.class V53.20 
 0x6e249b70
: space.gadget V53.7 
 0x5af66a18
: chooser.gadget V53.22 
 0x6e249ad0
: penmap.image V53.6 
 0x6e249990
: bitmap.image V53.9 
 0x6e249a30
: integer.gadget V53.13 
 0x6e246cc8
: listbrowser.gadget V53.79 
 0x5b386270
: scroller.gadget V53.16 
 0x5aee1020
: string.gadget V53.24 
 0x5bcd8d14
: device.audio V6.2 
 0x5be4ca98
: filesave.audio V6.5 
 0x6e316bc8
: hda.audio V6.11 
 0x5bc27c94
: asl.library V53.54 
 0x5c00faa4
: usergroup.library V4.30 
 0x5c1974a8
: bsdsocket.library V4.321 
 0x6e294144
: xpkmaster.library V5.2 
 0x5bf00758
: usbhidgate.library V53.3 
 0x5ca23a5c
: xadmaster.library V13.1 
 0x5ca47e6c
: hid.usbfd V53.14 
 0x6e39b1cc
: textclip.library V53.4 
 0x5ca2baf0
: button.gadget V53.22 
 0x5ca2bb90
: glyph.image V53.4 
 0x5c30e9e0
: window.class V54.14 
 0x5c357708
: popupmenu.class V53.2 
 0x5c30b308
: popupmenu.library V53.14 
 0x5ca2b910
: label.image V53.14 
 0x5ca2b7d0
: drawlist.image V53.3 
 0x5c357358
: layout.gadget V54.10 
 0x5c357430
: bevel.image V53.6 
 0x5ca473d8
: AK-PNG.datatype V54.15 
 0x5ca48484
: picture.datatype V53.10 
 0x5ca2eb00
: Picasso96API.library V54.18 
 0x5ca2c9c4
: mpega.library V2.4 
 0x5ca47360
: mathieeedoubbas.library V53.1 
 0x5c6cf620
: datatypes.library V54.15 
 0x5cadab7c
: ft2.library V53.2 
 0x6ff1780c
: workbench.library V53.62 
 0x5c6b0750
: gadtools.library V53.8 
 0x5ca8ec48
: timezone.library V53.11 
 0x5ca2c3f8
: application.library V53.30 
 0x5cad2cfc
: commodities.library V53.10 
 0x5cc478cc
: icon.library V54.6 
 0x6ff13820
: z.library V53.9 
 0x5caa65e0
: iffparse.library V53.3 
 0x5dd44458
: version.library V53.18 
 0x6ffb8ecc
: locale.library V54.2 
 0x6fef87ac
: diskfont.library V53.13 
 0x6ff9cc18
: petunia.library V53.6 
 0x6ff9cb58
: diskcache.library V3.31 
 0x6ff06948
: dos.library V54.112 
 0x6ff13184
: usbprivate.library V53.22 
 0x6ff114bc
: massstorage.usbfd V53.84 
 0x6ff1303c
: hub.usbfd V53.11 
 0x6ff11428
: bootkeyboard.usbfd V52.3 
 0x6ff113a8
: bootmouse.usbfd V53.3 
 0x6ff112a8
: mounter.library V53.20 
 0x6fef9e7c
: usbresource.library V53.22 
 0x6ff91518
: hunk.library V53.4 
 0x6fef9c84
: elf.library V54.1 
 0x6e8ae4d0
: intuition.library V54.28 
 0x6ff587a0
: keymap.library V53.9 
 0x6ff5a544
: nonvolatile.library V54.7 
 0x6ff7e9f0
: cybergraphics.library V43.0 
 0x6ff90420
: RadeonRX.chip V2.12 
 0x6ffa3420
: graphics.library V54.248 
 0x6fffe4f0
: layers.library V54.12 
 0x6ff50150
: rtg.library V54.90 
 0x6ff902a4
: PCIGraphics.card V53.18 
 0x6ffaa258
: newlib.library V53.80 
 0x6ff9f1ac
: utility.library V54.2 
 0x6ffa8398
: expansion.library V53.1 
 0x5c56c1fe
: rexxsyslib.library V53.4 (Legacy) 

Devices 
 0x5aeba834
: clipboard.device V53.5 
 0x5c3e2024
: serial.device V54.6 
 0x6ff7eb34
: ahi.device V6.2 
 0x5b920024
: p50x0_eth.device V52.6 
 0x5c1d42b4
: diskimage.device V53.4 
 0x6ee89d20
: usbsys.device V53.22 
 0x6ff91984
: p50x0sata.device V54.79 
 0x6ff918d8
: vsata.device V54.8 
 0x6ff91870
: ehci.usbhcd V53.26 
 0x6ff917d0
: ohci.usbhcd V53.22 
 0x6ff91730
: uhci.usbhcd V53.15 
 0x6ee89658
: console.device V53.105 
 0x6ff5a670
: ramdrive.device V54.1 
 0x6ff589ec
: input.device V53.6 
 0x6fef83b4
: keyboard.device V53.12 
 0x6ff5a050
: timer.device V53.4 

Tasks 
 rx_pm 
(Waiting) 
  
Stack: 0x6e8de000 - 0x6e8e6000, pointer @ 0x6e8e5f40 (Cookie OK) 
  
Signals: SigRec 0x80000001, SigWait 0x00000000 
  State
: Task (Waiting) 
 
rx_gc (Waiting) 
  
Stack: 0x6e8ea000 - 0x6e8f2000, pointer @ 0x6e8f1f50 (Cookie OK) 
  
Signals: SigRec 0x80000001, SigWait 0x00000000 
  State
: Task (Waiting) 
 
Exec Command and Control (Waiting) 
  
Stack: 0x6e850000 - 0x6e854000, pointer @ 0x6e853f50 (Cookie OK) 
  
Signals: SigRec 0x80000000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
ClickToFront (Waiting) 
  
Stack: 0x58489004 - 0x58498ffc, pointer @ 0x58498ef0 (Cookie OK) 
  
Signals: SigRec 0xe000d000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
input.device (Waiting) 
  
Stack: 0x6e8be000 - 0x6e8ce000, pointer @ 0x6e8cdf00 (Cookie OK) 
  
Signals: SigRec 0x80000000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
P50x0 Ethernet (Waiting) 
  
Stack: 0x5b8b9000 - 0x5b8ba000, pointer @ 0x5b8b9f20 (Cookie OK) 
  
Signals: SigRec 0x00001000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
SFS DosList handler (Waiting) 
  
Stack: 0x60c89004 - 0x60c90ffc, pointer @ 0x60c90f20 (Cookie OK) 
  
Signals: SigRec 0x80000000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
USB stack (Waiting) 
  
Stack: 0x6e858000 - 0x6e85c000, pointer @ 0x6e85bf20 (Cookie OK) 
  
Signals: SigRec 0xf800d000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
EHCI Controller Task Unit 1 (Waiting) 
  
Stack: 0x6e39e000 - 0x6e3a6000, pointer @ 0x6e3a5f10 (Cookie OK) 
  
Signals: SigRec 0xbe009000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
EHCI Controller Task Unit 0 (Waiting) 
  
Stack: 0x6e3e6000 - 0x6e3ee000, pointer @ 0x6e3edf10 (Cookie OK) 
  
Signals: SigRec 0xbe009000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
p50x0sata.device Port 0 (Waiting) 
  
Stack: 0x6e826000 - 0x6e834a60, pointer @ 0x6e834900 (Cookie OK) 
  
Signals: SigRec 0xc0007000, SigWait 0x10000000 
  State
: Task (Waiting) 
 
p50x0sata.device Port 1 (Waiting) 
  
Stack: 0x6e60a000 - 0x6e618a60, pointer @ 0x6e618900 (Cookie OK) 
  
Signals: SigRec 0xc0007000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
hid.usbfd (Waiting) 
  
Stack: 0x5bff7004 - 0x5bffeffc, pointer @ 0x5bffeea0 (Cookie OK) 
  
Signals: SigRec 0xe0000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
HID Mouse (Waiting) 
  
Stack: 0x5be72004 - 0x5be81ffc, pointer @ 0x5be81ef0 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
ERDH4/NGFileSystem 54.107  (Waiting) 
  
Stack: 0x5dd5b004 - 0x5dd62ffc, pointer @ 0x5dd62d60 (Cookie OK) 
  
Signals: SigRec 0xf0000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
ERDH2/NGFileSystem 54.107  (Waiting) 
  
Stack: 0x5fb62004 - 0x5fb69ffc, pointer @ 0x5fb69d60 (Cookie OK) 
  
Signals: SigRec 0xf0000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
ERDH1/NGFileSystem 54.107  (Waiting) 
  
Stack: 0x60c68004 - 0x60c6fffc, pointer @ 0x60c6fd60 (Cookie OK) 
  
Signals: SigRec 0xf0000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
ERDH0/SmartFilesystem 1.293  (Waiting) 
  
Stack: 0x6e225004 - 0x6e22cffc, pointer @ 0x6e22ceb0 (Cookie OK) 
  
Signals: SigRec 0xe0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
ERDH3/SmartFilesystem 1.293  (Waiting) 
  
Stack: 0x5ea78004 - 0x5ea7fffc, pointer @ 0x5ea7feb0 (Cookie OK) 
  
Signals: SigRec 0xe0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
reaper.task (Waiting) 
  
Stack: 0x5cba2004 - 0x5cba9ffc, pointer @ 0x5cba9e50 (Cookie OK) 
  
Signals: SigRec 0x00007000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
ICD1/CDFileSystem 53.8  (Waiting) 
  
Stack: 0x5bde2004 - 0x5bdf1ffc, pointer @ 0x5bdf1f20 (Cookie OK) 
  
Signals: SigRec 0x00000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
ICD0/CDFileSystem 53.8  (Waiting) 
  
Stack: 0x5bf7a004 - 0x5bf89ffc, pointer @ 0x5bf89f20 (Cookie OK) 
  
Signals: SigRec 0x00000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
HID Consumer (Waiting) 
  
Stack: 0x5be5e004 - 0x5be6dffc, pointer @ 0x5be6df20 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
hid.usbfd (Waiting) 
  
Stack: 0x5bfeb004 - 0x5bff2ffc, pointer @ 0x5bff2ea0 (Cookie OK) 
  
Signals: SigRec 0xe0000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
HID Keyboard (Waiting) 
  
Stack: 0x5c0d9004 - 0x5c0e8ffc, pointer @ 0x5c0e8f00 (Cookie OK) 
  
Signals: SigRec 0x90001000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
hid.usbfd (Waiting) 
  
Stack: 0x5c003004 - 0x5c00affc, pointer @ 0x5c00aea0 (Cookie OK) 
  
Signals: SigRec 0xe0000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
HID Consumer (Waiting) 
  
Stack: 0x5bea6004 - 0x5beb5ffc, pointer @ 0x5beb5f20 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
hid.usbfd (Waiting) 
  
Stack: 0x5bfdf004 - 0x5bfe6ffc, pointer @ 0x5bfe6ea0 (Cookie OK) 
  
Signals: SigRec 0xe0000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
HID Keyboard (Waiting) 
  
Stack: 0x5c094004 - 0x5c0a3ffc, pointer @ 0x5c0a3f00 (Cookie OK) 
  
Signals: SigRec 0x90001000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
HID Mouse (Waiting) 
  
Stack: 0x5beba004 - 0x5bec9ffc, pointer @ 0x5bec9ef0 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
RAM/ram-handler 54.24  (Waiting) 
  
Stack: 0x5cb15004 - 0x5cb18ffc, pointer @ 0x5cb18d40 (Cookie OK) 
  
Signals: SigRec 0x80000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
IDF1/FastFileSystem 53.2  (Waiting) 
  
Stack: 0x5bd2a004 - 0x5bd39ffc, pointer @ 0x5bd39ed0 (Cookie OK) 
  
Signals: SigRec 0xa8000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
IDF0/FastFileSystem 53.2  (Waiting) 
  
Stack: 0x5bd77004 - 0x5bd86ffc, pointer @ 0x5bd86ed0 (Cookie OK) 
  
Signals: SigRec 0xa8000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x53c28004 - 0x53c37ffc, pointer @ 0x53c37e20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
dos_filedir_notify (Waiting) 
  
Stack: 0x6e255004 - 0x6e259ffc, pointer @ 0x6e258eb0 (Cookie OK) 
  
Signals: SigRec 0x40001000, SigWait 0x80000000 
  State
: Process (Waiting) 
 
RANDOM/Random-Handler 52.1  (Waiting) 
  
Stack: 0x5bcdd004 - 0x5bcecffc, pointer @ 0x5bcecef0 (Cookie OK) 
  
Signals: SigRec 0x00000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
URL/launch-handler 53.39  (Waiting) 
  
Stack: 0x5c0fd004 - 0x5c177ffc, pointer @ 0x5c173fa0 (Cookie OK) 
  
Signals: SigRec 0x80000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x5b075004 - 0x5b084ffc, pointer @ 0x5b084e20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x590a1004 - 0x590b0ffc, pointer @ 0x590b0e20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x59194004 - 0x591a3ffc, pointer @ 0x591a3e20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x591ec004 - 0x591fbffc, pointer @ 0x591fbe20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x59265004 - 0x59274ffc, pointer @ 0x59274e20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x59363004 - 0x59372ffc, pointer @ 0x59372e20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x58ca5004 - 0x58cb4ffc, pointer @ 0x58cb4e20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x58445004 - 0x58454ffc, pointer @ 0x58454e20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x58816004 - 0x58825ffc, pointer @ 0x58825e20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x580ce004 - 0x580ddffc, pointer @ 0x580dde20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x5814b004 - 0x5815affc, pointer @ 0x5815ae20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
AUDIO/AHI-Handler 6.2  (Waiting) 
  
Stack: 0x5bfc7004 - 0x5bfd7004, pointer @ 0x5bfd6ed0 (Cookie OK) 
  
Signals: SigRec 0x00000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
ENV/env-handler 54.18  (Waiting) 
  
Stack: 0x5caf1004 - 0x5caf8ffc, pointer @ 0x5caf8ef0 (Cookie OK) 
  
Signals: SigRec 0x80000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
APPDIR/appdir-handler 54.17  (Waiting) 
  
Stack: 0x5cb39004 - 0x5cb3fffc, pointer @ 0x5cb3fec0 (Cookie OK) 
  
Signals: SigRec 0x80000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x5cc0e004 - 0x5cc15ffc, pointer @ 0x5cc15e20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
RAW/con-handler 53.82  (Waiting) 
  
Stack: 0x5cc32004 - 0x5cc39ffc, pointer @ 0x5cc39e20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CON/con-handler 53.82  (Waiting) 
  
Stack: 0x5cc56004 - 0x5cc5dffc, pointer @ 0x5cc5de20 (Cookie OK) 
  
Signals: SigRec 0xa0000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
dos_nbmd_process (Waiting) 
  
Stack: 0x6e276004 - 0x6e279ffc, pointer @ 0x6e279f30 (Cookie OK) 
  
Signals: SigRec 0x00001100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
dos_lock_handler (Waiting) 
  
Stack: 0x6e27e004 - 0x6e281ffc, pointer @ 0x6e281f00 (Cookie OK) 
  
Signals: SigRec 0x00001100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
RexxMaster (Waiting) 
  
Stack: 0x5bcb0004 - 0x5bcbfffc, pointer @ 0x5bcbfec0 (Cookie OK) 
  
Signals: SigRec 0xc0000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
diskimage.device unit 1 (Waiting) 
  
Stack: 0x5bd0a004 - 0x5bd1dffc, pointer @ 0x5bd1dc50 (Cookie OK) 
  
Signals: SigRec 0xc0000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
diskimage.device unit 0 (Waiting) 
  
Stack: 0x5bd57004 - 0x5bd6affc, pointer @ 0x5bd6ac50 (Cookie OK) 
  
Signals: SigRec 0xc0000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
diskimage.device unit 5 (Waiting) 
  
Stack: 0x5bdb3004 - 0x5bdc6ffc, pointer @ 0x5bdc6c50 (Cookie OK) 
  
Signals: SigRec 0xc0000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
diskimage.device unit 4 (Waiting) 
  
Stack: 0x5be36004 - 0x5be49ffc, pointer @ 0x5be49c50 (Cookie OK) 
  
Signals: SigRec 0xc0000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
TEXTCLIP/textclip-handler 53.4  (Waiting) 
  
Stack: 0x5c1b0004 - 0x5c1bfffc, pointer @ 0x5c1bfec0 (Cookie OK) 
  
Signals: SigRec 0x80000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
Bildschirmschoner-Bibliothek. (Waiting) 
  
Stack: 0x58b85004 - 0x58b95ffc, pointer @ 0x58b95f00 (Cookie OK) 
  
Signals: SigRec 0xb4001000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
compose.task (Waiting) 
  
Stack: 0x5b403000 - 0x5b40b000, pointer @ 0x5b40af30 (Cookie OK) 
  
Signals: SigRec 0x00000021, SigWait 0x00000000 
  State
: Task (Waiting) 
 
Workbench (Waiting) 
  
Stack: 0x5b888004 - 0x5b897ffc, pointer @ 0x5b897e50 (Cookie OK) 
  
Signals: SigRec 0x80000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
Workbench DosList Notify (Waiting) 
  
Stack: 0x5aee8004 - 0x5aef7ffc, pointer @ 0x5aef7f40 (Cookie OK) 
  
Signals: SigRec 0x00003000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
serial.device (Waiting) 
  
Stack: 0x59316000 - 0x5931e000, pointer @ 0x5931df30 (Cookie OK) 
  
Signals: SigRec 0x7e000000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
ramlib (Waiting) 
  
Stack: 0x5cb60004 - 0x5cb78ffc, pointer @ 0x5cb78f20 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
ContextMenus Command Dispatcher (Waiting) 
  
Stack: 0x554c5004 - 0x554d4ffc, pointer @ 0x554d4f30 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
texteditor.gadget Clipboard Server (Waiting) 
  
Stack: 0x57257004 - 0x5726fffc, pointer @ 0x5726ff00 (Cookie OK) 
  
Signals: SigRec 0x80000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
string.gadget server (Waiting) 
  
Stack: 0x5aec0004 - 0x5aecfffc, pointer @ 0x5aecfdb0 (Cookie OK) 
  
Signals: SigRec 0x40000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
Workbench Clipboard Server (Waiting) 
  
Stack: 0x5af6d004 - 0x5af7cffc, pointer @ 0x5af7cef0 (Cookie OK) 
  
Signals: SigRec 0x80000000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
AmiDock (Waiting) 
  
Stack: 0x58167004 - 0x58176ffc, pointer @ 0x58176740 (Cookie OK) 
  
Signals: SigRec 0x00000100, SigWait 0x00200000 
  State
: Process (Waiting) 
 
NotificationServer (Waiting) 
  
Stack: 0x59377004 - 0x59396ffc, pointer @ 0x59396b10 (Cookie OK) 
  
Signals: SigRec 0xbc001000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
TCP/IP Control (Waiting) 
  
Stack: 0x5b473004 - 0x5b567ffc, pointer @ 0x5b567dc0 (Cookie OK) 
  
Signals: SigRec 0xf8009080, SigWait 0x00000000 
  State
: Process (Waiting) 
 
TimeGuard (Waiting) 
  
Stack: 0x59322004 - 0x59331ffc, pointer @ 0x59331e00 (Cookie OK) 
  
Signals: SigRec 0xf0001000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
hub.usbfd (Waiting) 
  
Stack: 0x6e35e004 - 0x6e365ffc, pointer @ 0x6e365eb0 (Cookie OK) 
  
Signals: SigRec 0x30000000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
hub.usbfd (Waiting) 
  
Stack: 0x6e36a004 - 0x6e371ffc, pointer @ 0x6e371eb0 (Cookie OK) 
  
Signals: SigRec 0x30000000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
Clock (Waiting) 
  
Stack: 0x58cc1004 - 0x58cd0ffc, pointer @ 0x58cd0820 (Cookie OK) 
  
Signals: SigRec 0x6e001000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
DigiClock (Waiting) 
  
Stack: 0x592c9004 - 0x592d8ffc, pointer @ 0x592d8120 (Cookie OK) 
  
Signals: SigRec 0xe0001000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
vsata disk changer (Waiting) 
  
Stack: 0x6e3ee000 - 0x6e3fca60, pointer @ 0x6e3fc9b0 (Cookie OK) 
  
Signals: SigRec 0x80000000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
Mounter GUI (Waiting) 
  
Stack: 0x5c240004 - 0x5c253ffc, pointer @ 0x5c253e10 (Cookie OK) 
  
Signals: SigRec 0x80007000, SigWait 0x00000000 
  State
: Process (Waiting) 
 New 
Process (Waiting) 
  
Stack: 0x53564004 - 0x5374cffc, pointer @ 0x5374cd90 (Cookie OK) 
  
Signals: SigRec 0x00000010, SigWait 0x00000000 
  State
: Process (Waiting) 
 
Sys:C/IconX (Waiting) 
  
Stack: 0x53c3c004 - 0x53e24ffc, pointer @ 0x53e24ad0 (Cookie OK) 
  
Signals: SigRec 0x00000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
ContextMenus (Waiting) 
  
Stack: 0x58461004 - 0x58470ffc, pointer @ 0x58470c90 (Cookie OK) 
  
Signals: SigRec 0xe0001000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
TCP/IP Superserver (Waiting) 
  
Stack: 0x5b56c004 - 0x5b660ffc, pointer @ 0x5b6609f0 (Cookie OK) 
  
Signals: SigRec 0xd0000080, SigWait 0x00000000 
  State
: Process (Waiting) 
 New 
Process (Waiting) 
  
Stack: 0x54639004 - 0x54821ffc, pointer @ 0x54821d90 (Cookie OK) 
  
Signals: SigRec 0x00000010, SigWait 0x00000000 
  State
: Process (Waiting) 
 
Sys:C/IconX (Waiting) 
  
Stack: 0x5b18d004 - 0x5b375ffc, pointer @ 0x5b375ad0 (Cookie OK) 
  
Signals: SigRec 0x00000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
application.library messageserver (Waiting) 
  
Stack: 0x5c6d1000 - 0x5c6d1fa0, pointer @ 0x5c6d1f10 (Cookie OK) 
  
Signals: SigRec 0xc0000000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
ScreenBlankerEngine (Waiting) 
  
Stack: 0x58832004 - 0x58841ffc, pointer @ 0x58841c00 (Cookie OK) 
  
Signals: SigRec 0xd8001000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
TCP/IP Configuration (Waiting) 
  
Stack: 0x5b665004 - 0x5b759ffc, pointer @ 0x5b759e10 (Cookie OK) 
  
Signals: SigRec 0xf8003000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
AsyncWB (Waiting) 
  
Stack: 0x580fe004 - 0x5810dffc, pointer @ 0x5810de90 (Cookie OK) 
  
Signals: SigRec 0xc0001000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
´ IPrefs ª (Waiting) 
  
Stack: 0x5c657004 - 0x5c666ffc, pointer @ 0x5c666a20 (Cookie OK) 
  
Signals: SigRec 0x0000f000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
clipview.library server (Waiting) 
  
Stack: 0x59137004 - 0x59156ffc, pointer @ 0x59156df0 (Cookie OK) 
  
Signals: SigRec 0xd8003000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
InfoWB (Waiting) 
  
Stack: 0x59281004 - 0x59290ffc, pointer @ 0x59290c90 (Cookie OK) 
  
Signals: SigRec 0xf8001000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
select.gadget prefs (Waiting) 
  
Stack: 0x56f29004 - 0x56f38ffc, pointer @ 0x56f38ca0 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CaBoom (Waiting) 
  
Stack: 0x59219004 - 0x59228ffc, pointer @ 0x59228c20 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
DefIcons (Waiting) 
  
Stack: 0x580ea004 - 0x580f9ffc, pointer @ 0x580f9db0 (Cookie OK) 
  
Signals: SigRec 0x80009000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
TCP/IP Log (Waiting) 
  
Stack: 0x5b75e004 - 0x5b852ffc, pointer @ 0x5b852f00 (Cookie OK) 
  
Signals: SigRec 0x80003000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
ConClip (Waiting) 
  
Stack: 0x5c1f0004 - 0x5c1ffffc, pointer @ 0x5c1ffeb0 (Cookie OK) 
  
Signals: SigRec 0x80000000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
USB stack Process (Waiting) 
  
Stack: 0x5c26c004 - 0x5c27bffc, pointer @ 0x5c27bee0 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
MassStorage Notifier (Waiting) 
  
Stack: 0x6e835000 - 0x6e83cd00, pointer @ 0x6e83cc70 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
DST watcher (Waiting) 
  
Stack: 0x5c613004 - 0x5c622ffc, pointer @ 0x5c622f10 (Cookie OK) 
  
Signals: SigRec 0xc0000000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
hub.usbfd (Waiting) 
  
Stack: 0x6e30e004 - 0x6e315ffc, pointer @ 0x6e315eb0 (Cookie OK) 
  
Signals: SigRec 0x30000000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
hub.usbfd (Waiting) 
  
Stack: 0x6e2f2004 - 0x6e2f9ffc, pointer @ 0x6e2f9eb0 (Cookie OK) 
  
Signals: SigRec 0x30000000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
hub.usbfd (Waiting) 
  
Stack: 0x6e31e004 - 0x6e325ffc, pointer @ 0x6e325eb0 (Cookie OK) 
  
Signals: SigRec 0x30000000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
DMA2 Channel 4 Handler (Waiting) 
  
Stack: 0x6e84c000 - 0x6e850000, pointer @ 0x6e84fee0 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
DMA1 Channel 4 Handler (Waiting) 
  
Stack: 0x6e868000 - 0x6e86c000, pointer @ 0x6e86bee0 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
DMA2 Channel 3 Handler (Waiting) 
  
Stack: 0x6e864000 - 0x6e868000, pointer @ 0x6e867ee0 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
DMA1 Channel 3 Handler (Waiting) 
  
Stack: 0x6e860000 - 0x6e864000, pointer @ 0x6e863ee0 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
DMA2 Channel 2 Handler (Waiting) 
  
Stack: 0x6e85c000 - 0x6e860000, pointer @ 0x6e85fee0 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
DMA1 Channel 2 Handler (Waiting) 
  
Stack: 0x6e8da000 - 0x6e8de000, pointer @ 0x6e8ddee0 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
DMA2 Channel 1 Handler (Waiting) 
  
Stack: 0x6e8d6000 - 0x6e8da000, pointer @ 0x6e8d9ee0 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
DMA1 Channel 1 Handler (Waiting) 
  
Stack: 0x6e8d2000 - 0x6e8d6000, pointer @ 0x6e8d5ee0 (Cookie OK) 
  
Signals: SigRec 0x80001000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
Background CLI [GemRB] (Crashed) 
  
Stack: 0x53751004 - 0x53939ffc, pointer @ 0x53939b30 (Cookie OK) 
  
Signals: SigRec 0x00000010, SigWait 0x00000110 
  State
: Process (Crashed) 
 
Mounter Task (Waiting) 
  
Stack: 0x6e83d000 - 0x6e84ba60, pointer @ 0x6e84b970 (Cookie OK) 
  
Signals: SigRec 0xb0001000, SigWait 0x00000000 
  State
: Task (Waiting) 
 
Mounter Companion Process (Waiting) 
  
Stack: 0x5c258004 - 0x5c267ffc, pointer @ 0x5c267f40 (Cookie OK) 
  
Signals: SigRec 0x80003000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
ramlib.support (Waiting) 
  
Stack: 0x5cb85004 - 0x5cb9dffc, pointer @ 0x5cb9df00 (Cookie OK) 
  
Signals: SigRec 0x80005000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
ELF Collector (Waiting) 
  
Stack: 0x60c74004 - 0x60c84ffc, pointer @ 0x60c84e70 (Cookie OK) 
  
Signals: SigRec 0x00000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
dos_signal_server (Waiting) 
  
Stack: 0x6e25e004 - 0x6e261ffc, pointer @ 0x6e261f20 (Cookie OK) 
  
Signals: SigRec 0x0000f000, SigWait 0x00000000 
  State
: Process (Waiting) 
 
FuelGauge (Waiting) 
  
Stack: 0x590bd004 - 0x590d0ffc, pointer @ 0x590d0c00 (Cookie OK) 
  
Signals: SigRec 0xb5008000, SigWait 0x00000100 
  State
: Process (Waiting) 
 
appdir envarc manager (Waiting) 
  
Stack: 0x5cb25004 - 0x5cb2cffc, pointer @ 0x5cb2bb40 (Cookie OK) 
  
Signals: SigRec 0x00000100, SigWait 0x00000000 
  State
: Process (Waiting) 
 
CPUDock_idleTask (Ready) 
  
Stack: 0x5bc38000 - 0x5bc3a000, pointer @ 0x5bc39f60 (Cookie OK) 
  
Signals: SigRec 0x40000000, SigWait 0x00000000 
  State
: Task (Ready) 
 
idle.task (Ready) 
  
Stack: 0x6ff7f000 - 0x6ff80000, pointer @ 0x6ff7ffc0 (Cookie OK) 
  
Signals: SigRec 0x00000000, SigWait 0x00000000 
  State
: Task (Ready)


Does anyone have any idea what is going wrong here?

MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
Go to top
Re: X5000 optimized code compile
Not too shy to talk
Not too shy to talk


See User information
I do not think libgcc.so is the problem but simply
that the setting did not work. And libgcc.so is not
compiled by me and for all the other versions (x1000/
Sam440/Sam460 Versions) working fine. All use the
same libgcc.so (so library from os).

Sounds to me we have to go back to -mcpu=750
for x5000 which works.

Go to top
Re: X5000 optimized code compile
Quite a regular
Quite a regular


See User information
@TheMagicSN
I have no X5000, so I cannot test it.
You can try also -mcpu=e5500 -mno-powerpc64

AmigaOS3: Amiga 1200
AmigaOS4: Micro A1-C, AmigaOne XE, Pegasos II, Sam440ep, Sam440ep-flex, AmigaOne X1000
MorphOS: Efika 5200b, Pegasos I, Pegasos II, Powerbook, Mac Mini, iMac, Powermac Quad
Go to top
Re: X5000 optimized code compile
Just popping in
Just popping in


See User information
IMHO if you want avoid specific binaries for specific cpus, or you want avoid dinamic runtime code paths for specific cpus, maybe the best practice is to use following gcc switches to generate code

for general OS4 use, considering also Amiga classic 1200/4000 accellerators
-mcpu=604e -mtune=604e

or use standard base code with specific tuning for superscalar cpus and their caches
-mcpu=604e -mtune=604e/7400/8540/etc..

With a focus on Amiga systems, PowerPC ISA is the same for all PowerPC family, there are very few instructions different and all them are not so much revelant for size/speed code.
Maybe the most revelant is the ISEL instruction to avoid jumps, but it works only on e5500/440 cpu (Power ISA v2.06)

For G4 specific code of course you can use
-mcpu=7400 -mtune=7400 -maltivec -mabi=altivec

but in this case your code will run only on G4, if altivec code is generated.

One switch I suggest to use always is
-fomit-frame-pointer
to free one register and use it for calculations

Last, I use always -O3 to highly optimize code and -O2 if I want to read generated assembler against C code


Edited by flash on 2025/2/25 15:44:13
Memento audere semper!
Go to top
Re: X5000 optimized code compile
Not too shy to talk
Not too shy to talk


See User information
In the case of the program i do 604e is too slow
to run it. I already use -Ofast which is beyond-O3.
Using -mcpu=750 improved speed on G3 systems
(WarpOS exe, not os4) a lot so i wondered if for other
Cpu targets speedup can also be reached. Altivec
specific code is not used. I will try the no 64 bit thing.
In worst case i will go back to -mcpu=750.

Go to top
Re: X5000 optimized code compile
Just popping in
Just popping in


See User information
@TheMagicSN

if you look inside asm code generated with -mcpu=750 and compare it with code generated by -mcpu=604e, you'll see almost no change in instructions used.
What should do a major difference is -mtune parameter and its instrucion rescheduling for supercalar cpus, allowing more instruction execution in one clock cycle, and caches size.

At least these are results of my experiments.
So IMHO for standard apps should be better use common codebase granted by -mcpu=604e and a adopt a rescheduling for specific target with -mtune=7400 just as example.

The best solution is to implement a runtime different code path for different cpus, but I know it's quite complex.

Go to top
Re: X5000 optimized code compile
Not too shy to talk
Not too shy to talk


See User information
Okay, -mcpu=e5500 -mno-altivec -mno-powerpc64 worked

According to my tester on the x5000 we are now at (though he also modified some settings) 29-30 fps in 1024x768 with Baldur's Gate 2 (30 fps is the max speed of the engine, so there might be potential for higher speed theoretically).

Go to top
Re: X5000 optimized code compile
Just popping in
Just popping in


See User information
@flash

It's a bit off-topic, but since the question has been answered for the X5000 and since you seem to have some experience with the subject, I've always wondered which would be the best option for the X1000. There's no "-mcpu=pa6t" option, so which of the options that are available would be the best?

Go to top
Re: X5000 optimized code compile
Not too shy to talk
Not too shy to talk


See User information
At my knowledge that should be

-mcpu=7400 -maltivec

(Altivec only used if vectors are used in case of
GemRB they aren’t)

Go to top
Re: X5000 optimized code compile
Quite a regular
Quite a regular


See User information
@TheMagicSN

Quote:
TheMagicSN wrote:At my knowledge that should be

-mcpu=7400 -maltivec

(Altivec only used if vectors are used in case of
GemRB they aren’t)


I also suggest to try: -G5 -mno-powerpc64, or simply -G5 ?
I can test on weekend.

AltiVec instruction are used also with gcc auto-vectotization feature, it is no need for programming with vectors.
For example -maltivec -O3 or -maltivec -ftree-vectorize automatically uses AltiVec, if there are suitable loops.

AmigaOS3: Amiga 1200
AmigaOS4: Micro A1-C, AmigaOne XE, Pegasos II, Sam440ep, Sam440ep-flex, AmigaOne X1000
MorphOS: Efika 5200b, Pegasos I, Pegasos II, Powerbook, Mac Mini, iMac, Powermac Quad
Go to top
Re: X5000 optimized code compile
Quite a regular
Quite a regular


See User information
@walkero
Should we make a pinned thread / guide for optimised gcc flags for the different targets?

Go to top
Re: X5000 optimized code compile
Just popping in
Just popping in


See User information
@msteed

For X1000 you can go with this

-mcpu=7400 -mtune=7400 -maltivec -mabi=altivec -fomit-frame-pointer -O3

but if your code is executed on different cpus (without Altivec) it will crash.
So you can go with conditional compilation and build binaries for specific models or use runtime dinamic codepath for highly optimized specific code, just like altivec or spe units.

If you want produce a good job you need to go with assembler or lowlevel C code using intrinsics for SIMD.
For SIMD you have to rethink the whole algorithm and for loops go with steps of multiple of 4 (for altivec).
Autovectorization can't do miracles, maybe with modern IA you can ask for a help rearranging code.

I don't know -Ofast GCC switch and need to go inside it further.

Go to top
Re: X5000 optimized code compile
Not too shy to talk
Not too shy to talk


See User information
-Ofast is Basically a shortcut for

-O3 -fomit-frame-pointer -ffast-math -fno-math-errno -fno-trapping-math

(Possibly some other optimization options not sure what is all included but
the ones above are).

Not all code works with -Ofast some code breaks but GemRB definitely works
with it ;)

What is this tune option btw? I use most the options you list above for x1000
but not the tune one

Go to top
Re: X5000 optimized code compile
Not too shy to talk
Not too shy to talk


See User information
Just looked it up. Providing both cpu and tune options
makes the same as only cpu option.

Principially tune is an alternative to cpu so the exe
still runs on other cpu (but less specific optimization).

Go to top
Re: X5000 optimized code compile
Just popping in
Just popping in


See User information
Tune option is for instruction rescheduling and yess it don't break compatibility but optimize code for superscalar CPU and their caches to run multiple instructions at same time.

Memento audere semper!
Go to top
Re: X5000 optimized code compile
Quite a regular
Quite a regular


See User information
@flashQuote:
flash wrote:@msteed
For X1000 you can go with this

-mcpu=7400 -mtune=7400 -maltivec -mabi=altivec -fomit-frame-pointer -O3


Did somebody tested if -mtune=7400 is really the best for PA6T X1000 CPU?

Because it is about scheduling instructions, i.e. how many execution pipelines CPU has and how many instructions can be scheduled / dispatched / completed per cycle and probably other things..

I am not sure if G4 is closest to PA6T in this, maybe -mtune=G5 is better?

If nobody knows the right value, I can test it a little. PA6T is PowerISA 2.04 - the same like Power5++ and G5/970 (PowerISA 2.01) is derived from Power4 (PowerISA 2.00-2.01) - so I think that possible values are between this:
-mtune= 7400 | 7450 | G4 | 970 | G5 | power4 | power5 | power5+

I also will look into CPU docs, which pipeline model is closer to PA6T. Unfortunatelly, PA6T is not upgraded G5, but own new design...

AmigaOS3: Amiga 1200
AmigaOS4: Micro A1-C, AmigaOne XE, Pegasos II, Sam440ep, Sam440ep-flex, AmigaOne X1000
MorphOS: Efika 5200b, Pegasos I, Pegasos II, Powerbook, Mac Mini, iMac, Powermac Quad
Go to top

  Register To Post
(1) 2 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project