llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.92k stars 11.53k forks source link

clang-cl should provide implementations of more MSVC ARM64 intrinsics #65405

Open rnk opened 1 year ago

rnk commented 1 year ago

Some users have noticed that clang-cl does not provide some of the intrinsics listed in the MSVC ARM64 intrinsic list. In particular, the _Count* and _Copy* intrinsics seem worth implementing, like _CopyFloatFromInt32 and _CountLeadingZeros. See reference from the FP16 project here.

cc @amykhuang @pzhengqc

compnerd commented 1 year ago

@EugeneZelenko I assume that the windows label removal was accidental (if not please re-remove and leave a note as to why the MSVC behaviours are not really windows-y).

EugeneZelenko commented 1 year ago

@compnerd: Isn't clang-cl Windows-only thing?

compnerd commented 1 year ago

@EugeneZelenko yes, it is a windows thing, but can be used on other platforms. But that seems to indicate that it is supposed to be marked as windows (I was restoring the tag).

davidbienvenu commented 1 year ago

Another intrinsic that would be helpful is __prefetch.