]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
aarch64: fp8 convert and scale - add sve2 insn variants
authorVictor Do Nascimento <vicdon01@e133397.arm.com>
Tue, 27 Feb 2024 01:32:52 +0000 (01:32 +0000)
committerVictor Do Nascimento <victor.donascimento@arm.com>
Thu, 16 May 2024 12:22:30 +0000 (13:22 +0100)
commiteef66d27fcdc55c83a63a17f295409bb4a13688b
treeb9365975ccffe8a10e988a0bd7c409a6a5002926
parentab501c0deebc13c037f5385749b67d5186253e05
aarch64: fp8 convert and scale - add sve2 insn variants

Add the SVE2 variant of the FP8 convert and scale instructions,
enabled at assembly-time using the `+sve2+fp8' architectural
extension flag.  More specifically, support is added for the
following instructions:

FP8 convert to BFloat16 (bottom/top):
-------------------------------------

  - bf1cvt Z<d>.H, Z<n>.B
  - bf2cvt Z<d>.H, Z<n>.B
  - bf1cvtlt Z<d>.H, Z<n>.B
  - bf2cvtlt Z<d>.H, Z<n>.B

FP8 convert to half-precision (bottom/top):
-------------------------------------------

  - f1cvt Z<d>.H, Z<n>.B
  - f2cvt Z<d>.H, Z<n>.B
  - f1cvtlt Z<d>.H, Z<n>.B
  - f2cvtlt Z<d>.H, Z<n>.B

BFloat16/half-precision convert, narrow and
interleave to FP8:
-------------------------------------------

  - bfcvtn Z<d>.B, { Z<n>1.H - Z<n>2.H }
  - fcvtn Z<d>.B, { Z<n>1.H - Z<n>2.H }

Single-precision convert, narrow and interleave
to FP8 (bottom/top):
-----------------------------------------------

  - fcvtnb Z<d>.B, { Z<n>1.S - Z<n>2.S }
  - fcvtnt Z<d>.B, { Z<n>1.S - Z<n>2.S }
gas/testsuite/gas/aarch64/sme2-fp8-streaming.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2-fp8-dump [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2-fp8-fail.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2-fp8-fail.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2-fp8-fail.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2-fp8.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2-fp8.s [new file with mode: 0644]
opcodes/aarch64-dis-2.c
opcodes/aarch64-tbl.h