On Feb 24, 2011, at 12:46 PM, Eric Botcazou wrote: >> Maybe the misunderstanding occurs when the mode of the subreg is less >> than word_size? It would certainly make sense that a subreg write of >> less than word_size leaves the bits undefined. >> >> ie, if word_size is SImode and we had a write to >> >> (subreg:HI (reg:SI) 0) >> >> Then the upper bits are left undefined. >> >> >> Contrast that to the same RTL, but word_size is HImode >> >> (subreg:HI (reg:SI) 0) >> >> Would leave the upper bits untouched. > > That's the conventional wisdom I think. Sub-word and word-sized subregs > don't > behave the same, in particular when they are on the LHS of an assignment.
That's certainly what the manual says. paul