[all-commits] [llvm/llvm-project] 03c698: [MSVC, ARM64] Add _Copy* and _Count* intrinsics (#...

Amy Huang via All-commits all-commits at lists.llvm.org
Thu Sep 21 14:35:12 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 03c698a431b4dc23c2b9de3e9befd1860fef6e80
      https://github.com/llvm/llvm-project/commit/03c698a431b4dc23c2b9de3e9befd1860fef6e80
  Author: Amy Huang <akhuang at google.com>
  Date:   2023-09-21 (Thu, 21 Sep 2023)

  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 _Copy* and _Count* intrinsics (#66554)

Implement the _Count* and _Copy* Windows ARM intrinsics:

```
double _CopyDoubleFromInt64(__int64)
float _CopyFloatFromInt32(__int32)
__int32 _CopyInt32FromFloat(float)
__int64 _CopyInt64FromDouble(double)
unsigned int _CountLeadingOnes(unsigned long)
unsigned int _CountLeadingOnes64(unsigned __int64)
unsigned int _CountLeadingSigns(long)
unsigned int _CountLeadingSigns64(__int64)
unsigned int _CountLeadingZeros(unsigned long)
unsigned int _CountLeadingZeros64(unsigned __int64)
unsigned int _CountOneBits(unsigned long)
unsigned int _CountOneBits64(unsigned __int64)
```

Full list of intrinsics here:
[https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics](https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics)

Bug: [65405](https://github.com/llvm/llvm-project/issues/65405)




More information about the All-commits mailing list