This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH, AArch64] Implement LSE feature
- From: pinskia at gmail dot com
- To: Jiong Wang <jiong dot wang at arm dot com>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Wed, 3 Sep 2014 06:52:09 -0700
- Subject: Re: [PATCH, AArch64] Implement LSE feature
- Authentication-results: sourceware.org; auth=none
- References: <540711F5 dot 9050405 at arm dot com>
> On Sep 3, 2014, at 6:04 AM, Jiong Wang <email@example.com> wrote:
> This patch implements support for AArch64 LSE.
> * aarch64.h (AARCH64_FEATURE_LSE): New feature added.
> (aarch64_opnd): Add AARCH64_OPND_PAIRREG.
> (aarch64_insn_class): Add lse_atomic.
> (F_LSE_SZ): New field added.
> (opcode_has_special_coder): Recognize F_LSE_SZ.
> * aarch64-tbl.h (QL_R4NIL): New qualifiers.
> (aarch64_feature_lse): New feature added.
> (LSE): New Added.
> (aarch64_opcode_table): New LSE instructions added.
> Improve descriptions for ldarb/ldarh/ldar.
> (aarch64_opcode_table): Describe PAIRREG.
> * aarch64-opc.h (aarch64_field_kind): Add FLD_lse_sz.
> * aarch64-opc.c (fields): Add entry for F_LSE_SZ.
> (aarch64_print_operand): Recognize PAIRREG.
> (operand_general_constraint_met_p): Check reg pair
> constraints for CASP instructions.
> * aarch64-dis.c (aarch64_ext_regno_pair): New extractor for
> paired reg.
> (do_special_decoding): Recognize F_LSE_SZ.
> * aarch64-asm.c (do_special_encoding): Recognize F_LSE_SZ.
> * config/tc-aarch64.c (parse_operands): Recognize PAIRREG.
> (aarch64_features): Add entry for lse extension.
> * gas/aarch64/lse-atomic.d: New.
> * gas/aarch64/lse-atomic.s: Ditto.
> * gas/aarch64/illegal-lse.d: Ditto.
> * gas/aarch64/illegal-lse.l: Ditto.
> * gas/aarch64/illegal-lse.s: Ditto.
> * gas/aarch64/diagnostic.s: Check processor feature detect
> for lse instruction.
> * gas/aarch64/diagnostic.l: Ditto.
Bikeshedding: atomic seems like a better name for the set of instructions rather lse. With a quick look it is hard to tell what lse even stands for. Atomic on the other hand it is easier to figure it out.
I also have not looked to see how this compares to our(Cavium's) implementation.