[Bug target/95083] x86 fp_movcc expansion depends on real_cst sharing

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed May 13 14:13:25 GMT 2020


--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> ---
It looks to me that a couple of (scalar) splitters are missing in sse.md.

There is vector

(define_insn_and_split "*<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>_lt"

Defined as:

  [(set (match_operand:VF_128_256 0 "register_operand" "=Yr,*x,x")
          [(match_operand:VF_128_256 1 "register_operand" "0,0,x")
           (match_operand:VF_128_256 2 "vector_operand" "YrBm,*xBm,xm")
             (match_operand:<sseintvecmode> 3 "register_operand" "Yz,Yz,x")
             (match_operand:<sseintvecmode> 4 "const0_operand" "C,C,C"))]

(please note const0 operand 4).

Probably similar pattern is missing that would degrade to MIN/MAX, for vector
and scalar versions.

More information about the Gcc-bugs mailing list