https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58416
--- Comment #23 from Richard Biener <rguenth at gcc dot gnu.org> --- So it's from return (struct form_time) { .form = TIMEFORM_HI_LO, .time = decode_ticks_hz (specified_time, make_fixnum (1), cform) }; with union c_time { struct ticks_hz th; struct timespec ts; double d; }; struct form_time { enum timeform form; union c_time time; }; since there's also .form = TIMEFORM_FLOAT, .time = decode_float_time (d, cform) and that one is inlined we're likely only seeing an access to the double union component and otherwise aggregate union accesses. Still needs a reduction.