[llvm] [LV][EVL] Support cast instruction with EVL-vectorization (PR #108351)

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 23 11:01:49 PDT 2024


================
@@ -1381,16 +1384,55 @@ void VPWidenCastRecipe::execute(VPTransformState &State) {
   }
 }
 
+void VPWidenCastEVLRecipe::execute(VPTransformState &State) {
+  unsigned Opcode = getOpcode();
+  auto Inst = cast<CastInst>(getUnderlyingInstr());
+  State.setDebugLocFrom(getDebugLoc());
+  assert(State.UF == 1 && "Expected only UF == 1 when vectorizing with "
+                          "explicit vector length.");
+
+  if (Inst->isCast()) {
----------------
alexey-bataev wrote:

Is it possible to have anything else rather than cast here?

https://github.com/llvm/llvm-project/pull/108351


More information about the llvm-commits mailing list