[PATCH][GAS][5/8] aarch64: [SME] Add LD1x, ST1x, LDR and STR instructions
Jan Beulich
jbeulich@suse.com
Mon Jan 10 10:39:29 GMT 2022
On 25.10.2021 23:09, Przemyslaw Wirkus via Binutils wrote:
> gas/ChangeLog:
>
> * config/tc-aarch64.c (parse_sme_address): New parser.
> (parse_sme_za_hv_tiles_operand_with_braces): New parser.
> (parse_sme_za_array): New parser.
> (output_operand_error_record): Print error details if
> present.
> (parse_operands): Support new operands.
> * testsuite/gas/aarch64/sme-5-illegal.d: New test.
> * testsuite/gas/aarch64/sme-5-illegal.l: New test.
> * testsuite/gas/aarch64/sme-5-illegal.s: New test.
> * testsuite/gas/aarch64/sme-5.d: New test.
> * testsuite/gas/aarch64/sme-5.s: New test.
Quoting from this test (again it would be easier to comment if patches
were sent inline):
> --- /dev/null
> +++ b/gas/testsuite/gas/aarch64/sme-5.d
> @@ -0,0 +1,93 @@
> +#name: SME extension (LD1x instructions)
> +#as: -march=armv8-a+sme
> +#objdump: -dr
> +
> +.*: file format .*
> +
> +Disassembly of section \.text:
> +
> +0+ <.*>:
> + 0: e01f0000 ld1b {za0h.b\[w12, 0\]}, p0/z, \[x0, xzr\]
> + 4: e01f03e0 ld1b {za0h.b\[w12, 0\]}, p0/z, \[sp, xzr\]
> + 8: e00003e0 ld1b {za0h.b\[w12, 0\]}, p0/z, \[sp, x0\]
> + c: e01f7e2f ld1b {za0h.b\[w15, 15\]}, p7/z, \[x17, xzr\]
> + 10: e01f7fef ld1b {za0h.b\[w15, 15\]}, p7/z, \[sp, xzr\]
> + 14: e0117fef ld1b {za0h.b\[w15, 15\]}, p7/z, \[sp, x17\]
> + 18: e05f0000 ld1h {za0h.h\[w12, 0\]}, p0/z, \[x0, xzr, lsl #1\]
> + 1c: e05f03e0 ld1h {za0h.h\[w12, 0\]}, p0/z, \[sp, xzr, lsl #1\]
I'd like to ask whether it wouldn't have been better to suppress the
"xzr" (and, where applicable, "lsl #<n>") in disassembly. The assembler
accepts those forms, and without the extra clutter (sorry) the output
would be quite a bit easier to read imo.
Jan
More information about the Binutils
mailing list