https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121279
--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #8) > Created attachment 62127 [details] > untested patch > > Needs the testcase added, a full bootstrap and some extra comments. > BUT it looks like it is doing the correct thing. That is we transform: _2 = s_item_mem.D.2962.boolean; Into: _n = MEM<unsigned char>((union *)&s_item_mem + 8B); _2 = (_Bool)_n; When we pull out the load.