aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
diff options
context:
space:
mode:
authorHsiangkai Wang <kai.wang@sifive.com>2021-02-04 12:57:36 +0800
committerHsiangkai Wang <kai.wang@sifive.com>2021-02-18 10:17:31 +0800
commit766ee1096f0b32616c3e96b7acddc293e56c16ef (patch)
treea741d197b4c8147eb22d7a085577c15659afd123 /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
parent75997e84077451cff548901fd1637383a0d5515e (diff)
downloadllvm-766ee1096f0b32616c3e96b7acddc293e56c16ef.zip
llvm-766ee1096f0b32616c3e96b7acddc293e56c16ef.tar.gz
llvm-766ee1096f0b32616c3e96b7acddc293e56c16ef.tar.bz2
[Clang][RISCV] Define RISC-V V builtin types
Add the types for the RISC-V V extension builtins. These types will be used by the RISC-V V intrinsics which require types of the form <vscale x 1 x i64>(LMUL=1 element size=64) or <vscale x 4 x i32>(LMUL=2 element size=32), etc. The vector_size attribute does not work for us as it doesn't create a scalable vector type. We want these types to be opaque and have no operators defined for them. We want them to be sizeless. This makes them similar to the ARM SVE builtin types. But we will have quite a bit more types. This patch adds around 60. Later patches will add another 230 or so types representing tuples of these types similar to the x2/x3/x4 types in ARM SVE. But with extra complexity that these types are combined with the LMUL concept that is unique to RISCV. For more background see this RFC http://lists.llvm.org/pipermail/llvm-dev/2020-October/145850.html Authored-by: Roger Ferrer Ibanez <roger.ferrer@bsc.es> Co-Authored-by: Hsiangkai Wang <kai.wang@sifive.com> Differential Revision: https://reviews.llvm.org/D92715
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions