[libc-commits] [lldb] [clang-tools-extra] [compiler-rt] [llvm] [libcxxabi] [libclc] [libc] [lld] [clang] [libcxx] [flang] [VPlan] Add new VPScalarCastRecipe, use for IV & step trunc. (PR #78113)
    Florian Hahn via libc-commits 
    libc-commits at lists.llvm.org
       
    Thu Jan 25 09:57:42 PST 2024
    
    
  
================
@@ -1469,6 +1461,52 @@ void VPReplicateRecipe::print(raw_ostream &O, const Twine &Indent,
 }
 #endif
 
+static bool isUniformAcrossVFsAndUFs(VPScalarCastRecipe *C) {
+  return C->isDefinedOutsideVectorRegions() ||
+         isa<VPDerivedIVRecipe>(C->getOperand(0)) ||
+         isa<VPCanonicalIVPHIRecipe>(C->getOperand(0));
+}
+
+Value *VPScalarCastRecipe ::generate(VPTransformState &State, unsigned Part) {
+  assert(vputils::onlyFirstLaneUsed(this) &&
+         "Codegen only implemented for first lane.");
+  switch (Opcode) {
+  case Instruction::SExt:
+  case Instruction::ZExt:
----------------
fhahn wrote:
Added a note, thanks!
https://github.com/llvm/llvm-project/pull/78113
    
    
More information about the libc-commits
mailing list