mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-21 10:02:26 +00:00
* Fixes for d30v PR 15627.
* First batch of fixes for sky PR 15853 (20-bit break/sdbbp) * Fixes for d30v test suite.
This commit is contained in:
parent
53307c2301
commit
40f0c90498
@ -1,3 +1,17 @@
|
||||
start-sanitize-d30v
|
||||
Thu May 7 11:13:00 1998 Frank Ch. Eigler <fche@cygnus.com>
|
||||
|
||||
* config/tc-d30v.c (do_assemble): Abort with error message
|
||||
if opcode operands do not match.
|
||||
|
||||
end-sanitize-d30v
|
||||
Thu May 7 09:36:06 1998 Frank Ch. Eigler <fche@cygnus.com>
|
||||
|
||||
* config/tc-mips.c (macro_build, validate_mips_insn): Implement
|
||||
'q' operand format for 20-bit "break"/"sdbbp" instructions.
|
||||
(mips_ip): Truncate overflowed "break" 'c' operand. Implement
|
||||
similar new 'q' operand.
|
||||
|
||||
Thu May 7 07:47:14 1998 Michael Meissner <meissner@cygnus.com>
|
||||
|
||||
* cgen.c (cgen_asm_finish_insn): Fix typo.
|
||||
@ -39,12 +53,14 @@ Wed May 6 15:11:12 1998 Klaus Kaempf <kkaempf@progis.de>
|
||||
|
||||
* doc/c-vax.texi: Correct and extend vax/vms documentation.
|
||||
|
||||
start-sanitize-d30v
|
||||
Wed May 6 11:51:51 1998 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* config/tc-d30v.c (do_assemble): Accept a new parameter requesting
|
||||
a short format insn.
|
||||
(md_assemble): Set it for explicitly packed insns.
|
||||
|
||||
end-sanitize-d30v
|
||||
|
||||
Tue May 5 13:23:13 1998 Nick Clifton <nickc@cygnus.com>
|
||||
|
||||
* config/obj-coff.c (c_symbol_merge): Do not take address of
|
||||
|
@ -2557,6 +2557,10 @@ macro_build (place, counter, ep, name, fmt, va_alist)
|
||||
insn.insn_opcode |= va_arg (args, int) << 6;
|
||||
continue;
|
||||
|
||||
case 'q':
|
||||
insn.insn_opcode |= va_arg (args, int) << 6;
|
||||
continue;
|
||||
|
||||
case 'b':
|
||||
case 's':
|
||||
case 'r':
|
||||
@ -3433,6 +3437,7 @@ macro (ip)
|
||||
int dbl = 0;
|
||||
int coproc = 0;
|
||||
int lr = 0;
|
||||
int imm = 0;
|
||||
offsetT maxnum;
|
||||
int off;
|
||||
bfd_reloc_code_real_type r;
|
||||
@ -5912,6 +5917,7 @@ macro2 (ip)
|
||||
int dbl = 0;
|
||||
int coproc = 0;
|
||||
int lr = 0;
|
||||
int imm = 0;
|
||||
int off;
|
||||
offsetT maxnum;
|
||||
bfd_reloc_code_real_type r;
|
||||
@ -5953,15 +5959,24 @@ macro2 (ip)
|
||||
macro_build ((char *) NULL, &icnt, NULL, "mflo", "d", dreg);
|
||||
break;
|
||||
|
||||
case M_DMULO_I:
|
||||
dbl = 1;
|
||||
case M_MULO_I:
|
||||
imm = 1;
|
||||
goto do_mulo;
|
||||
|
||||
case M_DMULO:
|
||||
dbl = 1;
|
||||
case M_MULO:
|
||||
do_mulo:
|
||||
mips_emit_delays (true);
|
||||
++mips_opts.noreorder;
|
||||
mips_any_noreorder = 1;
|
||||
if (imm)
|
||||
load_register (&icnt, AT, &imm_expr, dbl);
|
||||
macro_build ((char *) NULL, &icnt, NULL,
|
||||
dbl ? "dmult" : "mult",
|
||||
"s,t", sreg, treg);
|
||||
"s,t", sreg, imm ? AT : treg);
|
||||
macro_build ((char *) NULL, &icnt, NULL, "mflo", "d", dreg);
|
||||
macro_build ((char *) NULL, &icnt, NULL,
|
||||
dbl ? "dsra32" : "sra",
|
||||
@ -5980,15 +5995,24 @@ macro2 (ip)
|
||||
macro_build ((char *) NULL, &icnt, NULL, "mflo", "d", dreg);
|
||||
break;
|
||||
|
||||
case M_DMULOU_I:
|
||||
dbl = 1;
|
||||
case M_MULOU_I:
|
||||
imm = 1;
|
||||
goto do_mulou;
|
||||
|
||||
case M_DMULOU:
|
||||
dbl = 1;
|
||||
case M_MULOU:
|
||||
do_mulou:
|
||||
mips_emit_delays (true);
|
||||
++mips_opts.noreorder;
|
||||
mips_any_noreorder = 1;
|
||||
if (imm)
|
||||
load_register (&icnt, AT, &imm_expr, dbl);
|
||||
macro_build ((char *) NULL, &icnt, NULL,
|
||||
dbl ? "dmultu" : "multu",
|
||||
"s,t", sreg, treg);
|
||||
"s,t", sreg, imm ? AT : treg);
|
||||
macro_build ((char *) NULL, &icnt, NULL, "mfhi", "d", AT);
|
||||
macro_build ((char *) NULL, &icnt, NULL, "mflo", "d", dreg);
|
||||
if (mips_trap)
|
||||
@ -6903,6 +6927,7 @@ validate_mips_insn (opc)
|
||||
case 'l': break;
|
||||
case 'o': USE_BITS (OP_MASK_DELTA, OP_SH_DELTA); break;
|
||||
case 'p': USE_BITS (OP_MASK_DELTA, OP_SH_DELTA); break;
|
||||
case 'q': USE_BITS (OP_MASK_CODE2, OP_SH_CODE2); break;
|
||||
case 'r': USE_BITS (OP_MASK_RS, OP_SH_RS); break;
|
||||
case 's': USE_BITS (OP_MASK_RS, OP_SH_RS); break;
|
||||
case 't': USE_BITS (OP_MASK_RT, OP_SH_RT); break;
|
||||
@ -7387,13 +7412,30 @@ mips_ip (str, ip)
|
||||
my_getExpression (&imm_expr, s);
|
||||
check_absolute_expr (ip, &imm_expr);
|
||||
if ((unsigned) imm_expr.X_add_number > 1023)
|
||||
as_warn (_("Illegal break code (%ld)"),
|
||||
(long) imm_expr.X_add_number);
|
||||
{
|
||||
as_warn (_("Illegal break code (%ld)"),
|
||||
(long) imm_expr.X_add_number);
|
||||
imm_expr.X_add_number &= 0x3ff;
|
||||
}
|
||||
ip->insn_opcode |= imm_expr.X_add_number << 16;
|
||||
imm_expr.X_op = O_absent;
|
||||
s = expr_end;
|
||||
continue;
|
||||
|
||||
case 'q': /* lower break code */
|
||||
my_getExpression (&imm_expr, s);
|
||||
check_absolute_expr (ip, &imm_expr);
|
||||
if ((unsigned) imm_expr.X_add_number > 1023)
|
||||
{
|
||||
as_warn (_("Illegal lower break code (%ld)"),
|
||||
(long) imm_expr.X_add_number);
|
||||
imm_expr.X_add_number &= 0x3ff;
|
||||
}
|
||||
ip->insn_opcode |= imm_expr.X_add_number << 6;
|
||||
imm_expr.X_op = O_absent;
|
||||
s = expr_end;
|
||||
continue;
|
||||
|
||||
case 'B': /* syscall code */
|
||||
my_getExpression (&imm_expr, s);
|
||||
check_absolute_expr (ip, &imm_expr);
|
||||
|
@ -1,8 +1,21 @@
|
||||
start-sanitize-d30v
|
||||
Thu Apr 30 11:55:01 1998 Frank Ch. Eigler <fche@cygnus.com>
|
||||
|
||||
* gas/d30v/{inst,array,opt,reloc}.d: Accept <symbol+offset> labels
|
||||
in disassembly, where the offset is in hex and has a "0x" prefix.
|
||||
|
||||
end-sanitize-d30v
|
||||
Tue Apr 28 16:38:34 1998 Frank Ch. Eigler <fche@cygnus.com>
|
||||
|
||||
* gas/mips/lineno.[sd]: Assembly source line number test.
|
||||
* gas/mips/mips.exp: Added lineno test.
|
||||
|
||||
start-sanitize-sky
|
||||
Thu Apr 16 11:23:13 1998 Doug Evans <devans@canuck.cygnus.com>
|
||||
|
||||
* gas/testsuite/dvp/{vif-1.[sd],vif-3.s}: Update, '*' no longer
|
||||
supported as unpack address.
|
||||
* gas/dvp/{vif-1.[sd],vif-3.s}: Update, '*' no longer supported as
|
||||
unpack address. * gas/dvp/vif-4.[sd]: Test wl > cl with no input
|
||||
data.
|
||||
|
||||
end-sanitize-sky
|
||||
start-sanitize-r5900
|
||||
|
Loading…
x
Reference in New Issue
Block a user