Wed Feb 12 14:36:29 1997 Ian Lance Taylor <ian@cygnus.com>
+ * config/tc-mips.c (mips16_ip): Handle an extend operand.
+
* config/tc-mips.c (my_getExpression): In mips16 mode, if it looks
like the expression was based on `.', adjust the value of the
symbol.
}
continue;
+ case 'e': /* extend code */
+ my_getExpression (&imm_expr, s);
+ check_absolute_expr (ip, &imm_expr);
+ if ((unsigned long) imm_expr.X_add_number > 0x7ff)
+ {
+ as_warn ("Invalid value for `%s' (%lu)",
+ ip->insn_mo->name,
+ (unsigned long) imm_expr.X_add_number);
+ imm_expr.X_add_number &= 0x7ff;
+ }
+ ip->insn_opcode |= imm_expr.X_add_number;
+ imm_expr.X_op = O_absent;
+ s = expr_end;
+ continue;
+
default:
internalError ();
}