> That's always been my interpretation too. Seems like we may be changing > the meaning of this macro...
The main (and essentially only) effect of WORD_REGISTER_OPERATIONS in the compiler happens during combine and is explained by this comment taken from eliminate_regs_1 and written by Jim in 1998: #ifdef WORD_REGISTER_OPERATIONS /* On these machines, combine can create rtl of the form (set (subreg:m1 (reg:m2 R) 0) ...) where m1 < m2, and expects something interesting to happen to the entire word. Moreover, it will use the (reg:m2 R) later, expecting all bits to be preserved. So if the number of words is the same, preserve the subreg so that push_reloads can see it. */ && ! ((x_size-1)/UNITS_PER_WORD == (new_size-1) UNITS_PER_WORD) #endif -- Eric Botcazou