md.texi (Canonicalization of Instructions): Describe the canonical form of instructions that inherently set a condition...

* doc/md.texi (Canonicalization of Instructions): Describe the
	canonical form of instructions that inherently set a condition
	code register.

From-SVN: r248156
This commit is contained in:
Uros Bizjak 2017-05-17 17:01:07 +02:00 committed by Uros Bizjak
parent 9853cb2872
commit 81ad201ac5
2 changed files with 25 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2017-05-17 Uros Bizjak <ubizjak@gmail.com>
* doc/md.texi (Canonicalization of Instructions): Describe the
canonical form of instructions that inherently set a condition
code register.
2017-05-17 Peter Bergner <bergner@vnet.ibm.com>
PR middle-end/80775

View File

@ -7257,6 +7257,25 @@ the operations as far as possible. For instance,
For the @code{compare} operator, a constant is always the second operand
if the first argument is a condition code register or @code{(cc0)}.
@item
For instructions that inherently set a condition code register, the
@code{compare} operator is always written as the first RTL expression of
the @code{parallel} instruction pattern. For example,
@smallexample
(define_insn ""
[(set (reg:CCZ FLAGS_REG)
(compare:CCZ
(plus:SI
(match_operand:SI 1 "register_operand" "%r")
(match_operand:SI 2 "register_operand" "r"))
(const_int 0)))
(set (match_operand:SI 0 "register_operand" "=r")
(plus:SI (match_dup 1) (match_dup 2)))]
""
"addl %0, %1, %2")
@end smallexample
@item
An operand of @code{neg}, @code{not}, @code{mult}, @code{plus}, or
@code{minus} is made the first operand under the same conditions as