<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="generator" content="AsciiDoc 8.6.10">
<title>RunningOnSparc</title>
<link rel="stylesheet" href="./asciidoc.css" type="text/css">
<link rel="stylesheet" href="./pygments.css" type="text/css">


<script type="text/javascript" src="./asciidoc.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
asciidoc.install();
/*]]>*/
</script>
<link rel="stylesheet" href="./mlton.css" type="text/css">
</head>
<body class="article">
<div id="banner">
<div id="banner-home">
<a href="./Home">MLton 20201002</a>
</div>
</div>
<div id="header">
<h1>RunningOnSparc</h1>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph"><p>MLton runs fine on the Sparc architecture.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_notes">Notes</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
When compiling for Sparc, MLton targets the 32-bit Sparc
architecture (i.e., Sparc V8).
</p>
</li>
<li>
<p>
When compiling for Sparc, MLton doesn&#8217;t support native code
generation (<span class="monospaced">-codegen native</span>).  Hence, performance is not as good as
it might be and compile times are longer.  Also, the quality of code
generated by <span class="monospaced">gcc</span> is important.  By default, MLton calls <span class="monospaced">gcc -O1</span>.
You can change this by calling MLton with <span class="monospaced">-cc-opt -O2</span>.  We have seen
this speed up some programs by as much as 30%, especially those
involving floating point; however, it can also more than double
compile times.
</p>
</li>
<li>
<p>
When compiling for Sparc, MLton uses <span class="monospaced">-align 8</span> by default.  While
this speeds up reals, it also may increase object sizes.  If your
program does not make significant use of reals, you might see a
speedup with <span class="monospaced">-align 4</span>.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_known_issues">Known issues</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
Bootstrapping on the <a href="RunningOnSparc">Sparc architecture</a> is so slow
as to be impractical (many hours on a 500MHz UltraSparc).  For this
reason, we strongly recommend building with a
<a href="CrossCompiling">cross compiler</a>.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_also_see">Also see</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a href="RunningOnSolaris">RunningOnSolaris</a>
</p>
</li>
</ul></div>
</div>
</div>
</div>
<div id="footnotes"><hr></div>
<div id="footer">
<div id="footer-text">
</div>
<div id="footer-badges">
</div>
</div>
</body>
</html>
