* config/tc-mips.c (macro_build): Handle '>' case (shift amount

between 32 and 63 for double shift instruction).
	(mips_ip): Likewise.
	(printInsn): Likewise.
This commit is contained in:
Ian Lance Taylor 1993-10-27 15:52:03 +00:00
parent 70643dbc13
commit 56c96faae6
2 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,10 @@
Wed Oct 27 11:48:56 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* config/tc-mips.c (macro_build): Handle '>' case (shift amount
between 32 and 63 for double shift instruction).
(mips_ip): Likewise.
(printInsn): Likewise.
Tue Oct 26 16:58:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* config/tc-ns32k.c (tc_aout_fix_to_chars): Output the symbol

View File

@ -1166,6 +1166,7 @@ macro_build (counter, ep, name, fmt, va_alist)
continue;
case '<':
case '>':
insn.insn_opcode |= va_arg (args, int) << 6;
continue;
@ -3060,6 +3061,17 @@ mips_ip (str, ip)
s = expr_end;
continue;
case '>': /* shift amount minus 32 */
my_getExpression (&imm_expr, s);
check_absolute_expr (ip, &imm_expr);
if ((unsigned long) imm_expr.X_add_number < 32
|| (unsigned long) imm_expr.X_add_number > 63)
break;
ip->insn_opcode |= (imm_expr.X_add_number - 32) << 6;
imm_expr.X_op = O_absent;
s = expr_end;
continue;
case 'c': /* break code */
my_getExpression (&imm_expr, s);
check_absolute_expr (ip, &imm_expr);
@ -4051,6 +4063,7 @@ printInsn (oc)
continue;
case '<':
case '>':
printf ("$%d", shamt);
continue;