[PATCH] D115955: [SLP]Alternate vectorization for cmp instructions.
Steven Johnson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 2 11:14:06 PST 2022
srj added a comment.
I have enclosed the smallest before-and-after cases that I've been able to narrow it down to, so far. I am going to hold off on trying to reduce it further until I hear back from you as to whether this is helpful or not.
The .ll files are what Halide produces via use with LLVM with the given commit (`17a39aecd1703d94e2b1dff0dedd690cc1b0aaaf` is correct behavior, `83620bd2ad867f706c699d0f2b8be10e43d9f3d7` is this commit with the incorrect behavior).
I realize this isn't very small, but I think the relevant sections are line 779 in the "before" case (` %.inv = icmp slt i64 %points_image2.total_extent.2, 2147483648`), which seems to get incorrectly vectorized into a `sgt` in the "after" case (line 785 or so).
The .s files are the resulting assembly on x86-64. Note that we are configured to generate SSE4.1 and AVX, but *not* AVX2.
F21958067: Archive.zip <https://reviews.llvm.org/F21958067>
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115955/new/
https://reviews.llvm.org/D115955
More information about the llvm-commits
mailing list