[all-commits] [llvm/llvm-project] 9c48b7: [AArch64][ARM] Alter v8.1a neon intrinsics to be t...

David Green via All-commits all-commits at lists.llvm.org
Tue Oct 25 01:03:05 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9c48b7f0e7a96e126a369d6036eff1bb259116c8
      https://github.com/llvm/llvm-project/commit/9c48b7f0e7a96e126a369d6036eff1bb259116c8
  Author: David Green <david.green at arm.com>
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
    M clang/include/clang/Basic/arm_neon.td
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/arm-target-features.c
    M clang/test/Sema/aarch64-neon-target.c
    M clang/test/Sema/arm-neon-target.c
    M llvm/include/llvm/Support/ARMTargetParser.h
    M llvm/lib/Support/ARMTargetParser.cpp

  Log Message:
  -----------
  [AArch64][ARM] Alter v8.1a neon intrinsics to be target-based, not preprocessor based

As a continuation of D132034, this switches the QRDMX v8.1a neon
intrinsics over from preprocessor defines to be target-gated. As there
is no "rdma" or "qrdmx" target feature, they use the "v8.1a"
architecture feature directly.

This works well for AArch64, but something needs to be done for Arm at
the same time, as they both use the same header and tablegen emitter.
This patch opts for adding "v8.1a" and all dependant target features to
the Arm TargetParser, similar to what was recently done for AArch64 but
through initFeatureMap when the Architecture is parsed. I attempted to
make the code similar to the AArch64 backend.

Otherwise this is similar to the changes made in D132034.

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




More information about the All-commits mailing list