https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127153
Xi Ruoyao <xry111 at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://github.com/loongson
| |-community/discussions/issu
| |es/128
Target Milestone|--- |16.3
Ever confirmed|0 |1
Summary|LoongArch: wrong code at |[16/17 Regression]
|-O1 or above |LoongArch: wrong code at
| |-O1 or above
Known to fail| |16.2.0, 17.0
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2026-08-31
Known to work| |15.3.0
Target| |loongarch*-*-*
Assignee|unassigned at gcc dot gnu.org |xry111 at gcc dot
gnu.org
--- Comment #1 from Xi Ruoyao <xry111 at gcc dot gnu.org> ---
(define_insn_and_split "both_non_zero"
[(set (match_operand:DI 0 "register_operand" "=r")
(and:DI (ne:DI (match_operand:DI 1 "register_operand" "r")
(const_int 0))
(ne:DI (match_operand:DI 2 "register_operand" "r")
(const_int 0))))]
"TARGET_64BIT"
"#"
"&& true"
[(set (match_dup 0)
(ne:DI (match_dup 1) (const_int 0)))
(set (match_dup 0)
(if_then_else:DI (ne:DI (match_dup 2) (const_int 0))
(match_dup 0)
(const_int 0)))])
This lacks earlyclobber.