https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87767
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- So for #c3 you are essentially asking for a .rodata size optimization. The problem with that is especially that it works only for selected EVEX encoded instructions and with the multitude of AVX512XX ISAs, in many define_insns we have non-EVEX variants mixed with EVEX variants, e.g. for the case when something is only EVEX supported with VL, DQ, BW etc. and thus even if we add a machine reorg optimization that walks constant pool MEMs in a function and tries to transform those into broadcast, it is non-trivial to find out when it is safe and when not (plus, it is useful only if we manage to optimize all accesses to that constant pool constant).