https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110386
Bug ID: 110386 Summary: [14 Regression] ICE when optimizing VPABSD/VPMULLD since 07b86ab138bf8be8cb331015cd2b9775c6856ac6 Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: benjsith at gmail dot com Target Milestone: --- Created attachment 55394 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55394&action=edit A preprocessed minimal repro of the VPABSD/VPMULLD issue The following code is a minimal repro of the issue when compiled using `gcc -mavx -O1`: #include <immintrin.h> __m128i do_stuff(__m128i XMM0) { __m128i ABS0 = _mm_abs_epi32(XMM0); __m128i MUL0 = _mm_mullo_epi32(ABS0, XMM0); __m128i MUL1 = _mm_mullo_epi32(MUL0, MUL0); return MUL1; } Godbolt link: https://godbolt.org/z/c6dK5jzco The ICE/crash prints: min_repro.c: In function ‘do_stuff’: min_repro.c:3:9: error: type mismatch in binary expression 3 | __m128i do_stuff(__m128i XMM0) { | ^~~~~~~~ vector(4) unsigned int vector(4) unsigned int vector(4) int _6 = _5 * _7; during GIMPLE pass: backprop min_repro.c:3:9: internal compiler error: verify_gimple failed 0x102003d verify_gimple_in_cfg(function*, bool, bool) .././../gcc/gcc/tree-cfg.cc:5646 0xebf8d0 execute_function_todo .././../gcc/gcc/passes.cc:2098 0xebfe3e execute_todo .././../gcc/gcc/passes.cc:2152 A bisect shows it started in 07b86ab138bf8be8cb331015cd2b9775c6856ac6, which is related to a previous bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110108 I have confirmed that this still repros in the latest trunk, 6b724427aa1ec9b690e40f5206572f57e1adeda8 For triage/priority purposes: this issue was not from code I manually wrote, but was found by a fuzzer meant to test SIMD codegen