https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112971
--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #9) > The real fix will be to const_binop . > Right now const_binop only handles a few cases for VLA's VECTOR_CST and it > seems like it really only handles +, -, and sometimes * and sometimes left > shit . I should say for stepped VLA VECTOR_CST . In this case have one fully dup 0 and'ed with a stepped VECTOR_CST and that is not handled. Maybe a few special cases are needed here for &, |, ^ might be enough. BIT_AND_EXPR: handle both 0 and -1 BIT_IOR_EXPR: handle both 0 and -1 BIT_XOR_EXPR: handle 0