1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test/MC/AArch64
Cullen Rhodes 1ae2c0fb16 [AArch64][SME] Add zero instruction
This patch adds the zero instruction for zeroing a list of 64-bit
element ZA tiles. The instruction takes a list of up to eight tiles
ZA0.D-ZA7.D, which must be in order, e.g.

  zero {za0.d,za1.d,za2.d,za3.d,za4.d,za5.d,za6.d,za7.d}
  zero {za1.d,za3.d,za5.d,za7.d}

The assembler also accepts 32-bit, 16-bit and 8-bit element tiles which
are mapped to corresponding 64-bit element tiles in accordance with the
architecturally defined mapping between different element size tiles,
e.g.

  * Zeroing ZA0.B, or the entire array name ZA, is equivalent to zeroing
    all eight 64-bit element tiles ZA0.D to ZA7.D.
  * Zeroing ZA0.S is equivalent to zeroing ZA0.D and ZA4.D.

The preferred disassembly of this instruction uses the shortest list of
tile names that represent the encoded immediate mask, e.g.

  * An immediate which encodes 64-bit element tiles ZA0.D, ZA1.D, ZA4.D and
    ZA5.D is disassembled as {ZA0.S, ZA1.S}.
  * An immediate which encodes 64-bit element tiles ZA0.D, ZA2.D, ZA4.D and
    ZA6.D is disassembled as {ZA0.H}.
  * An all-ones immediate is disassembled as {ZA}.
  * An all-zeros immediate is disassembled as an empty list {}.

This patch adds the MatrixTileList asm operand and related parsing to support
this.

Depends on D105570.

