diff --git a/gas/ChangeLog b/gas/ChangeLog index 6ca4edef98..0a46fe1482 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2011-11-16 Maciej W. Rozycki + + * config/tc-mips.c (macro_build_jalr): Reverse a negative + conditional. + (mips_ip): Likewise. + 2011-11-16 Catherine Moore Maciej W. Rozycki diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 6af54f867c..886bdce180 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -5260,9 +5260,7 @@ macro_build_jalr (expressionS *ep, int cprestore) frag_grow (8); f = frag_more (0); } - if (!mips_opts.micromips) - macro_build (NULL, "jalr", "d,s", RA, PIC_CALL_REG); - else + if (mips_opts.micromips) { jalr = mips_opts.noreorder && !cprestore ? "jalr" : "jalrs"; if (MIPS_JALR_HINT_P (ep)) @@ -5270,6 +5268,8 @@ macro_build_jalr (expressionS *ep, int cprestore) else macro_build (NULL, jalr, "mj", PIC_CALL_REG); } + else + macro_build (NULL, "jalr", "d,s", RA, PIC_CALL_REG); if (MIPS_JALR_HINT_P (ep)) fix_new_exp (frag_now, f - frag_now->fr_literal, 4, ep, FALSE, jalr_reloc); } @@ -10964,9 +10964,9 @@ mips_ip (char *str, struct mips_cl_insn *ip) case '\\': /* 3-bit bit position. */ { - unsigned long mask = (!mips_opts.micromips - ? OP_MASK_3BITPOS - : MICROMIPSOP_MASK_3BITPOS); + unsigned long mask = (mips_opts.micromips + ? MICROMIPSOP_MASK_3BITPOS + : OP_MASK_3BITPOS); my_getExpression (&imm_expr, s); check_absolute_expr (ip, &imm_expr);