mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
* 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:
parent
70643dbc13
commit
56c96faae6
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user