https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66119
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- DEFPARAM (PARAM_SRA_MAX_SCALARIZATION_SIZE_SPEED, "sra-max-scalarization-size-Ospeed", "Maximum size, in storage units, storage units! But the value seems to be in bits? It gets used as if (tree_to_uhwi (TYPE_SIZE (TREE_TYPE (var))) <= max_scalarization_size) max_scalarization_size is 384, the aggregate size is 512. Looks like get_move_ratio returns different things at SRA time (if I re-call it) and the time it gets invoked in toplev.c.