<html lang="en">
<head>
<title>H8/300 - Untitled</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Untitled">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Machine-Dependent.html#Machine-Dependent" title="Machine Dependent">
<link rel="next" href="i960.html#i960" title="i960">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU linker LD
(Sourcery G++ Lite 2011.03-41)
version 2.20.51.

Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts.  A copy of the license is included in the
section entitled ``GNU Free Documentation License''.-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="H8%2f300"></a>
<a name="H8_002f300"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="i960.html#i960">i960</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Machine-Dependent.html#Machine-Dependent">Machine Dependent</a>
<hr>
</div>

<h3 class="section">4.1 <samp><span class="command">ld</span></samp> and the H8/300</h3>

<p><a name="index-H8_002f300-support-559"></a>For the H8/300, <samp><span class="command">ld</span></samp> can perform these global optimizations when
you specify the &lsquo;<samp><span class="samp">--relax</span></samp>&rsquo; command-line option.

     
<a name="index-relaxing-on-H8_002f300-560"></a>
<dl><dt><em>relaxing address modes</em><dd><samp><span class="command">ld</span></samp> finds all <code>jsr</code> and <code>jmp</code> instructions whose
targets are within eight bits, and turns them into eight-bit
program-counter relative <code>bsr</code> and <code>bra</code> instructions,
respectively.

     <p><a name="index-synthesizing-on-H8_002f300-561"></a><br><dt><em>synthesizing instructions</em><dd><!-- FIXME: specifically mov.b, or any mov instructions really? -->
<samp><span class="command">ld</span></samp> finds all <code>mov.b</code> instructions which use the
sixteen-bit absolute address form, but refer to the top
page of memory, and changes them to use the eight-bit address form. 
(That is: the linker turns &lsquo;<samp><span class="samp">mov.b </span><code>@</code><var>aa</var><span class="samp">:16</span></samp>&rsquo; into
&lsquo;<samp><span class="samp">mov.b </span><code>@</code><var>aa</var><span class="samp">:8</span></samp>&rsquo; whenever the address <var>aa</var> is in the
top page of memory).

     <br><dt><em>bit manipulation instructions</em><dd><samp><span class="command">ld</span></samp> finds all bit manipulation instructions like <code>band, bclr,
biand, bild, bior, bist, bixor, bld, bnot, bor, bset, bst, btst, bxor</code>
which use 32 bit and 16 bit absolute address form, but refer to the top
page of memory, and changes them to use the 8 bit address form. 
(That is: the linker turns &lsquo;<samp><span class="samp">bset #xx:3,</span><code>@</code><var>aa</var><span class="samp">:32</span></samp>&rsquo; into
&lsquo;<samp><span class="samp">bset #xx:3,</span><code>@</code><var>aa</var><span class="samp">:8</span></samp>&rsquo; whenever the address <var>aa</var> is in
the top page of memory).

     <br><dt><em>system control instructions</em><dd><samp><span class="command">ld</span></samp> finds all <code>ldc.w, stc.w</code> instructions which use the
32 bit absolute address form, but refer to the top page of memory, and
changes them to use 16 bit address form. 
(That is: the linker turns &lsquo;<samp><span class="samp">ldc.w </span><code>@</code><var>aa</var><span class="samp">:32,ccr</span></samp>&rsquo; into
&lsquo;<samp><span class="samp">ldc.w </span><code>@</code><var>aa</var><span class="samp">:16,ccr</span></samp>&rsquo; whenever the address <var>aa</var> is in
the top page of memory). 
</dl>

   </body></html>

