[PATCH] D103874: [IR] Rename the shufflevector's undef mask to poison

Juneyoung Lee via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 27 02:13:52 PDT 2022


aqjune added a comment.

In D103874#3611483 <https://reviews.llvm.org/D103874#3611483>, @nikic wrote:

> Which intrinsic are you working on here? If this is about the mm_undefined intrinsics, why do we need to change those from the current status quo of using a zero value instead of undef?

It is about the `mm256_castpd128_pd256` intrinsic and its friends (clang/test/CodeGen/X86/avx-builtins.c, line 146).
It was previously using `shufflevector` with undef masks - since the results are poison, an alternative pattern as below is necessary to represent the intrinsic:

  %a1 = freeze <2 x double> poison
  %res = shufflevector <2 x double> %a0, <2 x double> %a1, <4 x i32> <i32 0, i32 1, i32 2, i32 3>


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103874/new/

https://reviews.llvm.org/D103874



More information about the cfe-commits mailing list