From b6f8e8248d7f3540f739f696ec73534f7d9fcaf4 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 6 Nov 2010 19:25:43 +0000 Subject: 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. llvm-svn: 118350 --- llvm/docs/CodeGenerator.html | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'llvm/docs/CodeGenerator.html') diff --git a/llvm/docs/CodeGenerator.html b/llvm/docs/CodeGenerator.html index d4e932a969f..376b91c8f1a 100644 --- a/llvm/docs/CodeGenerator.html +++ b/llvm/docs/CodeGenerator.html @@ -1998,7 +1998,15 @@ def : InstAlias<"clrq $reg", (XOR64rr GR64:$reg, GR64:$reg)>;

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.

+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:

+ +
+
+def : InstAlias<"aad", (AAD8i8 10)>;
+
+
+

Instruction aliases can also have a Requires clause to make them subtarget specific.

-- cgit v1.2.3