https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101885

--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
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
see the
https://gcc.gnu.org/pipermail/gcc-patches/2017-May/thread.html#474080
thread.

Reply via email to