This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] Add support for MIPS DSPr3
- From: "Maciej W. Rozycki" <macro at imgtec dot com>
- To: Matthew Fortune <Matthew dot Fortune at imgtec dot com>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Tue, 10 May 2016 17:36:13 +0100
- Subject: Re: [PATCH] Add support for MIPS DSPr3
- Authentication-results: sourceware.org; auth=none
- References: <6D39441BF12EF246A7ABCE6654B023537E403E42 at hhmail02 dot hh dot imgtec dot org>
Hi Matthew,
> A minor revision to the MIPS DSP ASE [1] was made in conjunction with MIPSr6 in
> order to add a compact variant of the BPOSGE32 instruction. DSPr3 is only
> supported alongside MIPSr6 and is recorded in the .MIPS.abiflags ASE flags.
Thank you for your contribution. Your change looks good overall, except
for a minor nit, see below. However it adds new command-line options, so
a corresponding GAS manual update is required. Please resubmit with these
changes made.
> [1] https://imgtec.com/mips/architectures/dsp/
As a side note it looks to me like in the documentation referred this
instruction is actually missing from opcode tables, which I'm told are the
primary ISA reference, especially where there is a conflict between an
encoding stated in the relevant opcode table and one in the corresponding
individual instruction description. Can you please raise the issue with
architecture documentation maintainers?
> diff --git a/gas/testsuite/gas/mips/mips32-dspr3.s b/gas/testsuite/gas/mips/mips32-dspr3.s
> new file mode 100644
> index 0000000..4512d3a
> --- /dev/null
> +++ b/gas/testsuite/gas/mips/mips32-dspr3.s
> @@ -0,0 +1,13 @@
> +# source file to test assembly of MIPS DSP ASE Rev3 for MIPS32 instructions
> +
> + .set noreorder
> + .set noat
> +
> + .text
> +text_label:
> + bposge32c text_label
> +
> +
> +# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
> + .align 2
> + .space 8
You have inconsistent operand separation here -- please either use 1 or 2
tabs or a single space consistently (`bposge32c' can be exempted in the
single tab case as it's longer than 8 characters, but use a single space
then). I'm leaving it up to you which style to choose.
Thanks,
Maciej