mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 06:17:47 +08:00
opcodes: blackfin: fix decoding of dsp mult insns
When assigning to a register half, the mac0 part of the mult insn was not decoding properly. It would always show a full dreg instead of the dreg low half. Once we fix the disassembler, we have to update a few of the gas tests as their previous expected output was incorrect. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
@ -1,3 +1,8 @@
|
||||
2011-02-13 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* bfin-dis.c (decode_dsp32mult_0): Add 1 to dst for mac1. Output
|
||||
dregs only when P is set, and dregs_lo otherwise.
|
||||
|
||||
2011-02-13 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* bfin-dis.c (decode_dsp32alu_0): Delete BYTEOP2M code.
|
||||
|
@ -3084,7 +3084,7 @@ decode_dsp32mult_0 (TIword iw0, TIword iw1, disassemble_info *outf)
|
||||
|
||||
if (w1)
|
||||
{
|
||||
OUTS (outf, P ? dregs (dst | 1) : dregs_hi (dst));
|
||||
OUTS (outf, P ? dregs (dst + 1) : dregs_hi (dst));
|
||||
OUTS (outf, " = ");
|
||||
decode_multfunc (h01, h11, src0, src1, outf);
|
||||
|
||||
@ -3099,7 +3099,7 @@ decode_dsp32mult_0 (TIword iw0, TIword iw1, disassemble_info *outf)
|
||||
|
||||
if (w0)
|
||||
{
|
||||
OUTS (outf, dregs (dst));
|
||||
OUTS (outf, P ? dregs (dst) : dregs_lo (dst));
|
||||
OUTS (outf, " = ");
|
||||
decode_multfunc (h00, h10, src0, src1, outf);
|
||||
}
|
||||
|
Reference in New Issue
Block a user