[llvm-bugs] [Bug 46119] New: Slow handling of vectorized loop epilogue
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu May 28 02:15:08 PDT 2020
https://bugs.llvm.org/show_bug.cgi?id=46119
Bug ID: 46119
Summary: Slow handling of vectorized loop epilogue
Product: new-bugs
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: elrodc at gmail.com
CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org
I have benchmarks here:
https://chriselrod.github.io/LoopVectorization.jl/latest/examples/dot_product/
Showing poor performance of Julia and Clang-compiled functions whenever the
epilogue is long.
Optimized by LLVM:
https://godbolt.org/z/kfzhK2
Faster version:
https://godbolt.org/z/C5f7by
Benchmarks on a 10980xe, summing dot products of 4096 vectors with random
lengths uniformly distributed between 1 and...
32:
Default: 50.925 microseconds
Fast: 30.677 microseconds
64:
Default: 64.971 microseconds
Fast: 40.321 microseconds
96:
Default: 70.463 microseconds
Fast: 48.614 microseconds
128:
Default: 78.189 microseconds
Fast: 52.912 microseconds
LLVM's current behavior takes about 50% longer than using masks + SIMD
instructions on the epilogue for randomly sized vectors of length 1,...N where
N is 32, 64, 96, or 128 on this architecture.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200528/72435f8b/attachment.html>
More information about the llvm-bugs
mailing list