⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 options-i960.html

📁 gcc手册
💻 HTML
字号:
<html lang="en">

<head>

<title>Using as</title>

<meta http-equiv="Content-Type" content="text/html">

<meta name="description" content="Using as">

<meta name="generator" content="makeinfo 4.3">

<link href="http://www.gnu.org/software/texinfo/" rel="generator-home">

</head>

<body>

<div class="node">

<p>

Node:<a name="Options-i960">Options-i960</a>,

Next:<a rel="next" accesskey="n" href="Floating-Point-i960.html#Floating%20Point-i960">Floating Point-i960</a>,

Up:<a rel="up" accesskey="u" href="i960-Dependent.html#i960-Dependent">i960-Dependent</a>

<hr><br>

</div>



<h4 class="section">i960 Command-line Options</h4>



     <dl>



     <br><dt><code>-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC</code>

     <dd>Select the 80960 architecture.  Instructions or features not supported

by the selected architecture cause fatal errors.



     <p><code>-ACA</code> is equivalent to <code>-ACA_A</code>; <code>-AKC</code> is equivalent to

<code>-AMC</code>.  Synonyms are provided for compatibility with other tools.



     <p>If you do not specify any of these options, <code>as</code> generates code

for any instruction or feature that is supported by <em>some</em> version of the

960 (even if this means mixing architectures!).  In principle,

<code>as</code> attempts to deduce the minimal sufficient processor type if

none is specified; depending on the object code format, the processor type may

be recorded in the object file.  If it is critical that the <code>as</code>

output match a specific architecture, specify that architecture explicitly.



     <br><dt><code>-b</code>

     <dd>Add code to collect information about conditional branches taken, for

later optimization using branch prediction bits.  (The conditional branch

instructions have branch prediction bits in the CA, CB, and CC

architectures.)  If <var>BR</var> represents a conditional branch instruction,

the following represents the code generated by the assembler when

<code>-b</code> is specified:



     <pre class="smallexample">                  call    <var>increment routine</var>

                  .word   0       # pre-counter

          Label:  <var>BR</var>

                  call    <var>increment routine</var>

                  .word   0       # post-counter

          </pre>



     <p>The counter following a branch records the number of times that branch

was <em>not</em> taken; the differenc between the two counters is the

number of times the branch <em>was</em> taken.



     <p>A table of every such <code>Label</code> is also generated, so that the

external postprocessor <code>gbr960</code> (supplied by Intel) can locate all

the counters.  This table is always labelled <code>__BRANCH_TABLE__</code>;

this is a local symbol to permit collecting statistics for many separate

object files.  The table is word aligned, and begins with a two-word

header.  The first word, initialized to 0, is used in maintaining linked

lists of branch tables.  The second word is a count of the number of

entries in the table, which follow immediately: each is a word, pointing

to one of the labels illustrated above.



     <p>The first word of the header is used to locate multiple branch tables,

since each object file may contain one. Normally the links are

maintained with a call to an initialization routine, placed at the

beginning of each function in the file.  The <small>GNU</small> C compiler

generates these calls automatically when you give it a <code>-b</code> option. 

For further details, see the documentation of <code>gbr960</code>.



     <br><dt><code>-no-relax</code>

     <dd>Normally, Compare-and-Branch instructions with targets that require

displacements greater than 13 bits (or that have external targets) are

replaced with the corresponding compare (or <code>chkbit</code>) and branch

instructions.  You can use the <code>-no-relax</code> option to specify that

<code>as</code> should generate errors instead, if the target displacement

is larger than 13 bits.



     <p>This option does not affect the Compare-and-Jump instructions; the code

emitted for them is <em>always</em> adjusted when necessary (depending on

displacement size), regardless of whether you use <code>-no-relax</code>. 

</dl>



   </body></html>



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -