This file gives information about architectures/operating systems GP has been
compiled on. If your configuration is not listed, it means that nobody sent us
information about it, definitely not that building won't work a priori.
If indeed GP builds successfuly, we'd be grateful if you could notify us
(including a line analogous to the ones below), so that we can accordingly
expand the list.

General notes:
- Arch
 a star (*) in the first column means GP was built using portable kernel.

- Bench, as output by `make bench'
 1) can vary with load, available memory, compiler version ...
 2) is not the actual time spent: bench "nfields" is weighted by 1/5.
 3) An ! present next to the timing means that install() did not work with
 that configuration ([BUG] in 'program' bench)

NOTE: bench timings in version 2.0.11 and 2.0.12 were not correct (given
between parentheses). Add about 25% to running times for comparison with
other versions.

Clock frequency in MHz when known, in BM (BogoMIPS) otherwise.
                                                       Bench 
Arch / proc:         OS:          Compiler:         sta:    dyn:  GP version:
==============================================================================
DEC/Alpha
alpha21264b  833MHz  OSF1-V5.1        cc            1867    2099  2.1.1     JC
alpha21264   667Mhz  FreeBSD-4.0     gcc            2626!   2656  2.0.20    IS
alpha21264   500MHz  OSF1-V4.0       gcc-2.8.1      3178    3436  2.1.0     JC
alpha21264   500MHz  OSF1-V4.0       gcc-2.95.3     1885    1980  2.2.1     GH
alpha21164a  600MHz  Linux-2.2.13   egcs            4270    4350  2.0.19(26)IS
alpha21164   600MHz  OSF1-V4.0D      cc             3996    4384  2.0.10    LG
alpha21164   533Mhz  Linux 2.0.34    gcc           (4294)  (4385) 2.0.12    JC
alpha21164   500Mhz  Linux-2.2.13   egcs-2.91.66    5167    5217  2.1.1
alpha21164   500Mhz  Linux-2.2.13    gcc-2.95.3     4319    4253  2.2.2 (27)
alpha21064   172Mhz  OSF1-3.0        cc            34104   35564  2.1.1
------------------------------------------------------------------------------
Sun/SPARC
UltraSPARC60 450MHz  Solaris-7       gcc            3970    4010  2.0.19    IS
UltraSPARC60 450MHz  Solaris-7        cc            5070    5210  2.0.19    IS
UltraSPARC2i 440MHz  Solaris-8       gcc-2.95.2     3914    4230  2.2.1 
Ultra250     400MHz  Solaris-7       gcc            4510    4560  2.0.19    IS
Ultra250     400MHz  Solaris-7        cc            5950    6090  2.0.19    IS
UltraSPARC60 360MHz  Solaris-2.6     gcc            5034    5209  2.0.16    IS
UltraSPARC60 360MHz  Solaris-2.6      cc            6329    6453  2.0.16    IS
UltraSPARC2i 360MHz  Solaris-7      egcs            5816    6286  2.0.16(17)HS
UltraSPARC2i 333MHz  Solaris-7       gcc            5666    6818  2.0.20(18)
UltraSPARC10 300MHz  Solaris-2.6     gcc           (5932)  (6102) 2.0.12    GN
UltraSPARC   300MHz  Solaris-2.5     gcc            7643    7566  2.0.9     IS
UltraSPARC2  296MHz  Solaris-2.5.1   gcc            6098    6277  2.0.16    IS
UltraSPARC2  296MHz  Solaris-2.5.1    cc            7676    7869  2.0.16    IS
UltraSPARC2i 270MHz  Solaris-7       gcc            9008    7860  2.0.16    IZ
UltraSPARC2i 270MHz  Solaris-2.6      cc            9200    9970  2.0.10    LG
UltraSPARC2  248MHz  Solaris-7        cc-5.0        9420    9692  2.0.18(13)GN
UltraSPARC2  248MHz  Solaris-7      egcs            7218    7262  2.0.16    HS
UltraSPARC   200MHz  Solaris-2.5.1   gcc            9226    9268  2.0.16    IS
UltraSPARC   200MHz  Solaris-2.5.1    cc           11226   11755  2.0.16    IS
UltraSPARC   167MHz  Solaris-2.6     gcc           10767   11218  2.0.16    IS
UltraSPARC   167MHz  Solaris-2.6      cc           13677   13967  2.0.16    IS
UltraSPARC   167MHz  Solaris-7       gcc-2.8.1     10200   10276  2.2.2
UltraSPARC   167MHz  Solaris-2.5     g++           13474   13418  2.0.9 (7) LG
UltraSPARC   167MHz  Solaris-2.5     CC            15778!  16400! 2.0.9     LG
UltraSPARC   167MHz  Solaris-2.5     cc            16241   17048  2.0.9     LG
UltraSPARC   143MHz  Solaris-2.5     gcc-2.95.3    11905   11723  2.2.1

SuperSPARC2   75MHz  Solaris-2.5     gcc           16969   17013  2.0.10    LG
SuperSPARC    50Mhz  Linux-2.2.14    gcc           41126   40854  2.0.18(20)BA
SuperSPARC    40MHz  SunOS-4.1.3     gcc           31178   30456  2.0.19
SuperSPARC    40Mhz  Solaris-2.5     gcc           31528   31576  2.0.16
TurboSPARC   170MHz  Solaris-2.5     gcc           15907   16529  2.0.9     LG
MicroSPARC2  110MHz  NextStep-v3     cc            37794!      -  2.0.9     LG
MicroSPARC2  110MHz  SunOS-4.1.4     gcc           31476   32123  2.0.9     LG
MicroSPARC2  110MHz  Solaris-2.5     gcc-2.7.2     23918   24165  2.2.1
SPARCv7(SS2)  40MHz  SunOS-4.1.3     gcc          115212! 115364  2.0.9     LG
SPARCv7(ELC)  33MHz  SunOS-4.1.1     gcc          139406!      -  2.0.8     GN
SPARCv7(SS400)  ???  SunOS-4.1.4     gcc          107074  106494  2.0.16(19)DE
SPARCv7(HWS210) ???  Linux-2.2.5     gcc           98488!      -  2.0.16(14)DE
------------------------------------------------------------------------------
Intel/x86
AMD Athlon    1800+  Linux-2.4.7     gcc-2.96        714     728  2.2.2     HC
AMD Athlon  1200MHz  Linux-2.4.7     gcc-2.96       1002     992  2.1.2     CL
AMD Athlon  1100MHz  Linux-2.4.2-2   gcc            1078    1076  2.1.1     DP
AMD Duron   1000MHz  Linux-2.4.0    egcs            1364    1428  2.0.20    QL
AMD Athlon   850MHz  Linux-2.2.17    gcc            1364    1342  2.1.0     JC
AMD Duron    700MHz  Linux-2.4.0    egcs            2066    2138  2.0.20    QL
AMD Athlon   500MHz  Linux-2.2.13    gcc            2736    2724  2.0.18    MS
AMD K6-2     350Mhz  Linux-2.0.34   egcs           (4856)  (4756) 2.0.11    SH
AMD K6-2     350Mhz  Linux-2.0.36    gcc            5154    4850  2.0.17 
AMD K6       266MHz  Linux-2.2.5    pgcc            5861    6001  2.0.16(16)IS
AMD K6       233Mhz  Linux-2.2.14    gcc            6968    7158  2.0.18    QL
IBM/Cyrix    200MHz  Linux-2.0.35    gcc           13190   13729  2.0.15    AP
PentiumIII  1000MHz  Linux-2.4.7-10  gcc-2.96       1250    1264  2.2.2
PentiumIII   933MHz  Linux-2.2.15   egcs            1450    1485  2.0.20    IS
PentiumIII   800MHz  Linux-2.2.14   egcs            1900    1882  2.0.20    CL
PentiumIII   800MHz  Linux-2.2.19    gcc-2.96       1638    1624  2.1.2     OT
PentiumIII   733MHz  Linux-2.2.14   egcs            2080    2090  2.0.19    IS
PentiumIII   533MHz  Linux-2.2.14    gcc            2710    2730  2.0.19    IS
PentiumIII   500MHz  Linux-2.2.12   egcs            3154    3176  2.0.18    HC
PentiumII    450MHz  Linux-2.0.35    gcc            3220    3230  2.1.1     TT
PentiumII    400MHz  Linux-2.3.99    gcc            3392    3410  2.0.20(25)GH
PentiumII    400MHz  Linux-2.2.14    gcc            3886    3902  2.0.20    GH
PentiumII    350MHz  Linux-2.2.16    gcc-2.95.2     3760    3784  2.2.1
PentiumII    350MHz  Win98         mingw-2.95.2     4412!      -  2.1.0 (22)
PentiumII    350MHz  Win98 + Cygwin1 gcc-2.95.2-5   4026!      -  2.2.1
PentiumII    350MHz  Win98 + RSX     gcc            9436!      -  2.0.20(24)
PentiumII    350Mhz  Linux 2.0.36   pgcc-2.92.21   (3310)  (3340) 2.0.12(11)PE
PentiumII    350Mhz  Linux 2.0.36   egcs-2.92.21   (3352)  (3402) 2.0.12(11)PE
PentiumII    350Mhz  Linux 2.0.36    gcc           (3600)  (3610) 2.0.12    PE
PentiumII    333Mhz  Linux-2.2.19    gcc-2.7        4446    4464  2.1.1     BA
PentiumII    333Mhz  Linux-2.2.19    gcc-3.0.2      4104    4218  2.1.1     BA
PentiumII    300MHz  NextStep-3.3    cc             5325!      -  2.0.10
PentiumII    233MHz  FreeBSD-2.2.5   gcc           (6251)  (6114) 2.0.11
PentiumII    233MHz  Linux-2.0.35    gcc           (7460)  (7586) 2.0.12    HG
PentiumPro   200MHz  Linux-2.2.12   egcs 2.91.66    6996    7116  2.2.2
Pentium      266Mhz  Linux-2.0.29    gcc           (7256)  (7044) 2.0.11
Pentium      200MHz  Linux-2.2.10    gcc           12062   12340  2.0.18    MS
Pentium      200Mhz  NextStep-3.3    cc            16035!      -  2.0.06    MS
Pentium      166MHz  FreeBSD-2.2.5   gcc          (15159) (14481) 2.0.11
Pentium      166MHz  Solaris-2.6     gcc          (13550) (13746) 2.0.12    GN
Pentium      133MHz  Linux-1.2.8     gcc-2.7.2p   (15448!)     -  2.0.12    GN
Pentium      133MHz  FreeBSD-2.2.5   gcc           15231   17259  2.0.10    KK
486DX (Cyrix) 66MHz  Linux 2.2.18    gcc           59078   60600  2.1.1     CC
486DX2        50MHz  Linux-2.0.33    gcc          213710  216224  2.0.9     LG
486DX         50MHz  DOS-5 + EMX     gcc           77126!      -  2.0.20
*i860         40MHz  Concentrix      cc           147989!      -  2.0.9     LG
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Intel/ARM
StrongARM 110 186BM  Linux-2.4.5     gcc-2.95.2    17162!      -  2.1.1     BA
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Intel/ia64
Itanium      800MHz  Linux-2.4.9     gcc-3.0.1      2557    2474  2.1.2 (28)BA
------------------------------------------------------------------------------
Motorola
*MC68040      25MHz  NextStep-v2     cc           250542!      -  2.0.9     LG
MC68030       25MHz  SunOS-4.0.3     gcc          683736! 685248  2.0.9 (4)
*MC68030      25MHz  SunOS-4.0.3     gcc         1034136!1038368  2.0.9
------------------------------------------------------------------------------
IBM/POWER,PowerPC
*PowerMac3,3 500MHz  Linux-2.4.2     gcc            3742    3732  2.1.1     BA
*PPC800(G3)  400MHz  Linux-2.4.3     gcc            4640    4624  2.2.0     GH
*PPC???(G3)  350MHz  Mac OS X 10.1   gcc-2.95.2     5722!         2.1.2     NI
*PPC750(G3)  266MHz  Linux-2.2.6     gcc            6944    6924  2.0.18    DE
*PPC604e     233MHz  AIX-4.2         cc            (8616!)     -  2.0.12(3) GN
*PPC604      133MHz  AIX-4.2         cc            21528!      -  2.0.4 (3) GN
*PPC601      100MHz  AIX-4.1         cc            21692!      -  2.0.4 (3) GN
*PPC601       75MHz  Linux-2.1.24    gcc           51810   52702  2.0.9     EK
*PPC601       66MHz  AIX-3.2.5       cc            66280!      -  2.0.4 (3) GN
*POWER2       66MHz  AIX-4.2         cc            37592!      -  2.0.4 (3) GN
------------------------------------------------------------------------------
SGI/MIPS
*R4000     50/70MHz  IRIX-5.2        gcc           70764   70114  2.0.9 (1) TP
*R4000     50/70MHz  IRIX-5.2        cc            81467   80176  2.0.9 (2) TP
*R10000      196Mhz  IRIX-6.2        cc            15719   15581  2.0.13(12)BN
*R10000      196MHz  IRIX-6.4        cc             8461    9856  2.0.10(8) TP
------------------------------------------------------------------------------
HP/PA-RISC
*HPPA8500     440MHz Linux-2.4.16   gcc-3.0.3       7558    7814  2.1.2     BA
HPPA9000/778  134MHz HPUX-10.20      cc            18898!  29138! 2.0.19(9)
*HPPA9000/778 134MHz HPUX-10.20      cc           (23666!)     -  2.0.12(10)
HPPA9000/735  100MHz HPUX-10.20      cc           (25106!)(38898!)2.0.12(9)
HPPA9000/735  100MHz HPUX-09-07      cc            25714!      -  2.0.16(15)IS
HPPA9000/720     ??? HPUX-10.20      cc            66138!      -  2.0.9
*HPPA9000/720    ??? HPUX-10.20      cc           101114! 119626  2.0.9
HPPA9000/712   90MHz HPUX-10.20      cc           (26756!)(45196!) 2.0.12(9)
*HPPA9000/712    ??? HPUX-10.10      gcc           66328!  71250! 2.0.5 (6)
*HPPA7100LC    60MHz NextStep-v3     cc            62866!      -  2.0.10    LG
*HPPA7000      50MHz HPUX-09.05      cc           113406! 152778! 2.0.9     LG
------------------------------------------------------------------------------

Notes:
======
(1) uncomment the last PLOTLIBS= in Makefile
(2) same as above, compiled with cc -O2
(3) AIX/POWER versions built with cc options including
      -qarch=com -qtune=601 (any other tuning makes them slower GN)
Addendum (IK): gcc 2.8.1 -O2 -DGCC_INLINE -mtune=604e produces a faster binary

(4) Slightly different results in make bench (last decimal different in
    3 tests, due to a different mulsr())
(6) gcc -fPIC (otherwise /usr/bin/ld will not link the shared library)
(7) the `program' bench fails on "install(addii)". But if the symbol addii
    is declared within extern "C" {} in paridecl.h, it works.

