[PATCH, AArch64] Implement LSE feature
pinskia@gmail.com
pinskia@gmail.com
Wed Sep 3 13:52:00 GMT 2014
> On Sep 3, 2014, at 6:04 AM, Jiong Wang <jiong.wang@arm.com> wrote:
>
> This patch implements support for AArch64 LSE.
>
> OK?
>
> include/opcode/
> * 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.
>
> opcode/
> * 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.
>
> gas/
> * config/tc-aarch64.c (parse_operands): Recognize PAIRREG.
> (aarch64_features): Add entry for lse extension.
>
> gas/testsuite/
> * 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.
> <lse.patch>
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.
Thanks,
Andrew
More information about the Binutils
mailing list