Need sanity check on DSE vs expander issue

Jakub Jelinek
Fri Dec 20 08:17:00 GMT 2019

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.


More information about the Gcc mailing list