https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66675
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2015-06-25 00:00:00 |2021-8-19 --- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Maybe if some match patterns dealing with BFRs and vector_csts is needed Something like: (for binary_op (...) (simplify (BFR (binary_op:s VECTOR_CST@0 @1) ...) (binary_op (BFR @0 ...) (BFR @1 ...))) (simplify (BFR (binary_op:s @0 VECTOR_CST@1 ) ...) (binary_op (BFR @0 ...) (BFR @1 ...))) ) (for unary_op (...) (simplify (BFR (unary_op:s @1) ...) (unary_op (BFR @0 ...))) This pushes the BFR as far back as possible and will solve this testcase but I am not 100% sure it will solve all. Note BFR might be subvectors and not just a scalar and such.