On Fri, May 10, 2013 at 11:51 PM, Mike Stump wrote: > - if (DF_REF_LOC (*ref) == recog_data.operand_loc[op]) > - break; > + { > + if (DF_REF_LOC (*ref) == recog_data.operand_loc[op]) > + break; > + /* DF_REF_LOC can be (subreg:DI (reg:TI 5) 8) and > + recog_data.operand_loc[op] can be (reg:TI 5), and the above > + won't find it. */ > + if (GET_CODE (*DF_REF_LOC (*ref)) == SUBREG && > + &SUBREG_REG (*DF_REF_LOC (*ref)) == recog_data.operand_loc[op])
Congrats, you've re-invented DF_REF_REAL_LOC. Ciao! Steven