[all-commits] [llvm/llvm-project] f17601: [ARM] Permit VGETLNi32 and VSETLNi32 without mnemo...

Simon Tatham via All-commits all-commits at lists.llvm.org
Thu Aug 3 05:21:31 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f17601b9a7376564b689083477a76a26c7dff7e8
      https://github.com/llvm/llvm-project/commit/f17601b9a7376564b689083477a76a26c7dff7e8
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2023-08-03 (Thu, 03 Aug 2023)

  Changed paths:
    M llvm/lib/Target/ARM/ARMInstrNEON.td
    M llvm/test/MC/ARM/neon-mov-encoding.s

  Log Message:
  -----------
  [ARM] Permit VGETLNi32 and VSETLNi32 without mnemonic suffix.

These instructions transfer 32 bits of data between an integer
register and half of a d-register. Currently LLVM accepts them only
with the syntax `vmov.32 r0, d0[0]` or `vmov.32 d0[0], r0`. But the
ARMARM says that the `.32` suffix on the mnemonic should be optional.

Added a pair of NEONInstAlias to accept the bare `vmov` version, and
checked that the result is the same as with `.32`.

This only adds new syntax accepted in assembly. The existing explicit
version is still used when disassembling these instructions.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D156868




More information about the All-commits mailing list