[all-commits] [llvm/llvm-project] 4f1e64: [MSVC, ARM64] Add __readx18 intrinsics

Stephen Long via All-commits all-commits at lists.llvm.org
Mon May 23 11:00:47 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4f1e64b54f59dd4c303d04b62926f35bde5a2c79
      https://github.com/llvm/llvm-project/commit/4f1e64b54f59dd4c303d04b62926f35bde5a2c79
  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 __readx18 intrinsics

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

  unsigned char __readx18byte(unsigned long)
  unsigned short __readx18word(unsigned long)
  unsigned long __readx18dword(unsigned long)
  unsigned __int64 __readx18qword(unsigned long)

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

Reviewed By: efriedma

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




More information about the All-commits mailing list