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

Reply via email to