* Re: 64 bit SPARC code generator updated for ocaml 3.08.3
[not found] <425D3948.5090004@informatik.uni-oldenburg.de>
@ 2005-04-13 15:38 ` John Carr
0 siblings, 0 replies; 2+ messages in thread
From: John Carr @ 2005-04-13 15:38 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: caml-list
> I tried to compile Ocaml 3.08.3 with your patches but I get this error:
> sparc-sparc64.S:190: Error: Illegal operands
The GNU assembler does not support the form of the "wr" pseudo-op
used in sparc-sparc64.S. Change line 190 from
wr %g1, %fprs ! say we do not need the registers preserved
to
wr %g1, 0, %fprs ! say we do not need the registers preserved
My gcc uses the Solaris assembler so I did not notice this problem.
^ permalink raw reply [flat|nested] 2+ messages in thread
* 64 bit SPARC code generator updated for ocaml 3.08.3
@ 2005-04-09 18:59 John Carr
0 siblings, 0 replies; 2+ messages in thread
From: John Carr @ 2005-04-09 18:59 UTC (permalink / raw)
To: caml-list
I updated my patches for 64 bit SPARC code to work with ocaml 3.08.3:
http://www.mit.edu/~jfc/ocaml-3.08.3-sparc64.tar.gz
There are two changes from the 3.08.1 version:
1. The 64 bit startup code did not allocate a large enough stack
frame, causing crashes in garbage collection in some programs
due to register window saves overwriting of the zero word that
terminates the chain of stack frames. If you want to fix this
without upgrading, change 176 to 208 in the save statement at
asmrun/sparc-sparc64.S line 319.
2. ocaml does not compile on Solaris because otherlibs/graph/.depend
contains references to /usr/X11R6; the install script deletes
these dependencies.
As before:
This only affects native code, ocamlopt.
Although the patched ocaml recognizes other 64 bit SPARC operating
systems, I only have access to Solaris 9.
Floats are still boxed in 64 bit code but are properly aligned,
potentially improving performance.
Here are run times for three of the microbenchmarks we discussed on
the list recently, from left to right lorentzian 200, sieve 10000000,
sort 10000:
lore siev sort
ML 32 6.78 1.52 2.87
ML 64 7.41 1.18 2.72
C 32 2.81 1.93 2.54*
C 64 2.92 3.50
ML 32 = ocamlopt 3.08.3 32 bit version with -march=v8
ML 64 = ocamlopt 3.08.3 64 bit version
C 32 = Sun C++ 5.5 -xO3 -xarch=v8plus except * = gcc 3.3.2
C 64 = Sun C++ 5.5 -xO3 -xarch=v9
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-04-13 15:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <425D3948.5090004@informatik.uni-oldenburg.de>
2005-04-13 15:38 ` 64 bit SPARC code generator updated for ocaml 3.08.3 John Carr
2005-04-09 18:59 John Carr
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox