aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support/VirtualFileSystemTest.cpp
diff options
context:
space:
mode:
authorSp00ph <markuseverling@gmail.com>2023-05-03 15:56:16 +0100
committerDavid Green <david.green@arm.com>2023-05-03 15:56:16 +0100
commit8e46ac3623b4dfbd7127fc0deee5cf82a3f9d472 (patch)
treec88d76557f566598d00dfd9578bc2f810a7c1a66 /llvm/unittests/Support/VirtualFileSystemTest.cpp
parent53710b43a0546c329a7523055987981a4fc7973b (diff)
downloadllvm-8e46ac3623b4dfbd7127fc0deee5cf82a3f9d472.zip
llvm-8e46ac3623b4dfbd7127fc0deee5cf82a3f9d472.tar.gz
llvm-8e46ac3623b4dfbd7127fc0deee5cf82a3f9d472.tar.bz2
[AArch64] Add more efficient bitwise vector reductions.
Improves the codegen for VECREDUCE_{AND,OR,XOR} operations on AArch64. Currently, these are fully scalarized, except if the vector is a <N x i1>. This patch improves the codegen down to O(log(N)) where N is the length of the vector for vectors whose elements are not i1, by repeatedly applying the bitwise operations to the two halves of the vector. <N x i1> bitwise reductions are handled using VECREDUCE_{UMAX,UMIN,ADD} instead. I had to update quite a few codegen tests with these changes, with a general downward trend in instruction count. Since the vector reductions already have tests, I haven't added any new tests myself. Differential Revision: https://reviews.llvm.org/D148185
Diffstat (limited to 'llvm/unittests/Support/VirtualFileSystemTest.cpp')
0 files changed, 0 insertions, 0 deletions