[all-commits] [llvm/llvm-project] f8e0e5: [X86] Enable constexpr on _cast fp<-> uint intrins...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Sun Aug 23 02:34:04 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f8e0e5db48601cb0d019405703ccaa2378f503e0
      https://github.com/llvm/llvm-project/commit/f8e0e5db48601cb0d019405703ccaa2378f503e0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-08-23 (Sun, 23 Aug 2020)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Headers/ia32intrin.h
    M clang/test/CodeGen/x86-builtins.c

  Log Message:
  -----------
  [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




More information about the All-commits mailing list