[all-commits] [llvm/llvm-project] 3e0be5: [MSVC, ARM64] Add __writex18 intrinsics

Stephen Long via All-commits all-commits at lists.llvm.org
Mon May 23 07:01:38 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3e0be5610ff0e9d5bb15f2872bac8cd17bfcc34a
      https://github.com/llvm/llvm-project/commit/3e0be5610ff0e9d5bb15f2872bac8cd17bfcc34a
  Author: Stephen Long <steplong at quicinc.com>
  Date:   2022-05-23 (Mon, 23 May 2022)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/intrin.h
    M clang/test/CodeGen/arm64-microsoft-intrinsics.c

  Log Message:
  -----------
  [MSVC, ARM64] Add __writex18 intrinsics

https://docs.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=msvc-170

  void __writex18byte(unsigned long, unsigned char)
  void __writex18word(unsigned long, unsigned short)
  void __writex18dword(unsigned long, unsigned long)
  void __writex18qword(unsigned long, unsigned __int64)

Given the lack of documentation of the intrinsics, we chose to align the offset with just
`CharUnits::One()` when calling `IRBuilderBase::CreateAlignedStore()`.

Reviewed By: efriedma

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




More information about the All-commits mailing list