[all-commits] [llvm/llvm-project] 9f6250: [Clang][AArch64][SME] Add vector load/store (ld1/s...

Bryan Chan via All-commits all-commits at lists.llvm.org
Sun May 28 18:01:21 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9f6250f591057e68c0bda564716b6918b8e39a84
      https://github.com/llvm/llvm-project/commit/9f6250f591057e68c0bda564716b6918b8e39a84
  Author: Bryan Chan <bryan.chan at huawei.com>
  Date:   2023-05-28 (Sun, 28 May 2023)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/include/clang/Basic/BuiltinsARM.def
    M clang/include/clang/Basic/BuiltinsNEON.def
    A clang/include/clang/Basic/BuiltinsSME.def
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/TargetBuiltins.h
    A clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    A clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    A clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
    A clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
    A clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
    A clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
    A clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp
    A clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h

  Log Message:
  -----------
  [Clang][AArch64][SME] Add vector load/store (ld1/st1) intrinsics

This patch adds support for the following SME ACLE intrinsics (as defined
in https://arm-software.github.io/acle/main/acle.html):

  - svld1_hor_za8      // also for _za16, _za32, _za64 and _za128
  - svld1_hor_vnum_za8 // also for _za16, _za32, _za64 and _za128
  - svld1_ver_za8      // also for _za16, _za32, _za64 and _za128
  - svld1_ver_vnum_za8 // also for _za16, _za32, _za64 and _za128
  - svst1_hor_za8      // also for _za16, _za32, _za64 and _za128
  - svst1_hor_vnum_za8 // also for _za16, _za32, _za64 and _za128
  - svst1_ver_za8      // also for _za16, _za32, _za64 and _za128
  - svst1_ver_vnum_za8 // also for _za16, _za32, _za64 and _za128

SveEmitter.cpp is extended to generate arm_sme.h (currently named
arm_sme_draft_spec_subject_to_change.h) and other SME definitions from
arm_sme.td, which is modeled after arm_sve.td. Common TableGen definitions
are moved into arm_sve_sme_incl.td.

Co-authored-by: Sagar Kulkarni <sagar.kulkarni1 at huawei.com>

Reviewed By: sdesmalen, kmclaughlin

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




More information about the All-commits mailing list