(8) use
CC         = cc -64 -DLONG_IS_64BIT
CFLAGS     = -O -OPT:Olimit=2170
LD         = cc -64
LDFLAGS    = -O -L/usr/lib64
DLLD       = cc -64
DLLDFLAGS  = -shared -elf -no_unresolved -all -L/usr/lib64
CPP        = cc -64 -E -I.

(9) * for gp-dyn: couldn't find a way to produce PIC code with either
  -- HP as, version HP92453-03 UX.10.20.05 (DAVIS) PA-RISC 2.0 Assembler
     (+z, +Z ignored)
  -- gcc-2.8.1 + gas-2.6 (hppa1.1-hp-hpux9.01), using BFD version 2.6
     (-fPIC -shared ignored)

(bad) FIX: in o-hpux.hppa/Makefile, move kernel.o from OBJS to OBJSGP.
Hence kernel.o has to be linked explicitly with all programs compiled with
libpari.sl

    * for gp-sta: remove +z from CFLAGS and LDFLAGS, final link only worked
with the following command line (there has to be a better way...):

cc dummy.c -c
cc -o gp-sta -Wl,-a,archive -O dummy.o [... rest as produced by Configure]

where dummy.c defines three dummy symbols (referenced in static libc):

shl_findsym(){}
 shl_unload(){}
   shl_load(){}

