[Bug target/92225] ice in gen_smaxv2di3, at config/i386/sse.md:12225
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Oct 25 12:33:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92225
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2019-10-25
Ever confirmed|0 |1
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed. Eventually ix86_expand_int_vcond fails because the compare needs
4105 /* Only SSE4.1/SSE4.2 supports V2DImode. */
4106 if (mode == V2DImode)
and code is GT. Somehow
(define_expand "<code><mode>3"
[(set (match_operand:VI8_AVX2_AVX512F 0 "register_operand")
(maxmin:VI8_AVX2_AVX512F
(match_operand:VI8_AVX2_AVX512F 1 "register_operand")
(match_operand:VI8_AVX2_AVX512F 2 "register_operand")))]
"TARGET_SSE4_2"
^^^^
doesn't work? Ah, because it's directly invoked via
(define_expand "reduc_<code>_scal_<mode>"
[(smaxmin:REDUC_SSE_SMINMAX_MODE
(match_operand:<ssescalarmode> 0 "register_operand")
(match_operand:REDUC_SSE_SMINMAX_MODE 1 "register_operand"))]
""
{
rtx tmp = gen_reg_rtx (<MODE>mode);
ix86_expand_reduc (gen_<code><mode>3, tmp, operands[1]);
emit_insn (gen_vec_extract<mode><ssescalarmodelower> (operands[0], tmp,
const0_rtx));
DONE;
})
More information about the Gcc-bugs
mailing list