On Fri, Dec 20, 2019 at 08:09:26AM +0100, Richard Biener wrote: > >That (of course) only writes 80 bits of data because of XFmode, leaving > >48 bits uninitialized. We then read those bits, or-ing the > >uninitialized data into ored_words and all hell breaks loose later. > > > >Am I losing my mind? ISTM that dse and the expander have to agree on > >how much data is written by the store to m.value. > > It looks like MEM_SIZE is wrong here, so you need to figure how we arrive at > this (I guess TYPE_SIZE vs. MODE_SIZE mismatch is biting us here?) > > That is, either the MEM should have BLKmode or the mode size should match > MEM_SIZE. Maybe DSE can avoid looking at MEM_SIZE for non-BLKmode MEMs?
I guess we need some mode flag whether the mode has any gaps in it (probably in real.[ch]) and make sure that XFmode (are there any similar modes with this?) has it set on targets that don't write all the bits. Jakub