[PATCH] D104790: [x86] fix mm*_undefined* intrinsics to use arbitrary frozen bit pattern

Juneyoung Lee via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Jun 27 01:33:42 PDT 2021


aqjune added a comment.

In D104790#2842523 <https://reviews.llvm.org/D104790#2842523>, @nikic wrote:

> Is this actually better in any meaningful way? InstCombine will turn `freeze poison` into `zeroinitializer`, and until then this is just a completely opaque value.

I think to correctly emit IR for intrinsics like mm256_castsi128_si256 (D103874 <https://reviews.llvm.org/D103874> has more context) efficient handling of this kind of pattern is necessary:

  %v = freeze <n x ty> poison
  %w = shufflevector %a, %v, mask

The zeroinitializer folding is done by InstCombine's visitFreeze, which should be fixed maybe.
I'll play with some patterns and create patches for this.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D104790



More information about the cfe-commits mailing list