SuccessChanges

Summary

  1. [X86] Enable constexpr on _cast fp<-> uint intrinsics (PR31446) (details)
  2. [docs] Add an initial (non-exhaustive) list of intrinsics that can be used in constant expressions (details)
Commit f8e0e5db48601cb0d019405703ccaa2378f503e0 by llvm-dev
[X86] Enable constexpr on _cast fp<-> uint intrinsics (PR31446)

As suggested by @rsmith on PR47267, by replacing the builtin_memcpy bitcast pattern with builtin_bit_cast we can use _castf32_u32, _castu32_f32, _castf64_u64 and _castu64_f64 inside constant expresssions (constexpr). Although __builtin_bit_cast was added for c++20 it works on all clang c/c++ modes.

Differential Revision: https://reviews.llvm.org/D86398
The file was modifiedclang/lib/Headers/ia32intrin.h
The file was modifiedclang/test/CodeGen/x86-builtins.c
The file was modifiedclang/docs/ReleaseNotes.rst
Commit f76adc2603f6cc466dd809142388ffb56a1c3e31 by llvm-dev
[docs] Add an initial (non-exhaustive) list of intrinsics that can be used in constant expressions

As suggested by @rsmith on D86398 - we should try to document the intrinsics that can be used in constexpr
The file was modifiedclang/docs/LanguageExtensions.rst