[PATCH] D143287: [Clang][x86] Change x86 cast intrinsics to use __builtin_nondeterministic_value

Manuel Brito via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 3 10:25:08 PST 2023


ManuelJBrito created this revision.
ManuelJBrito added reviewers: craig.topper, RKSimon.
Herald added subscribers: pengfei, mgrang.
Herald added a project: All.
ManuelJBrito requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

The following intrinsics are currently implemented using a shufflevector with an undefined mask, this is however incorrect according to intel's semantics for undefined value which expect an unknown but consistent value.

With `__builtin_nondeterministic_value` we can now match intel's undefined value.

Related patch for more context : https://reviews.llvm.org/D103874


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D143287

Files:
  clang/lib/Headers/avx512fintrin.h
  clang/lib/Headers/avx512fp16intrin.h
  clang/lib/Headers/avxintrin.h
  clang/test/CodeGen/X86/avx-builtins.c
  clang/test/CodeGen/X86/avx512f-builtins.c
  clang/test/CodeGen/X86/avx512fp16-builtins.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D143287.494679.patch
Type: text/x-patch
Size: 11960 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230203/4b53077f/attachment-0001.bin>


More information about the cfe-commits mailing list