Whatever else I tried, linking failed:

/usr/ccs/bin/ld: Data address is out of range for short load or store
   Reference from:  kernel.o(0x8) [for all symbols defined in level0.s]

(10) compiled without +z flags

(11)
CFLAGS (for egcs)= -O9 -malign-double -fschedule-insns2  -mpentium\
-march=pentium -fomit-frame-pointer -fno-strength-reduce\
-fno-inline-functions -fexpensive-optimizations
CFLAGS (for pgcc)= -O9 -malign-double -mk6   -fomit-frame-pointer\
-fno-strength-reduce -fno-inline-functions

Libc: 5.4.46. egcs/pgcc compiled with Haifa scheduler
Binutils: 2.9.1.0.4 or 2.9.1.0.15

(12) used LD = cc -Wl,-rpath,my_exotic_DLL_path

(13) use /opt/SUNWspro/bin/fpversion to get explicit recommended CFLAGS.

(14) use asmarch=sparcv7
(15) Configure defaults to hpux-none. Use Configure -a and specify the
hppa kernel. Remove +z from compiler flags
(16) CFLAGS = -mk6 -march=i586 -O6
(17) 256kb L2 Cache - Ultra U5
(18) 2  MB L2 Cache - Ultra U10
(19) replace err by pari_err in src/kernel/sparcv7/level0.S [in 2.0.16 or 17]
(20) asmarch incorrectly defaulted to MicroSPARC (bypassed using Configure -a)
(22) same machine as above, native binary compiled with mingw32-gcc-2.95.2
     had to modify Odos/Makefile (to link with readline-4.0). 
     PROBLEMS: 
      * when started from the shell, on ^C GP quits! OK when started from GUI
      * stdin redirection from the shell (gp < file) doesn't work (SEGV in gp).
      * ANSI escape sequences are printed "as is" (so don't enable colors)
(24) same machine as above, using the RSX compatibility package
(25) Xeon
(26) RedHat-7.0 + alpha has a broken glibc-2.1.x [issquare(8388609^2) = 0 !]
     Updating to glibc-2.2 fixes the problem.
(27) gcc-2.95.3 -O + new inline assembler [gcc-2.95.2 and gcc-2.95.3 -O3 both
produce a broken binary]
(28) gp-dyn: add -fPIC to CFLAGS [or linking fails].
     gcc-2.96 fails
(29) added -mcpu=athlon -march=athlon to CFLAGS (very minor speedup).
     Don't know clock frequency for Athlon 1800+ (something like 1500-1600MHz)

=============================================================================
Contributors:
  AW = Aleksander Wittlin
  AP = Andreas Piotrowski
  BA = Bill Allombert
  BN = Balasubramanian Narasimhan
  CC = Christian Cornelssen
  CL = Christian Labesse
  DE = Denis Excoffier
  DP = David Purdy
  EK = Emmanuel Kowalski
  GH = Guillaume Hanrot
  GN = Gerhard Niklasch
  HC = Henri Cohen
  HG = Herbert Gangl
  HS = Hans Schaechl
  IS = Igor Schein
  JC = John Cremona
  KK = Kimitoshi Kono
  LG = Louis Granboulan
  MS = Michael Stoll
  NI = Nathaniel Irons
  PE = Philippe Elbaz-Vincent
  OT = Olivier Thibault
  QL = Qing Liu
  SH = Steve Harding
  TP = Thomas Papanikolaou
  TT = Tibor I. Toth
  XR = Xavier Roblot
