generalize alias support to allow the result of an alias to

add fixed immediate values.  Move the aad and aam aliases to
use this, and document it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118350 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2010-11-06 19:25:43 +00:00
parent dea546b623
commit 98c870f87b
6 changed files with 100 additions and 43 deletions

View File

@@ -1998,7 +1998,15 @@ def : InstAlias<"clrq $reg", (XOR64rr GR64:$reg, GR64:$reg)>;
<p>This example also shows that tied operands are only listed once. In the X86
backend, XOR8rr has two input GR8's and one output GR8 (where an input is tied
to the output). InstAliases take a flattened operand list without duplicates
for tied operands.</p>
for tied operands. The result of an instruction alias can also use immediates,
which are added as simple immediate operands in the result, for example:</p>
<div class="doc_code">
<pre>
def : InstAlias&lt;"aad", (AAD8i8 10)&gt;;
</pre>
</div>
<p>Instruction aliases can also have a Requires clause to make them
subtarget specific.</p>