Bernd Schmidt <ber...@codesourcery.com> writes: > On 06/15/2010 12:06 AM, Ian Lance Taylor wrote: > >> Well, as you know, subregs have two meanings which look similar but >> are in fact entirely different. It's valid to set subregs of the same >> pseudo in parallel if the subregs represent different hard registers. >> It's not valid if the subregs represent different pieces of the same >> hard register. > > Are you aware of any examples of this in the compiler? The explanation > is of course plausible, but do we know that we handle this correctly > everywhere?
Hmmm, you could be right. I wrote and tested some examples when working on lower-subreg, but I never committed them. The current define_splits in i386.md which can do parallel sets only run if reload_completed is true, when simplify_gen_subreg will return different hard registers. While I don't know of any reason that it wouldn't work, I guess I don't know for sure that it is safe. Ian