https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95083
--- 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") (unspec:VF_128_256 [(match_operand:VF_128_256 1 "register_operand" "0,0,x") (match_operand:VF_128_256 2 "vector_operand" "YrBm,*xBm,xm") (lt:VF_128_256 (match_operand:<sseintvecmode> 3 "register_operand" "Yz,Yz,x") (match_operand:<sseintvecmode> 4 "const0_operand" "C,C,C"))] UNSPEC_BLENDV))] (please note const0 operand 4). Probably similar pattern is missing that would degrade to MIN/MAX, for vector and scalar versions.