[Bug target/94103] Wrong optimization: reading value of a variable changes its representation for optimizer
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Fri Mar 20 14:25:26 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94103
--- Comment #11 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 20 Mar 2020, ch3root at openwall dot com wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94103
>
> --- Comment #10 from Alexander Cherepanov <ch3root at openwall dot com> ---
> The case of assignment+memcpy -- testcases in comment 0, in pr92824 and similar
> -- is fixed.
>
> But the case of memset+assignment -- pr93270 and pr61872 (these seem to be
> dups) -- is not fixed. Is it supposed to be fixed?
>
> Before, I've seen somewhat contradicting approaches in bug 92486, comment 12,
> which says that memset+assignment should set padding in structs, and in bug
> 93270, comment 4, which implies that memset+assignment shouldn't set padding in
> long double. I'm in no way trying to imply that memset+assignment should or
> shouldn't be fixed, just wondering if there is a difference of two cases.
I think if the user writes a long double store then padding becomes
undefined so the testcase in comment#1 in PR61872 is technically
undefined IMHO.
More information about the Gcc-bugs
mailing list