The reference can be found here:
https://developer.arm.com/documentation/ddi0602/2021-06

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D105575
2021-07-27 08:35:45 +00:00
..
SME [AArch64][SME] Add zero instruction 2021-07-27 08:35:45 +00:00
SVE [AArch64][SVE] Asm: Fix supported immediates for DUP/CPY 2021-02-11 08:14:15 +00:00
SVE2
adr-diagnostics.s
adr.s
adrp-annotation.s
adrp-relocation2.s
adrp-relocation.s
alias-addsubimm.s [AArch64] Support llvm-mc/llvm-objdump -M no-aliases 2021-05-26 13:35:31 -07:00
alias-logicalimm.s
arm32-elf-relocs.s
arm64_32-compact-unwind.s
arm64-adr.s
arm64-advsimd.s
arm64-aliases.s
arm64-arithmetic-encoding.s
arm64-arm64-fixup.s
arm64-basic-a64-instructions.s
arm64-be-datalayout.s
arm64-bitfield-encoding.s
arm64-branch-encoding.s
arm64-compact-unwind-fallback.s
arm64-condbr-without-dots.s
arm64-crypto.s
arm64-diagno-predicate.s
arm64-diags.s
arm64-directive_loh.s
arm64-elf-reloc-condbr.s
arm64-elf-relocs.s
arm64-fp-encoding-error.s
arm64-fp-encoding.s
arm64-ilp32.s
arm64-large-relocs.s
arm64-leaf-compact-unwind.s
arm64-logical-encoding.s
arm64-memory.s
arm64-no-section.ll
arm64-nv-cond.s
arm64-optional-hash.s
arm64-separator.s
arm64-simd-ldst.s
arm64-small-data-fixups.s
arm64-spsel-sysreg.s
arm64-system-encoding.s
arm64-target-specific-sysreg.s
arm64-tls-modifiers-darwin.s
arm64-v128_lo-diagnostics.s
arm64-variable-exprs.s
arm64-vector-lists.s
arm64-verbose-vector-case.s
arm64e-subtype.s
arm64e.s
arm64v8.1-diagno-predicate.s
armv8.1a-atomic.s
armv8.1a-lor.s
armv8.1a-lse.s
armv8.1a-pan.s
armv8.1a-rdma.s
armv8.1a-vhe.s
armv8.2a-at.s
armv8.2a-bfc.s
armv8.2a-crypto-apple.s
armv8.2a-crypto-error.s
armv8.2a-crypto.s
armv8.2a-dotprod-errors.s
armv8.2a-dotprod.s
armv8.2a-persistent-memory.s
armv8.2a-statistical-profiling.s
armv8.2a-uao.s
armv8.3a-complex_bad.s
armv8.3a-complex_missing.s
armv8.3a-complex_nofp16_bad.s
armv8.3a-complex_nofp16.s
armv8.3a-complex.s
armv8.3a-diagnostics.s
armv8.3a-ID_ISAR6_EL1.s
armv8.3a-js.s
armv8.3a-pauth.s
armv8.3a-rcpc.s
armv8.3a-signed-pointer.s
armv8.4a-actmon.s
armv8.4a-dit.s
armv8.4a-flag-error.s
armv8.4a-flag.s
armv8.4a-flagm.s
armv8.4a-ldst-error.s
armv8.4a-ldst.s
armv8.4a-mpam.s
armv8.4a-pmu.s
armv8.4a-ras.s
armv8.4a-tlb.s
armv8.4a-trace-error.s
armv8.4a-trace.s
armv8.4a-virt.s
armv8.4a-vncr.s
armv8.5a-altnzcv.s
armv8.5a-bti-error.s
armv8.5a-bti.s
armv8.5a-frint-error.s
armv8.5a-frint.s
armv8.5a-mte-error.s
armv8.5a-mte.s
armv8.5a-persistent-memory.s
armv8.5a-predres-error.s
armv8.5a-predres.s
armv8.5a-rand-error.s
armv8.5a-rand.s
armv8.5a-sb.s
armv8.5a-specrestrict.s
armv8.5a-ssbs-error.s
armv8.5a-ssbs.s
armv8.5a-xaflag-error.s
armv8.6a-amvs.s
armv8.6a-bf16.s
armv8.6a-ecv.s
armv8.6a-fgt.s
armv8.6a-simd-matmul-error.s
armv8.6a-simd-matmul.s
armv8.7a-hcx.s
armv8.7a-ls64.s
armv8.7a-wfxt.s
armv8.7a-xs.s
armv8a-fpmul-error.s
armv8a-fpmul.s
armv9a-rme.s [Aarch64] Adding support for Armv9-A Realm Management Extension 2021-06-28 13:45:22 +01:00
atomic-acquire-comment.s
basic-a64-diagnostics.s
basic-a64-instructions.s
basic-pic.s
brbe.s
case-insen-reg-names.s
cfi.s [MC] Parse end-of-line for .cfi_* directives 2021-03-06 16:20:55 -08:00
CheckDataSymbol.s
coff-align.s
coff-basic.ll
coff-debug.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
coff-function-type-info.ll
coff-relocations-diags.s [AArch64] [COFF] Properly produce cross-section relative relocations 2021-04-14 12:31:26 +03:00
coff-relocations.s [AArch64][X86] Allow 64-bit label differences lower to IMAGE_REL_*_REL32 2021-06-21 14:32:25 -07:00
coff-separator.s
cold.s
crc.s
cyclone-movi-bug.s
darwin-reloc-addsubimm.s
directive-arch_extension-negative.s
directive-arch_extension.s [AArch64] Support .arch_extension pan 2021-03-24 11:29:22 -07:00
directive-arch-negative.s
directive-arch.s [AArch64] Parse "rng" feature flag in .arch directive 2021-03-16 14:10:19 -07:00
directive-cpu-err.s
directive-cpu.s
directive-variant_pcs-err.s [AArch64][MC] Remove unneeded "in .xxx directive" from diagnostics 2021-05-23 13:58:16 -07:00
directive-variant_pcs.s
directives-case_insensitive.s
dot-req-case-insensitive.s
dot-req-diagnostics.s
dot-req.s
ELF_ARM64_large-relocations.s
elf_osabi_flags.s
elf-extern.s
elf-globaladdress.ll
elf-objdump.s
elf-reloc-addsubimm.s
elf-reloc-ldrlit.s
elf-reloc-ldstunsimm.s
elf-reloc-movw.s
elf-reloc-pcreladdressing.s
elf-reloc-plt32.s
elf-reloc-tstb.s
elf-reloc-uncondbrimm.s
error-location-during-layout.s
error-location-ldr-pseudo.s
error-location-post-layout.s
error-location.s
ete-sysregs.s
expr-bad-symbol.s
expr-shr.s
fixup-absolute-signed.s
fixup-absolute.s
fixup-out-of-range.s
fullfp16-diagnostics.s
fullfp16-neon-neg.s
gicv3-regs-diagnostics.s
gicv3-regs.s
ilp32-diagnostics.s
inline-asm-modifiers.s
inst-directive-diagnostic.s
inst-directive-other.s
inst-directive.s
invalid-instructions-spellcheck.s
ir-to-imgrel.ll
jump-table.s
label-arithmetic-darwin.s
label-arithmetic-diags-darwin.s
label-arithmetic-diags-elf.s
label-arithmetic-elf.s
ldr-pseudo-diagnostics.s
ldr-pseudo-obj-errors.s
ldr-pseudo.s
lit.local.cfg
macho-addend-range.s
macho-adrp-missing-reloc.s
macho-adrp-page.s
macro-hex-int.s
mapping-across-sections.s
mapping-within-section.s
mov-expr-as-immediate.s
mov-expression-as-immediate.s
mov-unsupported-expr-as-immediate.s
neon-2velem.s
neon-3vdiff.s
neon-aba-abd.s
neon-across.s
neon-add-pairwise.s
neon-add-sub-instructions.s
neon-bitwise-instructions.s
neon-compare-instructions.s
neon-crypto.s
neon-diagnostics.s [AArch64][SME] Add load and store instructions 2021-07-16 10:11:10 +00:00
neon-extract.s
neon-facge-facgt.s
neon-frsqrt-frecp.s
neon-halving-add-sub.s
neon-max-min-pairwise.s
neon-max-min.s
neon-mla-mls-instructions.s
neon-mov.s
neon-mul-div-instructions.s
neon-perm.s
neon-rounding-halving-add.s
neon-rounding-shift.s
neon-saturating-add-sub.s
neon-saturating-rounding-shift.s
neon-saturating-shift.s
neon-scalar-abs.s
neon-scalar-add-sub.s
neon-scalar-by-elem-mla.s
neon-scalar-by-elem-mul.s
neon-scalar-by-elem-saturating-mla.s
neon-scalar-by-elem-saturating-mul.s
neon-scalar-compare.s
neon-scalar-cvt.s
neon-scalar-dup.s
neon-scalar-extract-narrow.s
neon-scalar-fp-compare.s
neon-scalar-mul.s
neon-scalar-neg.s
neon-scalar-recip.s
neon-scalar-reduce-pairwise.s
neon-scalar-rounding-shift.s
neon-scalar-saturating-add-sub.s
neon-scalar-saturating-rounding-shift.s
neon-scalar-saturating-shift.s
neon-scalar-shift-imm.s
neon-scalar-shift.s
neon-shift-left-long.s
neon-shift.s
neon-simd-copy.s
neon-simd-ldst-multi-elem.s
neon-simd-ldst-one-elem.s
neon-simd-misc.s
neon-simd-post-ldst-multi-elem.s
neon-simd-shift.s
neon-sxtl.s
neon-tbl.s
neon-uxtl.s
nofp-crypto-diagnostic.s
noneon-diagnostics.s
optional-hash.s
ras-extension.s
reloc-directive-err.s
reloc-directive.s [MC][AArch64] Support .reloc *, BFD_RELOC_{NONE,16,32,64}, * 2021-03-05 21:31:08 -08:00
seh-optimize.s
seh-packed-epilog.s
seh-packed-unwind.s
seh.s
shift_extend_op_w_symbol.s [AArch64][AsmParser] NFC: Parser.getTok().getLoc() -> getLoc() 2021-07-26 09:36:34 +00:00
single-slash.s
size-directive.s ELFObjectWriter: Don't sort non-local symbols 2021-02-13 10:32:27 -08:00
spe.s
speculation-barriers.s
tls-add-shift.s
tls-relocs.s [AArch64] Replace fixup_aarch64_tlsdesc_call with FirstLiteralRelocationKind + R_AARCH64_{,P32_}TLSDESC_CALL 2021-05-05 17:41:56 -07:00
tme-error.s
tme.s
trace-regs-diagnostics.s
trace-regs.s
trbe-sysreg-diag.s
trbe-sysreg.s
udf_not.s
udf.s