📄 m32r-warnings.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="M32R-Warnings">M32R-Warnings</a>,
Previous:<a rel="previous" accesskey="p" href="M32R-Opts.html#M32R-Opts">M32R-Opts</a>,
Up:<a rel="up" accesskey="u" href="M32R-Dependent.html#M32R-Dependent">M32R-Dependent</a>
<hr><br>
</div>
<h4 class="section">M32R Warnings</h4>
<p>There are several warning and error messages that can be produced by
<code>as</code> which are specific to the M32R:
<dl>
<br><dt><code>output of 1st instruction is the same as an input to 2nd instruction - is this intentional ?</code>
<dd>This message is only produced if warnings for explicit parallel
conflicts have been enabled. It indicates that the assembler has
encountered a parallel instruction in which the destination register of
the left hand instruction is used as an input register in the right hand
instruction. For example in this code fragment
<code>mv r1, r2 || neg r3, r1</code> register r1 is the destination of the
move instruction and the input to the neg instruction.
<br><dt><code>output of 2nd instruction is the same as an input to 1st instruction - is this intentional ?</code>
<dd>This message is only produced if warnings for explicit parallel
conflicts have been enabled. It indicates that the assembler has
encountered a parallel instruction in which the destination register of
the right hand instruction is used as an input register in the left hand
instruction. For example in this code fragment
<code>mv r1, r2 || neg r2, r3</code> register r2 is the destination of the
neg instruction and the input to the move instruction.
<br><dt><code>instruction ... is for the M32RX only</code>
<dd>This message is produced when the assembler encounters an instruction
which is only supported by the M32Rx processor, and the <code>-m32rx</code>
command line flag has not been specified to allow assembly of such
instructions.
<br><dt><code>unknown instruction ...</code>
<dd>This message is produced when the assembler encounters an instruction
which it doe snot recognise.
<br><dt><code>only the NOP instruction can be issued in parallel on the m32r</code>
<dd>This message is produced when the assembler encounters a parallel
instruction which does not involve a NOP instruction and the
<code>-m32rx</code> command line flag has not been specified. Only the M32Rx
processor is able to execute two instructions in parallel.
<br><dt><code>instruction ... cannot be executed in parallel.</code>
<dd>This message is produced when the assembler encounters a parallel
instruction which is made up of one or two instructions which cannot be
executed in parallel.
<br><dt><code>Instructions share the same execution pipeline</code>
<dd>This message is produced when the assembler encounters a parallel
instruction whoes components both use the same execution pipeline.
<br><dt><code>Instructions write to the same destination register.</code>
<dd>This message is produced when the assembler encounters a parallel
instruction where both components attempt to modify the same register.
For example these code fragments will produce this message:
<code>mv r1, r2 || neg r1, r3</code>
<code>jl r0 || mv r14, r1</code>
<code>st r2, @-r1 || mv r1, r3</code>
<code>mv r1, r2 || ld r0, @r1+</code>
<code>cmp r1, r2 || addx r3, r4</code> (Both write to the condition bit)
</dl>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -