You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

151 lines
6.8KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- This file documents the GNU Assembler "as".
  4. Copyright (C) 1991-2020 Free Software Foundation, Inc.
  5. Permission is granted to copy, distribute and/or modify this document
  6. under the terms of the GNU Free Documentation License, Version 1.3
  7. or any later version published by the Free Software Foundation;
  8. with no Invariant Sections, with no Front-Cover Texts, and with no
  9. Back-Cover Texts. A copy of the license is included in the
  10. section entitled "GNU Free Documentation License".
  11. -->
  12. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  15. <title>M32R-Warnings (Using as)</title>
  16. <meta name="description" content="M32R-Warnings (Using as)">
  17. <meta name="keywords" content="M32R-Warnings (Using as)">
  18. <meta name="resource-type" content="document">
  19. <meta name="distribution" content="global">
  20. <meta name="Generator" content="makeinfo">
  21. <link href="index.html#Top" rel="start" title="Top">
  22. <link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
  23. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  24. <link href="M32R_002dDependent.html#M32R_002dDependent" rel="up" title="M32R-Dependent">
  25. <link href="M68K_002dDependent.html#M68K_002dDependent" rel="next" title="M68K-Dependent">
  26. <link href="M32R_002dDirectives.html#M32R_002dDirectives" rel="prev" title="M32R-Directives">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.indentedblock {margin-right: 0em}
  31. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  32. blockquote.smallquotation {font-size: smaller}
  33. div.display {margin-left: 3.2em}
  34. div.example {margin-left: 3.2em}
  35. div.lisp {margin-left: 3.2em}
  36. div.smalldisplay {margin-left: 3.2em}
  37. div.smallexample {margin-left: 3.2em}
  38. div.smalllisp {margin-left: 3.2em}
  39. kbd {font-style: oblique}
  40. pre.display {font-family: inherit}
  41. pre.format {font-family: inherit}
  42. pre.menu-comment {font-family: serif}
  43. pre.menu-preformatted {font-family: serif}
  44. pre.smalldisplay {font-family: inherit; font-size: smaller}
  45. pre.smallexample {font-size: smaller}
  46. pre.smallformat {font-family: inherit; font-size: smaller}
  47. pre.smalllisp {font-size: smaller}
  48. span.nolinebreak {white-space: nowrap}
  49. span.roman {font-family: initial; font-weight: normal}
  50. span.sansserif {font-family: sans-serif; font-weight: normal}
  51. ul.no-bullet {list-style: none}
  52. -->
  53. </style>
  54. </head>
  55. <body lang="en">
  56. <a name="M32R_002dWarnings"></a>
  57. <div class="header">
  58. <p>
  59. 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>
  60. </div>
  61. <hr>
  62. <a name="M32R-Warnings"></a>
  63. <h4 class="subsection">9.21.3 M32R Warnings</h4>
  64. <a name="index-warnings_002c-M32R"></a>
  65. <a name="index-M32R-warnings"></a>
  66. <p>There are several warning and error messages that can be produced by
  67. <code>as</code> which are specific to the M32R:
  68. </p>
  69. <dl compact="compact">
  70. <dt><code>output of 1st instruction is the same as an input to 2nd instruction - is this intentional ?</code></dt>
  71. <dd><p>This message is only produced if warnings for explicit parallel
  72. conflicts have been enabled. It indicates that the assembler has
  73. encountered a parallel instruction in which the destination register of
  74. the left hand instruction is used as an input register in the right hand
  75. instruction. For example in this code fragment
  76. &lsquo;<samp>mv r1, r2 || neg r3, r1</samp>&rsquo; register r1 is the destination of the
  77. move instruction and the input to the neg instruction.
  78. </p>
  79. </dd>
  80. <dt><code>output of 2nd instruction is the same as an input to 1st instruction - is this intentional ?</code></dt>
  81. <dd><p>This message is only produced if warnings for explicit parallel
  82. conflicts have been enabled. It indicates that the assembler has
  83. encountered a parallel instruction in which the destination register of
  84. the right hand instruction is used as an input register in the left hand
  85. instruction. For example in this code fragment
  86. &lsquo;<samp>mv r1, r2 || neg r2, r3</samp>&rsquo; register r2 is the destination of the
  87. neg instruction and the input to the move instruction.
  88. </p>
  89. </dd>
  90. <dt><code>instruction &lsquo;<samp>...</samp>&rsquo; is for the M32RX only</code></dt>
  91. <dd><p>This message is produced when the assembler encounters an instruction
  92. which is only supported by the M32Rx processor, and the &lsquo;<samp>-m32rx</samp>&rsquo;
  93. command-line flag has not been specified to allow assembly of such
  94. instructions.
  95. </p>
  96. </dd>
  97. <dt><code>unknown instruction &lsquo;<samp>...</samp>&rsquo;</code></dt>
  98. <dd><p>This message is produced when the assembler encounters an instruction
  99. which it does not recognize.
  100. </p>
  101. </dd>
  102. <dt><code>only the NOP instruction can be issued in parallel on the m32r</code></dt>
  103. <dd><p>This message is produced when the assembler encounters a parallel
  104. instruction which does not involve a NOP instruction and the
  105. &lsquo;<samp>-m32rx</samp>&rsquo; command-line flag has not been specified. Only the M32Rx
  106. processor is able to execute two instructions in parallel.
  107. </p>
  108. </dd>
  109. <dt><code>instruction &lsquo;<samp>...</samp>&rsquo; cannot be executed in parallel.</code></dt>
  110. <dd><p>This message is produced when the assembler encounters a parallel
  111. instruction which is made up of one or two instructions which cannot be
  112. executed in parallel.
  113. </p>
  114. </dd>
  115. <dt><code>Instructions share the same execution pipeline</code></dt>
  116. <dd><p>This message is produced when the assembler encounters a parallel
  117. instruction whose components both use the same execution pipeline.
  118. </p>
  119. </dd>
  120. <dt><code>Instructions write to the same destination register.</code></dt>
  121. <dd><p>This message is produced when the assembler encounters a parallel
  122. instruction where both components attempt to modify the same register.
  123. For example these code fragments will produce this message:
  124. &lsquo;<samp>mv r1, r2 || neg r1, r3</samp>&rsquo;
  125. &lsquo;<samp>jl r0 || mv r14, r1</samp>&rsquo;
  126. &lsquo;<samp>st r2, @-r1 || mv r1, r3</samp>&rsquo;
  127. &lsquo;<samp>mv r1, r2 || ld r0, @r1+</samp>&rsquo;
  128. &lsquo;<samp>cmp r1, r2 || addx r3, r4</samp>&rsquo; (Both write to the condition bit)
  129. </p>
  130. </dd>
  131. </dl>
  132. <hr>
  133. <div class="header">
  134. <p>
  135. 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>
  136. </div>
  137. </body>
  138. </html>