https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107987
Bug ID: 107987 Summary: [12/13 Regression] MVE vcmpq vector-scalar can trigger ICE Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: avieira at gcc dot gnu.org Target Milestone: --- Using the following testcase $ cat t.c #include <arm_mve.h> uint32x4_t foo (uint32x4_t a, uint32x4_t b) { mve_pred16_t p = vcmpneq_n_u32 (vandq_u32 (a, b), 0); return vaddq_x_u32 (a, b, p); } and compiling with arm-none-eabi-gcc -mcpu=cortex-m55 -mfloat-abi=hard -O2 will trigger an ICE in combine. This was caused by g:d083fbf72d4533d2009c725524983e1184981e74 as when removing the unspec's around the vcmp's it now exposed the compiler to a comparison operator with a vector and a scalar operand.