]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
aarch64: fp8 convert and scale - Add advsimd insn variants
authorVictor Do Nascimento <victor.donascimento@arm.com>
Tue, 6 Feb 2024 14:59:02 +0000 (14:59 +0000)
committerVictor Do Nascimento <victor.donascimento@arm.com>
Thu, 16 May 2024 12:22:30 +0000 (13:22 +0100)
commitab501c0deebc13c037f5385749b67d5186253e05
tree345754fbfce0d735a03d8c20d0c0602d2c38dc4c
parent7d0383ad39c1df982fc8a56a920d32a4c1f42625
aarch64: fp8 convert and scale - Add advsimd insn variants

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

FP8 convert to BFloat16 (vector):
---------------------------------

  - bf1cvtl V<d>.8H, V<n>.8B
  - bf2cvtl V<d>.8H, V<n>.8B
  - bf1cvtl2 V<d>.8H, V<n>.16B
  - bf2cvtl2 V<d>.8H, V<n>.16B

FP8 convert to half-precision (vector):
---------------------------------------

  - f1cvtl V<d>.8H, V<n>.8B
  - f2cvtl V<d>.8H, V<n>.8B
  - f1cvtl2 V<d>.8H, V<n>.16B
  - f2cvtl2 V<d>.8H, V<n>.16B

Single-precision to FP8 convert and narrow (vector):
----------------------------------------------------

  - fcvtn V<d>.8B, V<n>.4S, V<m>.4S
  - fcvtn2 V<d>.16B, V<n>.4S, V<m>.4S

Half-precision to FP8 convert and narrow (vector):
--------------------------------------------------

  - fcvtn V<d>.8B, V<n>.4H, V<m>.4H
  - fcvtn V<d>.16B, V<n>.8H, V<m>.8H

Floating-point adjust exponent by vector:
-----------------------------------------

  - fscale V<d>.4H, V<n>.4H, V<m>.4H
  - fscale V<d>.8H, V<n>.8H, V<m>.8H
  - fscale V<d>.2S, V<n>.2S, V<m>.2S
  - fscale V<d>.4S, V<n>.4S, V<m>.4S
  - fscale V<d>.2d, V<n>.2d, V<m>.2d
gas/testsuite/gas/aarch64/advsimd-fp8-fail.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/advsimd-fp8-fail.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/advsimd-fp8-fail.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/advsimd-fp8.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/advsimd-fp8.s [new file with mode: 0644]
opcodes/aarch64-dis-2.c
opcodes/aarch64-tbl.h