<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the GNU Assembler "as".

Copyright (C) 1991-2013 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".
 -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using as: M32R-Warnings</title>

<meta name="description" content="Using as: M32R-Warnings">
<meta name="keywords" content="Using as: M32R-Warnings">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="M32R_002dDependent.html#M32R_002dDependent" rel="up" title="M32R-Dependent">
<link href="M68K_002dDependent.html#M68K_002dDependent" rel="next" title="M68K-Dependent">
<link href="M32R_002dDirectives.html#M32R_002dDirectives" rel="prev" title="M32R-Directives">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="M32R_002dWarnings"></a>
<div class="header">
<p>
Previous: <a href="M32R_002dDirectives.html#M32R_002dDirectives" accesskey="p" rel="prev">M32R-Directives</a>, Up: <a href="M32R_002dDependent.html#M32R_002dDependent" accesskey="u" rel="up">M32R-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="M32R-Warnings"></a>
<h4 class="subsection">9.22.3 M32R Warnings</h4>

<a name="index-warnings_002c-M32R"></a>
<a name="index-M32R-warnings"></a>

<p>There are several warning and error messages that can be produced by
<code>as</code> which are specific to the M32R:
</p>
<dl compact="compact">
<dt><code>output of 1st instruction is the same as an input to 2nd instruction - is this intentional ?</code></dt>
<dd><p>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
&lsquo;<samp>mv r1, r2 || neg r3, r1</samp>&rsquo; register r1 is the destination of the
move instruction and the input to the neg instruction.
</p>
</dd>
<dt><code>output of 2nd instruction is the same as an input to 1st instruction - is this intentional ?</code></dt>
<dd><p>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
&lsquo;<samp>mv r1, r2 || neg r2, r3</samp>&rsquo; register r2 is the destination of the
neg instruction and the input to the move instruction.
</p>
</dd>
<dt><code>instruction &lsquo;<samp>...</samp>&rsquo; is for the M32RX only</code></dt>
<dd><p>This message is produced when the assembler encounters an instruction
which is only supported by the M32Rx processor, and the &lsquo;<samp>-m32rx</samp>&rsquo;
command line flag has not been specified to allow assembly of such
instructions.
</p>
</dd>
<dt><code>unknown instruction &lsquo;<samp>...</samp>&rsquo;</code></dt>
<dd><p>This message is produced when the assembler encounters an instruction
which it does not recognize.
</p>
</dd>
<dt><code>only the NOP instruction can be issued in parallel on the m32r</code></dt>
<dd><p>This message is produced when the assembler encounters a parallel
instruction which does not involve a NOP instruction and the
&lsquo;<samp>-m32rx</samp>&rsquo; command line flag has not been specified.  Only the M32Rx
processor is able to execute two instructions in parallel.
</p>
</dd>
<dt><code>instruction &lsquo;<samp>...</samp>&rsquo; cannot be executed in parallel.</code></dt>
<dd><p>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.
</p>
</dd>
<dt><code>Instructions share the same execution pipeline</code></dt>
<dd><p>This message is produced when the assembler encounters a parallel
instruction whoes components both use the same execution pipeline.
</p>
</dd>
<dt><code>Instructions write to the same destination register.</code></dt>
<dd><p>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:
&lsquo;<samp>mv r1, r2 || neg r1, r3</samp>&rsquo;
&lsquo;<samp>jl r0 || mv r14, r1</samp>&rsquo;
&lsquo;<samp>st r2, @-r1 || mv r1, r3</samp>&rsquo;
&lsquo;<samp>mv r1, r2 || ld r0, @r1+</samp>&rsquo;
&lsquo;<samp>cmp r1, r2 || addx r3, r4</samp>&rsquo; (Both write to the condition bit)
</p>
</dd>
</dl>

<hr>
<div class="header">
<p>
Previous: <a href="M32R_002dDirectives.html#M32R_002dDirectives" accesskey="p" rel="prev">M32R-Directives</a>, Up: <a href="M32R_002dDependent.html#M32R_002dDependent" accesskey="u" rel="up">M32R-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
