aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorZhaoxin Yang <yangzhaoxin@loongson.cn>2024-07-23 12:06:59 +0800
committerGitHub <noreply@github.com>2024-07-23 12:06:59 +0800
commit464ea880cf7710cc8675c83001d7ae020406cf42 (patch)
tree0ef5fc3caefd416937fbeced2a4f106157731ae6 /clang/lib/Frontend/CompilerInvocation.cpp
parent73ffeeab12d54211fd838d6ff988d111369ea196 (diff)
downloadllvm-464ea880cf7710cc8675c83001d7ae020406cf42.zip
llvm-464ea880cf7710cc8675c83001d7ae020406cf42.tar.gz
llvm-464ea880cf7710cc8675c83001d7ae020406cf42.tar.bz2
[LoongArch][CodeGen] Implement 128-bit and 256-bit vector shuffle. (#100054)
[LoongArch][CodeGen] Implement 128-bit and 256-bit vector shuffle operations. In LoongArch, shuffle operations can be divided into two types: - Single-vector shuffle: Shuffle using only one vector, with the other vector being `undef` or not selected by mask. This can be expanded to instructions such as `vreplvei` and `vshuf4i`. - Two-vector shuffle: Shuflle using two vectors. This can be expanded to instructions like `vilv[l/h]`, `vpack[ev/od]`, `vpick[ev/od]` and the basic `vshuf`. In the future, more optimizations may be added, such as handling 1-bit vectors and processing single element patterns, etc.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions