This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH MIPS][LS3A] Add Loongson3A specific instructions
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: Mingjie Xing <mingjie dot xing at gmail dot com>
- Cc: binutils <binutils at sourceware dot org>, Mingming Sun <mingm dot sun at gmail dot com>
- Date: Sat, 18 Dec 2010 11:15:21 +0000
- Subject: Re: [PATCH MIPS][LS3A] Add Loongson3A specific instructions
- References: <AANLkTinER4Z4hAuhEobOywSYd54oZOzzFq7NP+a_NxYv@mail.gmail.com>
Mingjie Xing <mingjie.xing@gmail.com> writes:
> I prepared a patch to add Loongson3A specific instructions. Tested on
> the cross compilation platform.
Thanks, loooks great.
> I'm not sure if the test cases are good enough. Suggestions are welcome.
They're good. The only change I made was:
> #objdump: -M reg-names=numeric -dr
> #name: Loongson delay slot tests
>
> .*: file format .*
>
> Disassembly of section .text:
>
> [0-9a-f]+ <.text>:
> .*: c8c50024 gslq \$4,\$5,0\(\$6\)
> .*: 10800002 beqz \$4,0x10
> .*: 00000000 nop
> .*: 00000000 nop
> #pass
removing the last "nop" here. The nop was only implicit -- being added
by alignment rather than a "nop" in the assembly source -- so it seemed
more natural to put the #pass at the 1: label.
Applied with that change and the following ChangeLog:
include/opcode/
2010-12-18 Mingjie Xing <mingjie.xing@gmail.com>
* mips.h (OP_*_OFFSET_A, OP_*_OFFSET_B, OP_*_OFFSET_C)
(OP_*_RZ, OP_*_FZ, INSN2_M_FP_D, INSN2_WRITE_GPR_Z, INSN2_WRITE_FPR_Z)
(INSN2_READ_GPR_Z, INSN2_READ_FPR_Z, INSN2_READ_GPR_D): Define.
opcodes/
2010-12-18 Mingjie Xing <mingjie.xing@gmail.com>
* mips-opc.c (WR_z, WR_Z, RD_z, RD_Z, RD_d): Define.
(mips_builtin_opcodes): Add loongson3a specific instructions.
* mips-dis.c (print_insn_args): Handle the new arguments +a|b|c|z|Z.
gas/
2010-12-18 Mingjie Xing <mingjie.xing@gmail.com>
* config/tc-mips.c (insn_uses_reg): Handle the new flags
INSN2_READ_FPR_Z, INSN2_READ_GPR_D and INSN2_READ_GPR_Z.
(append_insn): Handle delay-slot filling for the new flags.
(validate_mips_insn): Handle the new arguments +a|b|c|z|Z.
(mips_ip): Handle the new arguments +a|b|c|z|Z.
gas/testsuite/
2010-12-18 Mingjie Xing <mingjie.xing@gmail.com>
* gas/mips/loongson-3a-2.s, gas/mips/loongson-3a-2.d,
gas/mips/loongson-3a-3.s, gas/mips/loongson-3a-3.d: New tests.
* gas/mips/mips.exp: Run them.
Thanks,
Richard