Need sanity check on DSE vs expander issue

Jakub Jelinek jakub@redhat.com
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.

	Jakub



More information about the Gcc mailing list