Message ID | 1389917678.3022.45.camel@ubuntu-sellcey |
---|---|
State | New |
Headers | show |
Steve Ellcey <sellcey@mips.com> writes: > 2014-01-15 Andrew Pinski <apinski@cavium.com> > Steve Ellcey <sellcey@mips.com> > > PR target/59462 > * config/mips/mips.c (mips_print_operand): Check operand mode instead > of operator mode. > > > diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c > index 617391c..60cb8ee 100644 > --- a/gcc/config/mips/mips.c > +++ b/gcc/config/mips/mips.c > @@ -8184,7 +8184,7 @@ mips_print_operand (FILE *file, rtx op, int letter) > case 't': > { > int truth = (code == NE) == (letter == 'T'); > - fputc ("zfnt"[truth * 2 + (GET_MODE (op) == CCmode)], file); > + fputc ("zfnt"[truth * 2 + (GET_MODE (XEXP (op, 0)) == CCmode)], file); > } > break; > I think it'd be more direct to check the register class, since we used to store CCmode in GPRs too. I.e. ST_REGNO_P (XEXP (op, 0)). OK with that change, thanks. Please backport to 4.8 too. Richard
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 617391c..60cb8ee 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -8184,7 +8184,7 @@ mips_print_operand (FILE *file, rtx op, int letter) case 't': { int truth = (code == NE) == (letter == 'T'); - fputc ("zfnt"[truth * 2 + (GET_MODE (op) == CCmode)], file); + fputc ("zfnt"[truth * 2 + (GET_MODE (XEXP (op, 0)) == CCmode)], file); } break;