> 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:

           /* 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)

Eric Botcazou

Reply via email to