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

--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> ---
Comment on attachment 49613
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49613
gcc11-pr97950.patch

>+(define_insn_and_split "*setcc_hi_1"
>+  [(set (match_operand:HI 0 "register_operand" "=q")
>+      (match_operator:HI 1 "ix86_comparison_operator"
>+        [(reg FLAGS_REG) (const_int 0)]))]
>+  "!TARGET_PARTIAL_REG_STALL"
>+  "#"
>+  "&& reload_completed"
>+  [(set (match_dup 2) (match_dup 1))
>+   (set (match_dup 0) (zero_extend:DI (match_dup 2)))]

zero_extend:HI

Perhaps you could apply SWI24 mode iterator to existing *setcc_si_1_and and
*setcc_si_1_movzbl?

Reply via email to