Out of curiosity, I tried the testsuite with -mpowerpc64. This switch optimizes 32-bit software to use features of the 64-bit G5 powerpc chip. From the results, it looks like the back-end still needs patching before this is fully reliable (e.g. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16026),
The test results are given below (edited somewhat for brevity).
Regards,
Adriaan van Os
Test Run By adriaan on 2005-02-11 12:08:44 Native configuration is powerpc-apple-darwin (G5.local) gpc 20041218, based on gcc-3.4.3, flags: -g -O3 -W -Wall -Wno-unused -mpowerpc64 -mtune=G5 --longjmp-all-nonlocal-labels
TEST asmnames.pas:
TEST complex1.pas: failed TEST complex2.pas: failed TEST complex3.pas: failed
TEST emil27d.pas: failed
TEST emil3.pas: failed 5.305117410771514e-315 1.410356248685543e-314
TEST emil8.pas: failed 1 5.311465294646354e-315 0.000000000000000e+00 5.000000000000000e+00 0.000000000000000e+00 failed 2 5.323445556527719e-315 0.000000000000000e+00 2.500000000000000e+01 0.000000000000000e+00 ...
TEST emil9.pas: ./emil9.pas: In main program: ./emil9.pas:113: error: insn does not satisfy its constraints: (insn/i:HI 4601 4600 4602 0 ./emil9.pas:25 (set (reg:SI 4 r4 [ X ]) (mem/f:SI (plus:SI (lo_sum:SI (reg:SI 29 r29 [2560]) (const:SI (minus:SI (symbol_ref:SI ("!D__B") [flags 0x2] <var_decl 0x40d5b580 B>) (symbol_ref:SI ("<pic base>"))))) (const_int 4 [0x4])) [0 B+0 S8 A64])) 309 {*movsi_internal1} (insn_list:REG_DEP_ANTI 4542 (insn_list:REG_DEP_OUTPUT 4568 (insn_list:REG_DEP_OUTPUT 4523 (insn_list 4566 (nil))))) (nil)) ./emil9.pas:113: internal compiler error: in reload_cse_simplify_operands, at postreload.c:391
TEST fjf303.pas: Failed
TEST fjf512.pas: ./fjf512.pas: In procedure `g1': ./fjf512.pas:8: internal compiler error: in emit_move_insn, at expr.c:2812 failed
*** same error for fjf558i.pas fjf558l.pas fjf558m.pas fjf558n.pas fjf558o.pas fjf558p.pas fjf559i.pas fjf559l.pas fproc.pas goto4.pas goto5.pas insan.pas knuth3.pas math.pas nlgpp.pas nlgpp2.pas nonloc2goto.pas nonloc3goto.pas nonlocgoto.pas waldek8.pas
TEST fjf541b.pas: failed 1: 0.0000+0.0000i (0.0000+2.0000i)
TEST fjf810.pas: ./fjf810.pas: In operator `<> (t, t)': ./fjf810.pas:6: internal compiler error: in assign_parms, at function.c:4832 failed
TEST maur8.pas: failed 2 5.346144360147377e-315 4.976526179290721e+02 failed 3 2.610850128222922e-315 1.107148717794090e+00