https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71522
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Component|c |tree-optimization --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- So it goes "wrong" when transforming long double d; __int128 unsigned _3; MEM[(char * {ref-all})&d] = 0x414141414141414141414141414141; _3 = MEM[(char * {ref-all})&d]; into SSA as d_9 = 4.35573826932891467758901725805789285479666446831741854231e+96; _3 = VIEW_CONVERT_EXPR<__int128 unsigned>(d_9); similar as to how elsewhere we avoid using FP representation for what is accessed as integers we should probably do so in update-address-taken (otherwise FP normalization will apply via build_real and friends).