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

Simon Pilgrim via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Feb 26 05:23:56 PST 2023


RKSimon added a comment.

In D143287#4150186 <https://reviews.llvm.org/D143287#4150186>, @ManuelJBrito wrote:

> There are some performance regressions with casts from 128 to 512. The backend inserts vinsertf instructions. So that has to be fixed.
> In D130339 <https://reviews.llvm.org/D130339> @RKSimon  mentioned something about custom vector widening patterns that need to be adjusted to handle freeze(undef), any pointers for how a patch for that would look like?

IIRC there are various places in X86ISelLowering where we try to match vector widening/concat patterns - such as collectConcatOps/getTargetShuffleAndZeroables/resolveTargetShuffleInputsAndMask (and many more) - it should be fine to address these on a case by case basis though, as many should just disappear via SimplifyDemandedVectorElts etc.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D143287



More information about the cfe-commits mailing list