aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2020-11-17 21:34:34 -0800
committerCraig Topper <craig.topper@sifive.com>2020-11-17 23:49:06 -0800
commitf0b0bab34dd82c07d153d31363d89ebd04cc733d (patch)
tree9180d53bec018ed5fca345153bc40e1cfe68863f /clang/lib/Frontend/CompilerInvocation.cpp
parent32876117625ab7ad294651de8898c40fbe827936 (diff)
downloadllvm-f0b0bab34dd82c07d153d31363d89ebd04cc733d.zip
llvm-f0b0bab34dd82c07d153d31363d89ebd04cc733d.tar.gz
llvm-f0b0bab34dd82c07d153d31363d89ebd04cc733d.tar.bz2
[X86] Use GF2P8AFFINEQB to implement vector bitreverse.
We can use GF2P8AFFINEQB to reverse bits in a byte. Shuffles are needed to reverse the bytes in elements larger than i8. LegalizeVectorOps takes care of inserting the shuffle for the larger element size. We already have Custom lowering for v16i8 with SSSE3, v32i8 with AVX, and v64i8 with AVX512BW. I think we might be able to use this for scalars too by moving into a vector and back. But I'll save that for a follow up as its a little more involved. Reviewed By: RKSimon, pengfei Differential Revision: https://reviews.llvm.org/D91515
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions