[3/11][POC][Clang][RISCV] Add typedef of the tuple type and define tuple type variant...
authoreopXD <yueh.ting.chen@gmail.com>
Thu, 6 Apr 2023 08:29:18 +0000 (01:29 -0700)
committereopXD <yueh.ting.chen@gmail.com>
Mon, 22 May 2023 09:51:14 +0000 (02:51 -0700)
commit0019226ceef779c7d9aa55f2f56b30e948cc9251
tree6c1abb618231951123846f762d8957b292defa3d
parentc21f1feed390a818458ebd069424ca80b0e4dfd5
[3/11][POC][Clang][RISCV] Add typedef of the tuple type and define tuple type variant of vlseg2e32

For the cover letter of this patch-set, please checkout D146872.

Depends on D146873.

This is the 3rd patch of the patch-set. This patch originates from
D99593.

Note: This patch is a proof-of-concept and will be extended to full
coverage in the future. Currently, the old non-tuple unit-stride
segment load is not removed, and only signed integer unit-strided
segment load of NF=2, EEW=32 is defined here.

When replacing the old intrinsics, the extra `IsTuple` parameter under
various places will be redundant and removed.

Authored-by: eop Chen <eop.chen@sifive.com>
Co-Authored-by: Hsiangkai Wang <kai.wang@sifive.com>
Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D147731
clang/include/clang/AST/ASTContext.h
clang/include/clang/Basic/riscv_vector.td
clang/include/clang/Basic/riscv_vector_common.td
clang/include/clang/Support/RISCVVIntrinsicUtils.h
clang/lib/AST/ASTContext.cpp
clang/lib/Sema/SemaRISCVVectorLookup.cpp
clang/lib/Support/RISCVVIntrinsicUtils.cpp
clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e32_tuple.c [new file with mode: 0644]
clang/utils/TableGen/RISCVVEmitter.cpp