https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102281
--- Comment #15 from qinzhao at gcc dot gnu.org --- A summary of this bug based on discussion and more study: multiple issues in the current implemenation: A. should check is_gimple_reg before adding the call to __builtin_clear_padding; (correctness) B. should check whether a type has padding before adding this call; (more efficient) C. For long double/Complex long double variables, if they are explicitly initialzied, should clear their padding during RTL phase when the variable is spilled into stack. in the fix to this bug, A is a must, B is better to add in. C is not needed, can be fixed in another bug, I have created a new PR 102781 to record this issue and will fix it later is needed.