[Bug target/98218] [TARGET_MMX_WITH_SSE] Implement 64bit vector compares (AVX512 masked compares missing)

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed May 12 18:38:53 GMT 2021


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

--- Comment #12 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to David Binderman from comment #11)
> I might be seeing something similar:
> 
> caxcpy.f: In function 'caxcpy':
> caxcpy.f:53:72: error: unrecognizable insn:
>    53 |       end subroutine
>       |                                                                     
> ^
> (insn 136 135 137 16 (set (reg:V2SF 107 [ vect__96.11 ])
>         (if_then_else:V2SF (reg:V2SF 220)
>             (reg:V2SF 84 [ _3 ])
>             (reg:V2SF 219))) -1
>      (nil))
> during RTL pass: vregs
> caxcpy.f:53:72: internal compiler error: in extract_insn, at recog.c:2770

Yeah, this is a non-existent SSE "cmove". I tried to find all paths where this
should divert to a sequence of logic instructions or PBLENDB, but due to
plethora of ISAs some cmove expansions fell through the cracks. Fortunately,
easy to fix problem, please just provide a testcase.


More information about the Gcc-bugs mailing list