[llvm] This is a draft for enabling opt-in tail-folding on vectorized epilogue. (PR #181401)

Ashutosh Nema via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 4 03:56:50 PDT 2026


nema-ashutosh wrote:

Thanks @hassnaaHamdi for working on this. I tried the change on an example and noticed it isn’t behaving as expected, perhaps I’m missing something:

test:
void foo(char *A, char *B, char *C, unsigned len) {
  for (unsigned i =0 ; i < len; i++)
    A[i] = B[i] + C[i];
}

Attempt#1: Crash
$ clang test.c -march=znver4 -O3 -S -emit-llvm -o out.ll -mllvm -prefer-predicate-over-epilogue=predicated-epilogue

Attempt#2: No tail folded vector epilog
./bin/clang test.c -mavx2 -O3 -S -emit-llvm -o out.ll -mllvm -prefer-predicate-over-epilogue=predicated-epilogue

I understand this is still a draft. If possible can u guide me to try example test !

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


More information about the llvm-commits mailing list