Bug Summary

File:build-llvm/tools/clang/include/clang/Basic/riscv_vector_builtin_cg.inc
Warning:line 2554, column 3
Value stored to 'ID' is never read

Annotated Source Code

Press '?' to see keyboard shortcuts

clang -cc1 -cc1 -triple x86_64-pc-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name CGBuiltin.cpp -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=cplusplus -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -analyzer-config-compatibility-mode=true -mrelocation-model pic -pic-level 2 -mframe-pointer=none -relaxed-aliasing -fmath-errno -fno-rounding-math -mconstructor-aliases -munwind-tables -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -ffunction-sections -fdata-sections -fcoverage-compilation-dir=/build/llvm-toolchain-snapshot-13~++20210610111127+c5ffc6f8bd6a/build-llvm/tools/clang/lib/CodeGen -resource-dir /usr/lib/llvm-13/lib/clang/13.0.0 -D CLANG_ROUND_TRIP_CC1_ARGS=ON -D _DEBUG -D _GNU_SOURCE -D __STDC_CONSTANT_MACROS -D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -I /build/llvm-toolchain-snapshot-13~++20210610111127+c5ffc6f8bd6a/build-llvm/tools/clang/lib/CodeGen -I /build/llvm-toolchain-snapshot-13~++20210610111127+c5ffc6f8bd6a/clang/lib/CodeGen -I /build/llvm-toolchain-snapshot-13~++20210610111127+c5ffc6f8bd6a/clang/include -I /build/llvm-toolchain-snapshot-13~++20210610111127+c5ffc6f8bd6a/build-llvm/tools/clang/include -I /build/llvm-toolchain-snapshot-13~++20210610111127+c5ffc6f8bd6a/build-llvm/include -I /build/llvm-toolchain-snapshot-13~++20210610111127+c5ffc6f8bd6a/llvm/include -D NDEBUG -U NDEBUG -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/backward -internal-isystem /usr/lib/llvm-13/lib/clang/13.0.0/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wno-comment -std=c++14 -fdeprecated-macro -fdebug-compilation-dir=/build/llvm-toolchain-snapshot-13~++20210610111127+c5ffc6f8bd6a/build-llvm/tools/clang/lib/CodeGen -fdebug-prefix-map=/build/llvm-toolchain-snapshot-13~++20210610111127+c5ffc6f8bd6a=. -ferror-limit 19 -fvisibility-inlines-hidden -stack-protector 2 -fgnuc-version=4.2.1 -vectorize-loops -vectorize-slp -analyzer-output=html -analyzer-config stable-report-filename=true -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/scan-build-2021-06-10-162512-48765-1 -x c++ /build/llvm-toolchain-snapshot-13~++20210610111127+c5ffc6f8bd6a/clang/lib/CodeGen/CGBuiltin.cpp
1case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf2_i8m1:
2case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf4_i8m1:
3case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf8_i8m1:
4case RISCV::BI__builtin_rvv_vlmul_ext_v_i16mf2_i16m1:
5case RISCV::BI__builtin_rvv_vlmul_ext_v_i16mf4_i16m1:
6case RISCV::BI__builtin_rvv_vlmul_ext_v_i32mf2_i32m1:
7case RISCV::BI__builtin_rvv_vlmul_ext_v_f32mf2_f32m1:
8case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf4_i8mf2:
9case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf8_i8mf2:
10case RISCV::BI__builtin_rvv_vlmul_ext_v_i16mf4_i16mf2:
11case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf8_i8mf4:
12case RISCV::BI__builtin_rvv_vlmul_ext_v_i8m1_i8m2:
13case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf2_i8m2:
14case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf4_i8m2:
15case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf8_i8m2:
16case RISCV::BI__builtin_rvv_vlmul_ext_v_i16m1_i16m2:
17case RISCV::BI__builtin_rvv_vlmul_ext_v_i16mf2_i16m2:
18case RISCV::BI__builtin_rvv_vlmul_ext_v_i16mf4_i16m2:
19case RISCV::BI__builtin_rvv_vlmul_ext_v_i32m1_i32m2:
20case RISCV::BI__builtin_rvv_vlmul_ext_v_i32mf2_i32m2:
21case RISCV::BI__builtin_rvv_vlmul_ext_v_i64m1_i64m2:
22case RISCV::BI__builtin_rvv_vlmul_ext_v_f32m1_f32m2:
23case RISCV::BI__builtin_rvv_vlmul_ext_v_f32mf2_f32m2:
24case RISCV::BI__builtin_rvv_vlmul_ext_v_f64m1_f64m2:
25case RISCV::BI__builtin_rvv_vlmul_ext_v_i8m1_i8m4:
26case RISCV::BI__builtin_rvv_vlmul_ext_v_i8m2_i8m4:
27case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf2_i8m4:
28case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf4_i8m4:
29case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf8_i8m4:
30case RISCV::BI__builtin_rvv_vlmul_ext_v_i16m1_i16m4:
31case RISCV::BI__builtin_rvv_vlmul_ext_v_i16m2_i16m4:
32case RISCV::BI__builtin_rvv_vlmul_ext_v_i16mf2_i16m4:
33case RISCV::BI__builtin_rvv_vlmul_ext_v_i16mf4_i16m4:
34case RISCV::BI__builtin_rvv_vlmul_ext_v_i32m1_i32m4:
35case RISCV::BI__builtin_rvv_vlmul_ext_v_i32m2_i32m4:
36case RISCV::BI__builtin_rvv_vlmul_ext_v_i32mf2_i32m4:
37case RISCV::BI__builtin_rvv_vlmul_ext_v_i64m1_i64m4:
38case RISCV::BI__builtin_rvv_vlmul_ext_v_i64m2_i64m4:
39case RISCV::BI__builtin_rvv_vlmul_ext_v_f32m1_f32m4:
40case RISCV::BI__builtin_rvv_vlmul_ext_v_f32m2_f32m4:
41case RISCV::BI__builtin_rvv_vlmul_ext_v_f32mf2_f32m4:
42case RISCV::BI__builtin_rvv_vlmul_ext_v_f64m1_f64m4:
43case RISCV::BI__builtin_rvv_vlmul_ext_v_f64m2_f64m4:
44case RISCV::BI__builtin_rvv_vlmul_ext_v_i8m1_i8m8:
45case RISCV::BI__builtin_rvv_vlmul_ext_v_i8m2_i8m8:
46case RISCV::BI__builtin_rvv_vlmul_ext_v_i8m4_i8m8:
47case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf2_i8m8:
48case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf4_i8m8:
49case RISCV::BI__builtin_rvv_vlmul_ext_v_i8mf8_i8m8:
50case RISCV::BI__builtin_rvv_vlmul_ext_v_i16m1_i16m8:
51case RISCV::BI__builtin_rvv_vlmul_ext_v_i16m2_i16m8:
52case RISCV::BI__builtin_rvv_vlmul_ext_v_i16m4_i16m8:
53case RISCV::BI__builtin_rvv_vlmul_ext_v_i16mf2_i16m8:
54case RISCV::BI__builtin_rvv_vlmul_ext_v_i16mf4_i16m8:
55case RISCV::BI__builtin_rvv_vlmul_ext_v_i32m1_i32m8:
56case RISCV::BI__builtin_rvv_vlmul_ext_v_i32m2_i32m8:
57case RISCV::BI__builtin_rvv_vlmul_ext_v_i32m4_i32m8:
58case RISCV::BI__builtin_rvv_vlmul_ext_v_i32mf2_i32m8:
59case RISCV::BI__builtin_rvv_vlmul_ext_v_i64m1_i64m8:
60case RISCV::BI__builtin_rvv_vlmul_ext_v_i64m2_i64m8:
61case RISCV::BI__builtin_rvv_vlmul_ext_v_i64m4_i64m8:
62case RISCV::BI__builtin_rvv_vlmul_ext_v_f32m1_f32m8:
63case RISCV::BI__builtin_rvv_vlmul_ext_v_f32m2_f32m8:
64case RISCV::BI__builtin_rvv_vlmul_ext_v_f32m4_f32m8:
65case RISCV::BI__builtin_rvv_vlmul_ext_v_f32mf2_f32m8:
66case RISCV::BI__builtin_rvv_vlmul_ext_v_f64m1_f64m8:
67case RISCV::BI__builtin_rvv_vlmul_ext_v_f64m2_f64m8:
68case RISCV::BI__builtin_rvv_vlmul_ext_v_f64m4_f64m8:
69case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf2_u8m1:
70case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf4_u8m1:
71case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf8_u8m1:
72case RISCV::BI__builtin_rvv_vlmul_ext_v_u16mf2_u16m1:
73case RISCV::BI__builtin_rvv_vlmul_ext_v_u16mf4_u16m1:
74case RISCV::BI__builtin_rvv_vlmul_ext_v_u32mf2_u32m1:
75case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf4_u8mf2:
76case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf8_u8mf2:
77case RISCV::BI__builtin_rvv_vlmul_ext_v_u16mf4_u16mf2:
78case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf8_u8mf4:
79case RISCV::BI__builtin_rvv_vlmul_ext_v_u8m1_u8m2:
80case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf2_u8m2:
81case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf4_u8m2:
82case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf8_u8m2:
83case RISCV::BI__builtin_rvv_vlmul_ext_v_u16m1_u16m2:
84case RISCV::BI__builtin_rvv_vlmul_ext_v_u16mf2_u16m2:
85case RISCV::BI__builtin_rvv_vlmul_ext_v_u16mf4_u16m2:
86case RISCV::BI__builtin_rvv_vlmul_ext_v_u32m1_u32m2:
87case RISCV::BI__builtin_rvv_vlmul_ext_v_u32mf2_u32m2:
88case RISCV::BI__builtin_rvv_vlmul_ext_v_u64m1_u64m2:
89case RISCV::BI__builtin_rvv_vlmul_ext_v_u8m1_u8m4:
90case RISCV::BI__builtin_rvv_vlmul_ext_v_u8m2_u8m4:
91case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf2_u8m4:
92case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf4_u8m4:
93case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf8_u8m4:
94case RISCV::BI__builtin_rvv_vlmul_ext_v_u16m1_u16m4:
95case RISCV::BI__builtin_rvv_vlmul_ext_v_u16m2_u16m4:
96case RISCV::BI__builtin_rvv_vlmul_ext_v_u16mf2_u16m4:
97case RISCV::BI__builtin_rvv_vlmul_ext_v_u16mf4_u16m4:
98case RISCV::BI__builtin_rvv_vlmul_ext_v_u32m1_u32m4:
99case RISCV::BI__builtin_rvv_vlmul_ext_v_u32m2_u32m4:
100case RISCV::BI__builtin_rvv_vlmul_ext_v_u32mf2_u32m4:
101case RISCV::BI__builtin_rvv_vlmul_ext_v_u64m1_u64m4:
102case RISCV::BI__builtin_rvv_vlmul_ext_v_u64m2_u64m4:
103case RISCV::BI__builtin_rvv_vlmul_ext_v_u8m1_u8m8:
104case RISCV::BI__builtin_rvv_vlmul_ext_v_u8m2_u8m8:
105case RISCV::BI__builtin_rvv_vlmul_ext_v_u8m4_u8m8:
106case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf2_u8m8:
107case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf4_u8m8:
108case RISCV::BI__builtin_rvv_vlmul_ext_v_u8mf8_u8m8:
109case RISCV::BI__builtin_rvv_vlmul_ext_v_u16m1_u16m8:
110case RISCV::BI__builtin_rvv_vlmul_ext_v_u16m2_u16m8:
111case RISCV::BI__builtin_rvv_vlmul_ext_v_u16m4_u16m8:
112case RISCV::BI__builtin_rvv_vlmul_ext_v_u16mf2_u16m8:
113case RISCV::BI__builtin_rvv_vlmul_ext_v_u16mf4_u16m8:
114case RISCV::BI__builtin_rvv_vlmul_ext_v_u32m1_u32m8:
115case RISCV::BI__builtin_rvv_vlmul_ext_v_u32m2_u32m8:
116case RISCV::BI__builtin_rvv_vlmul_ext_v_u32m4_u32m8:
117case RISCV::BI__builtin_rvv_vlmul_ext_v_u32mf2_u32m8:
118case RISCV::BI__builtin_rvv_vlmul_ext_v_u64m1_u64m8:
119case RISCV::BI__builtin_rvv_vlmul_ext_v_u64m2_u64m8:
120case RISCV::BI__builtin_rvv_vlmul_ext_v_u64m4_u64m8:
121
122 ID = Intrinsic::experimental_vector_insert;
123 IntrinsicTypes = {ResultType, Ops[0]->getType()};
124 Ops.push_back(llvm::UndefValue::get(ResultType));
125 std::swap(Ops[0], Ops[1]);
126 Ops.push_back(ConstantInt::get(Int64Ty, 0));
127 return Builder.CreateCall(CGM.getIntrinsic(ID, IntrinsicTypes), Ops, "");
128 break;
129case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m1_i8mf2:
130case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m2_i8mf2:
131case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m4_i8mf2:
132case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m8_i8mf2:
133case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m1_i16mf2:
134case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m2_i16mf2:
135case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m4_i16mf2:
136case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m8_i16mf2:
137case RISCV::BI__builtin_rvv_vlmul_trunc_v_i32m1_i32mf2:
138case RISCV::BI__builtin_rvv_vlmul_trunc_v_i32m2_i32mf2:
139case RISCV::BI__builtin_rvv_vlmul_trunc_v_i32m4_i32mf2:
140case RISCV::BI__builtin_rvv_vlmul_trunc_v_i32m8_i32mf2:
141case RISCV::BI__builtin_rvv_vlmul_trunc_v_f32m1_f32mf2:
142case RISCV::BI__builtin_rvv_vlmul_trunc_v_f32m2_f32mf2:
143case RISCV::BI__builtin_rvv_vlmul_trunc_v_f32m4_f32mf2:
144case RISCV::BI__builtin_rvv_vlmul_trunc_v_f32m8_f32mf2:
145case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m1_i8mf4:
146case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m2_i8mf4:
147case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m4_i8mf4:
148case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m8_i8mf4:
149case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8mf2_i8mf4:
150case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m1_i16mf4:
151case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m2_i16mf4:
152case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m4_i16mf4:
153case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m8_i16mf4:
154case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16mf2_i16mf4:
155case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m1_i8mf8:
156case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m2_i8mf8:
157case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m4_i8mf8:
158case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m8_i8mf8:
159case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8mf2_i8mf8:
160case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8mf4_i8mf8:
161case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m2_i8m1:
162case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m4_i8m1:
163case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m8_i8m1:
164case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m2_i16m1:
165case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m4_i16m1:
166case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m8_i16m1:
167case RISCV::BI__builtin_rvv_vlmul_trunc_v_i32m2_i32m1:
168case RISCV::BI__builtin_rvv_vlmul_trunc_v_i32m4_i32m1:
169case RISCV::BI__builtin_rvv_vlmul_trunc_v_i32m8_i32m1:
170case RISCV::BI__builtin_rvv_vlmul_trunc_v_i64m2_i64m1:
171case RISCV::BI__builtin_rvv_vlmul_trunc_v_i64m4_i64m1:
172case RISCV::BI__builtin_rvv_vlmul_trunc_v_i64m8_i64m1:
173case RISCV::BI__builtin_rvv_vlmul_trunc_v_f32m2_f32m1:
174case RISCV::BI__builtin_rvv_vlmul_trunc_v_f32m4_f32m1:
175case RISCV::BI__builtin_rvv_vlmul_trunc_v_f32m8_f32m1:
176case RISCV::BI__builtin_rvv_vlmul_trunc_v_f64m2_f64m1:
177case RISCV::BI__builtin_rvv_vlmul_trunc_v_f64m4_f64m1:
178case RISCV::BI__builtin_rvv_vlmul_trunc_v_f64m8_f64m1:
179case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m4_i8m2:
180case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m8_i8m2:
181case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m4_i16m2:
182case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m8_i16m2:
183case RISCV::BI__builtin_rvv_vlmul_trunc_v_i32m4_i32m2:
184case RISCV::BI__builtin_rvv_vlmul_trunc_v_i32m8_i32m2:
185case RISCV::BI__builtin_rvv_vlmul_trunc_v_i64m4_i64m2:
186case RISCV::BI__builtin_rvv_vlmul_trunc_v_i64m8_i64m2:
187case RISCV::BI__builtin_rvv_vlmul_trunc_v_f32m4_f32m2:
188case RISCV::BI__builtin_rvv_vlmul_trunc_v_f32m8_f32m2:
189case RISCV::BI__builtin_rvv_vlmul_trunc_v_f64m4_f64m2:
190case RISCV::BI__builtin_rvv_vlmul_trunc_v_f64m8_f64m2:
191case RISCV::BI__builtin_rvv_vlmul_trunc_v_i8m8_i8m4:
192case RISCV::BI__builtin_rvv_vlmul_trunc_v_i16m8_i16m4:
193case RISCV::BI__builtin_rvv_vlmul_trunc_v_i32m8_i32m4:
194case RISCV::BI__builtin_rvv_vlmul_trunc_v_i64m8_i64m4:
195case RISCV::BI__builtin_rvv_vlmul_trunc_v_f32m8_f32m4:
196case RISCV::BI__builtin_rvv_vlmul_trunc_v_f64m8_f64m4:
197case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m1_u8mf2:
198case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m2_u8mf2:
199case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m4_u8mf2:
200case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m8_u8mf2:
201case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m1_u16mf2:
202case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m2_u16mf2:
203case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m4_u16mf2:
204case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m8_u16mf2:
205case RISCV::BI__builtin_rvv_vlmul_trunc_v_u32m1_u32mf2:
206case RISCV::BI__builtin_rvv_vlmul_trunc_v_u32m2_u32mf2:
207case RISCV::BI__builtin_rvv_vlmul_trunc_v_u32m4_u32mf2:
208case RISCV::BI__builtin_rvv_vlmul_trunc_v_u32m8_u32mf2:
209case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m1_u8mf4:
210case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m2_u8mf4:
211case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m4_u8mf4:
212case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m8_u8mf4:
213case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8mf2_u8mf4:
214case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m1_u16mf4:
215case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m2_u16mf4:
216case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m4_u16mf4:
217case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m8_u16mf4:
218case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16mf2_u16mf4:
219case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m1_u8mf8:
220case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m2_u8mf8:
221case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m4_u8mf8:
222case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m8_u8mf8:
223case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8mf2_u8mf8:
224case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8mf4_u8mf8:
225case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m2_u8m1:
226case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m4_u8m1:
227case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m8_u8m1:
228case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m2_u16m1:
229case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m4_u16m1:
230case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m8_u16m1:
231case RISCV::BI__builtin_rvv_vlmul_trunc_v_u32m2_u32m1:
232case RISCV::BI__builtin_rvv_vlmul_trunc_v_u32m4_u32m1:
233case RISCV::BI__builtin_rvv_vlmul_trunc_v_u32m8_u32m1:
234case RISCV::BI__builtin_rvv_vlmul_trunc_v_u64m2_u64m1:
235case RISCV::BI__builtin_rvv_vlmul_trunc_v_u64m4_u64m1:
236case RISCV::BI__builtin_rvv_vlmul_trunc_v_u64m8_u64m1:
237case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m4_u8m2:
238case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m8_u8m2:
239case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m4_u16m2:
240case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m8_u16m2:
241case RISCV::BI__builtin_rvv_vlmul_trunc_v_u32m4_u32m2:
242case RISCV::BI__builtin_rvv_vlmul_trunc_v_u32m8_u32m2:
243case RISCV::BI__builtin_rvv_vlmul_trunc_v_u64m4_u64m2:
244case RISCV::BI__builtin_rvv_vlmul_trunc_v_u64m8_u64m2:
245case RISCV::BI__builtin_rvv_vlmul_trunc_v_u8m8_u8m4:
246case RISCV::BI__builtin_rvv_vlmul_trunc_v_u16m8_u16m4:
247case RISCV::BI__builtin_rvv_vlmul_trunc_v_u32m8_u32m4:
248case RISCV::BI__builtin_rvv_vlmul_trunc_v_u64m8_u64m4:
249 {
250 ID = Intrinsic::experimental_vector_extract;
251 IntrinsicTypes = {ResultType, Ops[0]->getType()};
252 Ops.push_back(ConstantInt::get(Int64Ty, 0));
253 return Builder.CreateCall(CGM.getIntrinsic(ID, IntrinsicTypes), Ops, "");
254 } break;
255case RISCV::BI__builtin_rvv_vreinterpret_v_i32m1_f32m1:
256case RISCV::BI__builtin_rvv_vreinterpret_v_i32m2_f32m2:
257case RISCV::BI__builtin_rvv_vreinterpret_v_i32m4_f32m4:
258case RISCV::BI__builtin_rvv_vreinterpret_v_i32m8_f32m8:
259case RISCV::BI__builtin_rvv_vreinterpret_v_i32mf2_f32mf2:
260case RISCV::BI__builtin_rvv_vreinterpret_v_i64m1_f64m1:
261case RISCV::BI__builtin_rvv_vreinterpret_v_i64m2_f64m2:
262case RISCV::BI__builtin_rvv_vreinterpret_v_i64m4_f64m4:
263case RISCV::BI__builtin_rvv_vreinterpret_v_i64m8_f64m8:
264case RISCV::BI__builtin_rvv_vreinterpret_v_u32m1_f32m1:
265case RISCV::BI__builtin_rvv_vreinterpret_v_u32m2_f32m2:
266case RISCV::BI__builtin_rvv_vreinterpret_v_u32m4_f32m4:
267case RISCV::BI__builtin_rvv_vreinterpret_v_u32m8_f32m8:
268case RISCV::BI__builtin_rvv_vreinterpret_v_u32mf2_f32mf2:
269case RISCV::BI__builtin_rvv_vreinterpret_v_u64m1_f64m1:
270case RISCV::BI__builtin_rvv_vreinterpret_v_u64m2_f64m2:
271case RISCV::BI__builtin_rvv_vreinterpret_v_u64m4_f64m4:
272case RISCV::BI__builtin_rvv_vreinterpret_v_u64m8_f64m8:
273case RISCV::BI__builtin_rvv_vreinterpret_v_i8m1_i16m1:
274case RISCV::BI__builtin_rvv_vreinterpret_v_i8m2_i16m2:
275case RISCV::BI__builtin_rvv_vreinterpret_v_i8m4_i16m4:
276case RISCV::BI__builtin_rvv_vreinterpret_v_i8m8_i16m8:
277case RISCV::BI__builtin_rvv_vreinterpret_v_i8mf2_i16mf2:
278case RISCV::BI__builtin_rvv_vreinterpret_v_i8mf4_i16mf4:
279case RISCV::BI__builtin_rvv_vreinterpret_v_i32m1_i16m1:
280case RISCV::BI__builtin_rvv_vreinterpret_v_i32m2_i16m2:
281case RISCV::BI__builtin_rvv_vreinterpret_v_i32m4_i16m4:
282case RISCV::BI__builtin_rvv_vreinterpret_v_i32m8_i16m8:
283case RISCV::BI__builtin_rvv_vreinterpret_v_i32mf2_i16mf2:
284case RISCV::BI__builtin_rvv_vreinterpret_v_i64m1_i16m1:
285case RISCV::BI__builtin_rvv_vreinterpret_v_i64m2_i16m2:
286case RISCV::BI__builtin_rvv_vreinterpret_v_i64m4_i16m4:
287case RISCV::BI__builtin_rvv_vreinterpret_v_i64m8_i16m8:
288case RISCV::BI__builtin_rvv_vreinterpret_v_i8m1_i32m1:
289case RISCV::BI__builtin_rvv_vreinterpret_v_i8m2_i32m2:
290case RISCV::BI__builtin_rvv_vreinterpret_v_i8m4_i32m4:
291case RISCV::BI__builtin_rvv_vreinterpret_v_i8m8_i32m8:
292case RISCV::BI__builtin_rvv_vreinterpret_v_i8mf2_i32mf2:
293case RISCV::BI__builtin_rvv_vreinterpret_v_i16m1_i32m1:
294case RISCV::BI__builtin_rvv_vreinterpret_v_i16m2_i32m2:
295case RISCV::BI__builtin_rvv_vreinterpret_v_i16m4_i32m4:
296case RISCV::BI__builtin_rvv_vreinterpret_v_i16m8_i32m8:
297case RISCV::BI__builtin_rvv_vreinterpret_v_i16mf2_i32mf2:
298case RISCV::BI__builtin_rvv_vreinterpret_v_i64m1_i32m1:
299case RISCV::BI__builtin_rvv_vreinterpret_v_i64m2_i32m2:
300case RISCV::BI__builtin_rvv_vreinterpret_v_i64m4_i32m4:
301case RISCV::BI__builtin_rvv_vreinterpret_v_i64m8_i32m8:
302case RISCV::BI__builtin_rvv_vreinterpret_v_i8m1_i64m1:
303case RISCV::BI__builtin_rvv_vreinterpret_v_i8m2_i64m2:
304case RISCV::BI__builtin_rvv_vreinterpret_v_i8m4_i64m4:
305case RISCV::BI__builtin_rvv_vreinterpret_v_i8m8_i64m8:
306case RISCV::BI__builtin_rvv_vreinterpret_v_i16m1_i64m1:
307case RISCV::BI__builtin_rvv_vreinterpret_v_i16m2_i64m2:
308case RISCV::BI__builtin_rvv_vreinterpret_v_i16m4_i64m4:
309case RISCV::BI__builtin_rvv_vreinterpret_v_i16m8_i64m8:
310case RISCV::BI__builtin_rvv_vreinterpret_v_i32m1_i64m1:
311case RISCV::BI__builtin_rvv_vreinterpret_v_i32m2_i64m2:
312case RISCV::BI__builtin_rvv_vreinterpret_v_i32m4_i64m4:
313case RISCV::BI__builtin_rvv_vreinterpret_v_i32m8_i64m8:
314case RISCV::BI__builtin_rvv_vreinterpret_v_i16m1_i8m1:
315case RISCV::BI__builtin_rvv_vreinterpret_v_i16m2_i8m2:
316case RISCV::BI__builtin_rvv_vreinterpret_v_i16m4_i8m4:
317case RISCV::BI__builtin_rvv_vreinterpret_v_i16m8_i8m8:
318case RISCV::BI__builtin_rvv_vreinterpret_v_i16mf2_i8mf2:
319case RISCV::BI__builtin_rvv_vreinterpret_v_i16mf4_i8mf4:
320case RISCV::BI__builtin_rvv_vreinterpret_v_i32m1_i8m1:
321case RISCV::BI__builtin_rvv_vreinterpret_v_i32m2_i8m2:
322case RISCV::BI__builtin_rvv_vreinterpret_v_i32m4_i8m4:
323case RISCV::BI__builtin_rvv_vreinterpret_v_i32m8_i8m8:
324case RISCV::BI__builtin_rvv_vreinterpret_v_i32mf2_i8mf2:
325case RISCV::BI__builtin_rvv_vreinterpret_v_i64m1_i8m1:
326case RISCV::BI__builtin_rvv_vreinterpret_v_i64m2_i8m2:
327case RISCV::BI__builtin_rvv_vreinterpret_v_i64m4_i8m4:
328case RISCV::BI__builtin_rvv_vreinterpret_v_i64m8_i8m8:
329case RISCV::BI__builtin_rvv_vreinterpret_v_f32m1_i32m1:
330case RISCV::BI__builtin_rvv_vreinterpret_v_f32m2_i32m2:
331case RISCV::BI__builtin_rvv_vreinterpret_v_f32m4_i32m4:
332case RISCV::BI__builtin_rvv_vreinterpret_v_f32m8_i32m8:
333case RISCV::BI__builtin_rvv_vreinterpret_v_f32mf2_i32mf2:
334case RISCV::BI__builtin_rvv_vreinterpret_v_f64m1_i64m1:
335case RISCV::BI__builtin_rvv_vreinterpret_v_f64m2_i64m2:
336case RISCV::BI__builtin_rvv_vreinterpret_v_f64m4_i64m4:
337case RISCV::BI__builtin_rvv_vreinterpret_v_f64m8_i64m8:
338case RISCV::BI__builtin_rvv_vreinterpret_v_u8m1_i8m1:
339case RISCV::BI__builtin_rvv_vreinterpret_v_u8m2_i8m2:
340case RISCV::BI__builtin_rvv_vreinterpret_v_u8m4_i8m4:
341case RISCV::BI__builtin_rvv_vreinterpret_v_u8m8_i8m8:
342case RISCV::BI__builtin_rvv_vreinterpret_v_u8mf2_i8mf2:
343case RISCV::BI__builtin_rvv_vreinterpret_v_u8mf4_i8mf4:
344case RISCV::BI__builtin_rvv_vreinterpret_v_u8mf8_i8mf8:
345case RISCV::BI__builtin_rvv_vreinterpret_v_u16m1_i16m1:
346case RISCV::BI__builtin_rvv_vreinterpret_v_u16m2_i16m2:
347case RISCV::BI__builtin_rvv_vreinterpret_v_u16m4_i16m4:
348case RISCV::BI__builtin_rvv_vreinterpret_v_u16m8_i16m8:
349case RISCV::BI__builtin_rvv_vreinterpret_v_u16mf2_i16mf2:
350case RISCV::BI__builtin_rvv_vreinterpret_v_u16mf4_i16mf4:
351case RISCV::BI__builtin_rvv_vreinterpret_v_u32m1_i32m1:
352case RISCV::BI__builtin_rvv_vreinterpret_v_u32m2_i32m2:
353case RISCV::BI__builtin_rvv_vreinterpret_v_u32m4_i32m4:
354case RISCV::BI__builtin_rvv_vreinterpret_v_u32m8_i32m8:
355case RISCV::BI__builtin_rvv_vreinterpret_v_u32mf2_i32mf2:
356case RISCV::BI__builtin_rvv_vreinterpret_v_u64m1_i64m1:
357case RISCV::BI__builtin_rvv_vreinterpret_v_u64m2_i64m2:
358case RISCV::BI__builtin_rvv_vreinterpret_v_u64m4_i64m4:
359case RISCV::BI__builtin_rvv_vreinterpret_v_u64m8_i64m8:
360case RISCV::BI__builtin_rvv_vreinterpret_v_u8m1_u16m1:
361case RISCV::BI__builtin_rvv_vreinterpret_v_u8m2_u16m2:
362case RISCV::BI__builtin_rvv_vreinterpret_v_u8m4_u16m4:
363case RISCV::BI__builtin_rvv_vreinterpret_v_u8m8_u16m8:
364case RISCV::BI__builtin_rvv_vreinterpret_v_u8mf2_u16mf2:
365case RISCV::BI__builtin_rvv_vreinterpret_v_u8mf4_u16mf4:
366case RISCV::BI__builtin_rvv_vreinterpret_v_u32m1_u16m1:
367case RISCV::BI__builtin_rvv_vreinterpret_v_u32m2_u16m2:
368case RISCV::BI__builtin_rvv_vreinterpret_v_u32m4_u16m4:
369case RISCV::BI__builtin_rvv_vreinterpret_v_u32m8_u16m8:
370case RISCV::BI__builtin_rvv_vreinterpret_v_u32mf2_u16mf2:
371case RISCV::BI__builtin_rvv_vreinterpret_v_u64m1_u16m1:
372case RISCV::BI__builtin_rvv_vreinterpret_v_u64m2_u16m2:
373case RISCV::BI__builtin_rvv_vreinterpret_v_u64m4_u16m4:
374case RISCV::BI__builtin_rvv_vreinterpret_v_u64m8_u16m8:
375case RISCV::BI__builtin_rvv_vreinterpret_v_u8m1_u32m1:
376case RISCV::BI__builtin_rvv_vreinterpret_v_u8m2_u32m2:
377case RISCV::BI__builtin_rvv_vreinterpret_v_u8m4_u32m4:
378case RISCV::BI__builtin_rvv_vreinterpret_v_u8m8_u32m8:
379case RISCV::BI__builtin_rvv_vreinterpret_v_u8mf2_u32mf2:
380case RISCV::BI__builtin_rvv_vreinterpret_v_u16m1_u32m1:
381case RISCV::BI__builtin_rvv_vreinterpret_v_u16m2_u32m2:
382case RISCV::BI__builtin_rvv_vreinterpret_v_u16m4_u32m4:
383case RISCV::BI__builtin_rvv_vreinterpret_v_u16m8_u32m8:
384case RISCV::BI__builtin_rvv_vreinterpret_v_u16mf2_u32mf2:
385case RISCV::BI__builtin_rvv_vreinterpret_v_u64m1_u32m1:
386case RISCV::BI__builtin_rvv_vreinterpret_v_u64m2_u32m2:
387case RISCV::BI__builtin_rvv_vreinterpret_v_u64m4_u32m4:
388case RISCV::BI__builtin_rvv_vreinterpret_v_u64m8_u32m8:
389case RISCV::BI__builtin_rvv_vreinterpret_v_u8m1_u64m1:
390case RISCV::BI__builtin_rvv_vreinterpret_v_u8m2_u64m2:
391case RISCV::BI__builtin_rvv_vreinterpret_v_u8m4_u64m4:
392case RISCV::BI__builtin_rvv_vreinterpret_v_u8m8_u64m8:
393case RISCV::BI__builtin_rvv_vreinterpret_v_u16m1_u64m1:
394case RISCV::BI__builtin_rvv_vreinterpret_v_u16m2_u64m2:
395case RISCV::BI__builtin_rvv_vreinterpret_v_u16m4_u64m4:
396case RISCV::BI__builtin_rvv_vreinterpret_v_u16m8_u64m8:
397case RISCV::BI__builtin_rvv_vreinterpret_v_u32m1_u64m1:
398case RISCV::BI__builtin_rvv_vreinterpret_v_u32m2_u64m2:
399case RISCV::BI__builtin_rvv_vreinterpret_v_u32m4_u64m4:
400case RISCV::BI__builtin_rvv_vreinterpret_v_u32m8_u64m8:
401case RISCV::BI__builtin_rvv_vreinterpret_v_u16m1_u8m1:
402case RISCV::BI__builtin_rvv_vreinterpret_v_u16m2_u8m2:
403case RISCV::BI__builtin_rvv_vreinterpret_v_u16m4_u8m4:
404case RISCV::BI__builtin_rvv_vreinterpret_v_u16m8_u8m8:
405case RISCV::BI__builtin_rvv_vreinterpret_v_u16mf2_u8mf2:
406case RISCV::BI__builtin_rvv_vreinterpret_v_u16mf4_u8mf4:
407case RISCV::BI__builtin_rvv_vreinterpret_v_u32m1_u8m1:
408case RISCV::BI__builtin_rvv_vreinterpret_v_u32m2_u8m2:
409case RISCV::BI__builtin_rvv_vreinterpret_v_u32m4_u8m4:
410case RISCV::BI__builtin_rvv_vreinterpret_v_u32m8_u8m8:
411case RISCV::BI__builtin_rvv_vreinterpret_v_u32mf2_u8mf2:
412case RISCV::BI__builtin_rvv_vreinterpret_v_u64m1_u8m1:
413case RISCV::BI__builtin_rvv_vreinterpret_v_u64m2_u8m2:
414case RISCV::BI__builtin_rvv_vreinterpret_v_u64m4_u8m4:
415case RISCV::BI__builtin_rvv_vreinterpret_v_u64m8_u8m8:
416case RISCV::BI__builtin_rvv_vreinterpret_v_f32m1_u32m1:
417case RISCV::BI__builtin_rvv_vreinterpret_v_f32m2_u32m2:
418case RISCV::BI__builtin_rvv_vreinterpret_v_f32m4_u32m4:
419case RISCV::BI__builtin_rvv_vreinterpret_v_f32m8_u32m8:
420case RISCV::BI__builtin_rvv_vreinterpret_v_f32mf2_u32mf2:
421case RISCV::BI__builtin_rvv_vreinterpret_v_f64m1_u64m1:
422case RISCV::BI__builtin_rvv_vreinterpret_v_f64m2_u64m2:
423case RISCV::BI__builtin_rvv_vreinterpret_v_f64m4_u64m4:
424case RISCV::BI__builtin_rvv_vreinterpret_v_f64m8_u64m8:
425case RISCV::BI__builtin_rvv_vreinterpret_v_i8m1_u8m1:
426case RISCV::BI__builtin_rvv_vreinterpret_v_i8m2_u8m2:
427case RISCV::BI__builtin_rvv_vreinterpret_v_i8m4_u8m4:
428case RISCV::BI__builtin_rvv_vreinterpret_v_i8m8_u8m8:
429case RISCV::BI__builtin_rvv_vreinterpret_v_i8mf2_u8mf2:
430case RISCV::BI__builtin_rvv_vreinterpret_v_i8mf4_u8mf4:
431case RISCV::BI__builtin_rvv_vreinterpret_v_i8mf8_u8mf8:
432case RISCV::BI__builtin_rvv_vreinterpret_v_i16m1_u16m1:
433case RISCV::BI__builtin_rvv_vreinterpret_v_i16m2_u16m2:
434case RISCV::BI__builtin_rvv_vreinterpret_v_i16m4_u16m4:
435case RISCV::BI__builtin_rvv_vreinterpret_v_i16m8_u16m8:
436case RISCV::BI__builtin_rvv_vreinterpret_v_i16mf2_u16mf2:
437case RISCV::BI__builtin_rvv_vreinterpret_v_i16mf4_u16mf4:
438case RISCV::BI__builtin_rvv_vreinterpret_v_i32m1_u32m1:
439case RISCV::BI__builtin_rvv_vreinterpret_v_i32m2_u32m2:
440case RISCV::BI__builtin_rvv_vreinterpret_v_i32m4_u32m4:
441case RISCV::BI__builtin_rvv_vreinterpret_v_i32m8_u32m8:
442case RISCV::BI__builtin_rvv_vreinterpret_v_i32mf2_u32mf2:
443case RISCV::BI__builtin_rvv_vreinterpret_v_i64m1_u64m1:
444case RISCV::BI__builtin_rvv_vreinterpret_v_i64m2_u64m2:
445case RISCV::BI__builtin_rvv_vreinterpret_v_i64m4_u64m4:
446case RISCV::BI__builtin_rvv_vreinterpret_v_i64m8_u64m8:
447
448 return Builder.CreateBitCast(Ops[0], ResultType);
449 break;
450case RISCV::BI__builtin_rvv_vundefined_i8m1:
451case RISCV::BI__builtin_rvv_vundefined_i8m2:
452case RISCV::BI__builtin_rvv_vundefined_i8m4:
453case RISCV::BI__builtin_rvv_vundefined_i8m8:
454case RISCV::BI__builtin_rvv_vundefined_i8mf2:
455case RISCV::BI__builtin_rvv_vundefined_i8mf4:
456case RISCV::BI__builtin_rvv_vundefined_i8mf8:
457case RISCV::BI__builtin_rvv_vundefined_i16m1:
458case RISCV::BI__builtin_rvv_vundefined_i16m2:
459case RISCV::BI__builtin_rvv_vundefined_i16m4:
460case RISCV::BI__builtin_rvv_vundefined_i16m8:
461case RISCV::BI__builtin_rvv_vundefined_i16mf2:
462case RISCV::BI__builtin_rvv_vundefined_i16mf4:
463case RISCV::BI__builtin_rvv_vundefined_i32m1:
464case RISCV::BI__builtin_rvv_vundefined_i32m2:
465case RISCV::BI__builtin_rvv_vundefined_i32m4:
466case RISCV::BI__builtin_rvv_vundefined_i32m8:
467case RISCV::BI__builtin_rvv_vundefined_i32mf2:
468case RISCV::BI__builtin_rvv_vundefined_i64m1:
469case RISCV::BI__builtin_rvv_vundefined_i64m2:
470case RISCV::BI__builtin_rvv_vundefined_i64m4:
471case RISCV::BI__builtin_rvv_vundefined_i64m8:
472case RISCV::BI__builtin_rvv_vundefined_f32m1:
473case RISCV::BI__builtin_rvv_vundefined_f32m2:
474case RISCV::BI__builtin_rvv_vundefined_f32m4:
475case RISCV::BI__builtin_rvv_vundefined_f32m8:
476case RISCV::BI__builtin_rvv_vundefined_f32mf2:
477case RISCV::BI__builtin_rvv_vundefined_f64m1:
478case RISCV::BI__builtin_rvv_vundefined_f64m2:
479case RISCV::BI__builtin_rvv_vundefined_f64m4:
480case RISCV::BI__builtin_rvv_vundefined_f64m8:
481case RISCV::BI__builtin_rvv_vundefined_u8m1:
482case RISCV::BI__builtin_rvv_vundefined_u8m2:
483case RISCV::BI__builtin_rvv_vundefined_u8m4:
484case RISCV::BI__builtin_rvv_vundefined_u8m8:
485case RISCV::BI__builtin_rvv_vundefined_u8mf2:
486case RISCV::BI__builtin_rvv_vundefined_u8mf4:
487case RISCV::BI__builtin_rvv_vundefined_u8mf8:
488case RISCV::BI__builtin_rvv_vundefined_u16m1:
489case RISCV::BI__builtin_rvv_vundefined_u16m2:
490case RISCV::BI__builtin_rvv_vundefined_u16m4:
491case RISCV::BI__builtin_rvv_vundefined_u16m8:
492case RISCV::BI__builtin_rvv_vundefined_u16mf2:
493case RISCV::BI__builtin_rvv_vundefined_u16mf4:
494case RISCV::BI__builtin_rvv_vundefined_u32m1:
495case RISCV::BI__builtin_rvv_vundefined_u32m2:
496case RISCV::BI__builtin_rvv_vundefined_u32m4:
497case RISCV::BI__builtin_rvv_vundefined_u32m8:
498case RISCV::BI__builtin_rvv_vundefined_u32mf2:
499case RISCV::BI__builtin_rvv_vundefined_u64m1:
500case RISCV::BI__builtin_rvv_vundefined_u64m2:
501case RISCV::BI__builtin_rvv_vundefined_u64m4:
502case RISCV::BI__builtin_rvv_vundefined_u64m8:
503
504 return llvm::UndefValue::get(ResultType);
505 break;
506case RISCV::BI__builtin_rvv_vaadd_vv_i8m1:
507case RISCV::BI__builtin_rvv_vaadd_vv_i8m2:
508case RISCV::BI__builtin_rvv_vaadd_vv_i8m4:
509case RISCV::BI__builtin_rvv_vaadd_vv_i8m8:
510case RISCV::BI__builtin_rvv_vaadd_vv_i8mf2:
511case RISCV::BI__builtin_rvv_vaadd_vv_i8mf4:
512case RISCV::BI__builtin_rvv_vaadd_vv_i8mf8:
513case RISCV::BI__builtin_rvv_vaadd_vv_i16m1:
514case RISCV::BI__builtin_rvv_vaadd_vv_i16m2:
515case RISCV::BI__builtin_rvv_vaadd_vv_i16m4:
516case RISCV::BI__builtin_rvv_vaadd_vv_i16m8:
517case RISCV::BI__builtin_rvv_vaadd_vv_i16mf2:
518case RISCV::BI__builtin_rvv_vaadd_vv_i16mf4:
519case RISCV::BI__builtin_rvv_vaadd_vv_i32m1:
520case RISCV::BI__builtin_rvv_vaadd_vv_i32m2:
521case RISCV::BI__builtin_rvv_vaadd_vv_i32m4:
522case RISCV::BI__builtin_rvv_vaadd_vv_i32m8:
523case RISCV::BI__builtin_rvv_vaadd_vv_i32mf2:
524case RISCV::BI__builtin_rvv_vaadd_vv_i64m1:
525case RISCV::BI__builtin_rvv_vaadd_vv_i64m2:
526case RISCV::BI__builtin_rvv_vaadd_vv_i64m4:
527case RISCV::BI__builtin_rvv_vaadd_vv_i64m8:
528case RISCV::BI__builtin_rvv_vaadd_vx_i8m1:
529case RISCV::BI__builtin_rvv_vaadd_vx_i8m2:
530case RISCV::BI__builtin_rvv_vaadd_vx_i8m4:
531case RISCV::BI__builtin_rvv_vaadd_vx_i8m8:
532case RISCV::BI__builtin_rvv_vaadd_vx_i8mf2:
533case RISCV::BI__builtin_rvv_vaadd_vx_i8mf4:
534case RISCV::BI__builtin_rvv_vaadd_vx_i8mf8:
535case RISCV::BI__builtin_rvv_vaadd_vx_i16m1:
536case RISCV::BI__builtin_rvv_vaadd_vx_i16m2:
537case RISCV::BI__builtin_rvv_vaadd_vx_i16m4:
538case RISCV::BI__builtin_rvv_vaadd_vx_i16m8:
539case RISCV::BI__builtin_rvv_vaadd_vx_i16mf2:
540case RISCV::BI__builtin_rvv_vaadd_vx_i16mf4:
541case RISCV::BI__builtin_rvv_vaadd_vx_i32m1:
542case RISCV::BI__builtin_rvv_vaadd_vx_i32m2:
543case RISCV::BI__builtin_rvv_vaadd_vx_i32m4:
544case RISCV::BI__builtin_rvv_vaadd_vx_i32m8:
545case RISCV::BI__builtin_rvv_vaadd_vx_i32mf2:
546case RISCV::BI__builtin_rvv_vaadd_vx_i64m1:
547case RISCV::BI__builtin_rvv_vaadd_vx_i64m2:
548case RISCV::BI__builtin_rvv_vaadd_vx_i64m4:
549case RISCV::BI__builtin_rvv_vaadd_vx_i64m8:
550 ID = Intrinsic::riscv_vaadd;
551 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
552 break;
553case RISCV::BI__builtin_rvv_vaadd_vv_i8m1_m:
554case RISCV::BI__builtin_rvv_vaadd_vv_i8m2_m:
555case RISCV::BI__builtin_rvv_vaadd_vv_i8m4_m:
556case RISCV::BI__builtin_rvv_vaadd_vv_i8m8_m:
557case RISCV::BI__builtin_rvv_vaadd_vv_i8mf2_m:
558case RISCV::BI__builtin_rvv_vaadd_vv_i8mf4_m:
559case RISCV::BI__builtin_rvv_vaadd_vv_i8mf8_m:
560case RISCV::BI__builtin_rvv_vaadd_vv_i16m1_m:
561case RISCV::BI__builtin_rvv_vaadd_vv_i16m2_m:
562case RISCV::BI__builtin_rvv_vaadd_vv_i16m4_m:
563case RISCV::BI__builtin_rvv_vaadd_vv_i16m8_m:
564case RISCV::BI__builtin_rvv_vaadd_vv_i16mf2_m:
565case RISCV::BI__builtin_rvv_vaadd_vv_i16mf4_m:
566case RISCV::BI__builtin_rvv_vaadd_vv_i32m1_m:
567case RISCV::BI__builtin_rvv_vaadd_vv_i32m2_m:
568case RISCV::BI__builtin_rvv_vaadd_vv_i32m4_m:
569case RISCV::BI__builtin_rvv_vaadd_vv_i32m8_m:
570case RISCV::BI__builtin_rvv_vaadd_vv_i32mf2_m:
571case RISCV::BI__builtin_rvv_vaadd_vv_i64m1_m:
572case RISCV::BI__builtin_rvv_vaadd_vv_i64m2_m:
573case RISCV::BI__builtin_rvv_vaadd_vv_i64m4_m:
574case RISCV::BI__builtin_rvv_vaadd_vv_i64m8_m:
575case RISCV::BI__builtin_rvv_vaadd_vx_i8m1_m:
576case RISCV::BI__builtin_rvv_vaadd_vx_i8m2_m:
577case RISCV::BI__builtin_rvv_vaadd_vx_i8m4_m:
578case RISCV::BI__builtin_rvv_vaadd_vx_i8m8_m:
579case RISCV::BI__builtin_rvv_vaadd_vx_i8mf2_m:
580case RISCV::BI__builtin_rvv_vaadd_vx_i8mf4_m:
581case RISCV::BI__builtin_rvv_vaadd_vx_i8mf8_m:
582case RISCV::BI__builtin_rvv_vaadd_vx_i16m1_m:
583case RISCV::BI__builtin_rvv_vaadd_vx_i16m2_m:
584case RISCV::BI__builtin_rvv_vaadd_vx_i16m4_m:
585case RISCV::BI__builtin_rvv_vaadd_vx_i16m8_m:
586case RISCV::BI__builtin_rvv_vaadd_vx_i16mf2_m:
587case RISCV::BI__builtin_rvv_vaadd_vx_i16mf4_m:
588case RISCV::BI__builtin_rvv_vaadd_vx_i32m1_m:
589case RISCV::BI__builtin_rvv_vaadd_vx_i32m2_m:
590case RISCV::BI__builtin_rvv_vaadd_vx_i32m4_m:
591case RISCV::BI__builtin_rvv_vaadd_vx_i32m8_m:
592case RISCV::BI__builtin_rvv_vaadd_vx_i32mf2_m:
593case RISCV::BI__builtin_rvv_vaadd_vx_i64m1_m:
594case RISCV::BI__builtin_rvv_vaadd_vx_i64m2_m:
595case RISCV::BI__builtin_rvv_vaadd_vx_i64m4_m:
596case RISCV::BI__builtin_rvv_vaadd_vx_i64m8_m:
597 ID = Intrinsic::riscv_vaadd_mask;
598 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
599 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
600 break;
601case RISCV::BI__builtin_rvv_vaaddu_vv_u8m1:
602case RISCV::BI__builtin_rvv_vaaddu_vv_u8m2:
603case RISCV::BI__builtin_rvv_vaaddu_vv_u8m4:
604case RISCV::BI__builtin_rvv_vaaddu_vv_u8m8:
605case RISCV::BI__builtin_rvv_vaaddu_vv_u8mf2:
606case RISCV::BI__builtin_rvv_vaaddu_vv_u8mf4:
607case RISCV::BI__builtin_rvv_vaaddu_vv_u8mf8:
608case RISCV::BI__builtin_rvv_vaaddu_vv_u16m1:
609case RISCV::BI__builtin_rvv_vaaddu_vv_u16m2:
610case RISCV::BI__builtin_rvv_vaaddu_vv_u16m4:
611case RISCV::BI__builtin_rvv_vaaddu_vv_u16m8:
612case RISCV::BI__builtin_rvv_vaaddu_vv_u16mf2:
613case RISCV::BI__builtin_rvv_vaaddu_vv_u16mf4:
614case RISCV::BI__builtin_rvv_vaaddu_vv_u32m1:
615case RISCV::BI__builtin_rvv_vaaddu_vv_u32m2:
616case RISCV::BI__builtin_rvv_vaaddu_vv_u32m4:
617case RISCV::BI__builtin_rvv_vaaddu_vv_u32m8:
618case RISCV::BI__builtin_rvv_vaaddu_vv_u32mf2:
619case RISCV::BI__builtin_rvv_vaaddu_vv_u64m1:
620case RISCV::BI__builtin_rvv_vaaddu_vv_u64m2:
621case RISCV::BI__builtin_rvv_vaaddu_vv_u64m4:
622case RISCV::BI__builtin_rvv_vaaddu_vv_u64m8:
623case RISCV::BI__builtin_rvv_vaaddu_vx_u8m1:
624case RISCV::BI__builtin_rvv_vaaddu_vx_u8m2:
625case RISCV::BI__builtin_rvv_vaaddu_vx_u8m4:
626case RISCV::BI__builtin_rvv_vaaddu_vx_u8m8:
627case RISCV::BI__builtin_rvv_vaaddu_vx_u8mf2:
628case RISCV::BI__builtin_rvv_vaaddu_vx_u8mf4:
629case RISCV::BI__builtin_rvv_vaaddu_vx_u8mf8:
630case RISCV::BI__builtin_rvv_vaaddu_vx_u16m1:
631case RISCV::BI__builtin_rvv_vaaddu_vx_u16m2:
632case RISCV::BI__builtin_rvv_vaaddu_vx_u16m4:
633case RISCV::BI__builtin_rvv_vaaddu_vx_u16m8:
634case RISCV::BI__builtin_rvv_vaaddu_vx_u16mf2:
635case RISCV::BI__builtin_rvv_vaaddu_vx_u16mf4:
636case RISCV::BI__builtin_rvv_vaaddu_vx_u32m1:
637case RISCV::BI__builtin_rvv_vaaddu_vx_u32m2:
638case RISCV::BI__builtin_rvv_vaaddu_vx_u32m4:
639case RISCV::BI__builtin_rvv_vaaddu_vx_u32m8:
640case RISCV::BI__builtin_rvv_vaaddu_vx_u32mf2:
641case RISCV::BI__builtin_rvv_vaaddu_vx_u64m1:
642case RISCV::BI__builtin_rvv_vaaddu_vx_u64m2:
643case RISCV::BI__builtin_rvv_vaaddu_vx_u64m4:
644case RISCV::BI__builtin_rvv_vaaddu_vx_u64m8:
645 ID = Intrinsic::riscv_vaaddu;
646 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
647 break;
648case RISCV::BI__builtin_rvv_vaaddu_vv_u8m1_m:
649case RISCV::BI__builtin_rvv_vaaddu_vv_u8m2_m:
650case RISCV::BI__builtin_rvv_vaaddu_vv_u8m4_m:
651case RISCV::BI__builtin_rvv_vaaddu_vv_u8m8_m:
652case RISCV::BI__builtin_rvv_vaaddu_vv_u8mf2_m:
653case RISCV::BI__builtin_rvv_vaaddu_vv_u8mf4_m:
654case RISCV::BI__builtin_rvv_vaaddu_vv_u8mf8_m:
655case RISCV::BI__builtin_rvv_vaaddu_vv_u16m1_m:
656case RISCV::BI__builtin_rvv_vaaddu_vv_u16m2_m:
657case RISCV::BI__builtin_rvv_vaaddu_vv_u16m4_m:
658case RISCV::BI__builtin_rvv_vaaddu_vv_u16m8_m:
659case RISCV::BI__builtin_rvv_vaaddu_vv_u16mf2_m:
660case RISCV::BI__builtin_rvv_vaaddu_vv_u16mf4_m:
661case RISCV::BI__builtin_rvv_vaaddu_vv_u32m1_m:
662case RISCV::BI__builtin_rvv_vaaddu_vv_u32m2_m:
663case RISCV::BI__builtin_rvv_vaaddu_vv_u32m4_m:
664case RISCV::BI__builtin_rvv_vaaddu_vv_u32m8_m:
665case RISCV::BI__builtin_rvv_vaaddu_vv_u32mf2_m:
666case RISCV::BI__builtin_rvv_vaaddu_vv_u64m1_m:
667case RISCV::BI__builtin_rvv_vaaddu_vv_u64m2_m:
668case RISCV::BI__builtin_rvv_vaaddu_vv_u64m4_m:
669case RISCV::BI__builtin_rvv_vaaddu_vv_u64m8_m:
670case RISCV::BI__builtin_rvv_vaaddu_vx_u8m1_m:
671case RISCV::BI__builtin_rvv_vaaddu_vx_u8m2_m:
672case RISCV::BI__builtin_rvv_vaaddu_vx_u8m4_m:
673case RISCV::BI__builtin_rvv_vaaddu_vx_u8m8_m:
674case RISCV::BI__builtin_rvv_vaaddu_vx_u8mf2_m:
675case RISCV::BI__builtin_rvv_vaaddu_vx_u8mf4_m:
676case RISCV::BI__builtin_rvv_vaaddu_vx_u8mf8_m:
677case RISCV::BI__builtin_rvv_vaaddu_vx_u16m1_m:
678case RISCV::BI__builtin_rvv_vaaddu_vx_u16m2_m:
679case RISCV::BI__builtin_rvv_vaaddu_vx_u16m4_m:
680case RISCV::BI__builtin_rvv_vaaddu_vx_u16m8_m:
681case RISCV::BI__builtin_rvv_vaaddu_vx_u16mf2_m:
682case RISCV::BI__builtin_rvv_vaaddu_vx_u16mf4_m:
683case RISCV::BI__builtin_rvv_vaaddu_vx_u32m1_m:
684case RISCV::BI__builtin_rvv_vaaddu_vx_u32m2_m:
685case RISCV::BI__builtin_rvv_vaaddu_vx_u32m4_m:
686case RISCV::BI__builtin_rvv_vaaddu_vx_u32m8_m:
687case RISCV::BI__builtin_rvv_vaaddu_vx_u32mf2_m:
688case RISCV::BI__builtin_rvv_vaaddu_vx_u64m1_m:
689case RISCV::BI__builtin_rvv_vaaddu_vx_u64m2_m:
690case RISCV::BI__builtin_rvv_vaaddu_vx_u64m4_m:
691case RISCV::BI__builtin_rvv_vaaddu_vx_u64m8_m:
692 ID = Intrinsic::riscv_vaaddu_mask;
693 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
694 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
695 break;
696case RISCV::BI__builtin_rvv_vadc_vvm_i8m1:
697case RISCV::BI__builtin_rvv_vadc_vvm_i8m2:
698case RISCV::BI__builtin_rvv_vadc_vvm_i8m4:
699case RISCV::BI__builtin_rvv_vadc_vvm_i8m8:
700case RISCV::BI__builtin_rvv_vadc_vvm_i8mf2:
701case RISCV::BI__builtin_rvv_vadc_vvm_i8mf4:
702case RISCV::BI__builtin_rvv_vadc_vvm_i8mf8:
703case RISCV::BI__builtin_rvv_vadc_vvm_i16m1:
704case RISCV::BI__builtin_rvv_vadc_vvm_i16m2:
705case RISCV::BI__builtin_rvv_vadc_vvm_i16m4:
706case RISCV::BI__builtin_rvv_vadc_vvm_i16m8:
707case RISCV::BI__builtin_rvv_vadc_vvm_i16mf2:
708case RISCV::BI__builtin_rvv_vadc_vvm_i16mf4:
709case RISCV::BI__builtin_rvv_vadc_vvm_i32m1:
710case RISCV::BI__builtin_rvv_vadc_vvm_i32m2:
711case RISCV::BI__builtin_rvv_vadc_vvm_i32m4:
712case RISCV::BI__builtin_rvv_vadc_vvm_i32m8:
713case RISCV::BI__builtin_rvv_vadc_vvm_i32mf2:
714case RISCV::BI__builtin_rvv_vadc_vvm_i64m1:
715case RISCV::BI__builtin_rvv_vadc_vvm_i64m2:
716case RISCV::BI__builtin_rvv_vadc_vvm_i64m4:
717case RISCV::BI__builtin_rvv_vadc_vvm_i64m8:
718case RISCV::BI__builtin_rvv_vadc_vxm_i8m1:
719case RISCV::BI__builtin_rvv_vadc_vxm_i8m2:
720case RISCV::BI__builtin_rvv_vadc_vxm_i8m4:
721case RISCV::BI__builtin_rvv_vadc_vxm_i8m8:
722case RISCV::BI__builtin_rvv_vadc_vxm_i8mf2:
723case RISCV::BI__builtin_rvv_vadc_vxm_i8mf4:
724case RISCV::BI__builtin_rvv_vadc_vxm_i8mf8:
725case RISCV::BI__builtin_rvv_vadc_vxm_i16m1:
726case RISCV::BI__builtin_rvv_vadc_vxm_i16m2:
727case RISCV::BI__builtin_rvv_vadc_vxm_i16m4:
728case RISCV::BI__builtin_rvv_vadc_vxm_i16m8:
729case RISCV::BI__builtin_rvv_vadc_vxm_i16mf2:
730case RISCV::BI__builtin_rvv_vadc_vxm_i16mf4:
731case RISCV::BI__builtin_rvv_vadc_vxm_i32m1:
732case RISCV::BI__builtin_rvv_vadc_vxm_i32m2:
733case RISCV::BI__builtin_rvv_vadc_vxm_i32m4:
734case RISCV::BI__builtin_rvv_vadc_vxm_i32m8:
735case RISCV::BI__builtin_rvv_vadc_vxm_i32mf2:
736case RISCV::BI__builtin_rvv_vadc_vxm_i64m1:
737case RISCV::BI__builtin_rvv_vadc_vxm_i64m2:
738case RISCV::BI__builtin_rvv_vadc_vxm_i64m4:
739case RISCV::BI__builtin_rvv_vadc_vxm_i64m8:
740case RISCV::BI__builtin_rvv_vadc_vvm_u8m1:
741case RISCV::BI__builtin_rvv_vadc_vvm_u8m2:
742case RISCV::BI__builtin_rvv_vadc_vvm_u8m4:
743case RISCV::BI__builtin_rvv_vadc_vvm_u8m8:
744case RISCV::BI__builtin_rvv_vadc_vvm_u8mf2:
745case RISCV::BI__builtin_rvv_vadc_vvm_u8mf4:
746case RISCV::BI__builtin_rvv_vadc_vvm_u8mf8:
747case RISCV::BI__builtin_rvv_vadc_vvm_u16m1:
748case RISCV::BI__builtin_rvv_vadc_vvm_u16m2:
749case RISCV::BI__builtin_rvv_vadc_vvm_u16m4:
750case RISCV::BI__builtin_rvv_vadc_vvm_u16m8:
751case RISCV::BI__builtin_rvv_vadc_vvm_u16mf2:
752case RISCV::BI__builtin_rvv_vadc_vvm_u16mf4:
753case RISCV::BI__builtin_rvv_vadc_vvm_u32m1:
754case RISCV::BI__builtin_rvv_vadc_vvm_u32m2:
755case RISCV::BI__builtin_rvv_vadc_vvm_u32m4:
756case RISCV::BI__builtin_rvv_vadc_vvm_u32m8:
757case RISCV::BI__builtin_rvv_vadc_vvm_u32mf2:
758case RISCV::BI__builtin_rvv_vadc_vvm_u64m1:
759case RISCV::BI__builtin_rvv_vadc_vvm_u64m2:
760case RISCV::BI__builtin_rvv_vadc_vvm_u64m4:
761case RISCV::BI__builtin_rvv_vadc_vvm_u64m8:
762case RISCV::BI__builtin_rvv_vadc_vxm_u8m1:
763case RISCV::BI__builtin_rvv_vadc_vxm_u8m2:
764case RISCV::BI__builtin_rvv_vadc_vxm_u8m4:
765case RISCV::BI__builtin_rvv_vadc_vxm_u8m8:
766case RISCV::BI__builtin_rvv_vadc_vxm_u8mf2:
767case RISCV::BI__builtin_rvv_vadc_vxm_u8mf4:
768case RISCV::BI__builtin_rvv_vadc_vxm_u8mf8:
769case RISCV::BI__builtin_rvv_vadc_vxm_u16m1:
770case RISCV::BI__builtin_rvv_vadc_vxm_u16m2:
771case RISCV::BI__builtin_rvv_vadc_vxm_u16m4:
772case RISCV::BI__builtin_rvv_vadc_vxm_u16m8:
773case RISCV::BI__builtin_rvv_vadc_vxm_u16mf2:
774case RISCV::BI__builtin_rvv_vadc_vxm_u16mf4:
775case RISCV::BI__builtin_rvv_vadc_vxm_u32m1:
776case RISCV::BI__builtin_rvv_vadc_vxm_u32m2:
777case RISCV::BI__builtin_rvv_vadc_vxm_u32m4:
778case RISCV::BI__builtin_rvv_vadc_vxm_u32m8:
779case RISCV::BI__builtin_rvv_vadc_vxm_u32mf2:
780case RISCV::BI__builtin_rvv_vadc_vxm_u64m1:
781case RISCV::BI__builtin_rvv_vadc_vxm_u64m2:
782case RISCV::BI__builtin_rvv_vadc_vxm_u64m4:
783case RISCV::BI__builtin_rvv_vadc_vxm_u64m8:
784 ID = Intrinsic::riscv_vadc;
785 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
786 break;
787case RISCV::BI__builtin_rvv_vadd_vv_i8m1:
788case RISCV::BI__builtin_rvv_vadd_vv_i8m2:
789case RISCV::BI__builtin_rvv_vadd_vv_i8m4:
790case RISCV::BI__builtin_rvv_vadd_vv_i8m8:
791case RISCV::BI__builtin_rvv_vadd_vv_i8mf2:
792case RISCV::BI__builtin_rvv_vadd_vv_i8mf4:
793case RISCV::BI__builtin_rvv_vadd_vv_i8mf8:
794case RISCV::BI__builtin_rvv_vadd_vv_i16m1:
795case RISCV::BI__builtin_rvv_vadd_vv_i16m2:
796case RISCV::BI__builtin_rvv_vadd_vv_i16m4:
797case RISCV::BI__builtin_rvv_vadd_vv_i16m8:
798case RISCV::BI__builtin_rvv_vadd_vv_i16mf2:
799case RISCV::BI__builtin_rvv_vadd_vv_i16mf4:
800case RISCV::BI__builtin_rvv_vadd_vv_i32m1:
801case RISCV::BI__builtin_rvv_vadd_vv_i32m2:
802case RISCV::BI__builtin_rvv_vadd_vv_i32m4:
803case RISCV::BI__builtin_rvv_vadd_vv_i32m8:
804case RISCV::BI__builtin_rvv_vadd_vv_i32mf2:
805case RISCV::BI__builtin_rvv_vadd_vv_i64m1:
806case RISCV::BI__builtin_rvv_vadd_vv_i64m2:
807case RISCV::BI__builtin_rvv_vadd_vv_i64m4:
808case RISCV::BI__builtin_rvv_vadd_vv_i64m8:
809case RISCV::BI__builtin_rvv_vadd_vx_i8m1:
810case RISCV::BI__builtin_rvv_vadd_vx_i8m2:
811case RISCV::BI__builtin_rvv_vadd_vx_i8m4:
812case RISCV::BI__builtin_rvv_vadd_vx_i8m8:
813case RISCV::BI__builtin_rvv_vadd_vx_i8mf2:
814case RISCV::BI__builtin_rvv_vadd_vx_i8mf4:
815case RISCV::BI__builtin_rvv_vadd_vx_i8mf8:
816case RISCV::BI__builtin_rvv_vadd_vx_i16m1:
817case RISCV::BI__builtin_rvv_vadd_vx_i16m2:
818case RISCV::BI__builtin_rvv_vadd_vx_i16m4:
819case RISCV::BI__builtin_rvv_vadd_vx_i16m8:
820case RISCV::BI__builtin_rvv_vadd_vx_i16mf2:
821case RISCV::BI__builtin_rvv_vadd_vx_i16mf4:
822case RISCV::BI__builtin_rvv_vadd_vx_i32m1:
823case RISCV::BI__builtin_rvv_vadd_vx_i32m2:
824case RISCV::BI__builtin_rvv_vadd_vx_i32m4:
825case RISCV::BI__builtin_rvv_vadd_vx_i32m8:
826case RISCV::BI__builtin_rvv_vadd_vx_i32mf2:
827case RISCV::BI__builtin_rvv_vadd_vx_i64m1:
828case RISCV::BI__builtin_rvv_vadd_vx_i64m2:
829case RISCV::BI__builtin_rvv_vadd_vx_i64m4:
830case RISCV::BI__builtin_rvv_vadd_vx_i64m8:
831case RISCV::BI__builtin_rvv_vadd_vv_u8m1:
832case RISCV::BI__builtin_rvv_vadd_vv_u8m2:
833case RISCV::BI__builtin_rvv_vadd_vv_u8m4:
834case RISCV::BI__builtin_rvv_vadd_vv_u8m8:
835case RISCV::BI__builtin_rvv_vadd_vv_u8mf2:
836case RISCV::BI__builtin_rvv_vadd_vv_u8mf4:
837case RISCV::BI__builtin_rvv_vadd_vv_u8mf8:
838case RISCV::BI__builtin_rvv_vadd_vv_u16m1:
839case RISCV::BI__builtin_rvv_vadd_vv_u16m2:
840case RISCV::BI__builtin_rvv_vadd_vv_u16m4:
841case RISCV::BI__builtin_rvv_vadd_vv_u16m8:
842case RISCV::BI__builtin_rvv_vadd_vv_u16mf2:
843case RISCV::BI__builtin_rvv_vadd_vv_u16mf4:
844case RISCV::BI__builtin_rvv_vadd_vv_u32m1:
845case RISCV::BI__builtin_rvv_vadd_vv_u32m2:
846case RISCV::BI__builtin_rvv_vadd_vv_u32m4:
847case RISCV::BI__builtin_rvv_vadd_vv_u32m8:
848case RISCV::BI__builtin_rvv_vadd_vv_u32mf2:
849case RISCV::BI__builtin_rvv_vadd_vv_u64m1:
850case RISCV::BI__builtin_rvv_vadd_vv_u64m2:
851case RISCV::BI__builtin_rvv_vadd_vv_u64m4:
852case RISCV::BI__builtin_rvv_vadd_vv_u64m8:
853case RISCV::BI__builtin_rvv_vadd_vx_u8m1:
854case RISCV::BI__builtin_rvv_vadd_vx_u8m2:
855case RISCV::BI__builtin_rvv_vadd_vx_u8m4:
856case RISCV::BI__builtin_rvv_vadd_vx_u8m8:
857case RISCV::BI__builtin_rvv_vadd_vx_u8mf2:
858case RISCV::BI__builtin_rvv_vadd_vx_u8mf4:
859case RISCV::BI__builtin_rvv_vadd_vx_u8mf8:
860case RISCV::BI__builtin_rvv_vadd_vx_u16m1:
861case RISCV::BI__builtin_rvv_vadd_vx_u16m2:
862case RISCV::BI__builtin_rvv_vadd_vx_u16m4:
863case RISCV::BI__builtin_rvv_vadd_vx_u16m8:
864case RISCV::BI__builtin_rvv_vadd_vx_u16mf2:
865case RISCV::BI__builtin_rvv_vadd_vx_u16mf4:
866case RISCV::BI__builtin_rvv_vadd_vx_u32m1:
867case RISCV::BI__builtin_rvv_vadd_vx_u32m2:
868case RISCV::BI__builtin_rvv_vadd_vx_u32m4:
869case RISCV::BI__builtin_rvv_vadd_vx_u32m8:
870case RISCV::BI__builtin_rvv_vadd_vx_u32mf2:
871case RISCV::BI__builtin_rvv_vadd_vx_u64m1:
872case RISCV::BI__builtin_rvv_vadd_vx_u64m2:
873case RISCV::BI__builtin_rvv_vadd_vx_u64m4:
874case RISCV::BI__builtin_rvv_vadd_vx_u64m8:
875 ID = Intrinsic::riscv_vadd;
876 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
877 break;
878case RISCV::BI__builtin_rvv_vadd_vv_i8m1_m:
879case RISCV::BI__builtin_rvv_vadd_vv_i8m2_m:
880case RISCV::BI__builtin_rvv_vadd_vv_i8m4_m:
881case RISCV::BI__builtin_rvv_vadd_vv_i8m8_m:
882case RISCV::BI__builtin_rvv_vadd_vv_i8mf2_m:
883case RISCV::BI__builtin_rvv_vadd_vv_i8mf4_m:
884case RISCV::BI__builtin_rvv_vadd_vv_i8mf8_m:
885case RISCV::BI__builtin_rvv_vadd_vv_i16m1_m:
886case RISCV::BI__builtin_rvv_vadd_vv_i16m2_m:
887case RISCV::BI__builtin_rvv_vadd_vv_i16m4_m:
888case RISCV::BI__builtin_rvv_vadd_vv_i16m8_m:
889case RISCV::BI__builtin_rvv_vadd_vv_i16mf2_m:
890case RISCV::BI__builtin_rvv_vadd_vv_i16mf4_m:
891case RISCV::BI__builtin_rvv_vadd_vv_i32m1_m:
892case RISCV::BI__builtin_rvv_vadd_vv_i32m2_m:
893case RISCV::BI__builtin_rvv_vadd_vv_i32m4_m:
894case RISCV::BI__builtin_rvv_vadd_vv_i32m8_m:
895case RISCV::BI__builtin_rvv_vadd_vv_i32mf2_m:
896case RISCV::BI__builtin_rvv_vadd_vv_i64m1_m:
897case RISCV::BI__builtin_rvv_vadd_vv_i64m2_m:
898case RISCV::BI__builtin_rvv_vadd_vv_i64m4_m:
899case RISCV::BI__builtin_rvv_vadd_vv_i64m8_m:
900case RISCV::BI__builtin_rvv_vadd_vx_i8m1_m:
901case RISCV::BI__builtin_rvv_vadd_vx_i8m2_m:
902case RISCV::BI__builtin_rvv_vadd_vx_i8m4_m:
903case RISCV::BI__builtin_rvv_vadd_vx_i8m8_m:
904case RISCV::BI__builtin_rvv_vadd_vx_i8mf2_m:
905case RISCV::BI__builtin_rvv_vadd_vx_i8mf4_m:
906case RISCV::BI__builtin_rvv_vadd_vx_i8mf8_m:
907case RISCV::BI__builtin_rvv_vadd_vx_i16m1_m:
908case RISCV::BI__builtin_rvv_vadd_vx_i16m2_m:
909case RISCV::BI__builtin_rvv_vadd_vx_i16m4_m:
910case RISCV::BI__builtin_rvv_vadd_vx_i16m8_m:
911case RISCV::BI__builtin_rvv_vadd_vx_i16mf2_m:
912case RISCV::BI__builtin_rvv_vadd_vx_i16mf4_m:
913case RISCV::BI__builtin_rvv_vadd_vx_i32m1_m:
914case RISCV::BI__builtin_rvv_vadd_vx_i32m2_m:
915case RISCV::BI__builtin_rvv_vadd_vx_i32m4_m:
916case RISCV::BI__builtin_rvv_vadd_vx_i32m8_m:
917case RISCV::BI__builtin_rvv_vadd_vx_i32mf2_m:
918case RISCV::BI__builtin_rvv_vadd_vx_i64m1_m:
919case RISCV::BI__builtin_rvv_vadd_vx_i64m2_m:
920case RISCV::BI__builtin_rvv_vadd_vx_i64m4_m:
921case RISCV::BI__builtin_rvv_vadd_vx_i64m8_m:
922case RISCV::BI__builtin_rvv_vadd_vv_u8m1_m:
923case RISCV::BI__builtin_rvv_vadd_vv_u8m2_m:
924case RISCV::BI__builtin_rvv_vadd_vv_u8m4_m:
925case RISCV::BI__builtin_rvv_vadd_vv_u8m8_m:
926case RISCV::BI__builtin_rvv_vadd_vv_u8mf2_m:
927case RISCV::BI__builtin_rvv_vadd_vv_u8mf4_m:
928case RISCV::BI__builtin_rvv_vadd_vv_u8mf8_m:
929case RISCV::BI__builtin_rvv_vadd_vv_u16m1_m:
930case RISCV::BI__builtin_rvv_vadd_vv_u16m2_m:
931case RISCV::BI__builtin_rvv_vadd_vv_u16m4_m:
932case RISCV::BI__builtin_rvv_vadd_vv_u16m8_m:
933case RISCV::BI__builtin_rvv_vadd_vv_u16mf2_m:
934case RISCV::BI__builtin_rvv_vadd_vv_u16mf4_m:
935case RISCV::BI__builtin_rvv_vadd_vv_u32m1_m:
936case RISCV::BI__builtin_rvv_vadd_vv_u32m2_m:
937case RISCV::BI__builtin_rvv_vadd_vv_u32m4_m:
938case RISCV::BI__builtin_rvv_vadd_vv_u32m8_m:
939case RISCV::BI__builtin_rvv_vadd_vv_u32mf2_m:
940case RISCV::BI__builtin_rvv_vadd_vv_u64m1_m:
941case RISCV::BI__builtin_rvv_vadd_vv_u64m2_m:
942case RISCV::BI__builtin_rvv_vadd_vv_u64m4_m:
943case RISCV::BI__builtin_rvv_vadd_vv_u64m8_m:
944case RISCV::BI__builtin_rvv_vadd_vx_u8m1_m:
945case RISCV::BI__builtin_rvv_vadd_vx_u8m2_m:
946case RISCV::BI__builtin_rvv_vadd_vx_u8m4_m:
947case RISCV::BI__builtin_rvv_vadd_vx_u8m8_m:
948case RISCV::BI__builtin_rvv_vadd_vx_u8mf2_m:
949case RISCV::BI__builtin_rvv_vadd_vx_u8mf4_m:
950case RISCV::BI__builtin_rvv_vadd_vx_u8mf8_m:
951case RISCV::BI__builtin_rvv_vadd_vx_u16m1_m:
952case RISCV::BI__builtin_rvv_vadd_vx_u16m2_m:
953case RISCV::BI__builtin_rvv_vadd_vx_u16m4_m:
954case RISCV::BI__builtin_rvv_vadd_vx_u16m8_m:
955case RISCV::BI__builtin_rvv_vadd_vx_u16mf2_m:
956case RISCV::BI__builtin_rvv_vadd_vx_u16mf4_m:
957case RISCV::BI__builtin_rvv_vadd_vx_u32m1_m:
958case RISCV::BI__builtin_rvv_vadd_vx_u32m2_m:
959case RISCV::BI__builtin_rvv_vadd_vx_u32m4_m:
960case RISCV::BI__builtin_rvv_vadd_vx_u32m8_m:
961case RISCV::BI__builtin_rvv_vadd_vx_u32mf2_m:
962case RISCV::BI__builtin_rvv_vadd_vx_u64m1_m:
963case RISCV::BI__builtin_rvv_vadd_vx_u64m2_m:
964case RISCV::BI__builtin_rvv_vadd_vx_u64m4_m:
965case RISCV::BI__builtin_rvv_vadd_vx_u64m8_m:
966 ID = Intrinsic::riscv_vadd_mask;
967 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
968 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
969 break;
970case RISCV::BI__builtin_rvv_vamoaddei8_v_i32m1:
971case RISCV::BI__builtin_rvv_vamoaddei8_v_i32m2:
972case RISCV::BI__builtin_rvv_vamoaddei8_v_i32m4:
973case RISCV::BI__builtin_rvv_vamoaddei8_v_i32m8:
974case RISCV::BI__builtin_rvv_vamoaddei8_v_i32mf2:
975case RISCV::BI__builtin_rvv_vamoaddei8_v_u32m1:
976case RISCV::BI__builtin_rvv_vamoaddei8_v_u32m2:
977case RISCV::BI__builtin_rvv_vamoaddei8_v_u32m4:
978case RISCV::BI__builtin_rvv_vamoaddei8_v_u32m8:
979case RISCV::BI__builtin_rvv_vamoaddei8_v_u32mf2:
980case RISCV::BI__builtin_rvv_vamoaddei16_v_i32m1:
981case RISCV::BI__builtin_rvv_vamoaddei16_v_i32m2:
982case RISCV::BI__builtin_rvv_vamoaddei16_v_i32m4:
983case RISCV::BI__builtin_rvv_vamoaddei16_v_i32m8:
984case RISCV::BI__builtin_rvv_vamoaddei16_v_i32mf2:
985case RISCV::BI__builtin_rvv_vamoaddei16_v_u32m1:
986case RISCV::BI__builtin_rvv_vamoaddei16_v_u32m2:
987case RISCV::BI__builtin_rvv_vamoaddei16_v_u32m4:
988case RISCV::BI__builtin_rvv_vamoaddei16_v_u32m8:
989case RISCV::BI__builtin_rvv_vamoaddei16_v_u32mf2:
990case RISCV::BI__builtin_rvv_vamoaddei32_v_i32m1:
991case RISCV::BI__builtin_rvv_vamoaddei32_v_i32m2:
992case RISCV::BI__builtin_rvv_vamoaddei32_v_i32m4:
993case RISCV::BI__builtin_rvv_vamoaddei32_v_i32m8:
994case RISCV::BI__builtin_rvv_vamoaddei32_v_i32mf2:
995case RISCV::BI__builtin_rvv_vamoaddei32_v_u32m1:
996case RISCV::BI__builtin_rvv_vamoaddei32_v_u32m2:
997case RISCV::BI__builtin_rvv_vamoaddei32_v_u32m4:
998case RISCV::BI__builtin_rvv_vamoaddei32_v_u32m8:
999case RISCV::BI__builtin_rvv_vamoaddei32_v_u32mf2:
1000case RISCV::BI__builtin_rvv_vamoaddei64_v_i32m1:
1001case RISCV::BI__builtin_rvv_vamoaddei64_v_i32m2:
1002case RISCV::BI__builtin_rvv_vamoaddei64_v_i32m4:
1003case RISCV::BI__builtin_rvv_vamoaddei64_v_i32mf2:
1004case RISCV::BI__builtin_rvv_vamoaddei64_v_u32m1:
1005case RISCV::BI__builtin_rvv_vamoaddei64_v_u32m2:
1006case RISCV::BI__builtin_rvv_vamoaddei64_v_u32m4:
1007case RISCV::BI__builtin_rvv_vamoaddei64_v_u32mf2:
1008case RISCV::BI__builtin_rvv_vamoaddei8_v_i64m1:
1009case RISCV::BI__builtin_rvv_vamoaddei8_v_i64m2:
1010case RISCV::BI__builtin_rvv_vamoaddei8_v_i64m4:
1011case RISCV::BI__builtin_rvv_vamoaddei8_v_i64m8:
1012case RISCV::BI__builtin_rvv_vamoaddei8_v_u64m1:
1013case RISCV::BI__builtin_rvv_vamoaddei8_v_u64m2:
1014case RISCV::BI__builtin_rvv_vamoaddei8_v_u64m4:
1015case RISCV::BI__builtin_rvv_vamoaddei8_v_u64m8:
1016case RISCV::BI__builtin_rvv_vamoaddei16_v_i64m1:
1017case RISCV::BI__builtin_rvv_vamoaddei16_v_i64m2:
1018case RISCV::BI__builtin_rvv_vamoaddei16_v_i64m4:
1019case RISCV::BI__builtin_rvv_vamoaddei16_v_i64m8:
1020case RISCV::BI__builtin_rvv_vamoaddei16_v_u64m1:
1021case RISCV::BI__builtin_rvv_vamoaddei16_v_u64m2:
1022case RISCV::BI__builtin_rvv_vamoaddei16_v_u64m4:
1023case RISCV::BI__builtin_rvv_vamoaddei16_v_u64m8:
1024case RISCV::BI__builtin_rvv_vamoaddei32_v_i64m1:
1025case RISCV::BI__builtin_rvv_vamoaddei32_v_i64m2:
1026case RISCV::BI__builtin_rvv_vamoaddei32_v_i64m4:
1027case RISCV::BI__builtin_rvv_vamoaddei32_v_i64m8:
1028case RISCV::BI__builtin_rvv_vamoaddei32_v_u64m1:
1029case RISCV::BI__builtin_rvv_vamoaddei32_v_u64m2:
1030case RISCV::BI__builtin_rvv_vamoaddei32_v_u64m4:
1031case RISCV::BI__builtin_rvv_vamoaddei32_v_u64m8:
1032case RISCV::BI__builtin_rvv_vamoaddei64_v_i64m1:
1033case RISCV::BI__builtin_rvv_vamoaddei64_v_i64m2:
1034case RISCV::BI__builtin_rvv_vamoaddei64_v_i64m4:
1035case RISCV::BI__builtin_rvv_vamoaddei64_v_i64m8:
1036case RISCV::BI__builtin_rvv_vamoaddei64_v_u64m1:
1037case RISCV::BI__builtin_rvv_vamoaddei64_v_u64m2:
1038case RISCV::BI__builtin_rvv_vamoaddei64_v_u64m4:
1039case RISCV::BI__builtin_rvv_vamoaddei64_v_u64m8:
1040 ID = Intrinsic::riscv_vamoadd;
1041
1042 // base, bindex, value, vl
1043 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[3]->getType()};
1044 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1045 break;
1046case RISCV::BI__builtin_rvv_vamoaddei8_v_i32m1_m:
1047case RISCV::BI__builtin_rvv_vamoaddei8_v_i32m2_m:
1048case RISCV::BI__builtin_rvv_vamoaddei8_v_i32m4_m:
1049case RISCV::BI__builtin_rvv_vamoaddei8_v_i32m8_m:
1050case RISCV::BI__builtin_rvv_vamoaddei8_v_i32mf2_m:
1051case RISCV::BI__builtin_rvv_vamoaddei8_v_u32m1_m:
1052case RISCV::BI__builtin_rvv_vamoaddei8_v_u32m2_m:
1053case RISCV::BI__builtin_rvv_vamoaddei8_v_u32m4_m:
1054case RISCV::BI__builtin_rvv_vamoaddei8_v_u32m8_m:
1055case RISCV::BI__builtin_rvv_vamoaddei8_v_u32mf2_m:
1056case RISCV::BI__builtin_rvv_vamoaddei16_v_i32m1_m:
1057case RISCV::BI__builtin_rvv_vamoaddei16_v_i32m2_m:
1058case RISCV::BI__builtin_rvv_vamoaddei16_v_i32m4_m:
1059case RISCV::BI__builtin_rvv_vamoaddei16_v_i32m8_m:
1060case RISCV::BI__builtin_rvv_vamoaddei16_v_i32mf2_m:
1061case RISCV::BI__builtin_rvv_vamoaddei16_v_u32m1_m:
1062case RISCV::BI__builtin_rvv_vamoaddei16_v_u32m2_m:
1063case RISCV::BI__builtin_rvv_vamoaddei16_v_u32m4_m:
1064case RISCV::BI__builtin_rvv_vamoaddei16_v_u32m8_m:
1065case RISCV::BI__builtin_rvv_vamoaddei16_v_u32mf2_m:
1066case RISCV::BI__builtin_rvv_vamoaddei32_v_i32m1_m:
1067case RISCV::BI__builtin_rvv_vamoaddei32_v_i32m2_m:
1068case RISCV::BI__builtin_rvv_vamoaddei32_v_i32m4_m:
1069case RISCV::BI__builtin_rvv_vamoaddei32_v_i32m8_m:
1070case RISCV::BI__builtin_rvv_vamoaddei32_v_i32mf2_m:
1071case RISCV::BI__builtin_rvv_vamoaddei32_v_u32m1_m:
1072case RISCV::BI__builtin_rvv_vamoaddei32_v_u32m2_m:
1073case RISCV::BI__builtin_rvv_vamoaddei32_v_u32m4_m:
1074case RISCV::BI__builtin_rvv_vamoaddei32_v_u32m8_m:
1075case RISCV::BI__builtin_rvv_vamoaddei32_v_u32mf2_m:
1076case RISCV::BI__builtin_rvv_vamoaddei64_v_i32m1_m:
1077case RISCV::BI__builtin_rvv_vamoaddei64_v_i32m2_m:
1078case RISCV::BI__builtin_rvv_vamoaddei64_v_i32m4_m:
1079case RISCV::BI__builtin_rvv_vamoaddei64_v_i32mf2_m:
1080case RISCV::BI__builtin_rvv_vamoaddei64_v_u32m1_m:
1081case RISCV::BI__builtin_rvv_vamoaddei64_v_u32m2_m:
1082case RISCV::BI__builtin_rvv_vamoaddei64_v_u32m4_m:
1083case RISCV::BI__builtin_rvv_vamoaddei64_v_u32mf2_m:
1084case RISCV::BI__builtin_rvv_vamoaddei8_v_i64m1_m:
1085case RISCV::BI__builtin_rvv_vamoaddei8_v_i64m2_m:
1086case RISCV::BI__builtin_rvv_vamoaddei8_v_i64m4_m:
1087case RISCV::BI__builtin_rvv_vamoaddei8_v_i64m8_m:
1088case RISCV::BI__builtin_rvv_vamoaddei8_v_u64m1_m:
1089case RISCV::BI__builtin_rvv_vamoaddei8_v_u64m2_m:
1090case RISCV::BI__builtin_rvv_vamoaddei8_v_u64m4_m:
1091case RISCV::BI__builtin_rvv_vamoaddei8_v_u64m8_m:
1092case RISCV::BI__builtin_rvv_vamoaddei16_v_i64m1_m:
1093case RISCV::BI__builtin_rvv_vamoaddei16_v_i64m2_m:
1094case RISCV::BI__builtin_rvv_vamoaddei16_v_i64m4_m:
1095case RISCV::BI__builtin_rvv_vamoaddei16_v_i64m8_m:
1096case RISCV::BI__builtin_rvv_vamoaddei16_v_u64m1_m:
1097case RISCV::BI__builtin_rvv_vamoaddei16_v_u64m2_m:
1098case RISCV::BI__builtin_rvv_vamoaddei16_v_u64m4_m:
1099case RISCV::BI__builtin_rvv_vamoaddei16_v_u64m8_m:
1100case RISCV::BI__builtin_rvv_vamoaddei32_v_i64m1_m:
1101case RISCV::BI__builtin_rvv_vamoaddei32_v_i64m2_m:
1102case RISCV::BI__builtin_rvv_vamoaddei32_v_i64m4_m:
1103case RISCV::BI__builtin_rvv_vamoaddei32_v_i64m8_m:
1104case RISCV::BI__builtin_rvv_vamoaddei32_v_u64m1_m:
1105case RISCV::BI__builtin_rvv_vamoaddei32_v_u64m2_m:
1106case RISCV::BI__builtin_rvv_vamoaddei32_v_u64m4_m:
1107case RISCV::BI__builtin_rvv_vamoaddei32_v_u64m8_m:
1108case RISCV::BI__builtin_rvv_vamoaddei64_v_i64m1_m:
1109case RISCV::BI__builtin_rvv_vamoaddei64_v_i64m2_m:
1110case RISCV::BI__builtin_rvv_vamoaddei64_v_i64m4_m:
1111case RISCV::BI__builtin_rvv_vamoaddei64_v_i64m8_m:
1112case RISCV::BI__builtin_rvv_vamoaddei64_v_u64m1_m:
1113case RISCV::BI__builtin_rvv_vamoaddei64_v_u64m2_m:
1114case RISCV::BI__builtin_rvv_vamoaddei64_v_u64m4_m:
1115case RISCV::BI__builtin_rvv_vamoaddei64_v_u64m8_m:
1116 ID = Intrinsic::riscv_vamoadd_mask;
1117
1118 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
1119 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[4]->getType()};
1120 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1121 break;
1122case RISCV::BI__builtin_rvv_vamoandei8_v_i32m1:
1123case RISCV::BI__builtin_rvv_vamoandei8_v_i32m2:
1124case RISCV::BI__builtin_rvv_vamoandei8_v_i32m4:
1125case RISCV::BI__builtin_rvv_vamoandei8_v_i32m8:
1126case RISCV::BI__builtin_rvv_vamoandei8_v_i32mf2:
1127case RISCV::BI__builtin_rvv_vamoandei8_v_u32m1:
1128case RISCV::BI__builtin_rvv_vamoandei8_v_u32m2:
1129case RISCV::BI__builtin_rvv_vamoandei8_v_u32m4:
1130case RISCV::BI__builtin_rvv_vamoandei8_v_u32m8:
1131case RISCV::BI__builtin_rvv_vamoandei8_v_u32mf2:
1132case RISCV::BI__builtin_rvv_vamoandei16_v_i32m1:
1133case RISCV::BI__builtin_rvv_vamoandei16_v_i32m2:
1134case RISCV::BI__builtin_rvv_vamoandei16_v_i32m4:
1135case RISCV::BI__builtin_rvv_vamoandei16_v_i32m8:
1136case RISCV::BI__builtin_rvv_vamoandei16_v_i32mf2:
1137case RISCV::BI__builtin_rvv_vamoandei16_v_u32m1:
1138case RISCV::BI__builtin_rvv_vamoandei16_v_u32m2:
1139case RISCV::BI__builtin_rvv_vamoandei16_v_u32m4:
1140case RISCV::BI__builtin_rvv_vamoandei16_v_u32m8:
1141case RISCV::BI__builtin_rvv_vamoandei16_v_u32mf2:
1142case RISCV::BI__builtin_rvv_vamoandei32_v_i32m1:
1143case RISCV::BI__builtin_rvv_vamoandei32_v_i32m2:
1144case RISCV::BI__builtin_rvv_vamoandei32_v_i32m4:
1145case RISCV::BI__builtin_rvv_vamoandei32_v_i32m8:
1146case RISCV::BI__builtin_rvv_vamoandei32_v_i32mf2:
1147case RISCV::BI__builtin_rvv_vamoandei32_v_u32m1:
1148case RISCV::BI__builtin_rvv_vamoandei32_v_u32m2:
1149case RISCV::BI__builtin_rvv_vamoandei32_v_u32m4:
1150case RISCV::BI__builtin_rvv_vamoandei32_v_u32m8:
1151case RISCV::BI__builtin_rvv_vamoandei32_v_u32mf2:
1152case RISCV::BI__builtin_rvv_vamoandei64_v_i32m1:
1153case RISCV::BI__builtin_rvv_vamoandei64_v_i32m2:
1154case RISCV::BI__builtin_rvv_vamoandei64_v_i32m4:
1155case RISCV::BI__builtin_rvv_vamoandei64_v_i32mf2:
1156case RISCV::BI__builtin_rvv_vamoandei64_v_u32m1:
1157case RISCV::BI__builtin_rvv_vamoandei64_v_u32m2:
1158case RISCV::BI__builtin_rvv_vamoandei64_v_u32m4:
1159case RISCV::BI__builtin_rvv_vamoandei64_v_u32mf2:
1160case RISCV::BI__builtin_rvv_vamoandei8_v_i64m1:
1161case RISCV::BI__builtin_rvv_vamoandei8_v_i64m2:
1162case RISCV::BI__builtin_rvv_vamoandei8_v_i64m4:
1163case RISCV::BI__builtin_rvv_vamoandei8_v_i64m8:
1164case RISCV::BI__builtin_rvv_vamoandei8_v_u64m1:
1165case RISCV::BI__builtin_rvv_vamoandei8_v_u64m2:
1166case RISCV::BI__builtin_rvv_vamoandei8_v_u64m4:
1167case RISCV::BI__builtin_rvv_vamoandei8_v_u64m8:
1168case RISCV::BI__builtin_rvv_vamoandei16_v_i64m1:
1169case RISCV::BI__builtin_rvv_vamoandei16_v_i64m2:
1170case RISCV::BI__builtin_rvv_vamoandei16_v_i64m4:
1171case RISCV::BI__builtin_rvv_vamoandei16_v_i64m8:
1172case RISCV::BI__builtin_rvv_vamoandei16_v_u64m1:
1173case RISCV::BI__builtin_rvv_vamoandei16_v_u64m2:
1174case RISCV::BI__builtin_rvv_vamoandei16_v_u64m4:
1175case RISCV::BI__builtin_rvv_vamoandei16_v_u64m8:
1176case RISCV::BI__builtin_rvv_vamoandei32_v_i64m1:
1177case RISCV::BI__builtin_rvv_vamoandei32_v_i64m2:
1178case RISCV::BI__builtin_rvv_vamoandei32_v_i64m4:
1179case RISCV::BI__builtin_rvv_vamoandei32_v_i64m8:
1180case RISCV::BI__builtin_rvv_vamoandei32_v_u64m1:
1181case RISCV::BI__builtin_rvv_vamoandei32_v_u64m2:
1182case RISCV::BI__builtin_rvv_vamoandei32_v_u64m4:
1183case RISCV::BI__builtin_rvv_vamoandei32_v_u64m8:
1184case RISCV::BI__builtin_rvv_vamoandei64_v_i64m1:
1185case RISCV::BI__builtin_rvv_vamoandei64_v_i64m2:
1186case RISCV::BI__builtin_rvv_vamoandei64_v_i64m4:
1187case RISCV::BI__builtin_rvv_vamoandei64_v_i64m8:
1188case RISCV::BI__builtin_rvv_vamoandei64_v_u64m1:
1189case RISCV::BI__builtin_rvv_vamoandei64_v_u64m2:
1190case RISCV::BI__builtin_rvv_vamoandei64_v_u64m4:
1191case RISCV::BI__builtin_rvv_vamoandei64_v_u64m8:
1192 ID = Intrinsic::riscv_vamoand;
1193
1194 // base, bindex, value, vl
1195 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[3]->getType()};
1196 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1197 break;
1198case RISCV::BI__builtin_rvv_vamoandei8_v_i32m1_m:
1199case RISCV::BI__builtin_rvv_vamoandei8_v_i32m2_m:
1200case RISCV::BI__builtin_rvv_vamoandei8_v_i32m4_m:
1201case RISCV::BI__builtin_rvv_vamoandei8_v_i32m8_m:
1202case RISCV::BI__builtin_rvv_vamoandei8_v_i32mf2_m:
1203case RISCV::BI__builtin_rvv_vamoandei8_v_u32m1_m:
1204case RISCV::BI__builtin_rvv_vamoandei8_v_u32m2_m:
1205case RISCV::BI__builtin_rvv_vamoandei8_v_u32m4_m:
1206case RISCV::BI__builtin_rvv_vamoandei8_v_u32m8_m:
1207case RISCV::BI__builtin_rvv_vamoandei8_v_u32mf2_m:
1208case RISCV::BI__builtin_rvv_vamoandei16_v_i32m1_m:
1209case RISCV::BI__builtin_rvv_vamoandei16_v_i32m2_m:
1210case RISCV::BI__builtin_rvv_vamoandei16_v_i32m4_m:
1211case RISCV::BI__builtin_rvv_vamoandei16_v_i32m8_m:
1212case RISCV::BI__builtin_rvv_vamoandei16_v_i32mf2_m:
1213case RISCV::BI__builtin_rvv_vamoandei16_v_u32m1_m:
1214case RISCV::BI__builtin_rvv_vamoandei16_v_u32m2_m:
1215case RISCV::BI__builtin_rvv_vamoandei16_v_u32m4_m:
1216case RISCV::BI__builtin_rvv_vamoandei16_v_u32m8_m:
1217case RISCV::BI__builtin_rvv_vamoandei16_v_u32mf2_m:
1218case RISCV::BI__builtin_rvv_vamoandei32_v_i32m1_m:
1219case RISCV::BI__builtin_rvv_vamoandei32_v_i32m2_m:
1220case RISCV::BI__builtin_rvv_vamoandei32_v_i32m4_m:
1221case RISCV::BI__builtin_rvv_vamoandei32_v_i32m8_m:
1222case RISCV::BI__builtin_rvv_vamoandei32_v_i32mf2_m:
1223case RISCV::BI__builtin_rvv_vamoandei32_v_u32m1_m:
1224case RISCV::BI__builtin_rvv_vamoandei32_v_u32m2_m:
1225case RISCV::BI__builtin_rvv_vamoandei32_v_u32m4_m:
1226case RISCV::BI__builtin_rvv_vamoandei32_v_u32m8_m:
1227case RISCV::BI__builtin_rvv_vamoandei32_v_u32mf2_m:
1228case RISCV::BI__builtin_rvv_vamoandei64_v_i32m1_m:
1229case RISCV::BI__builtin_rvv_vamoandei64_v_i32m2_m:
1230case RISCV::BI__builtin_rvv_vamoandei64_v_i32m4_m:
1231case RISCV::BI__builtin_rvv_vamoandei64_v_i32mf2_m:
1232case RISCV::BI__builtin_rvv_vamoandei64_v_u32m1_m:
1233case RISCV::BI__builtin_rvv_vamoandei64_v_u32m2_m:
1234case RISCV::BI__builtin_rvv_vamoandei64_v_u32m4_m:
1235case RISCV::BI__builtin_rvv_vamoandei64_v_u32mf2_m:
1236case RISCV::BI__builtin_rvv_vamoandei8_v_i64m1_m:
1237case RISCV::BI__builtin_rvv_vamoandei8_v_i64m2_m:
1238case RISCV::BI__builtin_rvv_vamoandei8_v_i64m4_m:
1239case RISCV::BI__builtin_rvv_vamoandei8_v_i64m8_m:
1240case RISCV::BI__builtin_rvv_vamoandei8_v_u64m1_m:
1241case RISCV::BI__builtin_rvv_vamoandei8_v_u64m2_m:
1242case RISCV::BI__builtin_rvv_vamoandei8_v_u64m4_m:
1243case RISCV::BI__builtin_rvv_vamoandei8_v_u64m8_m:
1244case RISCV::BI__builtin_rvv_vamoandei16_v_i64m1_m:
1245case RISCV::BI__builtin_rvv_vamoandei16_v_i64m2_m:
1246case RISCV::BI__builtin_rvv_vamoandei16_v_i64m4_m:
1247case RISCV::BI__builtin_rvv_vamoandei16_v_i64m8_m:
1248case RISCV::BI__builtin_rvv_vamoandei16_v_u64m1_m:
1249case RISCV::BI__builtin_rvv_vamoandei16_v_u64m2_m:
1250case RISCV::BI__builtin_rvv_vamoandei16_v_u64m4_m:
1251case RISCV::BI__builtin_rvv_vamoandei16_v_u64m8_m:
1252case RISCV::BI__builtin_rvv_vamoandei32_v_i64m1_m:
1253case RISCV::BI__builtin_rvv_vamoandei32_v_i64m2_m:
1254case RISCV::BI__builtin_rvv_vamoandei32_v_i64m4_m:
1255case RISCV::BI__builtin_rvv_vamoandei32_v_i64m8_m:
1256case RISCV::BI__builtin_rvv_vamoandei32_v_u64m1_m:
1257case RISCV::BI__builtin_rvv_vamoandei32_v_u64m2_m:
1258case RISCV::BI__builtin_rvv_vamoandei32_v_u64m4_m:
1259case RISCV::BI__builtin_rvv_vamoandei32_v_u64m8_m:
1260case RISCV::BI__builtin_rvv_vamoandei64_v_i64m1_m:
1261case RISCV::BI__builtin_rvv_vamoandei64_v_i64m2_m:
1262case RISCV::BI__builtin_rvv_vamoandei64_v_i64m4_m:
1263case RISCV::BI__builtin_rvv_vamoandei64_v_i64m8_m:
1264case RISCV::BI__builtin_rvv_vamoandei64_v_u64m1_m:
1265case RISCV::BI__builtin_rvv_vamoandei64_v_u64m2_m:
1266case RISCV::BI__builtin_rvv_vamoandei64_v_u64m4_m:
1267case RISCV::BI__builtin_rvv_vamoandei64_v_u64m8_m:
1268 ID = Intrinsic::riscv_vamoand_mask;
1269
1270 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
1271 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[4]->getType()};
1272 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1273 break;
1274case RISCV::BI__builtin_rvv_vamomaxei8_v_i32m1:
1275case RISCV::BI__builtin_rvv_vamomaxei8_v_i32m2:
1276case RISCV::BI__builtin_rvv_vamomaxei8_v_i32m4:
1277case RISCV::BI__builtin_rvv_vamomaxei8_v_i32m8:
1278case RISCV::BI__builtin_rvv_vamomaxei8_v_i32mf2:
1279case RISCV::BI__builtin_rvv_vamomaxei16_v_i32m1:
1280case RISCV::BI__builtin_rvv_vamomaxei16_v_i32m2:
1281case RISCV::BI__builtin_rvv_vamomaxei16_v_i32m4:
1282case RISCV::BI__builtin_rvv_vamomaxei16_v_i32m8:
1283case RISCV::BI__builtin_rvv_vamomaxei16_v_i32mf2:
1284case RISCV::BI__builtin_rvv_vamomaxei32_v_i32m1:
1285case RISCV::BI__builtin_rvv_vamomaxei32_v_i32m2:
1286case RISCV::BI__builtin_rvv_vamomaxei32_v_i32m4:
1287case RISCV::BI__builtin_rvv_vamomaxei32_v_i32m8:
1288case RISCV::BI__builtin_rvv_vamomaxei32_v_i32mf2:
1289case RISCV::BI__builtin_rvv_vamomaxei64_v_i32m1:
1290case RISCV::BI__builtin_rvv_vamomaxei64_v_i32m2:
1291case RISCV::BI__builtin_rvv_vamomaxei64_v_i32m4:
1292case RISCV::BI__builtin_rvv_vamomaxei64_v_i32mf2:
1293case RISCV::BI__builtin_rvv_vamomaxei8_v_i64m1:
1294case RISCV::BI__builtin_rvv_vamomaxei8_v_i64m2:
1295case RISCV::BI__builtin_rvv_vamomaxei8_v_i64m4:
1296case RISCV::BI__builtin_rvv_vamomaxei8_v_i64m8:
1297case RISCV::BI__builtin_rvv_vamomaxei16_v_i64m1:
1298case RISCV::BI__builtin_rvv_vamomaxei16_v_i64m2:
1299case RISCV::BI__builtin_rvv_vamomaxei16_v_i64m4:
1300case RISCV::BI__builtin_rvv_vamomaxei16_v_i64m8:
1301case RISCV::BI__builtin_rvv_vamomaxei32_v_i64m1:
1302case RISCV::BI__builtin_rvv_vamomaxei32_v_i64m2:
1303case RISCV::BI__builtin_rvv_vamomaxei32_v_i64m4:
1304case RISCV::BI__builtin_rvv_vamomaxei32_v_i64m8:
1305case RISCV::BI__builtin_rvv_vamomaxei64_v_i64m1:
1306case RISCV::BI__builtin_rvv_vamomaxei64_v_i64m2:
1307case RISCV::BI__builtin_rvv_vamomaxei64_v_i64m4:
1308case RISCV::BI__builtin_rvv_vamomaxei64_v_i64m8:
1309 ID = Intrinsic::riscv_vamomax;
1310
1311 // base, bindex, value, vl
1312 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[3]->getType()};
1313 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1314 break;
1315case RISCV::BI__builtin_rvv_vamomaxei8_v_i32m1_m:
1316case RISCV::BI__builtin_rvv_vamomaxei8_v_i32m2_m:
1317case RISCV::BI__builtin_rvv_vamomaxei8_v_i32m4_m:
1318case RISCV::BI__builtin_rvv_vamomaxei8_v_i32m8_m:
1319case RISCV::BI__builtin_rvv_vamomaxei8_v_i32mf2_m:
1320case RISCV::BI__builtin_rvv_vamomaxei16_v_i32m1_m:
1321case RISCV::BI__builtin_rvv_vamomaxei16_v_i32m2_m:
1322case RISCV::BI__builtin_rvv_vamomaxei16_v_i32m4_m:
1323case RISCV::BI__builtin_rvv_vamomaxei16_v_i32m8_m:
1324case RISCV::BI__builtin_rvv_vamomaxei16_v_i32mf2_m:
1325case RISCV::BI__builtin_rvv_vamomaxei32_v_i32m1_m:
1326case RISCV::BI__builtin_rvv_vamomaxei32_v_i32m2_m:
1327case RISCV::BI__builtin_rvv_vamomaxei32_v_i32m4_m:
1328case RISCV::BI__builtin_rvv_vamomaxei32_v_i32m8_m:
1329case RISCV::BI__builtin_rvv_vamomaxei32_v_i32mf2_m:
1330case RISCV::BI__builtin_rvv_vamomaxei64_v_i32m1_m:
1331case RISCV::BI__builtin_rvv_vamomaxei64_v_i32m2_m:
1332case RISCV::BI__builtin_rvv_vamomaxei64_v_i32m4_m:
1333case RISCV::BI__builtin_rvv_vamomaxei64_v_i32mf2_m:
1334case RISCV::BI__builtin_rvv_vamomaxei8_v_i64m1_m:
1335case RISCV::BI__builtin_rvv_vamomaxei8_v_i64m2_m:
1336case RISCV::BI__builtin_rvv_vamomaxei8_v_i64m4_m:
1337case RISCV::BI__builtin_rvv_vamomaxei8_v_i64m8_m:
1338case RISCV::BI__builtin_rvv_vamomaxei16_v_i64m1_m:
1339case RISCV::BI__builtin_rvv_vamomaxei16_v_i64m2_m:
1340case RISCV::BI__builtin_rvv_vamomaxei16_v_i64m4_m:
1341case RISCV::BI__builtin_rvv_vamomaxei16_v_i64m8_m:
1342case RISCV::BI__builtin_rvv_vamomaxei32_v_i64m1_m:
1343case RISCV::BI__builtin_rvv_vamomaxei32_v_i64m2_m:
1344case RISCV::BI__builtin_rvv_vamomaxei32_v_i64m4_m:
1345case RISCV::BI__builtin_rvv_vamomaxei32_v_i64m8_m:
1346case RISCV::BI__builtin_rvv_vamomaxei64_v_i64m1_m:
1347case RISCV::BI__builtin_rvv_vamomaxei64_v_i64m2_m:
1348case RISCV::BI__builtin_rvv_vamomaxei64_v_i64m4_m:
1349case RISCV::BI__builtin_rvv_vamomaxei64_v_i64m8_m:
1350 ID = Intrinsic::riscv_vamomax_mask;
1351
1352 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
1353 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[4]->getType()};
1354 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1355 break;
1356case RISCV::BI__builtin_rvv_vamomaxuei8_v_u32m1:
1357case RISCV::BI__builtin_rvv_vamomaxuei8_v_u32m2:
1358case RISCV::BI__builtin_rvv_vamomaxuei8_v_u32m4:
1359case RISCV::BI__builtin_rvv_vamomaxuei8_v_u32m8:
1360case RISCV::BI__builtin_rvv_vamomaxuei8_v_u32mf2:
1361case RISCV::BI__builtin_rvv_vamomaxuei16_v_u32m1:
1362case RISCV::BI__builtin_rvv_vamomaxuei16_v_u32m2:
1363case RISCV::BI__builtin_rvv_vamomaxuei16_v_u32m4:
1364case RISCV::BI__builtin_rvv_vamomaxuei16_v_u32m8:
1365case RISCV::BI__builtin_rvv_vamomaxuei16_v_u32mf2:
1366case RISCV::BI__builtin_rvv_vamomaxuei32_v_u32m1:
1367case RISCV::BI__builtin_rvv_vamomaxuei32_v_u32m2:
1368case RISCV::BI__builtin_rvv_vamomaxuei32_v_u32m4:
1369case RISCV::BI__builtin_rvv_vamomaxuei32_v_u32m8:
1370case RISCV::BI__builtin_rvv_vamomaxuei32_v_u32mf2:
1371case RISCV::BI__builtin_rvv_vamomaxuei64_v_u32m1:
1372case RISCV::BI__builtin_rvv_vamomaxuei64_v_u32m2:
1373case RISCV::BI__builtin_rvv_vamomaxuei64_v_u32m4:
1374case RISCV::BI__builtin_rvv_vamomaxuei64_v_u32mf2:
1375case RISCV::BI__builtin_rvv_vamomaxuei8_v_u64m1:
1376case RISCV::BI__builtin_rvv_vamomaxuei8_v_u64m2:
1377case RISCV::BI__builtin_rvv_vamomaxuei8_v_u64m4:
1378case RISCV::BI__builtin_rvv_vamomaxuei8_v_u64m8:
1379case RISCV::BI__builtin_rvv_vamomaxuei16_v_u64m1:
1380case RISCV::BI__builtin_rvv_vamomaxuei16_v_u64m2:
1381case RISCV::BI__builtin_rvv_vamomaxuei16_v_u64m4:
1382case RISCV::BI__builtin_rvv_vamomaxuei16_v_u64m8:
1383case RISCV::BI__builtin_rvv_vamomaxuei32_v_u64m1:
1384case RISCV::BI__builtin_rvv_vamomaxuei32_v_u64m2:
1385case RISCV::BI__builtin_rvv_vamomaxuei32_v_u64m4:
1386case RISCV::BI__builtin_rvv_vamomaxuei32_v_u64m8:
1387case RISCV::BI__builtin_rvv_vamomaxuei64_v_u64m1:
1388case RISCV::BI__builtin_rvv_vamomaxuei64_v_u64m2:
1389case RISCV::BI__builtin_rvv_vamomaxuei64_v_u64m4:
1390case RISCV::BI__builtin_rvv_vamomaxuei64_v_u64m8:
1391 ID = Intrinsic::riscv_vamomaxu;
1392
1393 // base, bindex, value, vl
1394 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[3]->getType()};
1395 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1396 break;
1397case RISCV::BI__builtin_rvv_vamomaxuei8_v_u32m1_m:
1398case RISCV::BI__builtin_rvv_vamomaxuei8_v_u32m2_m:
1399case RISCV::BI__builtin_rvv_vamomaxuei8_v_u32m4_m:
1400case RISCV::BI__builtin_rvv_vamomaxuei8_v_u32m8_m:
1401case RISCV::BI__builtin_rvv_vamomaxuei8_v_u32mf2_m:
1402case RISCV::BI__builtin_rvv_vamomaxuei16_v_u32m1_m:
1403case RISCV::BI__builtin_rvv_vamomaxuei16_v_u32m2_m:
1404case RISCV::BI__builtin_rvv_vamomaxuei16_v_u32m4_m:
1405case RISCV::BI__builtin_rvv_vamomaxuei16_v_u32m8_m:
1406case RISCV::BI__builtin_rvv_vamomaxuei16_v_u32mf2_m:
1407case RISCV::BI__builtin_rvv_vamomaxuei32_v_u32m1_m:
1408case RISCV::BI__builtin_rvv_vamomaxuei32_v_u32m2_m:
1409case RISCV::BI__builtin_rvv_vamomaxuei32_v_u32m4_m:
1410case RISCV::BI__builtin_rvv_vamomaxuei32_v_u32m8_m:
1411case RISCV::BI__builtin_rvv_vamomaxuei32_v_u32mf2_m:
1412case RISCV::BI__builtin_rvv_vamomaxuei64_v_u32m1_m:
1413case RISCV::BI__builtin_rvv_vamomaxuei64_v_u32m2_m:
1414case RISCV::BI__builtin_rvv_vamomaxuei64_v_u32m4_m:
1415case RISCV::BI__builtin_rvv_vamomaxuei64_v_u32mf2_m:
1416case RISCV::BI__builtin_rvv_vamomaxuei8_v_u64m1_m:
1417case RISCV::BI__builtin_rvv_vamomaxuei8_v_u64m2_m:
1418case RISCV::BI__builtin_rvv_vamomaxuei8_v_u64m4_m:
1419case RISCV::BI__builtin_rvv_vamomaxuei8_v_u64m8_m:
1420case RISCV::BI__builtin_rvv_vamomaxuei16_v_u64m1_m:
1421case RISCV::BI__builtin_rvv_vamomaxuei16_v_u64m2_m:
1422case RISCV::BI__builtin_rvv_vamomaxuei16_v_u64m4_m:
1423case RISCV::BI__builtin_rvv_vamomaxuei16_v_u64m8_m:
1424case RISCV::BI__builtin_rvv_vamomaxuei32_v_u64m1_m:
1425case RISCV::BI__builtin_rvv_vamomaxuei32_v_u64m2_m:
1426case RISCV::BI__builtin_rvv_vamomaxuei32_v_u64m4_m:
1427case RISCV::BI__builtin_rvv_vamomaxuei32_v_u64m8_m:
1428case RISCV::BI__builtin_rvv_vamomaxuei64_v_u64m1_m:
1429case RISCV::BI__builtin_rvv_vamomaxuei64_v_u64m2_m:
1430case RISCV::BI__builtin_rvv_vamomaxuei64_v_u64m4_m:
1431case RISCV::BI__builtin_rvv_vamomaxuei64_v_u64m8_m:
1432 ID = Intrinsic::riscv_vamomaxu_mask;
1433
1434 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
1435 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[4]->getType()};
1436 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1437 break;
1438case RISCV::BI__builtin_rvv_vamominei8_v_i32m1:
1439case RISCV::BI__builtin_rvv_vamominei8_v_i32m2:
1440case RISCV::BI__builtin_rvv_vamominei8_v_i32m4:
1441case RISCV::BI__builtin_rvv_vamominei8_v_i32m8:
1442case RISCV::BI__builtin_rvv_vamominei8_v_i32mf2:
1443case RISCV::BI__builtin_rvv_vamominei16_v_i32m1:
1444case RISCV::BI__builtin_rvv_vamominei16_v_i32m2:
1445case RISCV::BI__builtin_rvv_vamominei16_v_i32m4:
1446case RISCV::BI__builtin_rvv_vamominei16_v_i32m8:
1447case RISCV::BI__builtin_rvv_vamominei16_v_i32mf2:
1448case RISCV::BI__builtin_rvv_vamominei32_v_i32m1:
1449case RISCV::BI__builtin_rvv_vamominei32_v_i32m2:
1450case RISCV::BI__builtin_rvv_vamominei32_v_i32m4:
1451case RISCV::BI__builtin_rvv_vamominei32_v_i32m8:
1452case RISCV::BI__builtin_rvv_vamominei32_v_i32mf2:
1453case RISCV::BI__builtin_rvv_vamominei64_v_i32m1:
1454case RISCV::BI__builtin_rvv_vamominei64_v_i32m2:
1455case RISCV::BI__builtin_rvv_vamominei64_v_i32m4:
1456case RISCV::BI__builtin_rvv_vamominei64_v_i32mf2:
1457case RISCV::BI__builtin_rvv_vamominei8_v_i64m1:
1458case RISCV::BI__builtin_rvv_vamominei8_v_i64m2:
1459case RISCV::BI__builtin_rvv_vamominei8_v_i64m4:
1460case RISCV::BI__builtin_rvv_vamominei8_v_i64m8:
1461case RISCV::BI__builtin_rvv_vamominei16_v_i64m1:
1462case RISCV::BI__builtin_rvv_vamominei16_v_i64m2:
1463case RISCV::BI__builtin_rvv_vamominei16_v_i64m4:
1464case RISCV::BI__builtin_rvv_vamominei16_v_i64m8:
1465case RISCV::BI__builtin_rvv_vamominei32_v_i64m1:
1466case RISCV::BI__builtin_rvv_vamominei32_v_i64m2:
1467case RISCV::BI__builtin_rvv_vamominei32_v_i64m4:
1468case RISCV::BI__builtin_rvv_vamominei32_v_i64m8:
1469case RISCV::BI__builtin_rvv_vamominei64_v_i64m1:
1470case RISCV::BI__builtin_rvv_vamominei64_v_i64m2:
1471case RISCV::BI__builtin_rvv_vamominei64_v_i64m4:
1472case RISCV::BI__builtin_rvv_vamominei64_v_i64m8:
1473 ID = Intrinsic::riscv_vamomin;
1474
1475 // base, bindex, value, vl
1476 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[3]->getType()};
1477 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1478 break;
1479case RISCV::BI__builtin_rvv_vamominei8_v_i32m1_m:
1480case RISCV::BI__builtin_rvv_vamominei8_v_i32m2_m:
1481case RISCV::BI__builtin_rvv_vamominei8_v_i32m4_m:
1482case RISCV::BI__builtin_rvv_vamominei8_v_i32m8_m:
1483case RISCV::BI__builtin_rvv_vamominei8_v_i32mf2_m:
1484case RISCV::BI__builtin_rvv_vamominei16_v_i32m1_m:
1485case RISCV::BI__builtin_rvv_vamominei16_v_i32m2_m:
1486case RISCV::BI__builtin_rvv_vamominei16_v_i32m4_m:
1487case RISCV::BI__builtin_rvv_vamominei16_v_i32m8_m:
1488case RISCV::BI__builtin_rvv_vamominei16_v_i32mf2_m:
1489case RISCV::BI__builtin_rvv_vamominei32_v_i32m1_m:
1490case RISCV::BI__builtin_rvv_vamominei32_v_i32m2_m:
1491case RISCV::BI__builtin_rvv_vamominei32_v_i32m4_m:
1492case RISCV::BI__builtin_rvv_vamominei32_v_i32m8_m:
1493case RISCV::BI__builtin_rvv_vamominei32_v_i32mf2_m:
1494case RISCV::BI__builtin_rvv_vamominei64_v_i32m1_m:
1495case RISCV::BI__builtin_rvv_vamominei64_v_i32m2_m:
1496case RISCV::BI__builtin_rvv_vamominei64_v_i32m4_m:
1497case RISCV::BI__builtin_rvv_vamominei64_v_i32mf2_m:
1498case RISCV::BI__builtin_rvv_vamominei8_v_i64m1_m:
1499case RISCV::BI__builtin_rvv_vamominei8_v_i64m2_m:
1500case RISCV::BI__builtin_rvv_vamominei8_v_i64m4_m:
1501case RISCV::BI__builtin_rvv_vamominei8_v_i64m8_m:
1502case RISCV::BI__builtin_rvv_vamominei16_v_i64m1_m:
1503case RISCV::BI__builtin_rvv_vamominei16_v_i64m2_m:
1504case RISCV::BI__builtin_rvv_vamominei16_v_i64m4_m:
1505case RISCV::BI__builtin_rvv_vamominei16_v_i64m8_m:
1506case RISCV::BI__builtin_rvv_vamominei32_v_i64m1_m:
1507case RISCV::BI__builtin_rvv_vamominei32_v_i64m2_m:
1508case RISCV::BI__builtin_rvv_vamominei32_v_i64m4_m:
1509case RISCV::BI__builtin_rvv_vamominei32_v_i64m8_m:
1510case RISCV::BI__builtin_rvv_vamominei64_v_i64m1_m:
1511case RISCV::BI__builtin_rvv_vamominei64_v_i64m2_m:
1512case RISCV::BI__builtin_rvv_vamominei64_v_i64m4_m:
1513case RISCV::BI__builtin_rvv_vamominei64_v_i64m8_m:
1514 ID = Intrinsic::riscv_vamomin_mask;
1515
1516 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
1517 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[4]->getType()};
1518 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1519 break;
1520case RISCV::BI__builtin_rvv_vamominuei8_v_u32m1:
1521case RISCV::BI__builtin_rvv_vamominuei8_v_u32m2:
1522case RISCV::BI__builtin_rvv_vamominuei8_v_u32m4:
1523case RISCV::BI__builtin_rvv_vamominuei8_v_u32m8:
1524case RISCV::BI__builtin_rvv_vamominuei8_v_u32mf2:
1525case RISCV::BI__builtin_rvv_vamominuei16_v_u32m1:
1526case RISCV::BI__builtin_rvv_vamominuei16_v_u32m2:
1527case RISCV::BI__builtin_rvv_vamominuei16_v_u32m4:
1528case RISCV::BI__builtin_rvv_vamominuei16_v_u32m8:
1529case RISCV::BI__builtin_rvv_vamominuei16_v_u32mf2:
1530case RISCV::BI__builtin_rvv_vamominuei32_v_u32m1:
1531case RISCV::BI__builtin_rvv_vamominuei32_v_u32m2:
1532case RISCV::BI__builtin_rvv_vamominuei32_v_u32m4:
1533case RISCV::BI__builtin_rvv_vamominuei32_v_u32m8:
1534case RISCV::BI__builtin_rvv_vamominuei32_v_u32mf2:
1535case RISCV::BI__builtin_rvv_vamominuei64_v_u32m1:
1536case RISCV::BI__builtin_rvv_vamominuei64_v_u32m2:
1537case RISCV::BI__builtin_rvv_vamominuei64_v_u32m4:
1538case RISCV::BI__builtin_rvv_vamominuei64_v_u32mf2:
1539case RISCV::BI__builtin_rvv_vamominuei8_v_u64m1:
1540case RISCV::BI__builtin_rvv_vamominuei8_v_u64m2:
1541case RISCV::BI__builtin_rvv_vamominuei8_v_u64m4:
1542case RISCV::BI__builtin_rvv_vamominuei8_v_u64m8:
1543case RISCV::BI__builtin_rvv_vamominuei16_v_u64m1:
1544case RISCV::BI__builtin_rvv_vamominuei16_v_u64m2:
1545case RISCV::BI__builtin_rvv_vamominuei16_v_u64m4:
1546case RISCV::BI__builtin_rvv_vamominuei16_v_u64m8:
1547case RISCV::BI__builtin_rvv_vamominuei32_v_u64m1:
1548case RISCV::BI__builtin_rvv_vamominuei32_v_u64m2:
1549case RISCV::BI__builtin_rvv_vamominuei32_v_u64m4:
1550case RISCV::BI__builtin_rvv_vamominuei32_v_u64m8:
1551case RISCV::BI__builtin_rvv_vamominuei64_v_u64m1:
1552case RISCV::BI__builtin_rvv_vamominuei64_v_u64m2:
1553case RISCV::BI__builtin_rvv_vamominuei64_v_u64m4:
1554case RISCV::BI__builtin_rvv_vamominuei64_v_u64m8:
1555 ID = Intrinsic::riscv_vamominu;
1556
1557 // base, bindex, value, vl
1558 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[3]->getType()};
1559 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1560 break;
1561case RISCV::BI__builtin_rvv_vamominuei8_v_u32m1_m:
1562case RISCV::BI__builtin_rvv_vamominuei8_v_u32m2_m:
1563case RISCV::BI__builtin_rvv_vamominuei8_v_u32m4_m:
1564case RISCV::BI__builtin_rvv_vamominuei8_v_u32m8_m:
1565case RISCV::BI__builtin_rvv_vamominuei8_v_u32mf2_m:
1566case RISCV::BI__builtin_rvv_vamominuei16_v_u32m1_m:
1567case RISCV::BI__builtin_rvv_vamominuei16_v_u32m2_m:
1568case RISCV::BI__builtin_rvv_vamominuei16_v_u32m4_m:
1569case RISCV::BI__builtin_rvv_vamominuei16_v_u32m8_m:
1570case RISCV::BI__builtin_rvv_vamominuei16_v_u32mf2_m:
1571case RISCV::BI__builtin_rvv_vamominuei32_v_u32m1_m:
1572case RISCV::BI__builtin_rvv_vamominuei32_v_u32m2_m:
1573case RISCV::BI__builtin_rvv_vamominuei32_v_u32m4_m:
1574case RISCV::BI__builtin_rvv_vamominuei32_v_u32m8_m:
1575case RISCV::BI__builtin_rvv_vamominuei32_v_u32mf2_m:
1576case RISCV::BI__builtin_rvv_vamominuei64_v_u32m1_m:
1577case RISCV::BI__builtin_rvv_vamominuei64_v_u32m2_m:
1578case RISCV::BI__builtin_rvv_vamominuei64_v_u32m4_m:
1579case RISCV::BI__builtin_rvv_vamominuei64_v_u32mf2_m:
1580case RISCV::BI__builtin_rvv_vamominuei8_v_u64m1_m:
1581case RISCV::BI__builtin_rvv_vamominuei8_v_u64m2_m:
1582case RISCV::BI__builtin_rvv_vamominuei8_v_u64m4_m:
1583case RISCV::BI__builtin_rvv_vamominuei8_v_u64m8_m:
1584case RISCV::BI__builtin_rvv_vamominuei16_v_u64m1_m:
1585case RISCV::BI__builtin_rvv_vamominuei16_v_u64m2_m:
1586case RISCV::BI__builtin_rvv_vamominuei16_v_u64m4_m:
1587case RISCV::BI__builtin_rvv_vamominuei16_v_u64m8_m:
1588case RISCV::BI__builtin_rvv_vamominuei32_v_u64m1_m:
1589case RISCV::BI__builtin_rvv_vamominuei32_v_u64m2_m:
1590case RISCV::BI__builtin_rvv_vamominuei32_v_u64m4_m:
1591case RISCV::BI__builtin_rvv_vamominuei32_v_u64m8_m:
1592case RISCV::BI__builtin_rvv_vamominuei64_v_u64m1_m:
1593case RISCV::BI__builtin_rvv_vamominuei64_v_u64m2_m:
1594case RISCV::BI__builtin_rvv_vamominuei64_v_u64m4_m:
1595case RISCV::BI__builtin_rvv_vamominuei64_v_u64m8_m:
1596 ID = Intrinsic::riscv_vamominu_mask;
1597
1598 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
1599 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[4]->getType()};
1600 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1601 break;
1602case RISCV::BI__builtin_rvv_vamoorei8_v_i32m1:
1603case RISCV::BI__builtin_rvv_vamoorei8_v_i32m2:
1604case RISCV::BI__builtin_rvv_vamoorei8_v_i32m4:
1605case RISCV::BI__builtin_rvv_vamoorei8_v_i32m8:
1606case RISCV::BI__builtin_rvv_vamoorei8_v_i32mf2:
1607case RISCV::BI__builtin_rvv_vamoorei8_v_u32m1:
1608case RISCV::BI__builtin_rvv_vamoorei8_v_u32m2:
1609case RISCV::BI__builtin_rvv_vamoorei8_v_u32m4:
1610case RISCV::BI__builtin_rvv_vamoorei8_v_u32m8:
1611case RISCV::BI__builtin_rvv_vamoorei8_v_u32mf2:
1612case RISCV::BI__builtin_rvv_vamoorei16_v_i32m1:
1613case RISCV::BI__builtin_rvv_vamoorei16_v_i32m2:
1614case RISCV::BI__builtin_rvv_vamoorei16_v_i32m4:
1615case RISCV::BI__builtin_rvv_vamoorei16_v_i32m8:
1616case RISCV::BI__builtin_rvv_vamoorei16_v_i32mf2:
1617case RISCV::BI__builtin_rvv_vamoorei16_v_u32m1:
1618case RISCV::BI__builtin_rvv_vamoorei16_v_u32m2:
1619case RISCV::BI__builtin_rvv_vamoorei16_v_u32m4:
1620case RISCV::BI__builtin_rvv_vamoorei16_v_u32m8:
1621case RISCV::BI__builtin_rvv_vamoorei16_v_u32mf2:
1622case RISCV::BI__builtin_rvv_vamoorei32_v_i32m1:
1623case RISCV::BI__builtin_rvv_vamoorei32_v_i32m2:
1624case RISCV::BI__builtin_rvv_vamoorei32_v_i32m4:
1625case RISCV::BI__builtin_rvv_vamoorei32_v_i32m8:
1626case RISCV::BI__builtin_rvv_vamoorei32_v_i32mf2:
1627case RISCV::BI__builtin_rvv_vamoorei32_v_u32m1:
1628case RISCV::BI__builtin_rvv_vamoorei32_v_u32m2:
1629case RISCV::BI__builtin_rvv_vamoorei32_v_u32m4:
1630case RISCV::BI__builtin_rvv_vamoorei32_v_u32m8:
1631case RISCV::BI__builtin_rvv_vamoorei32_v_u32mf2:
1632case RISCV::BI__builtin_rvv_vamoorei64_v_i32m1:
1633case RISCV::BI__builtin_rvv_vamoorei64_v_i32m2:
1634case RISCV::BI__builtin_rvv_vamoorei64_v_i32m4:
1635case RISCV::BI__builtin_rvv_vamoorei64_v_i32mf2:
1636case RISCV::BI__builtin_rvv_vamoorei64_v_u32m1:
1637case RISCV::BI__builtin_rvv_vamoorei64_v_u32m2:
1638case RISCV::BI__builtin_rvv_vamoorei64_v_u32m4:
1639case RISCV::BI__builtin_rvv_vamoorei64_v_u32mf2:
1640case RISCV::BI__builtin_rvv_vamoorei8_v_i64m1:
1641case RISCV::BI__builtin_rvv_vamoorei8_v_i64m2:
1642case RISCV::BI__builtin_rvv_vamoorei8_v_i64m4:
1643case RISCV::BI__builtin_rvv_vamoorei8_v_i64m8:
1644case RISCV::BI__builtin_rvv_vamoorei8_v_u64m1:
1645case RISCV::BI__builtin_rvv_vamoorei8_v_u64m2:
1646case RISCV::BI__builtin_rvv_vamoorei8_v_u64m4:
1647case RISCV::BI__builtin_rvv_vamoorei8_v_u64m8:
1648case RISCV::BI__builtin_rvv_vamoorei16_v_i64m1:
1649case RISCV::BI__builtin_rvv_vamoorei16_v_i64m2:
1650case RISCV::BI__builtin_rvv_vamoorei16_v_i64m4:
1651case RISCV::BI__builtin_rvv_vamoorei16_v_i64m8:
1652case RISCV::BI__builtin_rvv_vamoorei16_v_u64m1:
1653case RISCV::BI__builtin_rvv_vamoorei16_v_u64m2:
1654case RISCV::BI__builtin_rvv_vamoorei16_v_u64m4:
1655case RISCV::BI__builtin_rvv_vamoorei16_v_u64m8:
1656case RISCV::BI__builtin_rvv_vamoorei32_v_i64m1:
1657case RISCV::BI__builtin_rvv_vamoorei32_v_i64m2:
1658case RISCV::BI__builtin_rvv_vamoorei32_v_i64m4:
1659case RISCV::BI__builtin_rvv_vamoorei32_v_i64m8:
1660case RISCV::BI__builtin_rvv_vamoorei32_v_u64m1:
1661case RISCV::BI__builtin_rvv_vamoorei32_v_u64m2:
1662case RISCV::BI__builtin_rvv_vamoorei32_v_u64m4:
1663case RISCV::BI__builtin_rvv_vamoorei32_v_u64m8:
1664case RISCV::BI__builtin_rvv_vamoorei64_v_i64m1:
1665case RISCV::BI__builtin_rvv_vamoorei64_v_i64m2:
1666case RISCV::BI__builtin_rvv_vamoorei64_v_i64m4:
1667case RISCV::BI__builtin_rvv_vamoorei64_v_i64m8:
1668case RISCV::BI__builtin_rvv_vamoorei64_v_u64m1:
1669case RISCV::BI__builtin_rvv_vamoorei64_v_u64m2:
1670case RISCV::BI__builtin_rvv_vamoorei64_v_u64m4:
1671case RISCV::BI__builtin_rvv_vamoorei64_v_u64m8:
1672 ID = Intrinsic::riscv_vamoor;
1673
1674 // base, bindex, value, vl
1675 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[3]->getType()};
1676 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1677 break;
1678case RISCV::BI__builtin_rvv_vamoorei8_v_i32m1_m:
1679case RISCV::BI__builtin_rvv_vamoorei8_v_i32m2_m:
1680case RISCV::BI__builtin_rvv_vamoorei8_v_i32m4_m:
1681case RISCV::BI__builtin_rvv_vamoorei8_v_i32m8_m:
1682case RISCV::BI__builtin_rvv_vamoorei8_v_i32mf2_m:
1683case RISCV::BI__builtin_rvv_vamoorei8_v_u32m1_m:
1684case RISCV::BI__builtin_rvv_vamoorei8_v_u32m2_m:
1685case RISCV::BI__builtin_rvv_vamoorei8_v_u32m4_m:
1686case RISCV::BI__builtin_rvv_vamoorei8_v_u32m8_m:
1687case RISCV::BI__builtin_rvv_vamoorei8_v_u32mf2_m:
1688case RISCV::BI__builtin_rvv_vamoorei16_v_i32m1_m:
1689case RISCV::BI__builtin_rvv_vamoorei16_v_i32m2_m:
1690case RISCV::BI__builtin_rvv_vamoorei16_v_i32m4_m:
1691case RISCV::BI__builtin_rvv_vamoorei16_v_i32m8_m:
1692case RISCV::BI__builtin_rvv_vamoorei16_v_i32mf2_m:
1693case RISCV::BI__builtin_rvv_vamoorei16_v_u32m1_m:
1694case RISCV::BI__builtin_rvv_vamoorei16_v_u32m2_m:
1695case RISCV::BI__builtin_rvv_vamoorei16_v_u32m4_m:
1696case RISCV::BI__builtin_rvv_vamoorei16_v_u32m8_m:
1697case RISCV::BI__builtin_rvv_vamoorei16_v_u32mf2_m:
1698case RISCV::BI__builtin_rvv_vamoorei32_v_i32m1_m:
1699case RISCV::BI__builtin_rvv_vamoorei32_v_i32m2_m:
1700case RISCV::BI__builtin_rvv_vamoorei32_v_i32m4_m:
1701case RISCV::BI__builtin_rvv_vamoorei32_v_i32m8_m:
1702case RISCV::BI__builtin_rvv_vamoorei32_v_i32mf2_m:
1703case RISCV::BI__builtin_rvv_vamoorei32_v_u32m1_m:
1704case RISCV::BI__builtin_rvv_vamoorei32_v_u32m2_m:
1705case RISCV::BI__builtin_rvv_vamoorei32_v_u32m4_m:
1706case RISCV::BI__builtin_rvv_vamoorei32_v_u32m8_m:
1707case RISCV::BI__builtin_rvv_vamoorei32_v_u32mf2_m:
1708case RISCV::BI__builtin_rvv_vamoorei64_v_i32m1_m:
1709case RISCV::BI__builtin_rvv_vamoorei64_v_i32m2_m:
1710case RISCV::BI__builtin_rvv_vamoorei64_v_i32m4_m:
1711case RISCV::BI__builtin_rvv_vamoorei64_v_i32mf2_m:
1712case RISCV::BI__builtin_rvv_vamoorei64_v_u32m1_m:
1713case RISCV::BI__builtin_rvv_vamoorei64_v_u32m2_m:
1714case RISCV::BI__builtin_rvv_vamoorei64_v_u32m4_m:
1715case RISCV::BI__builtin_rvv_vamoorei64_v_u32mf2_m:
1716case RISCV::BI__builtin_rvv_vamoorei8_v_i64m1_m:
1717case RISCV::BI__builtin_rvv_vamoorei8_v_i64m2_m:
1718case RISCV::BI__builtin_rvv_vamoorei8_v_i64m4_m:
1719case RISCV::BI__builtin_rvv_vamoorei8_v_i64m8_m:
1720case RISCV::BI__builtin_rvv_vamoorei8_v_u64m1_m:
1721case RISCV::BI__builtin_rvv_vamoorei8_v_u64m2_m:
1722case RISCV::BI__builtin_rvv_vamoorei8_v_u64m4_m:
1723case RISCV::BI__builtin_rvv_vamoorei8_v_u64m8_m:
1724case RISCV::BI__builtin_rvv_vamoorei16_v_i64m1_m:
1725case RISCV::BI__builtin_rvv_vamoorei16_v_i64m2_m:
1726case RISCV::BI__builtin_rvv_vamoorei16_v_i64m4_m:
1727case RISCV::BI__builtin_rvv_vamoorei16_v_i64m8_m:
1728case RISCV::BI__builtin_rvv_vamoorei16_v_u64m1_m:
1729case RISCV::BI__builtin_rvv_vamoorei16_v_u64m2_m:
1730case RISCV::BI__builtin_rvv_vamoorei16_v_u64m4_m:
1731case RISCV::BI__builtin_rvv_vamoorei16_v_u64m8_m:
1732case RISCV::BI__builtin_rvv_vamoorei32_v_i64m1_m:
1733case RISCV::BI__builtin_rvv_vamoorei32_v_i64m2_m:
1734case RISCV::BI__builtin_rvv_vamoorei32_v_i64m4_m:
1735case RISCV::BI__builtin_rvv_vamoorei32_v_i64m8_m:
1736case RISCV::BI__builtin_rvv_vamoorei32_v_u64m1_m:
1737case RISCV::BI__builtin_rvv_vamoorei32_v_u64m2_m:
1738case RISCV::BI__builtin_rvv_vamoorei32_v_u64m4_m:
1739case RISCV::BI__builtin_rvv_vamoorei32_v_u64m8_m:
1740case RISCV::BI__builtin_rvv_vamoorei64_v_i64m1_m:
1741case RISCV::BI__builtin_rvv_vamoorei64_v_i64m2_m:
1742case RISCV::BI__builtin_rvv_vamoorei64_v_i64m4_m:
1743case RISCV::BI__builtin_rvv_vamoorei64_v_i64m8_m:
1744case RISCV::BI__builtin_rvv_vamoorei64_v_u64m1_m:
1745case RISCV::BI__builtin_rvv_vamoorei64_v_u64m2_m:
1746case RISCV::BI__builtin_rvv_vamoorei64_v_u64m4_m:
1747case RISCV::BI__builtin_rvv_vamoorei64_v_u64m8_m:
1748 ID = Intrinsic::riscv_vamoor_mask;
1749
1750 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
1751 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[4]->getType()};
1752 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1753 break;
1754case RISCV::BI__builtin_rvv_vamoswapei8_v_i32m1:
1755case RISCV::BI__builtin_rvv_vamoswapei8_v_i32m2:
1756case RISCV::BI__builtin_rvv_vamoswapei8_v_i32m4:
1757case RISCV::BI__builtin_rvv_vamoswapei8_v_i32m8:
1758case RISCV::BI__builtin_rvv_vamoswapei8_v_i32mf2:
1759case RISCV::BI__builtin_rvv_vamoswapei16_v_i32m1:
1760case RISCV::BI__builtin_rvv_vamoswapei16_v_i32m2:
1761case RISCV::BI__builtin_rvv_vamoswapei16_v_i32m4:
1762case RISCV::BI__builtin_rvv_vamoswapei16_v_i32m8:
1763case RISCV::BI__builtin_rvv_vamoswapei16_v_i32mf2:
1764case RISCV::BI__builtin_rvv_vamoswapei16_v_u32m1:
1765case RISCV::BI__builtin_rvv_vamoswapei16_v_u32m2:
1766case RISCV::BI__builtin_rvv_vamoswapei16_v_u32m4:
1767case RISCV::BI__builtin_rvv_vamoswapei16_v_u32m8:
1768case RISCV::BI__builtin_rvv_vamoswapei16_v_u32mf2:
1769case RISCV::BI__builtin_rvv_vamoswapei32_v_i32m1:
1770case RISCV::BI__builtin_rvv_vamoswapei32_v_i32m2:
1771case RISCV::BI__builtin_rvv_vamoswapei32_v_i32m4:
1772case RISCV::BI__builtin_rvv_vamoswapei32_v_i32m8:
1773case RISCV::BI__builtin_rvv_vamoswapei32_v_i32mf2:
1774case RISCV::BI__builtin_rvv_vamoswapei32_v_u32m1:
1775case RISCV::BI__builtin_rvv_vamoswapei32_v_u32m2:
1776case RISCV::BI__builtin_rvv_vamoswapei32_v_u32m4:
1777case RISCV::BI__builtin_rvv_vamoswapei32_v_u32m8:
1778case RISCV::BI__builtin_rvv_vamoswapei32_v_u32mf2:
1779case RISCV::BI__builtin_rvv_vamoswapei64_v_i32m1:
1780case RISCV::BI__builtin_rvv_vamoswapei64_v_i32m2:
1781case RISCV::BI__builtin_rvv_vamoswapei64_v_i32m4:
1782case RISCV::BI__builtin_rvv_vamoswapei64_v_i32mf2:
1783case RISCV::BI__builtin_rvv_vamoswapei64_v_u32m1:
1784case RISCV::BI__builtin_rvv_vamoswapei64_v_u32m2:
1785case RISCV::BI__builtin_rvv_vamoswapei64_v_u32m4:
1786case RISCV::BI__builtin_rvv_vamoswapei64_v_u32mf2:
1787case RISCV::BI__builtin_rvv_vamoswapei8_v_i64m1:
1788case RISCV::BI__builtin_rvv_vamoswapei8_v_i64m2:
1789case RISCV::BI__builtin_rvv_vamoswapei8_v_i64m4:
1790case RISCV::BI__builtin_rvv_vamoswapei8_v_i64m8:
1791case RISCV::BI__builtin_rvv_vamoswapei8_v_u64m1:
1792case RISCV::BI__builtin_rvv_vamoswapei8_v_u64m2:
1793case RISCV::BI__builtin_rvv_vamoswapei8_v_u64m4:
1794case RISCV::BI__builtin_rvv_vamoswapei8_v_u64m8:
1795case RISCV::BI__builtin_rvv_vamoswapei8_v_u32m1:
1796case RISCV::BI__builtin_rvv_vamoswapei8_v_u32m2:
1797case RISCV::BI__builtin_rvv_vamoswapei8_v_u32m4:
1798case RISCV::BI__builtin_rvv_vamoswapei8_v_u32m8:
1799case RISCV::BI__builtin_rvv_vamoswapei8_v_u32mf2:
1800case RISCV::BI__builtin_rvv_vamoswapei16_v_i64m1:
1801case RISCV::BI__builtin_rvv_vamoswapei16_v_i64m2:
1802case RISCV::BI__builtin_rvv_vamoswapei16_v_i64m4:
1803case RISCV::BI__builtin_rvv_vamoswapei16_v_i64m8:
1804case RISCV::BI__builtin_rvv_vamoswapei16_v_u64m1:
1805case RISCV::BI__builtin_rvv_vamoswapei16_v_u64m2:
1806case RISCV::BI__builtin_rvv_vamoswapei16_v_u64m4:
1807case RISCV::BI__builtin_rvv_vamoswapei16_v_u64m8:
1808case RISCV::BI__builtin_rvv_vamoswapei32_v_i64m1:
1809case RISCV::BI__builtin_rvv_vamoswapei32_v_i64m2:
1810case RISCV::BI__builtin_rvv_vamoswapei32_v_i64m4:
1811case RISCV::BI__builtin_rvv_vamoswapei32_v_i64m8:
1812case RISCV::BI__builtin_rvv_vamoswapei32_v_u64m1:
1813case RISCV::BI__builtin_rvv_vamoswapei32_v_u64m2:
1814case RISCV::BI__builtin_rvv_vamoswapei32_v_u64m4:
1815case RISCV::BI__builtin_rvv_vamoswapei32_v_u64m8:
1816case RISCV::BI__builtin_rvv_vamoswapei64_v_i64m1:
1817case RISCV::BI__builtin_rvv_vamoswapei64_v_i64m2:
1818case RISCV::BI__builtin_rvv_vamoswapei64_v_i64m4:
1819case RISCV::BI__builtin_rvv_vamoswapei64_v_i64m8:
1820case RISCV::BI__builtin_rvv_vamoswapei64_v_u64m1:
1821case RISCV::BI__builtin_rvv_vamoswapei64_v_u64m2:
1822case RISCV::BI__builtin_rvv_vamoswapei64_v_u64m4:
1823case RISCV::BI__builtin_rvv_vamoswapei64_v_u64m8:
1824case RISCV::BI__builtin_rvv_vamoswapei8_v_f32m1:
1825case RISCV::BI__builtin_rvv_vamoswapei8_v_f32m2:
1826case RISCV::BI__builtin_rvv_vamoswapei8_v_f32m4:
1827case RISCV::BI__builtin_rvv_vamoswapei8_v_f32m8:
1828case RISCV::BI__builtin_rvv_vamoswapei8_v_f32mf2:
1829case RISCV::BI__builtin_rvv_vamoswapei16_v_f32m1:
1830case RISCV::BI__builtin_rvv_vamoswapei16_v_f32m2:
1831case RISCV::BI__builtin_rvv_vamoswapei16_v_f32m4:
1832case RISCV::BI__builtin_rvv_vamoswapei16_v_f32m8:
1833case RISCV::BI__builtin_rvv_vamoswapei16_v_f32mf2:
1834case RISCV::BI__builtin_rvv_vamoswapei32_v_f32m1:
1835case RISCV::BI__builtin_rvv_vamoswapei32_v_f32m2:
1836case RISCV::BI__builtin_rvv_vamoswapei32_v_f32m4:
1837case RISCV::BI__builtin_rvv_vamoswapei32_v_f32m8:
1838case RISCV::BI__builtin_rvv_vamoswapei32_v_f32mf2:
1839case RISCV::BI__builtin_rvv_vamoswapei64_v_f32m1:
1840case RISCV::BI__builtin_rvv_vamoswapei64_v_f32m2:
1841case RISCV::BI__builtin_rvv_vamoswapei64_v_f32m4:
1842case RISCV::BI__builtin_rvv_vamoswapei64_v_f32mf2:
1843case RISCV::BI__builtin_rvv_vamoswapei8_v_f64m1:
1844case RISCV::BI__builtin_rvv_vamoswapei8_v_f64m2:
1845case RISCV::BI__builtin_rvv_vamoswapei8_v_f64m4:
1846case RISCV::BI__builtin_rvv_vamoswapei8_v_f64m8:
1847case RISCV::BI__builtin_rvv_vamoswapei16_v_f64m1:
1848case RISCV::BI__builtin_rvv_vamoswapei16_v_f64m2:
1849case RISCV::BI__builtin_rvv_vamoswapei16_v_f64m4:
1850case RISCV::BI__builtin_rvv_vamoswapei16_v_f64m8:
1851case RISCV::BI__builtin_rvv_vamoswapei32_v_f64m1:
1852case RISCV::BI__builtin_rvv_vamoswapei32_v_f64m2:
1853case RISCV::BI__builtin_rvv_vamoswapei32_v_f64m4:
1854case RISCV::BI__builtin_rvv_vamoswapei32_v_f64m8:
1855case RISCV::BI__builtin_rvv_vamoswapei64_v_f64m1:
1856case RISCV::BI__builtin_rvv_vamoswapei64_v_f64m2:
1857case RISCV::BI__builtin_rvv_vamoswapei64_v_f64m4:
1858case RISCV::BI__builtin_rvv_vamoswapei64_v_f64m8:
1859 ID = Intrinsic::riscv_vamoswap;
1860
1861 // base, bindex, value, vl
1862 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[3]->getType()};
1863 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1864 break;
1865case RISCV::BI__builtin_rvv_vamoswapei8_v_i32m1_m:
1866case RISCV::BI__builtin_rvv_vamoswapei8_v_i32m2_m:
1867case RISCV::BI__builtin_rvv_vamoswapei8_v_i32m4_m:
1868case RISCV::BI__builtin_rvv_vamoswapei8_v_i32m8_m:
1869case RISCV::BI__builtin_rvv_vamoswapei8_v_i32mf2_m:
1870case RISCV::BI__builtin_rvv_vamoswapei16_v_i32m1_m:
1871case RISCV::BI__builtin_rvv_vamoswapei16_v_i32m2_m:
1872case RISCV::BI__builtin_rvv_vamoswapei16_v_i32m4_m:
1873case RISCV::BI__builtin_rvv_vamoswapei16_v_i32m8_m:
1874case RISCV::BI__builtin_rvv_vamoswapei16_v_i32mf2_m:
1875case RISCV::BI__builtin_rvv_vamoswapei16_v_u32m1_m:
1876case RISCV::BI__builtin_rvv_vamoswapei16_v_u32m2_m:
1877case RISCV::BI__builtin_rvv_vamoswapei16_v_u32m4_m:
1878case RISCV::BI__builtin_rvv_vamoswapei16_v_u32m8_m:
1879case RISCV::BI__builtin_rvv_vamoswapei16_v_u32mf2_m:
1880case RISCV::BI__builtin_rvv_vamoswapei32_v_i32m1_m:
1881case RISCV::BI__builtin_rvv_vamoswapei32_v_i32m2_m:
1882case RISCV::BI__builtin_rvv_vamoswapei32_v_i32m4_m:
1883case RISCV::BI__builtin_rvv_vamoswapei32_v_i32m8_m:
1884case RISCV::BI__builtin_rvv_vamoswapei32_v_i32mf2_m:
1885case RISCV::BI__builtin_rvv_vamoswapei32_v_u32m1_m:
1886case RISCV::BI__builtin_rvv_vamoswapei32_v_u32m2_m:
1887case RISCV::BI__builtin_rvv_vamoswapei32_v_u32m4_m:
1888case RISCV::BI__builtin_rvv_vamoswapei32_v_u32m8_m:
1889case RISCV::BI__builtin_rvv_vamoswapei32_v_u32mf2_m:
1890case RISCV::BI__builtin_rvv_vamoswapei64_v_i32m1_m:
1891case RISCV::BI__builtin_rvv_vamoswapei64_v_i32m2_m:
1892case RISCV::BI__builtin_rvv_vamoswapei64_v_i32m4_m:
1893case RISCV::BI__builtin_rvv_vamoswapei64_v_i32mf2_m:
1894case RISCV::BI__builtin_rvv_vamoswapei64_v_u32m1_m:
1895case RISCV::BI__builtin_rvv_vamoswapei64_v_u32m2_m:
1896case RISCV::BI__builtin_rvv_vamoswapei64_v_u32m4_m:
1897case RISCV::BI__builtin_rvv_vamoswapei64_v_u32mf2_m:
1898case RISCV::BI__builtin_rvv_vamoswapei8_v_i64m1_m:
1899case RISCV::BI__builtin_rvv_vamoswapei8_v_i64m2_m:
1900case RISCV::BI__builtin_rvv_vamoswapei8_v_i64m4_m:
1901case RISCV::BI__builtin_rvv_vamoswapei8_v_i64m8_m:
1902case RISCV::BI__builtin_rvv_vamoswapei8_v_u64m1_m:
1903case RISCV::BI__builtin_rvv_vamoswapei8_v_u64m2_m:
1904case RISCV::BI__builtin_rvv_vamoswapei8_v_u64m4_m:
1905case RISCV::BI__builtin_rvv_vamoswapei8_v_u64m8_m:
1906case RISCV::BI__builtin_rvv_vamoswapei8_v_u32m1_m:
1907case RISCV::BI__builtin_rvv_vamoswapei8_v_u32m2_m:
1908case RISCV::BI__builtin_rvv_vamoswapei8_v_u32m4_m:
1909case RISCV::BI__builtin_rvv_vamoswapei8_v_u32m8_m:
1910case RISCV::BI__builtin_rvv_vamoswapei8_v_u32mf2_m:
1911case RISCV::BI__builtin_rvv_vamoswapei16_v_i64m1_m:
1912case RISCV::BI__builtin_rvv_vamoswapei16_v_i64m2_m:
1913case RISCV::BI__builtin_rvv_vamoswapei16_v_i64m4_m:
1914case RISCV::BI__builtin_rvv_vamoswapei16_v_i64m8_m:
1915case RISCV::BI__builtin_rvv_vamoswapei16_v_u64m1_m:
1916case RISCV::BI__builtin_rvv_vamoswapei16_v_u64m2_m:
1917case RISCV::BI__builtin_rvv_vamoswapei16_v_u64m4_m:
1918case RISCV::BI__builtin_rvv_vamoswapei16_v_u64m8_m:
1919case RISCV::BI__builtin_rvv_vamoswapei32_v_i64m1_m:
1920case RISCV::BI__builtin_rvv_vamoswapei32_v_i64m2_m:
1921case RISCV::BI__builtin_rvv_vamoswapei32_v_i64m4_m:
1922case RISCV::BI__builtin_rvv_vamoswapei32_v_i64m8_m:
1923case RISCV::BI__builtin_rvv_vamoswapei32_v_u64m1_m:
1924case RISCV::BI__builtin_rvv_vamoswapei32_v_u64m2_m:
1925case RISCV::BI__builtin_rvv_vamoswapei32_v_u64m4_m:
1926case RISCV::BI__builtin_rvv_vamoswapei32_v_u64m8_m:
1927case RISCV::BI__builtin_rvv_vamoswapei64_v_i64m1_m:
1928case RISCV::BI__builtin_rvv_vamoswapei64_v_i64m2_m:
1929case RISCV::BI__builtin_rvv_vamoswapei64_v_i64m4_m:
1930case RISCV::BI__builtin_rvv_vamoswapei64_v_i64m8_m:
1931case RISCV::BI__builtin_rvv_vamoswapei64_v_u64m1_m:
1932case RISCV::BI__builtin_rvv_vamoswapei64_v_u64m2_m:
1933case RISCV::BI__builtin_rvv_vamoswapei64_v_u64m4_m:
1934case RISCV::BI__builtin_rvv_vamoswapei64_v_u64m8_m:
1935case RISCV::BI__builtin_rvv_vamoswapei8_v_f32m1_m:
1936case RISCV::BI__builtin_rvv_vamoswapei8_v_f32m2_m:
1937case RISCV::BI__builtin_rvv_vamoswapei8_v_f32m4_m:
1938case RISCV::BI__builtin_rvv_vamoswapei8_v_f32m8_m:
1939case RISCV::BI__builtin_rvv_vamoswapei8_v_f32mf2_m:
1940case RISCV::BI__builtin_rvv_vamoswapei16_v_f32m1_m:
1941case RISCV::BI__builtin_rvv_vamoswapei16_v_f32m2_m:
1942case RISCV::BI__builtin_rvv_vamoswapei16_v_f32m4_m:
1943case RISCV::BI__builtin_rvv_vamoswapei16_v_f32m8_m:
1944case RISCV::BI__builtin_rvv_vamoswapei16_v_f32mf2_m:
1945case RISCV::BI__builtin_rvv_vamoswapei32_v_f32m1_m:
1946case RISCV::BI__builtin_rvv_vamoswapei32_v_f32m2_m:
1947case RISCV::BI__builtin_rvv_vamoswapei32_v_f32m4_m:
1948case RISCV::BI__builtin_rvv_vamoswapei32_v_f32m8_m:
1949case RISCV::BI__builtin_rvv_vamoswapei32_v_f32mf2_m:
1950case RISCV::BI__builtin_rvv_vamoswapei64_v_f32m1_m:
1951case RISCV::BI__builtin_rvv_vamoswapei64_v_f32m2_m:
1952case RISCV::BI__builtin_rvv_vamoswapei64_v_f32m4_m:
1953case RISCV::BI__builtin_rvv_vamoswapei64_v_f32mf2_m:
1954case RISCV::BI__builtin_rvv_vamoswapei8_v_f64m1_m:
1955case RISCV::BI__builtin_rvv_vamoswapei8_v_f64m2_m:
1956case RISCV::BI__builtin_rvv_vamoswapei8_v_f64m4_m:
1957case RISCV::BI__builtin_rvv_vamoswapei8_v_f64m8_m:
1958case RISCV::BI__builtin_rvv_vamoswapei16_v_f64m1_m:
1959case RISCV::BI__builtin_rvv_vamoswapei16_v_f64m2_m:
1960case RISCV::BI__builtin_rvv_vamoswapei16_v_f64m4_m:
1961case RISCV::BI__builtin_rvv_vamoswapei16_v_f64m8_m:
1962case RISCV::BI__builtin_rvv_vamoswapei32_v_f64m1_m:
1963case RISCV::BI__builtin_rvv_vamoswapei32_v_f64m2_m:
1964case RISCV::BI__builtin_rvv_vamoswapei32_v_f64m4_m:
1965case RISCV::BI__builtin_rvv_vamoswapei32_v_f64m8_m:
1966case RISCV::BI__builtin_rvv_vamoswapei64_v_f64m1_m:
1967case RISCV::BI__builtin_rvv_vamoswapei64_v_f64m2_m:
1968case RISCV::BI__builtin_rvv_vamoswapei64_v_f64m4_m:
1969case RISCV::BI__builtin_rvv_vamoswapei64_v_f64m8_m:
1970 ID = Intrinsic::riscv_vamoswap_mask;
1971
1972 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
1973 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[4]->getType()};
1974 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
1975 break;
1976case RISCV::BI__builtin_rvv_vamoxorei8_v_i32m1:
1977case RISCV::BI__builtin_rvv_vamoxorei8_v_i32m2:
1978case RISCV::BI__builtin_rvv_vamoxorei8_v_i32m4:
1979case RISCV::BI__builtin_rvv_vamoxorei8_v_i32m8:
1980case RISCV::BI__builtin_rvv_vamoxorei8_v_i32mf2:
1981case RISCV::BI__builtin_rvv_vamoxorei8_v_u32m1:
1982case RISCV::BI__builtin_rvv_vamoxorei8_v_u32m2:
1983case RISCV::BI__builtin_rvv_vamoxorei8_v_u32m4:
1984case RISCV::BI__builtin_rvv_vamoxorei8_v_u32m8:
1985case RISCV::BI__builtin_rvv_vamoxorei8_v_u32mf2:
1986case RISCV::BI__builtin_rvv_vamoxorei16_v_i32m1:
1987case RISCV::BI__builtin_rvv_vamoxorei16_v_i32m2:
1988case RISCV::BI__builtin_rvv_vamoxorei16_v_i32m4:
1989case RISCV::BI__builtin_rvv_vamoxorei16_v_i32m8:
1990case RISCV::BI__builtin_rvv_vamoxorei16_v_i32mf2:
1991case RISCV::BI__builtin_rvv_vamoxorei16_v_u32m1:
1992case RISCV::BI__builtin_rvv_vamoxorei16_v_u32m2:
1993case RISCV::BI__builtin_rvv_vamoxorei16_v_u32m4:
1994case RISCV::BI__builtin_rvv_vamoxorei16_v_u32m8:
1995case RISCV::BI__builtin_rvv_vamoxorei16_v_u32mf2:
1996case RISCV::BI__builtin_rvv_vamoxorei32_v_i32m1:
1997case RISCV::BI__builtin_rvv_vamoxorei32_v_i32m2:
1998case RISCV::BI__builtin_rvv_vamoxorei32_v_i32m4:
1999case RISCV::BI__builtin_rvv_vamoxorei32_v_i32m8:
2000case RISCV::BI__builtin_rvv_vamoxorei32_v_i32mf2:
2001case RISCV::BI__builtin_rvv_vamoxorei32_v_u32m1:
2002case RISCV::BI__builtin_rvv_vamoxorei32_v_u32m2:
2003case RISCV::BI__builtin_rvv_vamoxorei32_v_u32m4:
2004case RISCV::BI__builtin_rvv_vamoxorei32_v_u32m8:
2005case RISCV::BI__builtin_rvv_vamoxorei32_v_u32mf2:
2006case RISCV::BI__builtin_rvv_vamoxorei64_v_i32m1:
2007case RISCV::BI__builtin_rvv_vamoxorei64_v_i32m2:
2008case RISCV::BI__builtin_rvv_vamoxorei64_v_i32m4:
2009case RISCV::BI__builtin_rvv_vamoxorei64_v_i32mf2:
2010case RISCV::BI__builtin_rvv_vamoxorei64_v_u32m1:
2011case RISCV::BI__builtin_rvv_vamoxorei64_v_u32m2:
2012case RISCV::BI__builtin_rvv_vamoxorei64_v_u32m4:
2013case RISCV::BI__builtin_rvv_vamoxorei64_v_u32mf2:
2014case RISCV::BI__builtin_rvv_vamoxorei8_v_i64m1:
2015case RISCV::BI__builtin_rvv_vamoxorei8_v_i64m2:
2016case RISCV::BI__builtin_rvv_vamoxorei8_v_i64m4:
2017case RISCV::BI__builtin_rvv_vamoxorei8_v_i64m8:
2018case RISCV::BI__builtin_rvv_vamoxorei8_v_u64m1:
2019case RISCV::BI__builtin_rvv_vamoxorei8_v_u64m2:
2020case RISCV::BI__builtin_rvv_vamoxorei8_v_u64m4:
2021case RISCV::BI__builtin_rvv_vamoxorei8_v_u64m8:
2022case RISCV::BI__builtin_rvv_vamoxorei16_v_i64m1:
2023case RISCV::BI__builtin_rvv_vamoxorei16_v_i64m2:
2024case RISCV::BI__builtin_rvv_vamoxorei16_v_i64m4:
2025case RISCV::BI__builtin_rvv_vamoxorei16_v_i64m8:
2026case RISCV::BI__builtin_rvv_vamoxorei16_v_u64m1:
2027case RISCV::BI__builtin_rvv_vamoxorei16_v_u64m2:
2028case RISCV::BI__builtin_rvv_vamoxorei16_v_u64m4:
2029case RISCV::BI__builtin_rvv_vamoxorei16_v_u64m8:
2030case RISCV::BI__builtin_rvv_vamoxorei32_v_i64m1:
2031case RISCV::BI__builtin_rvv_vamoxorei32_v_i64m2:
2032case RISCV::BI__builtin_rvv_vamoxorei32_v_i64m4:
2033case RISCV::BI__builtin_rvv_vamoxorei32_v_i64m8:
2034case RISCV::BI__builtin_rvv_vamoxorei32_v_u64m1:
2035case RISCV::BI__builtin_rvv_vamoxorei32_v_u64m2:
2036case RISCV::BI__builtin_rvv_vamoxorei32_v_u64m4:
2037case RISCV::BI__builtin_rvv_vamoxorei32_v_u64m8:
2038case RISCV::BI__builtin_rvv_vamoxorei64_v_i64m1:
2039case RISCV::BI__builtin_rvv_vamoxorei64_v_i64m2:
2040case RISCV::BI__builtin_rvv_vamoxorei64_v_i64m4:
2041case RISCV::BI__builtin_rvv_vamoxorei64_v_i64m8:
2042case RISCV::BI__builtin_rvv_vamoxorei64_v_u64m1:
2043case RISCV::BI__builtin_rvv_vamoxorei64_v_u64m2:
2044case RISCV::BI__builtin_rvv_vamoxorei64_v_u64m4:
2045case RISCV::BI__builtin_rvv_vamoxorei64_v_u64m8:
2046 ID = Intrinsic::riscv_vamoxor;
2047
2048 // base, bindex, value, vl
2049 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[3]->getType()};
2050 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
2051 break;
2052case RISCV::BI__builtin_rvv_vamoxorei8_v_i32m1_m:
2053case RISCV::BI__builtin_rvv_vamoxorei8_v_i32m2_m:
2054case RISCV::BI__builtin_rvv_vamoxorei8_v_i32m4_m:
2055case RISCV::BI__builtin_rvv_vamoxorei8_v_i32m8_m:
2056case RISCV::BI__builtin_rvv_vamoxorei8_v_i32mf2_m:
2057case RISCV::BI__builtin_rvv_vamoxorei8_v_u32m1_m:
2058case RISCV::BI__builtin_rvv_vamoxorei8_v_u32m2_m:
2059case RISCV::BI__builtin_rvv_vamoxorei8_v_u32m4_m:
2060case RISCV::BI__builtin_rvv_vamoxorei8_v_u32m8_m:
2061case RISCV::BI__builtin_rvv_vamoxorei8_v_u32mf2_m:
2062case RISCV::BI__builtin_rvv_vamoxorei16_v_i32m1_m:
2063case RISCV::BI__builtin_rvv_vamoxorei16_v_i32m2_m:
2064case RISCV::BI__builtin_rvv_vamoxorei16_v_i32m4_m:
2065case RISCV::BI__builtin_rvv_vamoxorei16_v_i32m8_m:
2066case RISCV::BI__builtin_rvv_vamoxorei16_v_i32mf2_m:
2067case RISCV::BI__builtin_rvv_vamoxorei16_v_u32m1_m:
2068case RISCV::BI__builtin_rvv_vamoxorei16_v_u32m2_m:
2069case RISCV::BI__builtin_rvv_vamoxorei16_v_u32m4_m:
2070case RISCV::BI__builtin_rvv_vamoxorei16_v_u32m8_m:
2071case RISCV::BI__builtin_rvv_vamoxorei16_v_u32mf2_m:
2072case RISCV::BI__builtin_rvv_vamoxorei32_v_i32m1_m:
2073case RISCV::BI__builtin_rvv_vamoxorei32_v_i32m2_m:
2074case RISCV::BI__builtin_rvv_vamoxorei32_v_i32m4_m:
2075case RISCV::BI__builtin_rvv_vamoxorei32_v_i32m8_m:
2076case RISCV::BI__builtin_rvv_vamoxorei32_v_i32mf2_m:
2077case RISCV::BI__builtin_rvv_vamoxorei32_v_u32m1_m:
2078case RISCV::BI__builtin_rvv_vamoxorei32_v_u32m2_m:
2079case RISCV::BI__builtin_rvv_vamoxorei32_v_u32m4_m:
2080case RISCV::BI__builtin_rvv_vamoxorei32_v_u32m8_m:
2081case RISCV::BI__builtin_rvv_vamoxorei32_v_u32mf2_m:
2082case RISCV::BI__builtin_rvv_vamoxorei64_v_i32m1_m:
2083case RISCV::BI__builtin_rvv_vamoxorei64_v_i32m2_m:
2084case RISCV::BI__builtin_rvv_vamoxorei64_v_i32m4_m:
2085case RISCV::BI__builtin_rvv_vamoxorei64_v_i32mf2_m:
2086case RISCV::BI__builtin_rvv_vamoxorei64_v_u32m1_m:
2087case RISCV::BI__builtin_rvv_vamoxorei64_v_u32m2_m:
2088case RISCV::BI__builtin_rvv_vamoxorei64_v_u32m4_m:
2089case RISCV::BI__builtin_rvv_vamoxorei64_v_u32mf2_m:
2090case RISCV::BI__builtin_rvv_vamoxorei8_v_i64m1_m:
2091case RISCV::BI__builtin_rvv_vamoxorei8_v_i64m2_m:
2092case RISCV::BI__builtin_rvv_vamoxorei8_v_i64m4_m:
2093case RISCV::BI__builtin_rvv_vamoxorei8_v_i64m8_m:
2094case RISCV::BI__builtin_rvv_vamoxorei8_v_u64m1_m:
2095case RISCV::BI__builtin_rvv_vamoxorei8_v_u64m2_m:
2096case RISCV::BI__builtin_rvv_vamoxorei8_v_u64m4_m:
2097case RISCV::BI__builtin_rvv_vamoxorei8_v_u64m8_m:
2098case RISCV::BI__builtin_rvv_vamoxorei16_v_i64m1_m:
2099case RISCV::BI__builtin_rvv_vamoxorei16_v_i64m2_m:
2100case RISCV::BI__builtin_rvv_vamoxorei16_v_i64m4_m:
2101case RISCV::BI__builtin_rvv_vamoxorei16_v_i64m8_m:
2102case RISCV::BI__builtin_rvv_vamoxorei16_v_u64m1_m:
2103case RISCV::BI__builtin_rvv_vamoxorei16_v_u64m2_m:
2104case RISCV::BI__builtin_rvv_vamoxorei16_v_u64m4_m:
2105case RISCV::BI__builtin_rvv_vamoxorei16_v_u64m8_m:
2106case RISCV::BI__builtin_rvv_vamoxorei32_v_i64m1_m:
2107case RISCV::BI__builtin_rvv_vamoxorei32_v_i64m2_m:
2108case RISCV::BI__builtin_rvv_vamoxorei32_v_i64m4_m:
2109case RISCV::BI__builtin_rvv_vamoxorei32_v_i64m8_m:
2110case RISCV::BI__builtin_rvv_vamoxorei32_v_u64m1_m:
2111case RISCV::BI__builtin_rvv_vamoxorei32_v_u64m2_m:
2112case RISCV::BI__builtin_rvv_vamoxorei32_v_u64m4_m:
2113case RISCV::BI__builtin_rvv_vamoxorei32_v_u64m8_m:
2114case RISCV::BI__builtin_rvv_vamoxorei64_v_i64m1_m:
2115case RISCV::BI__builtin_rvv_vamoxorei64_v_i64m2_m:
2116case RISCV::BI__builtin_rvv_vamoxorei64_v_i64m4_m:
2117case RISCV::BI__builtin_rvv_vamoxorei64_v_i64m8_m:
2118case RISCV::BI__builtin_rvv_vamoxorei64_v_u64m1_m:
2119case RISCV::BI__builtin_rvv_vamoxorei64_v_u64m2_m:
2120case RISCV::BI__builtin_rvv_vamoxorei64_v_u64m4_m:
2121case RISCV::BI__builtin_rvv_vamoxorei64_v_u64m8_m:
2122 ID = Intrinsic::riscv_vamoxor_mask;
2123
2124 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2125 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[4]->getType()};
2126 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
2127 break;
2128case RISCV::BI__builtin_rvv_vand_vv_i8m1:
2129case RISCV::BI__builtin_rvv_vand_vv_i8m2:
2130case RISCV::BI__builtin_rvv_vand_vv_i8m4:
2131case RISCV::BI__builtin_rvv_vand_vv_i8m8:
2132case RISCV::BI__builtin_rvv_vand_vv_i8mf2:
2133case RISCV::BI__builtin_rvv_vand_vv_i8mf4:
2134case RISCV::BI__builtin_rvv_vand_vv_i8mf8:
2135case RISCV::BI__builtin_rvv_vand_vv_i16m1:
2136case RISCV::BI__builtin_rvv_vand_vv_i16m2:
2137case RISCV::BI__builtin_rvv_vand_vv_i16m4:
2138case RISCV::BI__builtin_rvv_vand_vv_i16m8:
2139case RISCV::BI__builtin_rvv_vand_vv_i16mf2:
2140case RISCV::BI__builtin_rvv_vand_vv_i16mf4:
2141case RISCV::BI__builtin_rvv_vand_vv_i32m1:
2142case RISCV::BI__builtin_rvv_vand_vv_i32m2:
2143case RISCV::BI__builtin_rvv_vand_vv_i32m4:
2144case RISCV::BI__builtin_rvv_vand_vv_i32m8:
2145case RISCV::BI__builtin_rvv_vand_vv_i32mf2:
2146case RISCV::BI__builtin_rvv_vand_vv_i64m1:
2147case RISCV::BI__builtin_rvv_vand_vv_i64m2:
2148case RISCV::BI__builtin_rvv_vand_vv_i64m4:
2149case RISCV::BI__builtin_rvv_vand_vv_i64m8:
2150case RISCV::BI__builtin_rvv_vand_vx_i8m1:
2151case RISCV::BI__builtin_rvv_vand_vx_i8m2:
2152case RISCV::BI__builtin_rvv_vand_vx_i8m4:
2153case RISCV::BI__builtin_rvv_vand_vx_i8m8:
2154case RISCV::BI__builtin_rvv_vand_vx_i8mf2:
2155case RISCV::BI__builtin_rvv_vand_vx_i8mf4:
2156case RISCV::BI__builtin_rvv_vand_vx_i8mf8:
2157case RISCV::BI__builtin_rvv_vand_vx_i16m1:
2158case RISCV::BI__builtin_rvv_vand_vx_i16m2:
2159case RISCV::BI__builtin_rvv_vand_vx_i16m4:
2160case RISCV::BI__builtin_rvv_vand_vx_i16m8:
2161case RISCV::BI__builtin_rvv_vand_vx_i16mf2:
2162case RISCV::BI__builtin_rvv_vand_vx_i16mf4:
2163case RISCV::BI__builtin_rvv_vand_vx_i32m1:
2164case RISCV::BI__builtin_rvv_vand_vx_i32m2:
2165case RISCV::BI__builtin_rvv_vand_vx_i32m4:
2166case RISCV::BI__builtin_rvv_vand_vx_i32m8:
2167case RISCV::BI__builtin_rvv_vand_vx_i32mf2:
2168case RISCV::BI__builtin_rvv_vand_vx_i64m1:
2169case RISCV::BI__builtin_rvv_vand_vx_i64m2:
2170case RISCV::BI__builtin_rvv_vand_vx_i64m4:
2171case RISCV::BI__builtin_rvv_vand_vx_i64m8:
2172case RISCV::BI__builtin_rvv_vand_vv_u8m1:
2173case RISCV::BI__builtin_rvv_vand_vv_u8m2:
2174case RISCV::BI__builtin_rvv_vand_vv_u8m4:
2175case RISCV::BI__builtin_rvv_vand_vv_u8m8:
2176case RISCV::BI__builtin_rvv_vand_vv_u8mf2:
2177case RISCV::BI__builtin_rvv_vand_vv_u8mf4:
2178case RISCV::BI__builtin_rvv_vand_vv_u8mf8:
2179case RISCV::BI__builtin_rvv_vand_vv_u16m1:
2180case RISCV::BI__builtin_rvv_vand_vv_u16m2:
2181case RISCV::BI__builtin_rvv_vand_vv_u16m4:
2182case RISCV::BI__builtin_rvv_vand_vv_u16m8:
2183case RISCV::BI__builtin_rvv_vand_vv_u16mf2:
2184case RISCV::BI__builtin_rvv_vand_vv_u16mf4:
2185case RISCV::BI__builtin_rvv_vand_vv_u32m1:
2186case RISCV::BI__builtin_rvv_vand_vv_u32m2:
2187case RISCV::BI__builtin_rvv_vand_vv_u32m4:
2188case RISCV::BI__builtin_rvv_vand_vv_u32m8:
2189case RISCV::BI__builtin_rvv_vand_vv_u32mf2:
2190case RISCV::BI__builtin_rvv_vand_vv_u64m1:
2191case RISCV::BI__builtin_rvv_vand_vv_u64m2:
2192case RISCV::BI__builtin_rvv_vand_vv_u64m4:
2193case RISCV::BI__builtin_rvv_vand_vv_u64m8:
2194case RISCV::BI__builtin_rvv_vand_vx_u8m1:
2195case RISCV::BI__builtin_rvv_vand_vx_u8m2:
2196case RISCV::BI__builtin_rvv_vand_vx_u8m4:
2197case RISCV::BI__builtin_rvv_vand_vx_u8m8:
2198case RISCV::BI__builtin_rvv_vand_vx_u8mf2:
2199case RISCV::BI__builtin_rvv_vand_vx_u8mf4:
2200case RISCV::BI__builtin_rvv_vand_vx_u8mf8:
2201case RISCV::BI__builtin_rvv_vand_vx_u16m1:
2202case RISCV::BI__builtin_rvv_vand_vx_u16m2:
2203case RISCV::BI__builtin_rvv_vand_vx_u16m4:
2204case RISCV::BI__builtin_rvv_vand_vx_u16m8:
2205case RISCV::BI__builtin_rvv_vand_vx_u16mf2:
2206case RISCV::BI__builtin_rvv_vand_vx_u16mf4:
2207case RISCV::BI__builtin_rvv_vand_vx_u32m1:
2208case RISCV::BI__builtin_rvv_vand_vx_u32m2:
2209case RISCV::BI__builtin_rvv_vand_vx_u32m4:
2210case RISCV::BI__builtin_rvv_vand_vx_u32m8:
2211case RISCV::BI__builtin_rvv_vand_vx_u32mf2:
2212case RISCV::BI__builtin_rvv_vand_vx_u64m1:
2213case RISCV::BI__builtin_rvv_vand_vx_u64m2:
2214case RISCV::BI__builtin_rvv_vand_vx_u64m4:
2215case RISCV::BI__builtin_rvv_vand_vx_u64m8:
2216 ID = Intrinsic::riscv_vand;
2217 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
2218 break;
2219case RISCV::BI__builtin_rvv_vand_vv_i8m1_m:
2220case RISCV::BI__builtin_rvv_vand_vv_i8m2_m:
2221case RISCV::BI__builtin_rvv_vand_vv_i8m4_m:
2222case RISCV::BI__builtin_rvv_vand_vv_i8m8_m:
2223case RISCV::BI__builtin_rvv_vand_vv_i8mf2_m:
2224case RISCV::BI__builtin_rvv_vand_vv_i8mf4_m:
2225case RISCV::BI__builtin_rvv_vand_vv_i8mf8_m:
2226case RISCV::BI__builtin_rvv_vand_vv_i16m1_m:
2227case RISCV::BI__builtin_rvv_vand_vv_i16m2_m:
2228case RISCV::BI__builtin_rvv_vand_vv_i16m4_m:
2229case RISCV::BI__builtin_rvv_vand_vv_i16m8_m:
2230case RISCV::BI__builtin_rvv_vand_vv_i16mf2_m:
2231case RISCV::BI__builtin_rvv_vand_vv_i16mf4_m:
2232case RISCV::BI__builtin_rvv_vand_vv_i32m1_m:
2233case RISCV::BI__builtin_rvv_vand_vv_i32m2_m:
2234case RISCV::BI__builtin_rvv_vand_vv_i32m4_m:
2235case RISCV::BI__builtin_rvv_vand_vv_i32m8_m:
2236case RISCV::BI__builtin_rvv_vand_vv_i32mf2_m:
2237case RISCV::BI__builtin_rvv_vand_vv_i64m1_m:
2238case RISCV::BI__builtin_rvv_vand_vv_i64m2_m:
2239case RISCV::BI__builtin_rvv_vand_vv_i64m4_m:
2240case RISCV::BI__builtin_rvv_vand_vv_i64m8_m:
2241case RISCV::BI__builtin_rvv_vand_vx_i8m1_m:
2242case RISCV::BI__builtin_rvv_vand_vx_i8m2_m:
2243case RISCV::BI__builtin_rvv_vand_vx_i8m4_m:
2244case RISCV::BI__builtin_rvv_vand_vx_i8m8_m:
2245case RISCV::BI__builtin_rvv_vand_vx_i8mf2_m:
2246case RISCV::BI__builtin_rvv_vand_vx_i8mf4_m:
2247case RISCV::BI__builtin_rvv_vand_vx_i8mf8_m:
2248case RISCV::BI__builtin_rvv_vand_vx_i16m1_m:
2249case RISCV::BI__builtin_rvv_vand_vx_i16m2_m:
2250case RISCV::BI__builtin_rvv_vand_vx_i16m4_m:
2251case RISCV::BI__builtin_rvv_vand_vx_i16m8_m:
2252case RISCV::BI__builtin_rvv_vand_vx_i16mf2_m:
2253case RISCV::BI__builtin_rvv_vand_vx_i16mf4_m:
2254case RISCV::BI__builtin_rvv_vand_vx_i32m1_m:
2255case RISCV::BI__builtin_rvv_vand_vx_i32m2_m:
2256case RISCV::BI__builtin_rvv_vand_vx_i32m4_m:
2257case RISCV::BI__builtin_rvv_vand_vx_i32m8_m:
2258case RISCV::BI__builtin_rvv_vand_vx_i32mf2_m:
2259case RISCV::BI__builtin_rvv_vand_vx_i64m1_m:
2260case RISCV::BI__builtin_rvv_vand_vx_i64m2_m:
2261case RISCV::BI__builtin_rvv_vand_vx_i64m4_m:
2262case RISCV::BI__builtin_rvv_vand_vx_i64m8_m:
2263case RISCV::BI__builtin_rvv_vand_vv_u8m1_m:
2264case RISCV::BI__builtin_rvv_vand_vv_u8m2_m:
2265case RISCV::BI__builtin_rvv_vand_vv_u8m4_m:
2266case RISCV::BI__builtin_rvv_vand_vv_u8m8_m:
2267case RISCV::BI__builtin_rvv_vand_vv_u8mf2_m:
2268case RISCV::BI__builtin_rvv_vand_vv_u8mf4_m:
2269case RISCV::BI__builtin_rvv_vand_vv_u8mf8_m:
2270case RISCV::BI__builtin_rvv_vand_vv_u16m1_m:
2271case RISCV::BI__builtin_rvv_vand_vv_u16m2_m:
2272case RISCV::BI__builtin_rvv_vand_vv_u16m4_m:
2273case RISCV::BI__builtin_rvv_vand_vv_u16m8_m:
2274case RISCV::BI__builtin_rvv_vand_vv_u16mf2_m:
2275case RISCV::BI__builtin_rvv_vand_vv_u16mf4_m:
2276case RISCV::BI__builtin_rvv_vand_vv_u32m1_m:
2277case RISCV::BI__builtin_rvv_vand_vv_u32m2_m:
2278case RISCV::BI__builtin_rvv_vand_vv_u32m4_m:
2279case RISCV::BI__builtin_rvv_vand_vv_u32m8_m:
2280case RISCV::BI__builtin_rvv_vand_vv_u32mf2_m:
2281case RISCV::BI__builtin_rvv_vand_vv_u64m1_m:
2282case RISCV::BI__builtin_rvv_vand_vv_u64m2_m:
2283case RISCV::BI__builtin_rvv_vand_vv_u64m4_m:
2284case RISCV::BI__builtin_rvv_vand_vv_u64m8_m:
2285case RISCV::BI__builtin_rvv_vand_vx_u8m1_m:
2286case RISCV::BI__builtin_rvv_vand_vx_u8m2_m:
2287case RISCV::BI__builtin_rvv_vand_vx_u8m4_m:
2288case RISCV::BI__builtin_rvv_vand_vx_u8m8_m:
2289case RISCV::BI__builtin_rvv_vand_vx_u8mf2_m:
2290case RISCV::BI__builtin_rvv_vand_vx_u8mf4_m:
2291case RISCV::BI__builtin_rvv_vand_vx_u8mf8_m:
2292case RISCV::BI__builtin_rvv_vand_vx_u16m1_m:
2293case RISCV::BI__builtin_rvv_vand_vx_u16m2_m:
2294case RISCV::BI__builtin_rvv_vand_vx_u16m4_m:
2295case RISCV::BI__builtin_rvv_vand_vx_u16m8_m:
2296case RISCV::BI__builtin_rvv_vand_vx_u16mf2_m:
2297case RISCV::BI__builtin_rvv_vand_vx_u16mf4_m:
2298case RISCV::BI__builtin_rvv_vand_vx_u32m1_m:
2299case RISCV::BI__builtin_rvv_vand_vx_u32m2_m:
2300case RISCV::BI__builtin_rvv_vand_vx_u32m4_m:
2301case RISCV::BI__builtin_rvv_vand_vx_u32m8_m:
2302case RISCV::BI__builtin_rvv_vand_vx_u32mf2_m:
2303case RISCV::BI__builtin_rvv_vand_vx_u64m1_m:
2304case RISCV::BI__builtin_rvv_vand_vx_u64m2_m:
2305case RISCV::BI__builtin_rvv_vand_vx_u64m4_m:
2306case RISCV::BI__builtin_rvv_vand_vx_u64m8_m:
2307 ID = Intrinsic::riscv_vand_mask;
2308 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2309 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
2310 break;
2311case RISCV::BI__builtin_rvv_vasub_vv_i8m1:
2312case RISCV::BI__builtin_rvv_vasub_vv_i8m2:
2313case RISCV::BI__builtin_rvv_vasub_vv_i8m4:
2314case RISCV::BI__builtin_rvv_vasub_vv_i8m8:
2315case RISCV::BI__builtin_rvv_vasub_vv_i8mf2:
2316case RISCV::BI__builtin_rvv_vasub_vv_i8mf4:
2317case RISCV::BI__builtin_rvv_vasub_vv_i8mf8:
2318case RISCV::BI__builtin_rvv_vasub_vv_i16m1:
2319case RISCV::BI__builtin_rvv_vasub_vv_i16m2:
2320case RISCV::BI__builtin_rvv_vasub_vv_i16m4:
2321case RISCV::BI__builtin_rvv_vasub_vv_i16m8:
2322case RISCV::BI__builtin_rvv_vasub_vv_i16mf2:
2323case RISCV::BI__builtin_rvv_vasub_vv_i16mf4:
2324case RISCV::BI__builtin_rvv_vasub_vv_i32m1:
2325case RISCV::BI__builtin_rvv_vasub_vv_i32m2:
2326case RISCV::BI__builtin_rvv_vasub_vv_i32m4:
2327case RISCV::BI__builtin_rvv_vasub_vv_i32m8:
2328case RISCV::BI__builtin_rvv_vasub_vv_i32mf2:
2329case RISCV::BI__builtin_rvv_vasub_vv_i64m1:
2330case RISCV::BI__builtin_rvv_vasub_vv_i64m2:
2331case RISCV::BI__builtin_rvv_vasub_vv_i64m4:
2332case RISCV::BI__builtin_rvv_vasub_vv_i64m8:
2333case RISCV::BI__builtin_rvv_vasub_vx_i8m1:
2334case RISCV::BI__builtin_rvv_vasub_vx_i8m2:
2335case RISCV::BI__builtin_rvv_vasub_vx_i8m4:
2336case RISCV::BI__builtin_rvv_vasub_vx_i8m8:
2337case RISCV::BI__builtin_rvv_vasub_vx_i8mf2:
2338case RISCV::BI__builtin_rvv_vasub_vx_i8mf4:
2339case RISCV::BI__builtin_rvv_vasub_vx_i8mf8:
2340case RISCV::BI__builtin_rvv_vasub_vx_i16m1:
2341case RISCV::BI__builtin_rvv_vasub_vx_i16m2:
2342case RISCV::BI__builtin_rvv_vasub_vx_i16m4:
2343case RISCV::BI__builtin_rvv_vasub_vx_i16m8:
2344case RISCV::BI__builtin_rvv_vasub_vx_i16mf2:
2345case RISCV::BI__builtin_rvv_vasub_vx_i16mf4:
2346case RISCV::BI__builtin_rvv_vasub_vx_i32m1:
2347case RISCV::BI__builtin_rvv_vasub_vx_i32m2:
2348case RISCV::BI__builtin_rvv_vasub_vx_i32m4:
2349case RISCV::BI__builtin_rvv_vasub_vx_i32m8:
2350case RISCV::BI__builtin_rvv_vasub_vx_i32mf2:
2351case RISCV::BI__builtin_rvv_vasub_vx_i64m1:
2352case RISCV::BI__builtin_rvv_vasub_vx_i64m2:
2353case RISCV::BI__builtin_rvv_vasub_vx_i64m4:
2354case RISCV::BI__builtin_rvv_vasub_vx_i64m8:
2355 ID = Intrinsic::riscv_vasub;
2356 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
2357 break;
2358case RISCV::BI__builtin_rvv_vasub_vv_i8m1_m:
2359case RISCV::BI__builtin_rvv_vasub_vv_i8m2_m:
2360case RISCV::BI__builtin_rvv_vasub_vv_i8m4_m:
2361case RISCV::BI__builtin_rvv_vasub_vv_i8m8_m:
2362case RISCV::BI__builtin_rvv_vasub_vv_i8mf2_m:
2363case RISCV::BI__builtin_rvv_vasub_vv_i8mf4_m:
2364case RISCV::BI__builtin_rvv_vasub_vv_i8mf8_m:
2365case RISCV::BI__builtin_rvv_vasub_vv_i16m1_m:
2366case RISCV::BI__builtin_rvv_vasub_vv_i16m2_m:
2367case RISCV::BI__builtin_rvv_vasub_vv_i16m4_m:
2368case RISCV::BI__builtin_rvv_vasub_vv_i16m8_m:
2369case RISCV::BI__builtin_rvv_vasub_vv_i16mf2_m:
2370case RISCV::BI__builtin_rvv_vasub_vv_i16mf4_m:
2371case RISCV::BI__builtin_rvv_vasub_vv_i32m1_m:
2372case RISCV::BI__builtin_rvv_vasub_vv_i32m2_m:
2373case RISCV::BI__builtin_rvv_vasub_vv_i32m4_m:
2374case RISCV::BI__builtin_rvv_vasub_vv_i32m8_m:
2375case RISCV::BI__builtin_rvv_vasub_vv_i32mf2_m:
2376case RISCV::BI__builtin_rvv_vasub_vv_i64m1_m:
2377case RISCV::BI__builtin_rvv_vasub_vv_i64m2_m:
2378case RISCV::BI__builtin_rvv_vasub_vv_i64m4_m:
2379case RISCV::BI__builtin_rvv_vasub_vv_i64m8_m:
2380case RISCV::BI__builtin_rvv_vasub_vx_i8m1_m:
2381case RISCV::BI__builtin_rvv_vasub_vx_i8m2_m:
2382case RISCV::BI__builtin_rvv_vasub_vx_i8m4_m:
2383case RISCV::BI__builtin_rvv_vasub_vx_i8m8_m:
2384case RISCV::BI__builtin_rvv_vasub_vx_i8mf2_m:
2385case RISCV::BI__builtin_rvv_vasub_vx_i8mf4_m:
2386case RISCV::BI__builtin_rvv_vasub_vx_i8mf8_m:
2387case RISCV::BI__builtin_rvv_vasub_vx_i16m1_m:
2388case RISCV::BI__builtin_rvv_vasub_vx_i16m2_m:
2389case RISCV::BI__builtin_rvv_vasub_vx_i16m4_m:
2390case RISCV::BI__builtin_rvv_vasub_vx_i16m8_m:
2391case RISCV::BI__builtin_rvv_vasub_vx_i16mf2_m:
2392case RISCV::BI__builtin_rvv_vasub_vx_i16mf4_m:
2393case RISCV::BI__builtin_rvv_vasub_vx_i32m1_m:
2394case RISCV::BI__builtin_rvv_vasub_vx_i32m2_m:
2395case RISCV::BI__builtin_rvv_vasub_vx_i32m4_m:
2396case RISCV::BI__builtin_rvv_vasub_vx_i32m8_m:
2397case RISCV::BI__builtin_rvv_vasub_vx_i32mf2_m:
2398case RISCV::BI__builtin_rvv_vasub_vx_i64m1_m:
2399case RISCV::BI__builtin_rvv_vasub_vx_i64m2_m:
2400case RISCV::BI__builtin_rvv_vasub_vx_i64m4_m:
2401case RISCV::BI__builtin_rvv_vasub_vx_i64m8_m:
2402 ID = Intrinsic::riscv_vasub_mask;
2403 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2404 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
2405 break;
2406case RISCV::BI__builtin_rvv_vasubu_vv_u8m1:
2407case RISCV::BI__builtin_rvv_vasubu_vv_u8m2:
2408case RISCV::BI__builtin_rvv_vasubu_vv_u8m4:
2409case RISCV::BI__builtin_rvv_vasubu_vv_u8m8:
2410case RISCV::BI__builtin_rvv_vasubu_vv_u8mf2:
2411case RISCV::BI__builtin_rvv_vasubu_vv_u8mf4:
2412case RISCV::BI__builtin_rvv_vasubu_vv_u8mf8:
2413case RISCV::BI__builtin_rvv_vasubu_vv_u16m1:
2414case RISCV::BI__builtin_rvv_vasubu_vv_u16m2:
2415case RISCV::BI__builtin_rvv_vasubu_vv_u16m4:
2416case RISCV::BI__builtin_rvv_vasubu_vv_u16m8:
2417case RISCV::BI__builtin_rvv_vasubu_vv_u16mf2:
2418case RISCV::BI__builtin_rvv_vasubu_vv_u16mf4:
2419case RISCV::BI__builtin_rvv_vasubu_vv_u32m1:
2420case RISCV::BI__builtin_rvv_vasubu_vv_u32m2:
2421case RISCV::BI__builtin_rvv_vasubu_vv_u32m4:
2422case RISCV::BI__builtin_rvv_vasubu_vv_u32m8:
2423case RISCV::BI__builtin_rvv_vasubu_vv_u32mf2:
2424case RISCV::BI__builtin_rvv_vasubu_vv_u64m1:
2425case RISCV::BI__builtin_rvv_vasubu_vv_u64m2:
2426case RISCV::BI__builtin_rvv_vasubu_vv_u64m4:
2427case RISCV::BI__builtin_rvv_vasubu_vv_u64m8:
2428case RISCV::BI__builtin_rvv_vasubu_vx_u8m1:
2429case RISCV::BI__builtin_rvv_vasubu_vx_u8m2:
2430case RISCV::BI__builtin_rvv_vasubu_vx_u8m4:
2431case RISCV::BI__builtin_rvv_vasubu_vx_u8m8:
2432case RISCV::BI__builtin_rvv_vasubu_vx_u8mf2:
2433case RISCV::BI__builtin_rvv_vasubu_vx_u8mf4:
2434case RISCV::BI__builtin_rvv_vasubu_vx_u8mf8:
2435case RISCV::BI__builtin_rvv_vasubu_vx_u16m1:
2436case RISCV::BI__builtin_rvv_vasubu_vx_u16m2:
2437case RISCV::BI__builtin_rvv_vasubu_vx_u16m4:
2438case RISCV::BI__builtin_rvv_vasubu_vx_u16m8:
2439case RISCV::BI__builtin_rvv_vasubu_vx_u16mf2:
2440case RISCV::BI__builtin_rvv_vasubu_vx_u16mf4:
2441case RISCV::BI__builtin_rvv_vasubu_vx_u32m1:
2442case RISCV::BI__builtin_rvv_vasubu_vx_u32m2:
2443case RISCV::BI__builtin_rvv_vasubu_vx_u32m4:
2444case RISCV::BI__builtin_rvv_vasubu_vx_u32m8:
2445case RISCV::BI__builtin_rvv_vasubu_vx_u32mf2:
2446case RISCV::BI__builtin_rvv_vasubu_vx_u64m1:
2447case RISCV::BI__builtin_rvv_vasubu_vx_u64m2:
2448case RISCV::BI__builtin_rvv_vasubu_vx_u64m4:
2449case RISCV::BI__builtin_rvv_vasubu_vx_u64m8:
2450 ID = Intrinsic::riscv_vasubu;
2451 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
2452 break;
2453case RISCV::BI__builtin_rvv_vasubu_vv_u8m1_m:
2454case RISCV::BI__builtin_rvv_vasubu_vv_u8m2_m:
2455case RISCV::BI__builtin_rvv_vasubu_vv_u8m4_m:
2456case RISCV::BI__builtin_rvv_vasubu_vv_u8m8_m:
2457case RISCV::BI__builtin_rvv_vasubu_vv_u8mf2_m:
2458case RISCV::BI__builtin_rvv_vasubu_vv_u8mf4_m:
2459case RISCV::BI__builtin_rvv_vasubu_vv_u8mf8_m:
2460case RISCV::BI__builtin_rvv_vasubu_vv_u16m1_m:
2461case RISCV::BI__builtin_rvv_vasubu_vv_u16m2_m:
2462case RISCV::BI__builtin_rvv_vasubu_vv_u16m4_m:
2463case RISCV::BI__builtin_rvv_vasubu_vv_u16m8_m:
2464case RISCV::BI__builtin_rvv_vasubu_vv_u16mf2_m:
2465case RISCV::BI__builtin_rvv_vasubu_vv_u16mf4_m:
2466case RISCV::BI__builtin_rvv_vasubu_vv_u32m1_m:
2467case RISCV::BI__builtin_rvv_vasubu_vv_u32m2_m:
2468case RISCV::BI__builtin_rvv_vasubu_vv_u32m4_m:
2469case RISCV::BI__builtin_rvv_vasubu_vv_u32m8_m:
2470case RISCV::BI__builtin_rvv_vasubu_vv_u32mf2_m:
2471case RISCV::BI__builtin_rvv_vasubu_vv_u64m1_m:
2472case RISCV::BI__builtin_rvv_vasubu_vv_u64m2_m:
2473case RISCV::BI__builtin_rvv_vasubu_vv_u64m4_m:
2474case RISCV::BI__builtin_rvv_vasubu_vv_u64m8_m:
2475case RISCV::BI__builtin_rvv_vasubu_vx_u8m1_m:
2476case RISCV::BI__builtin_rvv_vasubu_vx_u8m2_m:
2477case RISCV::BI__builtin_rvv_vasubu_vx_u8m4_m:
2478case RISCV::BI__builtin_rvv_vasubu_vx_u8m8_m:
2479case RISCV::BI__builtin_rvv_vasubu_vx_u8mf2_m:
2480case RISCV::BI__builtin_rvv_vasubu_vx_u8mf4_m:
2481case RISCV::BI__builtin_rvv_vasubu_vx_u8mf8_m:
2482case RISCV::BI__builtin_rvv_vasubu_vx_u16m1_m:
2483case RISCV::BI__builtin_rvv_vasubu_vx_u16m2_m:
2484case RISCV::BI__builtin_rvv_vasubu_vx_u16m4_m:
2485case RISCV::BI__builtin_rvv_vasubu_vx_u16m8_m:
2486case RISCV::BI__builtin_rvv_vasubu_vx_u16mf2_m:
2487case RISCV::BI__builtin_rvv_vasubu_vx_u16mf4_m:
2488case RISCV::BI__builtin_rvv_vasubu_vx_u32m1_m:
2489case RISCV::BI__builtin_rvv_vasubu_vx_u32m2_m:
2490case RISCV::BI__builtin_rvv_vasubu_vx_u32m4_m:
2491case RISCV::BI__builtin_rvv_vasubu_vx_u32m8_m:
2492case RISCV::BI__builtin_rvv_vasubu_vx_u32mf2_m:
2493case RISCV::BI__builtin_rvv_vasubu_vx_u64m1_m:
2494case RISCV::BI__builtin_rvv_vasubu_vx_u64m2_m:
2495case RISCV::BI__builtin_rvv_vasubu_vx_u64m4_m:
2496case RISCV::BI__builtin_rvv_vasubu_vx_u64m8_m:
2497 ID = Intrinsic::riscv_vasubu_mask;
2498 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2499 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
2500 break;
2501case RISCV::BI__builtin_rvv_vcompress_vm_i8m1:
2502case RISCV::BI__builtin_rvv_vcompress_vm_i8m2:
2503case RISCV::BI__builtin_rvv_vcompress_vm_i8m4:
2504case RISCV::BI__builtin_rvv_vcompress_vm_i8m8:
2505case RISCV::BI__builtin_rvv_vcompress_vm_i8mf2:
2506case RISCV::BI__builtin_rvv_vcompress_vm_i8mf4:
2507case RISCV::BI__builtin_rvv_vcompress_vm_i8mf8:
2508case RISCV::BI__builtin_rvv_vcompress_vm_i16m1:
2509case RISCV::BI__builtin_rvv_vcompress_vm_i16m2:
2510case RISCV::BI__builtin_rvv_vcompress_vm_i16m4:
2511case RISCV::BI__builtin_rvv_vcompress_vm_i16m8:
2512case RISCV::BI__builtin_rvv_vcompress_vm_i16mf2:
2513case RISCV::BI__builtin_rvv_vcompress_vm_i16mf4:
2514case RISCV::BI__builtin_rvv_vcompress_vm_i32m1:
2515case RISCV::BI__builtin_rvv_vcompress_vm_i32m2:
2516case RISCV::BI__builtin_rvv_vcompress_vm_i32m4:
2517case RISCV::BI__builtin_rvv_vcompress_vm_i32m8:
2518case RISCV::BI__builtin_rvv_vcompress_vm_i32mf2:
2519case RISCV::BI__builtin_rvv_vcompress_vm_i64m1:
2520case RISCV::BI__builtin_rvv_vcompress_vm_i64m2:
2521case RISCV::BI__builtin_rvv_vcompress_vm_i64m4:
2522case RISCV::BI__builtin_rvv_vcompress_vm_i64m8:
2523case RISCV::BI__builtin_rvv_vcompress_vm_f32m1:
2524case RISCV::BI__builtin_rvv_vcompress_vm_f32m2:
2525case RISCV::BI__builtin_rvv_vcompress_vm_f32m4:
2526case RISCV::BI__builtin_rvv_vcompress_vm_f32m8:
2527case RISCV::BI__builtin_rvv_vcompress_vm_f32mf2:
2528case RISCV::BI__builtin_rvv_vcompress_vm_f64m1:
2529case RISCV::BI__builtin_rvv_vcompress_vm_f64m2:
2530case RISCV::BI__builtin_rvv_vcompress_vm_f64m4:
2531case RISCV::BI__builtin_rvv_vcompress_vm_f64m8:
2532case RISCV::BI__builtin_rvv_vcompress_vm_u8m1:
2533case RISCV::BI__builtin_rvv_vcompress_vm_u8m2:
2534case RISCV::BI__builtin_rvv_vcompress_vm_u8m4:
2535case RISCV::BI__builtin_rvv_vcompress_vm_u8m8:
2536case RISCV::BI__builtin_rvv_vcompress_vm_u8mf2:
2537case RISCV::BI__builtin_rvv_vcompress_vm_u8mf4:
2538case RISCV::BI__builtin_rvv_vcompress_vm_u8mf8:
2539case RISCV::BI__builtin_rvv_vcompress_vm_u16m1:
2540case RISCV::BI__builtin_rvv_vcompress_vm_u16m2:
2541case RISCV::BI__builtin_rvv_vcompress_vm_u16m4:
2542case RISCV::BI__builtin_rvv_vcompress_vm_u16m8:
2543case RISCV::BI__builtin_rvv_vcompress_vm_u16mf2:
2544case RISCV::BI__builtin_rvv_vcompress_vm_u16mf4:
2545case RISCV::BI__builtin_rvv_vcompress_vm_u32m1:
2546case RISCV::BI__builtin_rvv_vcompress_vm_u32m2:
2547case RISCV::BI__builtin_rvv_vcompress_vm_u32m4:
2548case RISCV::BI__builtin_rvv_vcompress_vm_u32m8:
2549case RISCV::BI__builtin_rvv_vcompress_vm_u32mf2:
2550case RISCV::BI__builtin_rvv_vcompress_vm_u64m1:
2551case RISCV::BI__builtin_rvv_vcompress_vm_u64m2:
2552case RISCV::BI__builtin_rvv_vcompress_vm_u64m4:
2553case RISCV::BI__builtin_rvv_vcompress_vm_u64m8:
2554 ID = Intrinsic::riscv_vcompress;
Value stored to 'ID' is never read
2555
2556 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.begin() + 3);
2557 ID = Intrinsic::riscv_vcompress;
2558 IntrinsicTypes = {ResultType, Ops[3]->getType()};
2559 break;
2560case RISCV::BI__builtin_rvv_vdiv_vv_i8m1:
2561case RISCV::BI__builtin_rvv_vdiv_vv_i8m2:
2562case RISCV::BI__builtin_rvv_vdiv_vv_i8m4:
2563case RISCV::BI__builtin_rvv_vdiv_vv_i8m8:
2564case RISCV::BI__builtin_rvv_vdiv_vv_i8mf2:
2565case RISCV::BI__builtin_rvv_vdiv_vv_i8mf4:
2566case RISCV::BI__builtin_rvv_vdiv_vv_i8mf8:
2567case RISCV::BI__builtin_rvv_vdiv_vv_i16m1:
2568case RISCV::BI__builtin_rvv_vdiv_vv_i16m2:
2569case RISCV::BI__builtin_rvv_vdiv_vv_i16m4:
2570case RISCV::BI__builtin_rvv_vdiv_vv_i16m8:
2571case RISCV::BI__builtin_rvv_vdiv_vv_i16mf2:
2572case RISCV::BI__builtin_rvv_vdiv_vv_i16mf4:
2573case RISCV::BI__builtin_rvv_vdiv_vv_i32m1:
2574case RISCV::BI__builtin_rvv_vdiv_vv_i32m2:
2575case RISCV::BI__builtin_rvv_vdiv_vv_i32m4:
2576case RISCV::BI__builtin_rvv_vdiv_vv_i32m8:
2577case RISCV::BI__builtin_rvv_vdiv_vv_i32mf2:
2578case RISCV::BI__builtin_rvv_vdiv_vv_i64m1:
2579case RISCV::BI__builtin_rvv_vdiv_vv_i64m2:
2580case RISCV::BI__builtin_rvv_vdiv_vv_i64m4:
2581case RISCV::BI__builtin_rvv_vdiv_vv_i64m8:
2582case RISCV::BI__builtin_rvv_vdiv_vx_i8m1:
2583case RISCV::BI__builtin_rvv_vdiv_vx_i8m2:
2584case RISCV::BI__builtin_rvv_vdiv_vx_i8m4:
2585case RISCV::BI__builtin_rvv_vdiv_vx_i8m8:
2586case RISCV::BI__builtin_rvv_vdiv_vx_i8mf2:
2587case RISCV::BI__builtin_rvv_vdiv_vx_i8mf4:
2588case RISCV::BI__builtin_rvv_vdiv_vx_i8mf8:
2589case RISCV::BI__builtin_rvv_vdiv_vx_i16m1:
2590case RISCV::BI__builtin_rvv_vdiv_vx_i16m2:
2591case RISCV::BI__builtin_rvv_vdiv_vx_i16m4:
2592case RISCV::BI__builtin_rvv_vdiv_vx_i16m8:
2593case RISCV::BI__builtin_rvv_vdiv_vx_i16mf2:
2594case RISCV::BI__builtin_rvv_vdiv_vx_i16mf4:
2595case RISCV::BI__builtin_rvv_vdiv_vx_i32m1:
2596case RISCV::BI__builtin_rvv_vdiv_vx_i32m2:
2597case RISCV::BI__builtin_rvv_vdiv_vx_i32m4:
2598case RISCV::BI__builtin_rvv_vdiv_vx_i32m8:
2599case RISCV::BI__builtin_rvv_vdiv_vx_i32mf2:
2600case RISCV::BI__builtin_rvv_vdiv_vx_i64m1:
2601case RISCV::BI__builtin_rvv_vdiv_vx_i64m2:
2602case RISCV::BI__builtin_rvv_vdiv_vx_i64m4:
2603case RISCV::BI__builtin_rvv_vdiv_vx_i64m8:
2604 ID = Intrinsic::riscv_vdiv;
2605 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
2606 break;
2607case RISCV::BI__builtin_rvv_vdiv_vv_i8m1_m:
2608case RISCV::BI__builtin_rvv_vdiv_vv_i8m2_m:
2609case RISCV::BI__builtin_rvv_vdiv_vv_i8m4_m:
2610case RISCV::BI__builtin_rvv_vdiv_vv_i8m8_m:
2611case RISCV::BI__builtin_rvv_vdiv_vv_i8mf2_m:
2612case RISCV::BI__builtin_rvv_vdiv_vv_i8mf4_m:
2613case RISCV::BI__builtin_rvv_vdiv_vv_i8mf8_m:
2614case RISCV::BI__builtin_rvv_vdiv_vv_i16m1_m:
2615case RISCV::BI__builtin_rvv_vdiv_vv_i16m2_m:
2616case RISCV::BI__builtin_rvv_vdiv_vv_i16m4_m:
2617case RISCV::BI__builtin_rvv_vdiv_vv_i16m8_m:
2618case RISCV::BI__builtin_rvv_vdiv_vv_i16mf2_m:
2619case RISCV::BI__builtin_rvv_vdiv_vv_i16mf4_m:
2620case RISCV::BI__builtin_rvv_vdiv_vv_i32m1_m:
2621case RISCV::BI__builtin_rvv_vdiv_vv_i32m2_m:
2622case RISCV::BI__builtin_rvv_vdiv_vv_i32m4_m:
2623case RISCV::BI__builtin_rvv_vdiv_vv_i32m8_m:
2624case RISCV::BI__builtin_rvv_vdiv_vv_i32mf2_m:
2625case RISCV::BI__builtin_rvv_vdiv_vv_i64m1_m:
2626case RISCV::BI__builtin_rvv_vdiv_vv_i64m2_m:
2627case RISCV::BI__builtin_rvv_vdiv_vv_i64m4_m:
2628case RISCV::BI__builtin_rvv_vdiv_vv_i64m8_m:
2629case RISCV::BI__builtin_rvv_vdiv_vx_i8m1_m:
2630case RISCV::BI__builtin_rvv_vdiv_vx_i8m2_m:
2631case RISCV::BI__builtin_rvv_vdiv_vx_i8m4_m:
2632case RISCV::BI__builtin_rvv_vdiv_vx_i8m8_m:
2633case RISCV::BI__builtin_rvv_vdiv_vx_i8mf2_m:
2634case RISCV::BI__builtin_rvv_vdiv_vx_i8mf4_m:
2635case RISCV::BI__builtin_rvv_vdiv_vx_i8mf8_m:
2636case RISCV::BI__builtin_rvv_vdiv_vx_i16m1_m:
2637case RISCV::BI__builtin_rvv_vdiv_vx_i16m2_m:
2638case RISCV::BI__builtin_rvv_vdiv_vx_i16m4_m:
2639case RISCV::BI__builtin_rvv_vdiv_vx_i16m8_m:
2640case RISCV::BI__builtin_rvv_vdiv_vx_i16mf2_m:
2641case RISCV::BI__builtin_rvv_vdiv_vx_i16mf4_m:
2642case RISCV::BI__builtin_rvv_vdiv_vx_i32m1_m:
2643case RISCV::BI__builtin_rvv_vdiv_vx_i32m2_m:
2644case RISCV::BI__builtin_rvv_vdiv_vx_i32m4_m:
2645case RISCV::BI__builtin_rvv_vdiv_vx_i32m8_m:
2646case RISCV::BI__builtin_rvv_vdiv_vx_i32mf2_m:
2647case RISCV::BI__builtin_rvv_vdiv_vx_i64m1_m:
2648case RISCV::BI__builtin_rvv_vdiv_vx_i64m2_m:
2649case RISCV::BI__builtin_rvv_vdiv_vx_i64m4_m:
2650case RISCV::BI__builtin_rvv_vdiv_vx_i64m8_m:
2651 ID = Intrinsic::riscv_vdiv_mask;
2652 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2653 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
2654 break;
2655case RISCV::BI__builtin_rvv_vdivu_vv_u8m1:
2656case RISCV::BI__builtin_rvv_vdivu_vv_u8m2:
2657case RISCV::BI__builtin_rvv_vdivu_vv_u8m4:
2658case RISCV::BI__builtin_rvv_vdivu_vv_u8m8:
2659case RISCV::BI__builtin_rvv_vdivu_vv_u8mf2:
2660case RISCV::BI__builtin_rvv_vdivu_vv_u8mf4:
2661case RISCV::BI__builtin_rvv_vdivu_vv_u8mf8:
2662case RISCV::BI__builtin_rvv_vdivu_vv_u16m1:
2663case RISCV::BI__builtin_rvv_vdivu_vv_u16m2:
2664case RISCV::BI__builtin_rvv_vdivu_vv_u16m4:
2665case RISCV::BI__builtin_rvv_vdivu_vv_u16m8:
2666case RISCV::BI__builtin_rvv_vdivu_vv_u16mf2:
2667case RISCV::BI__builtin_rvv_vdivu_vv_u16mf4:
2668case RISCV::BI__builtin_rvv_vdivu_vv_u32m1:
2669case RISCV::BI__builtin_rvv_vdivu_vv_u32m2:
2670case RISCV::BI__builtin_rvv_vdivu_vv_u32m4:
2671case RISCV::BI__builtin_rvv_vdivu_vv_u32m8:
2672case RISCV::BI__builtin_rvv_vdivu_vv_u32mf2:
2673case RISCV::BI__builtin_rvv_vdivu_vv_u64m1:
2674case RISCV::BI__builtin_rvv_vdivu_vv_u64m2:
2675case RISCV::BI__builtin_rvv_vdivu_vv_u64m4:
2676case RISCV::BI__builtin_rvv_vdivu_vv_u64m8:
2677case RISCV::BI__builtin_rvv_vdivu_vx_u8m1:
2678case RISCV::BI__builtin_rvv_vdivu_vx_u8m2:
2679case RISCV::BI__builtin_rvv_vdivu_vx_u8m4:
2680case RISCV::BI__builtin_rvv_vdivu_vx_u8m8:
2681case RISCV::BI__builtin_rvv_vdivu_vx_u8mf2:
2682case RISCV::BI__builtin_rvv_vdivu_vx_u8mf4:
2683case RISCV::BI__builtin_rvv_vdivu_vx_u8mf8:
2684case RISCV::BI__builtin_rvv_vdivu_vx_u16m1:
2685case RISCV::BI__builtin_rvv_vdivu_vx_u16m2:
2686case RISCV::BI__builtin_rvv_vdivu_vx_u16m4:
2687case RISCV::BI__builtin_rvv_vdivu_vx_u16m8:
2688case RISCV::BI__builtin_rvv_vdivu_vx_u16mf2:
2689case RISCV::BI__builtin_rvv_vdivu_vx_u16mf4:
2690case RISCV::BI__builtin_rvv_vdivu_vx_u32m1:
2691case RISCV::BI__builtin_rvv_vdivu_vx_u32m2:
2692case RISCV::BI__builtin_rvv_vdivu_vx_u32m4:
2693case RISCV::BI__builtin_rvv_vdivu_vx_u32m8:
2694case RISCV::BI__builtin_rvv_vdivu_vx_u32mf2:
2695case RISCV::BI__builtin_rvv_vdivu_vx_u64m1:
2696case RISCV::BI__builtin_rvv_vdivu_vx_u64m2:
2697case RISCV::BI__builtin_rvv_vdivu_vx_u64m4:
2698case RISCV::BI__builtin_rvv_vdivu_vx_u64m8:
2699 ID = Intrinsic::riscv_vdivu;
2700 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
2701 break;
2702case RISCV::BI__builtin_rvv_vdivu_vv_u8m1_m:
2703case RISCV::BI__builtin_rvv_vdivu_vv_u8m2_m:
2704case RISCV::BI__builtin_rvv_vdivu_vv_u8m4_m:
2705case RISCV::BI__builtin_rvv_vdivu_vv_u8m8_m:
2706case RISCV::BI__builtin_rvv_vdivu_vv_u8mf2_m:
2707case RISCV::BI__builtin_rvv_vdivu_vv_u8mf4_m:
2708case RISCV::BI__builtin_rvv_vdivu_vv_u8mf8_m:
2709case RISCV::BI__builtin_rvv_vdivu_vv_u16m1_m:
2710case RISCV::BI__builtin_rvv_vdivu_vv_u16m2_m:
2711case RISCV::BI__builtin_rvv_vdivu_vv_u16m4_m:
2712case RISCV::BI__builtin_rvv_vdivu_vv_u16m8_m:
2713case RISCV::BI__builtin_rvv_vdivu_vv_u16mf2_m:
2714case RISCV::BI__builtin_rvv_vdivu_vv_u16mf4_m:
2715case RISCV::BI__builtin_rvv_vdivu_vv_u32m1_m:
2716case RISCV::BI__builtin_rvv_vdivu_vv_u32m2_m:
2717case RISCV::BI__builtin_rvv_vdivu_vv_u32m4_m:
2718case RISCV::BI__builtin_rvv_vdivu_vv_u32m8_m:
2719case RISCV::BI__builtin_rvv_vdivu_vv_u32mf2_m:
2720case RISCV::BI__builtin_rvv_vdivu_vv_u64m1_m:
2721case RISCV::BI__builtin_rvv_vdivu_vv_u64m2_m:
2722case RISCV::BI__builtin_rvv_vdivu_vv_u64m4_m:
2723case RISCV::BI__builtin_rvv_vdivu_vv_u64m8_m:
2724case RISCV::BI__builtin_rvv_vdivu_vx_u8m1_m:
2725case RISCV::BI__builtin_rvv_vdivu_vx_u8m2_m:
2726case RISCV::BI__builtin_rvv_vdivu_vx_u8m4_m:
2727case RISCV::BI__builtin_rvv_vdivu_vx_u8m8_m:
2728case RISCV::BI__builtin_rvv_vdivu_vx_u8mf2_m:
2729case RISCV::BI__builtin_rvv_vdivu_vx_u8mf4_m:
2730case RISCV::BI__builtin_rvv_vdivu_vx_u8mf8_m:
2731case RISCV::BI__builtin_rvv_vdivu_vx_u16m1_m:
2732case RISCV::BI__builtin_rvv_vdivu_vx_u16m2_m:
2733case RISCV::BI__builtin_rvv_vdivu_vx_u16m4_m:
2734case RISCV::BI__builtin_rvv_vdivu_vx_u16m8_m:
2735case RISCV::BI__builtin_rvv_vdivu_vx_u16mf2_m:
2736case RISCV::BI__builtin_rvv_vdivu_vx_u16mf4_m:
2737case RISCV::BI__builtin_rvv_vdivu_vx_u32m1_m:
2738case RISCV::BI__builtin_rvv_vdivu_vx_u32m2_m:
2739case RISCV::BI__builtin_rvv_vdivu_vx_u32m4_m:
2740case RISCV::BI__builtin_rvv_vdivu_vx_u32m8_m:
2741case RISCV::BI__builtin_rvv_vdivu_vx_u32mf2_m:
2742case RISCV::BI__builtin_rvv_vdivu_vx_u64m1_m:
2743case RISCV::BI__builtin_rvv_vdivu_vx_u64m2_m:
2744case RISCV::BI__builtin_rvv_vdivu_vx_u64m4_m:
2745case RISCV::BI__builtin_rvv_vdivu_vx_u64m8_m:
2746 ID = Intrinsic::riscv_vdivu_mask;
2747 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2748 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
2749 break;
2750case RISCV::BI__builtin_rvv_vfadd_vv_f32m1:
2751case RISCV::BI__builtin_rvv_vfadd_vv_f32m2:
2752case RISCV::BI__builtin_rvv_vfadd_vv_f32m4:
2753case RISCV::BI__builtin_rvv_vfadd_vv_f32m8:
2754case RISCV::BI__builtin_rvv_vfadd_vv_f32mf2:
2755case RISCV::BI__builtin_rvv_vfadd_vv_f64m1:
2756case RISCV::BI__builtin_rvv_vfadd_vv_f64m2:
2757case RISCV::BI__builtin_rvv_vfadd_vv_f64m4:
2758case RISCV::BI__builtin_rvv_vfadd_vv_f64m8:
2759case RISCV::BI__builtin_rvv_vfadd_vf_f32m1:
2760case RISCV::BI__builtin_rvv_vfadd_vf_f32m2:
2761case RISCV::BI__builtin_rvv_vfadd_vf_f32m4:
2762case RISCV::BI__builtin_rvv_vfadd_vf_f32m8:
2763case RISCV::BI__builtin_rvv_vfadd_vf_f32mf2:
2764case RISCV::BI__builtin_rvv_vfadd_vf_f64m1:
2765case RISCV::BI__builtin_rvv_vfadd_vf_f64m2:
2766case RISCV::BI__builtin_rvv_vfadd_vf_f64m4:
2767case RISCV::BI__builtin_rvv_vfadd_vf_f64m8:
2768 ID = Intrinsic::riscv_vfadd;
2769 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
2770 break;
2771case RISCV::BI__builtin_rvv_vfadd_vv_f32m1_m:
2772case RISCV::BI__builtin_rvv_vfadd_vv_f32m2_m:
2773case RISCV::BI__builtin_rvv_vfadd_vv_f32m4_m:
2774case RISCV::BI__builtin_rvv_vfadd_vv_f32m8_m:
2775case RISCV::BI__builtin_rvv_vfadd_vv_f32mf2_m:
2776case RISCV::BI__builtin_rvv_vfadd_vv_f64m1_m:
2777case RISCV::BI__builtin_rvv_vfadd_vv_f64m2_m:
2778case RISCV::BI__builtin_rvv_vfadd_vv_f64m4_m:
2779case RISCV::BI__builtin_rvv_vfadd_vv_f64m8_m:
2780case RISCV::BI__builtin_rvv_vfadd_vf_f32m1_m:
2781case RISCV::BI__builtin_rvv_vfadd_vf_f32m2_m:
2782case RISCV::BI__builtin_rvv_vfadd_vf_f32m4_m:
2783case RISCV::BI__builtin_rvv_vfadd_vf_f32m8_m:
2784case RISCV::BI__builtin_rvv_vfadd_vf_f32mf2_m:
2785case RISCV::BI__builtin_rvv_vfadd_vf_f64m1_m:
2786case RISCV::BI__builtin_rvv_vfadd_vf_f64m2_m:
2787case RISCV::BI__builtin_rvv_vfadd_vf_f64m4_m:
2788case RISCV::BI__builtin_rvv_vfadd_vf_f64m8_m:
2789 ID = Intrinsic::riscv_vfadd_mask;
2790 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2791 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
2792 break;
2793case RISCV::BI__builtin_rvv_vfclass_v_u32m1:
2794case RISCV::BI__builtin_rvv_vfclass_v_u32m2:
2795case RISCV::BI__builtin_rvv_vfclass_v_u32m4:
2796case RISCV::BI__builtin_rvv_vfclass_v_u32m8:
2797case RISCV::BI__builtin_rvv_vfclass_v_u32mf2:
2798case RISCV::BI__builtin_rvv_vfclass_v_u64m1:
2799case RISCV::BI__builtin_rvv_vfclass_v_u64m2:
2800case RISCV::BI__builtin_rvv_vfclass_v_u64m4:
2801case RISCV::BI__builtin_rvv_vfclass_v_u64m8:
2802 ID = Intrinsic::riscv_vfclass;
2803 IntrinsicTypes = {Ops[0]->getType(), Ops.back()->getType()};
2804 break;
2805case RISCV::BI__builtin_rvv_vfclass_v_u32m1_m:
2806case RISCV::BI__builtin_rvv_vfclass_v_u32m2_m:
2807case RISCV::BI__builtin_rvv_vfclass_v_u32m4_m:
2808case RISCV::BI__builtin_rvv_vfclass_v_u32m8_m:
2809case RISCV::BI__builtin_rvv_vfclass_v_u32mf2_m:
2810case RISCV::BI__builtin_rvv_vfclass_v_u64m1_m:
2811case RISCV::BI__builtin_rvv_vfclass_v_u64m2_m:
2812case RISCV::BI__builtin_rvv_vfclass_v_u64m4_m:
2813case RISCV::BI__builtin_rvv_vfclass_v_u64m8_m:
2814 ID = Intrinsic::riscv_vfclass_mask;
2815 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2816 IntrinsicTypes = {Ops[1]->getType(), Ops.back()->getType()};
2817 break;
2818case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f16m1:
2819case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f16m2:
2820case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f16m4:
2821case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f16m8:
2822case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f16mf2:
2823case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f16mf4:
2824case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f32m1:
2825case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f32m2:
2826case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f32m4:
2827case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f32m8:
2828case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f32mf2:
2829case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f64m1:
2830case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f64m2:
2831case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f64m4:
2832case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f64m8:
2833 ID = Intrinsic::riscv_vfcvt_f_x_v;
2834 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
2835 break;
2836case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f16m1_m:
2837case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f16m2_m:
2838case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f16m4_m:
2839case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f16m8_m:
2840case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f16mf2_m:
2841case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f16mf4_m:
2842case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f32m1_m:
2843case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f32m2_m:
2844case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f32m4_m:
2845case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f32m8_m:
2846case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f32mf2_m:
2847case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f64m1_m:
2848case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f64m2_m:
2849case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f64m4_m:
2850case RISCV::BI__builtin_rvv_vfcvt_f_x_v_f64m8_m:
2851 ID = Intrinsic::riscv_vfcvt_f_x_v_mask;
2852 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2853 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
2854 break;
2855case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f16m1:
2856case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f16m2:
2857case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f16m4:
2858case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f16m8:
2859case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f16mf2:
2860case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f16mf4:
2861case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f32m1:
2862case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f32m2:
2863case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f32m4:
2864case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f32m8:
2865case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f32mf2:
2866case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f64m1:
2867case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f64m2:
2868case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f64m4:
2869case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f64m8:
2870 ID = Intrinsic::riscv_vfcvt_f_xu_v;
2871 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
2872 break;
2873case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f16m1_m:
2874case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f16m2_m:
2875case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f16m4_m:
2876case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f16m8_m:
2877case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f16mf2_m:
2878case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f16mf4_m:
2879case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f32m1_m:
2880case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f32m2_m:
2881case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f32m4_m:
2882case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f32m8_m:
2883case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f32mf2_m:
2884case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f64m1_m:
2885case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f64m2_m:
2886case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f64m4_m:
2887case RISCV::BI__builtin_rvv_vfcvt_f_xu_v_f64m8_m:
2888 ID = Intrinsic::riscv_vfcvt_f_xu_v_mask;
2889 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2890 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
2891 break;
2892case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i32m1:
2893case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i32m2:
2894case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i32m4:
2895case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i32m8:
2896case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i32mf2:
2897case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i64m1:
2898case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i64m2:
2899case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i64m4:
2900case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i64m8:
2901 ID = Intrinsic::riscv_vfcvt_rtz_x_f_v;
2902 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
2903 break;
2904case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i32m1_m:
2905case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i32m2_m:
2906case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i32m4_m:
2907case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i32m8_m:
2908case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i32mf2_m:
2909case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i64m1_m:
2910case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i64m2_m:
2911case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i64m4_m:
2912case RISCV::BI__builtin_rvv_vfcvt_rtz_x_f_v_i64m8_m:
2913 ID = Intrinsic::riscv_vfcvt_rtz_x_f_v_mask;
2914 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2915 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
2916 break;
2917case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u32m1:
2918case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u32m2:
2919case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u32m4:
2920case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u32m8:
2921case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u32mf2:
2922case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u64m1:
2923case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u64m2:
2924case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u64m4:
2925case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u64m8:
2926 ID = Intrinsic::riscv_vfcvt_rtz_xu_f_v;
2927 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
2928 break;
2929case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u32m1_m:
2930case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u32m2_m:
2931case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u32m4_m:
2932case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u32m8_m:
2933case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u32mf2_m:
2934case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u64m1_m:
2935case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u64m2_m:
2936case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u64m4_m:
2937case RISCV::BI__builtin_rvv_vfcvt_rtz_xu_f_v_u64m8_m:
2938 ID = Intrinsic::riscv_vfcvt_rtz_xu_f_v_mask;
2939 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2940 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
2941 break;
2942case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i32m1:
2943case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i32m2:
2944case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i32m4:
2945case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i32m8:
2946case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i32mf2:
2947case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i64m1:
2948case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i64m2:
2949case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i64m4:
2950case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i64m8:
2951 ID = Intrinsic::riscv_vfcvt_x_f_v;
2952 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
2953 break;
2954case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i32m1_m:
2955case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i32m2_m:
2956case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i32m4_m:
2957case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i32m8_m:
2958case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i32mf2_m:
2959case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i64m1_m:
2960case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i64m2_m:
2961case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i64m4_m:
2962case RISCV::BI__builtin_rvv_vfcvt_x_f_v_i64m8_m:
2963 ID = Intrinsic::riscv_vfcvt_x_f_v_mask;
2964 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2965 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
2966 break;
2967case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u32m1:
2968case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u32m2:
2969case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u32m4:
2970case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u32m8:
2971case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u32mf2:
2972case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u64m1:
2973case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u64m2:
2974case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u64m4:
2975case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u64m8:
2976 ID = Intrinsic::riscv_vfcvt_xu_f_v;
2977 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
2978 break;
2979case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u32m1_m:
2980case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u32m2_m:
2981case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u32m4_m:
2982case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u32m8_m:
2983case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u32mf2_m:
2984case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u64m1_m:
2985case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u64m2_m:
2986case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u64m4_m:
2987case RISCV::BI__builtin_rvv_vfcvt_xu_f_v_u64m8_m:
2988 ID = Intrinsic::riscv_vfcvt_xu_f_v_mask;
2989 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
2990 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
2991 break;
2992case RISCV::BI__builtin_rvv_vfdiv_vv_f32m1:
2993case RISCV::BI__builtin_rvv_vfdiv_vv_f32m2:
2994case RISCV::BI__builtin_rvv_vfdiv_vv_f32m4:
2995case RISCV::BI__builtin_rvv_vfdiv_vv_f32m8:
2996case RISCV::BI__builtin_rvv_vfdiv_vv_f32mf2:
2997case RISCV::BI__builtin_rvv_vfdiv_vv_f64m1:
2998case RISCV::BI__builtin_rvv_vfdiv_vv_f64m2:
2999case RISCV::BI__builtin_rvv_vfdiv_vv_f64m4:
3000case RISCV::BI__builtin_rvv_vfdiv_vv_f64m8:
3001case RISCV::BI__builtin_rvv_vfdiv_vf_f32m1:
3002case RISCV::BI__builtin_rvv_vfdiv_vf_f32m2:
3003case RISCV::BI__builtin_rvv_vfdiv_vf_f32m4:
3004case RISCV::BI__builtin_rvv_vfdiv_vf_f32m8:
3005case RISCV::BI__builtin_rvv_vfdiv_vf_f32mf2:
3006case RISCV::BI__builtin_rvv_vfdiv_vf_f64m1:
3007case RISCV::BI__builtin_rvv_vfdiv_vf_f64m2:
3008case RISCV::BI__builtin_rvv_vfdiv_vf_f64m4:
3009case RISCV::BI__builtin_rvv_vfdiv_vf_f64m8:
3010 ID = Intrinsic::riscv_vfdiv;
3011 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3012 break;
3013case RISCV::BI__builtin_rvv_vfdiv_vv_f32m1_m:
3014case RISCV::BI__builtin_rvv_vfdiv_vv_f32m2_m:
3015case RISCV::BI__builtin_rvv_vfdiv_vv_f32m4_m:
3016case RISCV::BI__builtin_rvv_vfdiv_vv_f32m8_m:
3017case RISCV::BI__builtin_rvv_vfdiv_vv_f32mf2_m:
3018case RISCV::BI__builtin_rvv_vfdiv_vv_f64m1_m:
3019case RISCV::BI__builtin_rvv_vfdiv_vv_f64m2_m:
3020case RISCV::BI__builtin_rvv_vfdiv_vv_f64m4_m:
3021case RISCV::BI__builtin_rvv_vfdiv_vv_f64m8_m:
3022case RISCV::BI__builtin_rvv_vfdiv_vf_f32m1_m:
3023case RISCV::BI__builtin_rvv_vfdiv_vf_f32m2_m:
3024case RISCV::BI__builtin_rvv_vfdiv_vf_f32m4_m:
3025case RISCV::BI__builtin_rvv_vfdiv_vf_f32m8_m:
3026case RISCV::BI__builtin_rvv_vfdiv_vf_f32mf2_m:
3027case RISCV::BI__builtin_rvv_vfdiv_vf_f64m1_m:
3028case RISCV::BI__builtin_rvv_vfdiv_vf_f64m2_m:
3029case RISCV::BI__builtin_rvv_vfdiv_vf_f64m4_m:
3030case RISCV::BI__builtin_rvv_vfdiv_vf_f64m8_m:
3031 ID = Intrinsic::riscv_vfdiv_mask;
3032 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3033 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
3034 break;
3035case RISCV::BI__builtin_rvv_vfirst_m_b8:
3036case RISCV::BI__builtin_rvv_vfirst_m_b4:
3037case RISCV::BI__builtin_rvv_vfirst_m_b2:
3038case RISCV::BI__builtin_rvv_vfirst_m_b1:
3039case RISCV::BI__builtin_rvv_vfirst_m_b16:
3040case RISCV::BI__builtin_rvv_vfirst_m_b32:
3041case RISCV::BI__builtin_rvv_vfirst_m_b64:
3042 ID = Intrinsic::riscv_vfirst;
3043 IntrinsicTypes = {Ops[0]->getType(), Ops.back()->getType()};
3044 break;
3045case RISCV::BI__builtin_rvv_vfirst_m_b8_m:
3046case RISCV::BI__builtin_rvv_vfirst_m_b4_m:
3047case RISCV::BI__builtin_rvv_vfirst_m_b2_m:
3048case RISCV::BI__builtin_rvv_vfirst_m_b1_m:
3049case RISCV::BI__builtin_rvv_vfirst_m_b16_m:
3050case RISCV::BI__builtin_rvv_vfirst_m_b32_m:
3051case RISCV::BI__builtin_rvv_vfirst_m_b64_m:
3052 ID = Intrinsic::riscv_vfirst_mask;
3053 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3054 IntrinsicTypes = {Ops[0]->getType(), Ops.back()->getType()};
3055 break;
3056case RISCV::BI__builtin_rvv_vfmacc_vv_f32m1:
3057case RISCV::BI__builtin_rvv_vfmacc_vv_f32m2:
3058case RISCV::BI__builtin_rvv_vfmacc_vv_f32m4:
3059case RISCV::BI__builtin_rvv_vfmacc_vv_f32m8:
3060case RISCV::BI__builtin_rvv_vfmacc_vv_f32mf2:
3061case RISCV::BI__builtin_rvv_vfmacc_vv_f64m1:
3062case RISCV::BI__builtin_rvv_vfmacc_vv_f64m2:
3063case RISCV::BI__builtin_rvv_vfmacc_vv_f64m4:
3064case RISCV::BI__builtin_rvv_vfmacc_vv_f64m8:
3065case RISCV::BI__builtin_rvv_vfmacc_vf_f32m1:
3066case RISCV::BI__builtin_rvv_vfmacc_vf_f32m2:
3067case RISCV::BI__builtin_rvv_vfmacc_vf_f32m4:
3068case RISCV::BI__builtin_rvv_vfmacc_vf_f32m8:
3069case RISCV::BI__builtin_rvv_vfmacc_vf_f32mf2:
3070case RISCV::BI__builtin_rvv_vfmacc_vf_f64m1:
3071case RISCV::BI__builtin_rvv_vfmacc_vf_f64m2:
3072case RISCV::BI__builtin_rvv_vfmacc_vf_f64m4:
3073case RISCV::BI__builtin_rvv_vfmacc_vf_f64m8:
3074 ID = Intrinsic::riscv_vfmacc;
3075 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3076 break;
3077case RISCV::BI__builtin_rvv_vfmacc_vv_f32m1_m:
3078case RISCV::BI__builtin_rvv_vfmacc_vv_f32m2_m:
3079case RISCV::BI__builtin_rvv_vfmacc_vv_f32m4_m:
3080case RISCV::BI__builtin_rvv_vfmacc_vv_f32m8_m:
3081case RISCV::BI__builtin_rvv_vfmacc_vv_f32mf2_m:
3082case RISCV::BI__builtin_rvv_vfmacc_vv_f64m1_m:
3083case RISCV::BI__builtin_rvv_vfmacc_vv_f64m2_m:
3084case RISCV::BI__builtin_rvv_vfmacc_vv_f64m4_m:
3085case RISCV::BI__builtin_rvv_vfmacc_vv_f64m8_m:
3086case RISCV::BI__builtin_rvv_vfmacc_vf_f32m1_m:
3087case RISCV::BI__builtin_rvv_vfmacc_vf_f32m2_m:
3088case RISCV::BI__builtin_rvv_vfmacc_vf_f32m4_m:
3089case RISCV::BI__builtin_rvv_vfmacc_vf_f32m8_m:
3090case RISCV::BI__builtin_rvv_vfmacc_vf_f32mf2_m:
3091case RISCV::BI__builtin_rvv_vfmacc_vf_f64m1_m:
3092case RISCV::BI__builtin_rvv_vfmacc_vf_f64m2_m:
3093case RISCV::BI__builtin_rvv_vfmacc_vf_f64m4_m:
3094case RISCV::BI__builtin_rvv_vfmacc_vf_f64m8_m:
3095 ID = Intrinsic::riscv_vfmacc_mask;
3096 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3097 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3098 break;
3099case RISCV::BI__builtin_rvv_vfmadd_vv_f32m1:
3100case RISCV::BI__builtin_rvv_vfmadd_vv_f32m2:
3101case RISCV::BI__builtin_rvv_vfmadd_vv_f32m4:
3102case RISCV::BI__builtin_rvv_vfmadd_vv_f32m8:
3103case RISCV::BI__builtin_rvv_vfmadd_vv_f32mf2:
3104case RISCV::BI__builtin_rvv_vfmadd_vv_f64m1:
3105case RISCV::BI__builtin_rvv_vfmadd_vv_f64m2:
3106case RISCV::BI__builtin_rvv_vfmadd_vv_f64m4:
3107case RISCV::BI__builtin_rvv_vfmadd_vv_f64m8:
3108case RISCV::BI__builtin_rvv_vfmadd_vf_f32m1:
3109case RISCV::BI__builtin_rvv_vfmadd_vf_f32m2:
3110case RISCV::BI__builtin_rvv_vfmadd_vf_f32m4:
3111case RISCV::BI__builtin_rvv_vfmadd_vf_f32m8:
3112case RISCV::BI__builtin_rvv_vfmadd_vf_f32mf2:
3113case RISCV::BI__builtin_rvv_vfmadd_vf_f64m1:
3114case RISCV::BI__builtin_rvv_vfmadd_vf_f64m2:
3115case RISCV::BI__builtin_rvv_vfmadd_vf_f64m4:
3116case RISCV::BI__builtin_rvv_vfmadd_vf_f64m8:
3117 ID = Intrinsic::riscv_vfmadd;
3118 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3119 break;
3120case RISCV::BI__builtin_rvv_vfmadd_vv_f32m1_m:
3121case RISCV::BI__builtin_rvv_vfmadd_vv_f32m2_m:
3122case RISCV::BI__builtin_rvv_vfmadd_vv_f32m4_m:
3123case RISCV::BI__builtin_rvv_vfmadd_vv_f32m8_m:
3124case RISCV::BI__builtin_rvv_vfmadd_vv_f32mf2_m:
3125case RISCV::BI__builtin_rvv_vfmadd_vv_f64m1_m:
3126case RISCV::BI__builtin_rvv_vfmadd_vv_f64m2_m:
3127case RISCV::BI__builtin_rvv_vfmadd_vv_f64m4_m:
3128case RISCV::BI__builtin_rvv_vfmadd_vv_f64m8_m:
3129case RISCV::BI__builtin_rvv_vfmadd_vf_f32m1_m:
3130case RISCV::BI__builtin_rvv_vfmadd_vf_f32m2_m:
3131case RISCV::BI__builtin_rvv_vfmadd_vf_f32m4_m:
3132case RISCV::BI__builtin_rvv_vfmadd_vf_f32m8_m:
3133case RISCV::BI__builtin_rvv_vfmadd_vf_f32mf2_m:
3134case RISCV::BI__builtin_rvv_vfmadd_vf_f64m1_m:
3135case RISCV::BI__builtin_rvv_vfmadd_vf_f64m2_m:
3136case RISCV::BI__builtin_rvv_vfmadd_vf_f64m4_m:
3137case RISCV::BI__builtin_rvv_vfmadd_vf_f64m8_m:
3138 ID = Intrinsic::riscv_vfmadd_mask;
3139 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3140 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3141 break;
3142case RISCV::BI__builtin_rvv_vfmax_vv_f32m1:
3143case RISCV::BI__builtin_rvv_vfmax_vv_f32m2:
3144case RISCV::BI__builtin_rvv_vfmax_vv_f32m4:
3145case RISCV::BI__builtin_rvv_vfmax_vv_f32m8:
3146case RISCV::BI__builtin_rvv_vfmax_vv_f32mf2:
3147case RISCV::BI__builtin_rvv_vfmax_vv_f64m1:
3148case RISCV::BI__builtin_rvv_vfmax_vv_f64m2:
3149case RISCV::BI__builtin_rvv_vfmax_vv_f64m4:
3150case RISCV::BI__builtin_rvv_vfmax_vv_f64m8:
3151case RISCV::BI__builtin_rvv_vfmax_vf_f32m1:
3152case RISCV::BI__builtin_rvv_vfmax_vf_f32m2:
3153case RISCV::BI__builtin_rvv_vfmax_vf_f32m4:
3154case RISCV::BI__builtin_rvv_vfmax_vf_f32m8:
3155case RISCV::BI__builtin_rvv_vfmax_vf_f32mf2:
3156case RISCV::BI__builtin_rvv_vfmax_vf_f64m1:
3157case RISCV::BI__builtin_rvv_vfmax_vf_f64m2:
3158case RISCV::BI__builtin_rvv_vfmax_vf_f64m4:
3159case RISCV::BI__builtin_rvv_vfmax_vf_f64m8:
3160 ID = Intrinsic::riscv_vfmax;
3161 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3162 break;
3163case RISCV::BI__builtin_rvv_vfmax_vv_f32m1_m:
3164case RISCV::BI__builtin_rvv_vfmax_vv_f32m2_m:
3165case RISCV::BI__builtin_rvv_vfmax_vv_f32m4_m:
3166case RISCV::BI__builtin_rvv_vfmax_vv_f32m8_m:
3167case RISCV::BI__builtin_rvv_vfmax_vv_f32mf2_m:
3168case RISCV::BI__builtin_rvv_vfmax_vv_f64m1_m:
3169case RISCV::BI__builtin_rvv_vfmax_vv_f64m2_m:
3170case RISCV::BI__builtin_rvv_vfmax_vv_f64m4_m:
3171case RISCV::BI__builtin_rvv_vfmax_vv_f64m8_m:
3172case RISCV::BI__builtin_rvv_vfmax_vf_f32m1_m:
3173case RISCV::BI__builtin_rvv_vfmax_vf_f32m2_m:
3174case RISCV::BI__builtin_rvv_vfmax_vf_f32m4_m:
3175case RISCV::BI__builtin_rvv_vfmax_vf_f32m8_m:
3176case RISCV::BI__builtin_rvv_vfmax_vf_f32mf2_m:
3177case RISCV::BI__builtin_rvv_vfmax_vf_f64m1_m:
3178case RISCV::BI__builtin_rvv_vfmax_vf_f64m2_m:
3179case RISCV::BI__builtin_rvv_vfmax_vf_f64m4_m:
3180case RISCV::BI__builtin_rvv_vfmax_vf_f64m8_m:
3181 ID = Intrinsic::riscv_vfmax_mask;
3182 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3183 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
3184 break;
3185case RISCV::BI__builtin_rvv_vmerge_vvm_f32m1:
3186case RISCV::BI__builtin_rvv_vmerge_vvm_f32m2:
3187case RISCV::BI__builtin_rvv_vmerge_vvm_f32m4:
3188case RISCV::BI__builtin_rvv_vmerge_vvm_f32m8:
3189case RISCV::BI__builtin_rvv_vmerge_vvm_f32mf2:
3190case RISCV::BI__builtin_rvv_vmerge_vvm_f64m1:
3191case RISCV::BI__builtin_rvv_vmerge_vvm_f64m2:
3192case RISCV::BI__builtin_rvv_vmerge_vvm_f64m4:
3193case RISCV::BI__builtin_rvv_vmerge_vvm_f64m8:
3194case RISCV::BI__builtin_rvv_vfmerge_vfm_f32m1:
3195case RISCV::BI__builtin_rvv_vfmerge_vfm_f32m2:
3196case RISCV::BI__builtin_rvv_vfmerge_vfm_f32m4:
3197case RISCV::BI__builtin_rvv_vfmerge_vfm_f32m8:
3198case RISCV::BI__builtin_rvv_vfmerge_vfm_f32mf2:
3199case RISCV::BI__builtin_rvv_vfmerge_vfm_f64m1:
3200case RISCV::BI__builtin_rvv_vfmerge_vfm_f64m2:
3201case RISCV::BI__builtin_rvv_vfmerge_vfm_f64m4:
3202case RISCV::BI__builtin_rvv_vfmerge_vfm_f64m8:
3203 ID = Intrinsic::riscv_vfmerge;
3204
3205 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.begin() + 3);
3206 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[3]->getType()};
3207 break;
3208case RISCV::BI__builtin_rvv_vfmin_vv_f32m1:
3209case RISCV::BI__builtin_rvv_vfmin_vv_f32m2:
3210case RISCV::BI__builtin_rvv_vfmin_vv_f32m4:
3211case RISCV::BI__builtin_rvv_vfmin_vv_f32m8:
3212case RISCV::BI__builtin_rvv_vfmin_vv_f32mf2:
3213case RISCV::BI__builtin_rvv_vfmin_vv_f64m1:
3214case RISCV::BI__builtin_rvv_vfmin_vv_f64m2:
3215case RISCV::BI__builtin_rvv_vfmin_vv_f64m4:
3216case RISCV::BI__builtin_rvv_vfmin_vv_f64m8:
3217case RISCV::BI__builtin_rvv_vfmin_vf_f32m1:
3218case RISCV::BI__builtin_rvv_vfmin_vf_f32m2:
3219case RISCV::BI__builtin_rvv_vfmin_vf_f32m4:
3220case RISCV::BI__builtin_rvv_vfmin_vf_f32m8:
3221case RISCV::BI__builtin_rvv_vfmin_vf_f32mf2:
3222case RISCV::BI__builtin_rvv_vfmin_vf_f64m1:
3223case RISCV::BI__builtin_rvv_vfmin_vf_f64m2:
3224case RISCV::BI__builtin_rvv_vfmin_vf_f64m4:
3225case RISCV::BI__builtin_rvv_vfmin_vf_f64m8:
3226 ID = Intrinsic::riscv_vfmin;
3227 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3228 break;
3229case RISCV::BI__builtin_rvv_vfmin_vv_f32m1_m:
3230case RISCV::BI__builtin_rvv_vfmin_vv_f32m2_m:
3231case RISCV::BI__builtin_rvv_vfmin_vv_f32m4_m:
3232case RISCV::BI__builtin_rvv_vfmin_vv_f32m8_m:
3233case RISCV::BI__builtin_rvv_vfmin_vv_f32mf2_m:
3234case RISCV::BI__builtin_rvv_vfmin_vv_f64m1_m:
3235case RISCV::BI__builtin_rvv_vfmin_vv_f64m2_m:
3236case RISCV::BI__builtin_rvv_vfmin_vv_f64m4_m:
3237case RISCV::BI__builtin_rvv_vfmin_vv_f64m8_m:
3238case RISCV::BI__builtin_rvv_vfmin_vf_f32m1_m:
3239case RISCV::BI__builtin_rvv_vfmin_vf_f32m2_m:
3240case RISCV::BI__builtin_rvv_vfmin_vf_f32m4_m:
3241case RISCV::BI__builtin_rvv_vfmin_vf_f32m8_m:
3242case RISCV::BI__builtin_rvv_vfmin_vf_f32mf2_m:
3243case RISCV::BI__builtin_rvv_vfmin_vf_f64m1_m:
3244case RISCV::BI__builtin_rvv_vfmin_vf_f64m2_m:
3245case RISCV::BI__builtin_rvv_vfmin_vf_f64m4_m:
3246case RISCV::BI__builtin_rvv_vfmin_vf_f64m8_m:
3247 ID = Intrinsic::riscv_vfmin_mask;
3248 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3249 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
3250 break;
3251case RISCV::BI__builtin_rvv_vfmsac_vv_f32m1:
3252case RISCV::BI__builtin_rvv_vfmsac_vv_f32m2:
3253case RISCV::BI__builtin_rvv_vfmsac_vv_f32m4:
3254case RISCV::BI__builtin_rvv_vfmsac_vv_f32m8:
3255case RISCV::BI__builtin_rvv_vfmsac_vv_f32mf2:
3256case RISCV::BI__builtin_rvv_vfmsac_vv_f64m1:
3257case RISCV::BI__builtin_rvv_vfmsac_vv_f64m2:
3258case RISCV::BI__builtin_rvv_vfmsac_vv_f64m4:
3259case RISCV::BI__builtin_rvv_vfmsac_vv_f64m8:
3260case RISCV::BI__builtin_rvv_vfmsac_vf_f32m1:
3261case RISCV::BI__builtin_rvv_vfmsac_vf_f32m2:
3262case RISCV::BI__builtin_rvv_vfmsac_vf_f32m4:
3263case RISCV::BI__builtin_rvv_vfmsac_vf_f32m8:
3264case RISCV::BI__builtin_rvv_vfmsac_vf_f32mf2:
3265case RISCV::BI__builtin_rvv_vfmsac_vf_f64m1:
3266case RISCV::BI__builtin_rvv_vfmsac_vf_f64m2:
3267case RISCV::BI__builtin_rvv_vfmsac_vf_f64m4:
3268case RISCV::BI__builtin_rvv_vfmsac_vf_f64m8:
3269 ID = Intrinsic::riscv_vfmsac;
3270 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3271 break;
3272case RISCV::BI__builtin_rvv_vfmsac_vv_f32m1_m:
3273case RISCV::BI__builtin_rvv_vfmsac_vv_f32m2_m:
3274case RISCV::BI__builtin_rvv_vfmsac_vv_f32m4_m:
3275case RISCV::BI__builtin_rvv_vfmsac_vv_f32m8_m:
3276case RISCV::BI__builtin_rvv_vfmsac_vv_f32mf2_m:
3277case RISCV::BI__builtin_rvv_vfmsac_vv_f64m1_m:
3278case RISCV::BI__builtin_rvv_vfmsac_vv_f64m2_m:
3279case RISCV::BI__builtin_rvv_vfmsac_vv_f64m4_m:
3280case RISCV::BI__builtin_rvv_vfmsac_vv_f64m8_m:
3281case RISCV::BI__builtin_rvv_vfmsac_vf_f32m1_m:
3282case RISCV::BI__builtin_rvv_vfmsac_vf_f32m2_m:
3283case RISCV::BI__builtin_rvv_vfmsac_vf_f32m4_m:
3284case RISCV::BI__builtin_rvv_vfmsac_vf_f32m8_m:
3285case RISCV::BI__builtin_rvv_vfmsac_vf_f32mf2_m:
3286case RISCV::BI__builtin_rvv_vfmsac_vf_f64m1_m:
3287case RISCV::BI__builtin_rvv_vfmsac_vf_f64m2_m:
3288case RISCV::BI__builtin_rvv_vfmsac_vf_f64m4_m:
3289case RISCV::BI__builtin_rvv_vfmsac_vf_f64m8_m:
3290 ID = Intrinsic::riscv_vfmsac_mask;
3291 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3292 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3293 break;
3294case RISCV::BI__builtin_rvv_vfmsub_vv_f32m1:
3295case RISCV::BI__builtin_rvv_vfmsub_vv_f32m2:
3296case RISCV::BI__builtin_rvv_vfmsub_vv_f32m4:
3297case RISCV::BI__builtin_rvv_vfmsub_vv_f32m8:
3298case RISCV::BI__builtin_rvv_vfmsub_vv_f32mf2:
3299case RISCV::BI__builtin_rvv_vfmsub_vv_f64m1:
3300case RISCV::BI__builtin_rvv_vfmsub_vv_f64m2:
3301case RISCV::BI__builtin_rvv_vfmsub_vv_f64m4:
3302case RISCV::BI__builtin_rvv_vfmsub_vv_f64m8:
3303case RISCV::BI__builtin_rvv_vfmsub_vf_f32m1:
3304case RISCV::BI__builtin_rvv_vfmsub_vf_f32m2:
3305case RISCV::BI__builtin_rvv_vfmsub_vf_f32m4:
3306case RISCV::BI__builtin_rvv_vfmsub_vf_f32m8:
3307case RISCV::BI__builtin_rvv_vfmsub_vf_f32mf2:
3308case RISCV::BI__builtin_rvv_vfmsub_vf_f64m1:
3309case RISCV::BI__builtin_rvv_vfmsub_vf_f64m2:
3310case RISCV::BI__builtin_rvv_vfmsub_vf_f64m4:
3311case RISCV::BI__builtin_rvv_vfmsub_vf_f64m8:
3312 ID = Intrinsic::riscv_vfmsub;
3313 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3314 break;
3315case RISCV::BI__builtin_rvv_vfmsub_vv_f32m1_m:
3316case RISCV::BI__builtin_rvv_vfmsub_vv_f32m2_m:
3317case RISCV::BI__builtin_rvv_vfmsub_vv_f32m4_m:
3318case RISCV::BI__builtin_rvv_vfmsub_vv_f32m8_m:
3319case RISCV::BI__builtin_rvv_vfmsub_vv_f32mf2_m:
3320case RISCV::BI__builtin_rvv_vfmsub_vv_f64m1_m:
3321case RISCV::BI__builtin_rvv_vfmsub_vv_f64m2_m:
3322case RISCV::BI__builtin_rvv_vfmsub_vv_f64m4_m:
3323case RISCV::BI__builtin_rvv_vfmsub_vv_f64m8_m:
3324case RISCV::BI__builtin_rvv_vfmsub_vf_f32m1_m:
3325case RISCV::BI__builtin_rvv_vfmsub_vf_f32m2_m:
3326case RISCV::BI__builtin_rvv_vfmsub_vf_f32m4_m:
3327case RISCV::BI__builtin_rvv_vfmsub_vf_f32m8_m:
3328case RISCV::BI__builtin_rvv_vfmsub_vf_f32mf2_m:
3329case RISCV::BI__builtin_rvv_vfmsub_vf_f64m1_m:
3330case RISCV::BI__builtin_rvv_vfmsub_vf_f64m2_m:
3331case RISCV::BI__builtin_rvv_vfmsub_vf_f64m4_m:
3332case RISCV::BI__builtin_rvv_vfmsub_vf_f64m8_m:
3333 ID = Intrinsic::riscv_vfmsub_mask;
3334 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3335 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3336 break;
3337case RISCV::BI__builtin_rvv_vfmul_vv_f32m1:
3338case RISCV::BI__builtin_rvv_vfmul_vv_f32m2:
3339case RISCV::BI__builtin_rvv_vfmul_vv_f32m4:
3340case RISCV::BI__builtin_rvv_vfmul_vv_f32m8:
3341case RISCV::BI__builtin_rvv_vfmul_vv_f32mf2:
3342case RISCV::BI__builtin_rvv_vfmul_vv_f64m1:
3343case RISCV::BI__builtin_rvv_vfmul_vv_f64m2:
3344case RISCV::BI__builtin_rvv_vfmul_vv_f64m4:
3345case RISCV::BI__builtin_rvv_vfmul_vv_f64m8:
3346case RISCV::BI__builtin_rvv_vfmul_vf_f32m1:
3347case RISCV::BI__builtin_rvv_vfmul_vf_f32m2:
3348case RISCV::BI__builtin_rvv_vfmul_vf_f32m4:
3349case RISCV::BI__builtin_rvv_vfmul_vf_f32m8:
3350case RISCV::BI__builtin_rvv_vfmul_vf_f32mf2:
3351case RISCV::BI__builtin_rvv_vfmul_vf_f64m1:
3352case RISCV::BI__builtin_rvv_vfmul_vf_f64m2:
3353case RISCV::BI__builtin_rvv_vfmul_vf_f64m4:
3354case RISCV::BI__builtin_rvv_vfmul_vf_f64m8:
3355 ID = Intrinsic::riscv_vfmul;
3356 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3357 break;
3358case RISCV::BI__builtin_rvv_vfmul_vv_f32m1_m:
3359case RISCV::BI__builtin_rvv_vfmul_vv_f32m2_m:
3360case RISCV::BI__builtin_rvv_vfmul_vv_f32m4_m:
3361case RISCV::BI__builtin_rvv_vfmul_vv_f32m8_m:
3362case RISCV::BI__builtin_rvv_vfmul_vv_f32mf2_m:
3363case RISCV::BI__builtin_rvv_vfmul_vv_f64m1_m:
3364case RISCV::BI__builtin_rvv_vfmul_vv_f64m2_m:
3365case RISCV::BI__builtin_rvv_vfmul_vv_f64m4_m:
3366case RISCV::BI__builtin_rvv_vfmul_vv_f64m8_m:
3367case RISCV::BI__builtin_rvv_vfmul_vf_f32m1_m:
3368case RISCV::BI__builtin_rvv_vfmul_vf_f32m2_m:
3369case RISCV::BI__builtin_rvv_vfmul_vf_f32m4_m:
3370case RISCV::BI__builtin_rvv_vfmul_vf_f32m8_m:
3371case RISCV::BI__builtin_rvv_vfmul_vf_f32mf2_m:
3372case RISCV::BI__builtin_rvv_vfmul_vf_f64m1_m:
3373case RISCV::BI__builtin_rvv_vfmul_vf_f64m2_m:
3374case RISCV::BI__builtin_rvv_vfmul_vf_f64m4_m:
3375case RISCV::BI__builtin_rvv_vfmul_vf_f64m8_m:
3376 ID = Intrinsic::riscv_vfmul_mask;
3377 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3378 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
3379 break;
3380case RISCV::BI__builtin_rvv_vfmv_f_s_f32m1_f32:
3381case RISCV::BI__builtin_rvv_vfmv_f_s_f32m2_f32:
3382case RISCV::BI__builtin_rvv_vfmv_f_s_f32m4_f32:
3383case RISCV::BI__builtin_rvv_vfmv_f_s_f32m8_f32:
3384case RISCV::BI__builtin_rvv_vfmv_f_s_f32mf2_f32:
3385case RISCV::BI__builtin_rvv_vfmv_f_s_f64m1_f64:
3386case RISCV::BI__builtin_rvv_vfmv_f_s_f64m2_f64:
3387case RISCV::BI__builtin_rvv_vfmv_f_s_f64m4_f64:
3388case RISCV::BI__builtin_rvv_vfmv_f_s_f64m8_f64:
3389 ID = Intrinsic::riscv_vfmv_f_s;
3390 IntrinsicTypes = {Ops[0]->getType()};
3391 break;
3392case RISCV::BI__builtin_rvv_vfmv_s_f_f32m1:
3393case RISCV::BI__builtin_rvv_vfmv_s_f_f32m2:
3394case RISCV::BI__builtin_rvv_vfmv_s_f_f32m4:
3395case RISCV::BI__builtin_rvv_vfmv_s_f_f32m8:
3396case RISCV::BI__builtin_rvv_vfmv_s_f_f32mf2:
3397case RISCV::BI__builtin_rvv_vfmv_s_f_f64m1:
3398case RISCV::BI__builtin_rvv_vfmv_s_f_f64m2:
3399case RISCV::BI__builtin_rvv_vfmv_s_f_f64m4:
3400case RISCV::BI__builtin_rvv_vfmv_s_f_f64m8:
3401case RISCV::BI__builtin_rvv_vfmv_s_x_u32m1:
3402case RISCV::BI__builtin_rvv_vfmv_s_x_u32m2:
3403case RISCV::BI__builtin_rvv_vfmv_s_x_u32m4:
3404case RISCV::BI__builtin_rvv_vfmv_s_x_u32m8:
3405case RISCV::BI__builtin_rvv_vfmv_s_x_u32mf2:
3406case RISCV::BI__builtin_rvv_vfmv_s_x_u64m1:
3407case RISCV::BI__builtin_rvv_vfmv_s_x_u64m2:
3408case RISCV::BI__builtin_rvv_vfmv_s_x_u64m4:
3409case RISCV::BI__builtin_rvv_vfmv_s_x_u64m8:
3410 ID = Intrinsic::riscv_vfmv_s_f;
3411 IntrinsicTypes = {ResultType, Ops.back()->getType()};
3412 break;
3413case RISCV::BI__builtin_rvv_vfmv_v_f_f32m1:
3414case RISCV::BI__builtin_rvv_vfmv_v_f_f32m2:
3415case RISCV::BI__builtin_rvv_vfmv_v_f_f32m4:
3416case RISCV::BI__builtin_rvv_vfmv_v_f_f32m8:
3417case RISCV::BI__builtin_rvv_vfmv_v_f_f32mf2:
3418case RISCV::BI__builtin_rvv_vfmv_v_f_f64m1:
3419case RISCV::BI__builtin_rvv_vfmv_v_f_f64m2:
3420case RISCV::BI__builtin_rvv_vfmv_v_f_f64m4:
3421case RISCV::BI__builtin_rvv_vfmv_v_f_f64m8:
3422 ID = Intrinsic::riscv_vfmv_v_f;
3423 IntrinsicTypes = {ResultType, Ops.back()->getType()};
3424 break;
3425case RISCV::BI__builtin_rvv_vfncvt_f_f_w_f32mf2:
3426case RISCV::BI__builtin_rvv_vfncvt_f_f_w_f32m1:
3427case RISCV::BI__builtin_rvv_vfncvt_f_f_w_f32m2:
3428case RISCV::BI__builtin_rvv_vfncvt_f_f_w_f32m4:
3429 ID = Intrinsic::riscv_vfncvt_f_f_w;
3430 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
3431 break;
3432case RISCV::BI__builtin_rvv_vfncvt_f_f_w_f32mf2_m:
3433case RISCV::BI__builtin_rvv_vfncvt_f_f_w_f32m1_m:
3434case RISCV::BI__builtin_rvv_vfncvt_f_f_w_f32m2_m:
3435case RISCV::BI__builtin_rvv_vfncvt_f_f_w_f32m4_m:
3436 ID = Intrinsic::riscv_vfncvt_f_f_w_mask;
3437 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3438 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3439 break;
3440case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f16mf4:
3441case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f16mf2:
3442case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f16m1:
3443case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f16m2:
3444case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f16m4:
3445case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f32mf2:
3446case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f32m1:
3447case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f32m2:
3448case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f32m4:
3449 ID = Intrinsic::riscv_vfncvt_f_x_w;
3450 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
3451 break;
3452case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f16mf4_m:
3453case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f16mf2_m:
3454case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f16m1_m:
3455case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f16m2_m:
3456case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f16m4_m:
3457case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f32mf2_m:
3458case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f32m1_m:
3459case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f32m2_m:
3460case RISCV::BI__builtin_rvv_vfncvt_f_x_w_f32m4_m:
3461 ID = Intrinsic::riscv_vfncvt_f_x_w_mask;
3462 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3463 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3464 break;
3465case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f16mf4:
3466case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f16mf2:
3467case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f16m1:
3468case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f16m2:
3469case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f16m4:
3470case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f32mf2:
3471case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f32m1:
3472case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f32m2:
3473case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f32m4:
3474 ID = Intrinsic::riscv_vfncvt_f_xu_w;
3475 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
3476 break;
3477case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f16mf4_m:
3478case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f16mf2_m:
3479case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f16m1_m:
3480case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f16m2_m:
3481case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f16m4_m:
3482case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f32mf2_m:
3483case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f32m1_m:
3484case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f32m2_m:
3485case RISCV::BI__builtin_rvv_vfncvt_f_xu_w_f32m4_m:
3486 ID = Intrinsic::riscv_vfncvt_f_xu_w_mask;
3487 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3488 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3489 break;
3490case RISCV::BI__builtin_rvv_vfncvt_rod_f_f_w_f32mf2:
3491case RISCV::BI__builtin_rvv_vfncvt_rod_f_f_w_f32m1:
3492case RISCV::BI__builtin_rvv_vfncvt_rod_f_f_w_f32m2:
3493case RISCV::BI__builtin_rvv_vfncvt_rod_f_f_w_f32m4:
3494 ID = Intrinsic::riscv_vfncvt_rod_f_f_w;
3495 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
3496 break;
3497case RISCV::BI__builtin_rvv_vfncvt_rod_f_f_w_f32mf2_m:
3498case RISCV::BI__builtin_rvv_vfncvt_rod_f_f_w_f32m1_m:
3499case RISCV::BI__builtin_rvv_vfncvt_rod_f_f_w_f32m2_m:
3500case RISCV::BI__builtin_rvv_vfncvt_rod_f_f_w_f32m4_m:
3501 ID = Intrinsic::riscv_vfncvt_rod_f_f_w_mask;
3502 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3503 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3504 break;
3505case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i16mf4:
3506case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i16mf2:
3507case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i16m1:
3508case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i16m2:
3509case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i16m4:
3510case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i32mf2:
3511case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i32m1:
3512case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i32m2:
3513case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i32m4:
3514 ID = Intrinsic::riscv_vfncvt_rtz_x_f_w;
3515 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
3516 break;
3517case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i16mf4_m:
3518case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i16mf2_m:
3519case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i16m1_m:
3520case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i16m2_m:
3521case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i16m4_m:
3522case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i32mf2_m:
3523case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i32m1_m:
3524case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i32m2_m:
3525case RISCV::BI__builtin_rvv_vfncvt_rtz_x_f_w_i32m4_m:
3526 ID = Intrinsic::riscv_vfncvt_rtz_x_f_w_mask;
3527 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3528 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3529 break;
3530case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u16mf4:
3531case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u16mf2:
3532case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u16m1:
3533case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u16m2:
3534case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u16m4:
3535case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u32mf2:
3536case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u32m1:
3537case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u32m2:
3538case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u32m4:
3539 ID = Intrinsic::riscv_vfncvt_rtz_xu_f_w;
3540 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
3541 break;
3542case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u16mf4_m:
3543case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u16mf2_m:
3544case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u16m1_m:
3545case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u16m2_m:
3546case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u16m4_m:
3547case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u32mf2_m:
3548case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u32m1_m:
3549case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u32m2_m:
3550case RISCV::BI__builtin_rvv_vfncvt_rtz_xu_f_w_u32m4_m:
3551 ID = Intrinsic::riscv_vfncvt_rtz_xu_f_w_mask;
3552 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3553 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3554 break;
3555case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i16mf4:
3556case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i16mf2:
3557case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i16m1:
3558case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i16m2:
3559case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i16m4:
3560case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i32mf2:
3561case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i32m1:
3562case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i32m2:
3563case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i32m4:
3564 ID = Intrinsic::riscv_vfncvt_x_f_w;
3565 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
3566 break;
3567case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i16mf4_m:
3568case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i16mf2_m:
3569case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i16m1_m:
3570case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i16m2_m:
3571case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i16m4_m:
3572case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i32mf2_m:
3573case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i32m1_m:
3574case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i32m2_m:
3575case RISCV::BI__builtin_rvv_vfncvt_x_f_w_i32m4_m:
3576 ID = Intrinsic::riscv_vfncvt_x_f_w_mask;
3577 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3578 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3579 break;
3580case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u16mf4:
3581case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u16mf2:
3582case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u16m1:
3583case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u16m2:
3584case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u16m4:
3585case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u32mf2:
3586case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u32m1:
3587case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u32m2:
3588case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u32m4:
3589 ID = Intrinsic::riscv_vfncvt_xu_f_w;
3590 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
3591 break;
3592case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u16mf4_m:
3593case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u16mf2_m:
3594case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u16m1_m:
3595case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u16m2_m:
3596case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u16m4_m:
3597case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u32mf2_m:
3598case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u32m1_m:
3599case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u32m2_m:
3600case RISCV::BI__builtin_rvv_vfncvt_xu_f_w_u32m4_m:
3601 ID = Intrinsic::riscv_vfncvt_xu_f_w_mask;
3602 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3603 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3604 break;
3605case RISCV::BI__builtin_rvv_vfnmacc_vv_f32m1:
3606case RISCV::BI__builtin_rvv_vfnmacc_vv_f32m2:
3607case RISCV::BI__builtin_rvv_vfnmacc_vv_f32m4:
3608case RISCV::BI__builtin_rvv_vfnmacc_vv_f32m8:
3609case RISCV::BI__builtin_rvv_vfnmacc_vv_f32mf2:
3610case RISCV::BI__builtin_rvv_vfnmacc_vv_f64m1:
3611case RISCV::BI__builtin_rvv_vfnmacc_vv_f64m2:
3612case RISCV::BI__builtin_rvv_vfnmacc_vv_f64m4:
3613case RISCV::BI__builtin_rvv_vfnmacc_vv_f64m8:
3614case RISCV::BI__builtin_rvv_vfnmacc_vf_f32m1:
3615case RISCV::BI__builtin_rvv_vfnmacc_vf_f32m2:
3616case RISCV::BI__builtin_rvv_vfnmacc_vf_f32m4:
3617case RISCV::BI__builtin_rvv_vfnmacc_vf_f32m8:
3618case RISCV::BI__builtin_rvv_vfnmacc_vf_f32mf2:
3619case RISCV::BI__builtin_rvv_vfnmacc_vf_f64m1:
3620case RISCV::BI__builtin_rvv_vfnmacc_vf_f64m2:
3621case RISCV::BI__builtin_rvv_vfnmacc_vf_f64m4:
3622case RISCV::BI__builtin_rvv_vfnmacc_vf_f64m8:
3623 ID = Intrinsic::riscv_vfnmacc;
3624 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3625 break;
3626case RISCV::BI__builtin_rvv_vfnmacc_vv_f32m1_m:
3627case RISCV::BI__builtin_rvv_vfnmacc_vv_f32m2_m:
3628case RISCV::BI__builtin_rvv_vfnmacc_vv_f32m4_m:
3629case RISCV::BI__builtin_rvv_vfnmacc_vv_f32m8_m:
3630case RISCV::BI__builtin_rvv_vfnmacc_vv_f32mf2_m:
3631case RISCV::BI__builtin_rvv_vfnmacc_vv_f64m1_m:
3632case RISCV::BI__builtin_rvv_vfnmacc_vv_f64m2_m:
3633case RISCV::BI__builtin_rvv_vfnmacc_vv_f64m4_m:
3634case RISCV::BI__builtin_rvv_vfnmacc_vv_f64m8_m:
3635case RISCV::BI__builtin_rvv_vfnmacc_vf_f32m1_m:
3636case RISCV::BI__builtin_rvv_vfnmacc_vf_f32m2_m:
3637case RISCV::BI__builtin_rvv_vfnmacc_vf_f32m4_m:
3638case RISCV::BI__builtin_rvv_vfnmacc_vf_f32m8_m:
3639case RISCV::BI__builtin_rvv_vfnmacc_vf_f32mf2_m:
3640case RISCV::BI__builtin_rvv_vfnmacc_vf_f64m1_m:
3641case RISCV::BI__builtin_rvv_vfnmacc_vf_f64m2_m:
3642case RISCV::BI__builtin_rvv_vfnmacc_vf_f64m4_m:
3643case RISCV::BI__builtin_rvv_vfnmacc_vf_f64m8_m:
3644 ID = Intrinsic::riscv_vfnmacc_mask;
3645 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3646 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3647 break;
3648case RISCV::BI__builtin_rvv_vfnmadd_vv_f32m1:
3649case RISCV::BI__builtin_rvv_vfnmadd_vv_f32m2:
3650case RISCV::BI__builtin_rvv_vfnmadd_vv_f32m4:
3651case RISCV::BI__builtin_rvv_vfnmadd_vv_f32m8:
3652case RISCV::BI__builtin_rvv_vfnmadd_vv_f32mf2:
3653case RISCV::BI__builtin_rvv_vfnmadd_vv_f64m1:
3654case RISCV::BI__builtin_rvv_vfnmadd_vv_f64m2:
3655case RISCV::BI__builtin_rvv_vfnmadd_vv_f64m4:
3656case RISCV::BI__builtin_rvv_vfnmadd_vv_f64m8:
3657case RISCV::BI__builtin_rvv_vfnmadd_vf_f32m1:
3658case RISCV::BI__builtin_rvv_vfnmadd_vf_f32m2:
3659case RISCV::BI__builtin_rvv_vfnmadd_vf_f32m4:
3660case RISCV::BI__builtin_rvv_vfnmadd_vf_f32m8:
3661case RISCV::BI__builtin_rvv_vfnmadd_vf_f32mf2:
3662case RISCV::BI__builtin_rvv_vfnmadd_vf_f64m1:
3663case RISCV::BI__builtin_rvv_vfnmadd_vf_f64m2:
3664case RISCV::BI__builtin_rvv_vfnmadd_vf_f64m4:
3665case RISCV::BI__builtin_rvv_vfnmadd_vf_f64m8:
3666 ID = Intrinsic::riscv_vfnmadd;
3667 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3668 break;
3669case RISCV::BI__builtin_rvv_vfnmadd_vv_f32m1_m:
3670case RISCV::BI__builtin_rvv_vfnmadd_vv_f32m2_m:
3671case RISCV::BI__builtin_rvv_vfnmadd_vv_f32m4_m:
3672case RISCV::BI__builtin_rvv_vfnmadd_vv_f32m8_m:
3673case RISCV::BI__builtin_rvv_vfnmadd_vv_f32mf2_m:
3674case RISCV::BI__builtin_rvv_vfnmadd_vv_f64m1_m:
3675case RISCV::BI__builtin_rvv_vfnmadd_vv_f64m2_m:
3676case RISCV::BI__builtin_rvv_vfnmadd_vv_f64m4_m:
3677case RISCV::BI__builtin_rvv_vfnmadd_vv_f64m8_m:
3678case RISCV::BI__builtin_rvv_vfnmadd_vf_f32m1_m:
3679case RISCV::BI__builtin_rvv_vfnmadd_vf_f32m2_m:
3680case RISCV::BI__builtin_rvv_vfnmadd_vf_f32m4_m:
3681case RISCV::BI__builtin_rvv_vfnmadd_vf_f32m8_m:
3682case RISCV::BI__builtin_rvv_vfnmadd_vf_f32mf2_m:
3683case RISCV::BI__builtin_rvv_vfnmadd_vf_f64m1_m:
3684case RISCV::BI__builtin_rvv_vfnmadd_vf_f64m2_m:
3685case RISCV::BI__builtin_rvv_vfnmadd_vf_f64m4_m:
3686case RISCV::BI__builtin_rvv_vfnmadd_vf_f64m8_m:
3687 ID = Intrinsic::riscv_vfnmadd_mask;
3688 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3689 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3690 break;
3691case RISCV::BI__builtin_rvv_vfnmsac_vv_f32m1:
3692case RISCV::BI__builtin_rvv_vfnmsac_vv_f32m2:
3693case RISCV::BI__builtin_rvv_vfnmsac_vv_f32m4:
3694case RISCV::BI__builtin_rvv_vfnmsac_vv_f32m8:
3695case RISCV::BI__builtin_rvv_vfnmsac_vv_f32mf2:
3696case RISCV::BI__builtin_rvv_vfnmsac_vv_f64m1:
3697case RISCV::BI__builtin_rvv_vfnmsac_vv_f64m2:
3698case RISCV::BI__builtin_rvv_vfnmsac_vv_f64m4:
3699case RISCV::BI__builtin_rvv_vfnmsac_vv_f64m8:
3700case RISCV::BI__builtin_rvv_vfnmsac_vf_f32m1:
3701case RISCV::BI__builtin_rvv_vfnmsac_vf_f32m2:
3702case RISCV::BI__builtin_rvv_vfnmsac_vf_f32m4:
3703case RISCV::BI__builtin_rvv_vfnmsac_vf_f32m8:
3704case RISCV::BI__builtin_rvv_vfnmsac_vf_f32mf2:
3705case RISCV::BI__builtin_rvv_vfnmsac_vf_f64m1:
3706case RISCV::BI__builtin_rvv_vfnmsac_vf_f64m2:
3707case RISCV::BI__builtin_rvv_vfnmsac_vf_f64m4:
3708case RISCV::BI__builtin_rvv_vfnmsac_vf_f64m8:
3709 ID = Intrinsic::riscv_vfnmsac;
3710 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3711 break;
3712case RISCV::BI__builtin_rvv_vfnmsac_vv_f32m1_m:
3713case RISCV::BI__builtin_rvv_vfnmsac_vv_f32m2_m:
3714case RISCV::BI__builtin_rvv_vfnmsac_vv_f32m4_m:
3715case RISCV::BI__builtin_rvv_vfnmsac_vv_f32m8_m:
3716case RISCV::BI__builtin_rvv_vfnmsac_vv_f32mf2_m:
3717case RISCV::BI__builtin_rvv_vfnmsac_vv_f64m1_m:
3718case RISCV::BI__builtin_rvv_vfnmsac_vv_f64m2_m:
3719case RISCV::BI__builtin_rvv_vfnmsac_vv_f64m4_m:
3720case RISCV::BI__builtin_rvv_vfnmsac_vv_f64m8_m:
3721case RISCV::BI__builtin_rvv_vfnmsac_vf_f32m1_m:
3722case RISCV::BI__builtin_rvv_vfnmsac_vf_f32m2_m:
3723case RISCV::BI__builtin_rvv_vfnmsac_vf_f32m4_m:
3724case RISCV::BI__builtin_rvv_vfnmsac_vf_f32m8_m:
3725case RISCV::BI__builtin_rvv_vfnmsac_vf_f32mf2_m:
3726case RISCV::BI__builtin_rvv_vfnmsac_vf_f64m1_m:
3727case RISCV::BI__builtin_rvv_vfnmsac_vf_f64m2_m:
3728case RISCV::BI__builtin_rvv_vfnmsac_vf_f64m4_m:
3729case RISCV::BI__builtin_rvv_vfnmsac_vf_f64m8_m:
3730 ID = Intrinsic::riscv_vfnmsac_mask;
3731 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3732 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3733 break;
3734case RISCV::BI__builtin_rvv_vfnmsub_vv_f32m1:
3735case RISCV::BI__builtin_rvv_vfnmsub_vv_f32m2:
3736case RISCV::BI__builtin_rvv_vfnmsub_vv_f32m4:
3737case RISCV::BI__builtin_rvv_vfnmsub_vv_f32m8:
3738case RISCV::BI__builtin_rvv_vfnmsub_vv_f32mf2:
3739case RISCV::BI__builtin_rvv_vfnmsub_vv_f64m1:
3740case RISCV::BI__builtin_rvv_vfnmsub_vv_f64m2:
3741case RISCV::BI__builtin_rvv_vfnmsub_vv_f64m4:
3742case RISCV::BI__builtin_rvv_vfnmsub_vv_f64m8:
3743case RISCV::BI__builtin_rvv_vfnmsub_vf_f32m1:
3744case RISCV::BI__builtin_rvv_vfnmsub_vf_f32m2:
3745case RISCV::BI__builtin_rvv_vfnmsub_vf_f32m4:
3746case RISCV::BI__builtin_rvv_vfnmsub_vf_f32m8:
3747case RISCV::BI__builtin_rvv_vfnmsub_vf_f32mf2:
3748case RISCV::BI__builtin_rvv_vfnmsub_vf_f64m1:
3749case RISCV::BI__builtin_rvv_vfnmsub_vf_f64m2:
3750case RISCV::BI__builtin_rvv_vfnmsub_vf_f64m4:
3751case RISCV::BI__builtin_rvv_vfnmsub_vf_f64m8:
3752 ID = Intrinsic::riscv_vfnmsub;
3753 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3754 break;
3755case RISCV::BI__builtin_rvv_vfnmsub_vv_f32m1_m:
3756case RISCV::BI__builtin_rvv_vfnmsub_vv_f32m2_m:
3757case RISCV::BI__builtin_rvv_vfnmsub_vv_f32m4_m:
3758case RISCV::BI__builtin_rvv_vfnmsub_vv_f32m8_m:
3759case RISCV::BI__builtin_rvv_vfnmsub_vv_f32mf2_m:
3760case RISCV::BI__builtin_rvv_vfnmsub_vv_f64m1_m:
3761case RISCV::BI__builtin_rvv_vfnmsub_vv_f64m2_m:
3762case RISCV::BI__builtin_rvv_vfnmsub_vv_f64m4_m:
3763case RISCV::BI__builtin_rvv_vfnmsub_vv_f64m8_m:
3764case RISCV::BI__builtin_rvv_vfnmsub_vf_f32m1_m:
3765case RISCV::BI__builtin_rvv_vfnmsub_vf_f32m2_m:
3766case RISCV::BI__builtin_rvv_vfnmsub_vf_f32m4_m:
3767case RISCV::BI__builtin_rvv_vfnmsub_vf_f32m8_m:
3768case RISCV::BI__builtin_rvv_vfnmsub_vf_f32mf2_m:
3769case RISCV::BI__builtin_rvv_vfnmsub_vf_f64m1_m:
3770case RISCV::BI__builtin_rvv_vfnmsub_vf_f64m2_m:
3771case RISCV::BI__builtin_rvv_vfnmsub_vf_f64m4_m:
3772case RISCV::BI__builtin_rvv_vfnmsub_vf_f64m8_m:
3773 ID = Intrinsic::riscv_vfnmsub_mask;
3774 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3775 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3776 break;
3777case RISCV::BI__builtin_rvv_vfrdiv_vf_f32m1:
3778case RISCV::BI__builtin_rvv_vfrdiv_vf_f32m2:
3779case RISCV::BI__builtin_rvv_vfrdiv_vf_f32m4:
3780case RISCV::BI__builtin_rvv_vfrdiv_vf_f32m8:
3781case RISCV::BI__builtin_rvv_vfrdiv_vf_f32mf2:
3782case RISCV::BI__builtin_rvv_vfrdiv_vf_f64m1:
3783case RISCV::BI__builtin_rvv_vfrdiv_vf_f64m2:
3784case RISCV::BI__builtin_rvv_vfrdiv_vf_f64m4:
3785case RISCV::BI__builtin_rvv_vfrdiv_vf_f64m8:
3786 ID = Intrinsic::riscv_vfrdiv;
3787 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3788 break;
3789case RISCV::BI__builtin_rvv_vfrdiv_vf_f32m1_m:
3790case RISCV::BI__builtin_rvv_vfrdiv_vf_f32m2_m:
3791case RISCV::BI__builtin_rvv_vfrdiv_vf_f32m4_m:
3792case RISCV::BI__builtin_rvv_vfrdiv_vf_f32m8_m:
3793case RISCV::BI__builtin_rvv_vfrdiv_vf_f32mf2_m:
3794case RISCV::BI__builtin_rvv_vfrdiv_vf_f64m1_m:
3795case RISCV::BI__builtin_rvv_vfrdiv_vf_f64m2_m:
3796case RISCV::BI__builtin_rvv_vfrdiv_vf_f64m4_m:
3797case RISCV::BI__builtin_rvv_vfrdiv_vf_f64m8_m:
3798 ID = Intrinsic::riscv_vfrdiv_mask;
3799 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3800 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
3801 break;
3802case RISCV::BI__builtin_rvv_vfrec7_v_f32m1:
3803case RISCV::BI__builtin_rvv_vfrec7_v_f32m2:
3804case RISCV::BI__builtin_rvv_vfrec7_v_f32m4:
3805case RISCV::BI__builtin_rvv_vfrec7_v_f32m8:
3806case RISCV::BI__builtin_rvv_vfrec7_v_f32mf2:
3807case RISCV::BI__builtin_rvv_vfrec7_v_f64m1:
3808case RISCV::BI__builtin_rvv_vfrec7_v_f64m2:
3809case RISCV::BI__builtin_rvv_vfrec7_v_f64m4:
3810case RISCV::BI__builtin_rvv_vfrec7_v_f64m8:
3811 ID = Intrinsic::riscv_vfrec7;
3812 IntrinsicTypes = {ResultType, Ops.back()->getType()};
3813 break;
3814case RISCV::BI__builtin_rvv_vfrec7_v_f32m1_m:
3815case RISCV::BI__builtin_rvv_vfrec7_v_f32m2_m:
3816case RISCV::BI__builtin_rvv_vfrec7_v_f32m4_m:
3817case RISCV::BI__builtin_rvv_vfrec7_v_f32m8_m:
3818case RISCV::BI__builtin_rvv_vfrec7_v_f32mf2_m:
3819case RISCV::BI__builtin_rvv_vfrec7_v_f64m1_m:
3820case RISCV::BI__builtin_rvv_vfrec7_v_f64m2_m:
3821case RISCV::BI__builtin_rvv_vfrec7_v_f64m4_m:
3822case RISCV::BI__builtin_rvv_vfrec7_v_f64m8_m:
3823 ID = Intrinsic::riscv_vfrec7_mask;
3824 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3825 IntrinsicTypes = {ResultType, Ops.back()->getType()};
3826 break;
3827case RISCV::BI__builtin_rvv_vfredmax_vs_f32m1_f32m1:
3828case RISCV::BI__builtin_rvv_vfredmax_vs_f32m2_f32m1:
3829case RISCV::BI__builtin_rvv_vfredmax_vs_f32m4_f32m1:
3830case RISCV::BI__builtin_rvv_vfredmax_vs_f32m8_f32m1:
3831case RISCV::BI__builtin_rvv_vfredmax_vs_f32mf2_f32m1:
3832case RISCV::BI__builtin_rvv_vfredmax_vs_f64m1_f64m1:
3833case RISCV::BI__builtin_rvv_vfredmax_vs_f64m2_f64m1:
3834case RISCV::BI__builtin_rvv_vfredmax_vs_f64m4_f64m1:
3835case RISCV::BI__builtin_rvv_vfredmax_vs_f64m8_f64m1:
3836 ID = Intrinsic::riscv_vfredmax;
3837 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3838 break;
3839case RISCV::BI__builtin_rvv_vfredmax_vs_f32m1_f32m1_m:
3840case RISCV::BI__builtin_rvv_vfredmax_vs_f32m2_f32m1_m:
3841case RISCV::BI__builtin_rvv_vfredmax_vs_f32m4_f32m1_m:
3842case RISCV::BI__builtin_rvv_vfredmax_vs_f32m8_f32m1_m:
3843case RISCV::BI__builtin_rvv_vfredmax_vs_f32mf2_f32m1_m:
3844case RISCV::BI__builtin_rvv_vfredmax_vs_f64m1_f64m1_m:
3845case RISCV::BI__builtin_rvv_vfredmax_vs_f64m2_f64m1_m:
3846case RISCV::BI__builtin_rvv_vfredmax_vs_f64m4_f64m1_m:
3847case RISCV::BI__builtin_rvv_vfredmax_vs_f64m8_f64m1_m:
3848 ID = Intrinsic::riscv_vfredmax_mask;
3849 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3850 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3851 break;
3852case RISCV::BI__builtin_rvv_vfredmin_vs_f32m1_f32m1:
3853case RISCV::BI__builtin_rvv_vfredmin_vs_f32m2_f32m1:
3854case RISCV::BI__builtin_rvv_vfredmin_vs_f32m4_f32m1:
3855case RISCV::BI__builtin_rvv_vfredmin_vs_f32m8_f32m1:
3856case RISCV::BI__builtin_rvv_vfredmin_vs_f32mf2_f32m1:
3857case RISCV::BI__builtin_rvv_vfredmin_vs_f64m1_f64m1:
3858case RISCV::BI__builtin_rvv_vfredmin_vs_f64m2_f64m1:
3859case RISCV::BI__builtin_rvv_vfredmin_vs_f64m4_f64m1:
3860case RISCV::BI__builtin_rvv_vfredmin_vs_f64m8_f64m1:
3861 ID = Intrinsic::riscv_vfredmin;
3862 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3863 break;
3864case RISCV::BI__builtin_rvv_vfredmin_vs_f32m1_f32m1_m:
3865case RISCV::BI__builtin_rvv_vfredmin_vs_f32m2_f32m1_m:
3866case RISCV::BI__builtin_rvv_vfredmin_vs_f32m4_f32m1_m:
3867case RISCV::BI__builtin_rvv_vfredmin_vs_f32m8_f32m1_m:
3868case RISCV::BI__builtin_rvv_vfredmin_vs_f32mf2_f32m1_m:
3869case RISCV::BI__builtin_rvv_vfredmin_vs_f64m1_f64m1_m:
3870case RISCV::BI__builtin_rvv_vfredmin_vs_f64m2_f64m1_m:
3871case RISCV::BI__builtin_rvv_vfredmin_vs_f64m4_f64m1_m:
3872case RISCV::BI__builtin_rvv_vfredmin_vs_f64m8_f64m1_m:
3873 ID = Intrinsic::riscv_vfredmin_mask;
3874 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3875 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3876 break;
3877case RISCV::BI__builtin_rvv_vfredosum_vs_f32m1_f32m1:
3878case RISCV::BI__builtin_rvv_vfredosum_vs_f32m2_f32m1:
3879case RISCV::BI__builtin_rvv_vfredosum_vs_f32m4_f32m1:
3880case RISCV::BI__builtin_rvv_vfredosum_vs_f32m8_f32m1:
3881case RISCV::BI__builtin_rvv_vfredosum_vs_f32mf2_f32m1:
3882case RISCV::BI__builtin_rvv_vfredosum_vs_f64m1_f64m1:
3883case RISCV::BI__builtin_rvv_vfredosum_vs_f64m2_f64m1:
3884case RISCV::BI__builtin_rvv_vfredosum_vs_f64m4_f64m1:
3885case RISCV::BI__builtin_rvv_vfredosum_vs_f64m8_f64m1:
3886 ID = Intrinsic::riscv_vfredosum;
3887 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3888 break;
3889case RISCV::BI__builtin_rvv_vfredosum_vs_f32m1_f32m1_m:
3890case RISCV::BI__builtin_rvv_vfredosum_vs_f32m2_f32m1_m:
3891case RISCV::BI__builtin_rvv_vfredosum_vs_f32m4_f32m1_m:
3892case RISCV::BI__builtin_rvv_vfredosum_vs_f32m8_f32m1_m:
3893case RISCV::BI__builtin_rvv_vfredosum_vs_f32mf2_f32m1_m:
3894case RISCV::BI__builtin_rvv_vfredosum_vs_f64m1_f64m1_m:
3895case RISCV::BI__builtin_rvv_vfredosum_vs_f64m2_f64m1_m:
3896case RISCV::BI__builtin_rvv_vfredosum_vs_f64m4_f64m1_m:
3897case RISCV::BI__builtin_rvv_vfredosum_vs_f64m8_f64m1_m:
3898 ID = Intrinsic::riscv_vfredosum_mask;
3899 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3900 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3901 break;
3902case RISCV::BI__builtin_rvv_vfredsum_vs_f32m1_f32m1:
3903case RISCV::BI__builtin_rvv_vfredsum_vs_f32m2_f32m1:
3904case RISCV::BI__builtin_rvv_vfredsum_vs_f32m4_f32m1:
3905case RISCV::BI__builtin_rvv_vfredsum_vs_f32m8_f32m1:
3906case RISCV::BI__builtin_rvv_vfredsum_vs_f32mf2_f32m1:
3907case RISCV::BI__builtin_rvv_vfredsum_vs_f64m1_f64m1:
3908case RISCV::BI__builtin_rvv_vfredsum_vs_f64m2_f64m1:
3909case RISCV::BI__builtin_rvv_vfredsum_vs_f64m4_f64m1:
3910case RISCV::BI__builtin_rvv_vfredsum_vs_f64m8_f64m1:
3911 ID = Intrinsic::riscv_vfredsum;
3912 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3913 break;
3914case RISCV::BI__builtin_rvv_vfredsum_vs_f32m1_f32m1_m:
3915case RISCV::BI__builtin_rvv_vfredsum_vs_f32m2_f32m1_m:
3916case RISCV::BI__builtin_rvv_vfredsum_vs_f32m4_f32m1_m:
3917case RISCV::BI__builtin_rvv_vfredsum_vs_f32m8_f32m1_m:
3918case RISCV::BI__builtin_rvv_vfredsum_vs_f32mf2_f32m1_m:
3919case RISCV::BI__builtin_rvv_vfredsum_vs_f64m1_f64m1_m:
3920case RISCV::BI__builtin_rvv_vfredsum_vs_f64m2_f64m1_m:
3921case RISCV::BI__builtin_rvv_vfredsum_vs_f64m4_f64m1_m:
3922case RISCV::BI__builtin_rvv_vfredsum_vs_f64m8_f64m1_m:
3923 ID = Intrinsic::riscv_vfredsum_mask;
3924 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3925 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3926 break;
3927case RISCV::BI__builtin_rvv_vfrsqrt7_v_f32m1:
3928case RISCV::BI__builtin_rvv_vfrsqrt7_v_f32m2:
3929case RISCV::BI__builtin_rvv_vfrsqrt7_v_f32m4:
3930case RISCV::BI__builtin_rvv_vfrsqrt7_v_f32m8:
3931case RISCV::BI__builtin_rvv_vfrsqrt7_v_f32mf2:
3932case RISCV::BI__builtin_rvv_vfrsqrt7_v_f64m1:
3933case RISCV::BI__builtin_rvv_vfrsqrt7_v_f64m2:
3934case RISCV::BI__builtin_rvv_vfrsqrt7_v_f64m4:
3935case RISCV::BI__builtin_rvv_vfrsqrt7_v_f64m8:
3936 ID = Intrinsic::riscv_vfrsqrt7;
3937 IntrinsicTypes = {ResultType, Ops.back()->getType()};
3938 break;
3939case RISCV::BI__builtin_rvv_vfrsqrt7_v_f32m1_m:
3940case RISCV::BI__builtin_rvv_vfrsqrt7_v_f32m2_m:
3941case RISCV::BI__builtin_rvv_vfrsqrt7_v_f32m4_m:
3942case RISCV::BI__builtin_rvv_vfrsqrt7_v_f32m8_m:
3943case RISCV::BI__builtin_rvv_vfrsqrt7_v_f32mf2_m:
3944case RISCV::BI__builtin_rvv_vfrsqrt7_v_f64m1_m:
3945case RISCV::BI__builtin_rvv_vfrsqrt7_v_f64m2_m:
3946case RISCV::BI__builtin_rvv_vfrsqrt7_v_f64m4_m:
3947case RISCV::BI__builtin_rvv_vfrsqrt7_v_f64m8_m:
3948 ID = Intrinsic::riscv_vfrsqrt7_mask;
3949 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3950 IntrinsicTypes = {ResultType, Ops.back()->getType()};
3951 break;
3952case RISCV::BI__builtin_rvv_vfrsub_vf_f32m1:
3953case RISCV::BI__builtin_rvv_vfrsub_vf_f32m2:
3954case RISCV::BI__builtin_rvv_vfrsub_vf_f32m4:
3955case RISCV::BI__builtin_rvv_vfrsub_vf_f32m8:
3956case RISCV::BI__builtin_rvv_vfrsub_vf_f32mf2:
3957case RISCV::BI__builtin_rvv_vfrsub_vf_f64m1:
3958case RISCV::BI__builtin_rvv_vfrsub_vf_f64m2:
3959case RISCV::BI__builtin_rvv_vfrsub_vf_f64m4:
3960case RISCV::BI__builtin_rvv_vfrsub_vf_f64m8:
3961 ID = Intrinsic::riscv_vfrsub;
3962 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3963 break;
3964case RISCV::BI__builtin_rvv_vfrsub_vf_f32m1_m:
3965case RISCV::BI__builtin_rvv_vfrsub_vf_f32m2_m:
3966case RISCV::BI__builtin_rvv_vfrsub_vf_f32m4_m:
3967case RISCV::BI__builtin_rvv_vfrsub_vf_f32m8_m:
3968case RISCV::BI__builtin_rvv_vfrsub_vf_f32mf2_m:
3969case RISCV::BI__builtin_rvv_vfrsub_vf_f64m1_m:
3970case RISCV::BI__builtin_rvv_vfrsub_vf_f64m2_m:
3971case RISCV::BI__builtin_rvv_vfrsub_vf_f64m4_m:
3972case RISCV::BI__builtin_rvv_vfrsub_vf_f64m8_m:
3973 ID = Intrinsic::riscv_vfrsub_mask;
3974 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
3975 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
3976 break;
3977case RISCV::BI__builtin_rvv_vfsgnj_vv_f32m1:
3978case RISCV::BI__builtin_rvv_vfsgnj_vv_f32m2:
3979case RISCV::BI__builtin_rvv_vfsgnj_vv_f32m4:
3980case RISCV::BI__builtin_rvv_vfsgnj_vv_f32m8:
3981case RISCV::BI__builtin_rvv_vfsgnj_vv_f32mf2:
3982case RISCV::BI__builtin_rvv_vfsgnj_vv_f64m1:
3983case RISCV::BI__builtin_rvv_vfsgnj_vv_f64m2:
3984case RISCV::BI__builtin_rvv_vfsgnj_vv_f64m4:
3985case RISCV::BI__builtin_rvv_vfsgnj_vv_f64m8:
3986case RISCV::BI__builtin_rvv_vfsgnj_vf_f32m1:
3987case RISCV::BI__builtin_rvv_vfsgnj_vf_f32m2:
3988case RISCV::BI__builtin_rvv_vfsgnj_vf_f32m4:
3989case RISCV::BI__builtin_rvv_vfsgnj_vf_f32m8:
3990case RISCV::BI__builtin_rvv_vfsgnj_vf_f32mf2:
3991case RISCV::BI__builtin_rvv_vfsgnj_vf_f64m1:
3992case RISCV::BI__builtin_rvv_vfsgnj_vf_f64m2:
3993case RISCV::BI__builtin_rvv_vfsgnj_vf_f64m4:
3994case RISCV::BI__builtin_rvv_vfsgnj_vf_f64m8:
3995 ID = Intrinsic::riscv_vfsgnj;
3996 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
3997 break;
3998case RISCV::BI__builtin_rvv_vfsgnj_vv_f32m1_m:
3999case RISCV::BI__builtin_rvv_vfsgnj_vv_f32m2_m:
4000case RISCV::BI__builtin_rvv_vfsgnj_vv_f32m4_m:
4001case RISCV::BI__builtin_rvv_vfsgnj_vv_f32m8_m:
4002case RISCV::BI__builtin_rvv_vfsgnj_vv_f32mf2_m:
4003case RISCV::BI__builtin_rvv_vfsgnj_vv_f64m1_m:
4004case RISCV::BI__builtin_rvv_vfsgnj_vv_f64m2_m:
4005case RISCV::BI__builtin_rvv_vfsgnj_vv_f64m4_m:
4006case RISCV::BI__builtin_rvv_vfsgnj_vv_f64m8_m:
4007case RISCV::BI__builtin_rvv_vfsgnj_vf_f32m1_m:
4008case RISCV::BI__builtin_rvv_vfsgnj_vf_f32m2_m:
4009case RISCV::BI__builtin_rvv_vfsgnj_vf_f32m4_m:
4010case RISCV::BI__builtin_rvv_vfsgnj_vf_f32m8_m:
4011case RISCV::BI__builtin_rvv_vfsgnj_vf_f32mf2_m:
4012case RISCV::BI__builtin_rvv_vfsgnj_vf_f64m1_m:
4013case RISCV::BI__builtin_rvv_vfsgnj_vf_f64m2_m:
4014case RISCV::BI__builtin_rvv_vfsgnj_vf_f64m4_m:
4015case RISCV::BI__builtin_rvv_vfsgnj_vf_f64m8_m:
4016 ID = Intrinsic::riscv_vfsgnj_mask;
4017 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4018 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
4019 break;
4020case RISCV::BI__builtin_rvv_vfneg_v_f32m1:
4021case RISCV::BI__builtin_rvv_vfneg_v_f32m2:
4022case RISCV::BI__builtin_rvv_vfneg_v_f32m4:
4023case RISCV::BI__builtin_rvv_vfneg_v_f32m8:
4024case RISCV::BI__builtin_rvv_vfneg_v_f32mf2:
4025case RISCV::BI__builtin_rvv_vfneg_v_f64m1:
4026case RISCV::BI__builtin_rvv_vfneg_v_f64m2:
4027case RISCV::BI__builtin_rvv_vfneg_v_f64m4:
4028case RISCV::BI__builtin_rvv_vfneg_v_f64m8:
4029 ID = Intrinsic::riscv_vfsgnjn;
4030
4031 {
4032 // op1, vl
4033 IntrinsicTypes = {ResultType,
4034 Ops[0]->getType(), Ops[1]->getType()};
4035 Ops.insert(Ops.begin() + 1, Ops[0]);
4036 break;
4037 }
4038 break;
4039case RISCV::BI__builtin_rvv_vfsgnjn_vv_f32m1:
4040case RISCV::BI__builtin_rvv_vfsgnjn_vv_f32m2:
4041case RISCV::BI__builtin_rvv_vfsgnjn_vv_f32m4:
4042case RISCV::BI__builtin_rvv_vfsgnjn_vv_f32m8:
4043case RISCV::BI__builtin_rvv_vfsgnjn_vv_f32mf2:
4044case RISCV::BI__builtin_rvv_vfsgnjn_vv_f64m1:
4045case RISCV::BI__builtin_rvv_vfsgnjn_vv_f64m2:
4046case RISCV::BI__builtin_rvv_vfsgnjn_vv_f64m4:
4047case RISCV::BI__builtin_rvv_vfsgnjn_vv_f64m8:
4048case RISCV::BI__builtin_rvv_vfsgnjn_vf_f32m1:
4049case RISCV::BI__builtin_rvv_vfsgnjn_vf_f32m2:
4050case RISCV::BI__builtin_rvv_vfsgnjn_vf_f32m4:
4051case RISCV::BI__builtin_rvv_vfsgnjn_vf_f32m8:
4052case RISCV::BI__builtin_rvv_vfsgnjn_vf_f32mf2:
4053case RISCV::BI__builtin_rvv_vfsgnjn_vf_f64m1:
4054case RISCV::BI__builtin_rvv_vfsgnjn_vf_f64m2:
4055case RISCV::BI__builtin_rvv_vfsgnjn_vf_f64m4:
4056case RISCV::BI__builtin_rvv_vfsgnjn_vf_f64m8:
4057 ID = Intrinsic::riscv_vfsgnjn;
4058 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4059 break;
4060case RISCV::BI__builtin_rvv_vfneg_v_f32m1_m:
4061case RISCV::BI__builtin_rvv_vfneg_v_f32m2_m:
4062case RISCV::BI__builtin_rvv_vfneg_v_f32m4_m:
4063case RISCV::BI__builtin_rvv_vfneg_v_f32m8_m:
4064case RISCV::BI__builtin_rvv_vfneg_v_f32mf2_m:
4065case RISCV::BI__builtin_rvv_vfneg_v_f64m1_m:
4066case RISCV::BI__builtin_rvv_vfneg_v_f64m2_m:
4067case RISCV::BI__builtin_rvv_vfneg_v_f64m4_m:
4068case RISCV::BI__builtin_rvv_vfneg_v_f64m8_m:
4069 ID = Intrinsic::riscv_vfsgnjn_mask;
4070
4071 {
4072 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4073 // maskedoff, op1, mask, vl
4074 IntrinsicTypes = {ResultType,
4075 Ops[1]->getType(),
4076 Ops[3]->getType()};
4077 Ops.insert(Ops.begin() + 2, Ops[1]);
4078 break;
4079 }
4080 break;
4081case RISCV::BI__builtin_rvv_vfsgnjn_vv_f32m1_m:
4082case RISCV::BI__builtin_rvv_vfsgnjn_vv_f32m2_m:
4083case RISCV::BI__builtin_rvv_vfsgnjn_vv_f32m4_m:
4084case RISCV::BI__builtin_rvv_vfsgnjn_vv_f32m8_m:
4085case RISCV::BI__builtin_rvv_vfsgnjn_vv_f32mf2_m:
4086case RISCV::BI__builtin_rvv_vfsgnjn_vv_f64m1_m:
4087case RISCV::BI__builtin_rvv_vfsgnjn_vv_f64m2_m:
4088case RISCV::BI__builtin_rvv_vfsgnjn_vv_f64m4_m:
4089case RISCV::BI__builtin_rvv_vfsgnjn_vv_f64m8_m:
4090case RISCV::BI__builtin_rvv_vfsgnjn_vf_f32m1_m:
4091case RISCV::BI__builtin_rvv_vfsgnjn_vf_f32m2_m:
4092case RISCV::BI__builtin_rvv_vfsgnjn_vf_f32m4_m:
4093case RISCV::BI__builtin_rvv_vfsgnjn_vf_f32m8_m:
4094case RISCV::BI__builtin_rvv_vfsgnjn_vf_f32mf2_m:
4095case RISCV::BI__builtin_rvv_vfsgnjn_vf_f64m1_m:
4096case RISCV::BI__builtin_rvv_vfsgnjn_vf_f64m2_m:
4097case RISCV::BI__builtin_rvv_vfsgnjn_vf_f64m4_m:
4098case RISCV::BI__builtin_rvv_vfsgnjn_vf_f64m8_m:
4099 ID = Intrinsic::riscv_vfsgnjn_mask;
4100 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4101 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
4102 break;
4103case RISCV::BI__builtin_rvv_vfsgnjx_vv_f32m1:
4104case RISCV::BI__builtin_rvv_vfsgnjx_vv_f32m2:
4105case RISCV::BI__builtin_rvv_vfsgnjx_vv_f32m4:
4106case RISCV::BI__builtin_rvv_vfsgnjx_vv_f32m8:
4107case RISCV::BI__builtin_rvv_vfsgnjx_vv_f32mf2:
4108case RISCV::BI__builtin_rvv_vfsgnjx_vv_f64m1:
4109case RISCV::BI__builtin_rvv_vfsgnjx_vv_f64m2:
4110case RISCV::BI__builtin_rvv_vfsgnjx_vv_f64m4:
4111case RISCV::BI__builtin_rvv_vfsgnjx_vv_f64m8:
4112case RISCV::BI__builtin_rvv_vfsgnjx_vf_f32m1:
4113case RISCV::BI__builtin_rvv_vfsgnjx_vf_f32m2:
4114case RISCV::BI__builtin_rvv_vfsgnjx_vf_f32m4:
4115case RISCV::BI__builtin_rvv_vfsgnjx_vf_f32m8:
4116case RISCV::BI__builtin_rvv_vfsgnjx_vf_f32mf2:
4117case RISCV::BI__builtin_rvv_vfsgnjx_vf_f64m1:
4118case RISCV::BI__builtin_rvv_vfsgnjx_vf_f64m2:
4119case RISCV::BI__builtin_rvv_vfsgnjx_vf_f64m4:
4120case RISCV::BI__builtin_rvv_vfsgnjx_vf_f64m8:
4121 ID = Intrinsic::riscv_vfsgnjx;
4122 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4123 break;
4124case RISCV::BI__builtin_rvv_vfabs_v_f32m1:
4125case RISCV::BI__builtin_rvv_vfabs_v_f32m2:
4126case RISCV::BI__builtin_rvv_vfabs_v_f32m4:
4127case RISCV::BI__builtin_rvv_vfabs_v_f32m8:
4128case RISCV::BI__builtin_rvv_vfabs_v_f32mf2:
4129case RISCV::BI__builtin_rvv_vfabs_v_f64m1:
4130case RISCV::BI__builtin_rvv_vfabs_v_f64m2:
4131case RISCV::BI__builtin_rvv_vfabs_v_f64m4:
4132case RISCV::BI__builtin_rvv_vfabs_v_f64m8:
4133 ID = Intrinsic::riscv_vfsgnjx;
4134
4135 {
4136 // op1, vl
4137 IntrinsicTypes = {ResultType,
4138 Ops[0]->getType(), Ops[1]->getType()};
4139 Ops.insert(Ops.begin() + 1, Ops[0]);
4140 break;
4141 }
4142 break;
4143case RISCV::BI__builtin_rvv_vfsgnjx_vv_f32m1_m:
4144case RISCV::BI__builtin_rvv_vfsgnjx_vv_f32m2_m:
4145case RISCV::BI__builtin_rvv_vfsgnjx_vv_f32m4_m:
4146case RISCV::BI__builtin_rvv_vfsgnjx_vv_f32m8_m:
4147case RISCV::BI__builtin_rvv_vfsgnjx_vv_f32mf2_m:
4148case RISCV::BI__builtin_rvv_vfsgnjx_vv_f64m1_m:
4149case RISCV::BI__builtin_rvv_vfsgnjx_vv_f64m2_m:
4150case RISCV::BI__builtin_rvv_vfsgnjx_vv_f64m4_m:
4151case RISCV::BI__builtin_rvv_vfsgnjx_vv_f64m8_m:
4152case RISCV::BI__builtin_rvv_vfsgnjx_vf_f32m1_m:
4153case RISCV::BI__builtin_rvv_vfsgnjx_vf_f32m2_m:
4154case RISCV::BI__builtin_rvv_vfsgnjx_vf_f32m4_m:
4155case RISCV::BI__builtin_rvv_vfsgnjx_vf_f32m8_m:
4156case RISCV::BI__builtin_rvv_vfsgnjx_vf_f32mf2_m:
4157case RISCV::BI__builtin_rvv_vfsgnjx_vf_f64m1_m:
4158case RISCV::BI__builtin_rvv_vfsgnjx_vf_f64m2_m:
4159case RISCV::BI__builtin_rvv_vfsgnjx_vf_f64m4_m:
4160case RISCV::BI__builtin_rvv_vfsgnjx_vf_f64m8_m:
4161 ID = Intrinsic::riscv_vfsgnjx_mask;
4162 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4163 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
4164 break;
4165case RISCV::BI__builtin_rvv_vfabs_v_f32m1_m:
4166case RISCV::BI__builtin_rvv_vfabs_v_f32m2_m:
4167case RISCV::BI__builtin_rvv_vfabs_v_f32m4_m:
4168case RISCV::BI__builtin_rvv_vfabs_v_f32m8_m:
4169case RISCV::BI__builtin_rvv_vfabs_v_f32mf2_m:
4170case RISCV::BI__builtin_rvv_vfabs_v_f64m1_m:
4171case RISCV::BI__builtin_rvv_vfabs_v_f64m2_m:
4172case RISCV::BI__builtin_rvv_vfabs_v_f64m4_m:
4173case RISCV::BI__builtin_rvv_vfabs_v_f64m8_m:
4174 ID = Intrinsic::riscv_vfsgnjx_mask;
4175
4176 {
4177 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4178 // maskedoff, op1, mask, vl
4179 IntrinsicTypes = {ResultType,
4180 Ops[1]->getType(),
4181 Ops[3]->getType()};
4182 Ops.insert(Ops.begin() + 2, Ops[1]);
4183 break;
4184 }
4185 break;
4186case RISCV::BI__builtin_rvv_vfslide1down_vf_f32m1:
4187case RISCV::BI__builtin_rvv_vfslide1down_vf_f32m2:
4188case RISCV::BI__builtin_rvv_vfslide1down_vf_f32m4:
4189case RISCV::BI__builtin_rvv_vfslide1down_vf_f32m8:
4190case RISCV::BI__builtin_rvv_vfslide1down_vf_f32mf2:
4191case RISCV::BI__builtin_rvv_vfslide1down_vf_f64m1:
4192case RISCV::BI__builtin_rvv_vfslide1down_vf_f64m2:
4193case RISCV::BI__builtin_rvv_vfslide1down_vf_f64m4:
4194case RISCV::BI__builtin_rvv_vfslide1down_vf_f64m8:
4195 ID = Intrinsic::riscv_vfslide1down;
4196 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4197 break;
4198case RISCV::BI__builtin_rvv_vfslide1down_vf_f32m1_m:
4199case RISCV::BI__builtin_rvv_vfslide1down_vf_f32m2_m:
4200case RISCV::BI__builtin_rvv_vfslide1down_vf_f32m4_m:
4201case RISCV::BI__builtin_rvv_vfslide1down_vf_f32m8_m:
4202case RISCV::BI__builtin_rvv_vfslide1down_vf_f32mf2_m:
4203case RISCV::BI__builtin_rvv_vfslide1down_vf_f64m1_m:
4204case RISCV::BI__builtin_rvv_vfslide1down_vf_f64m2_m:
4205case RISCV::BI__builtin_rvv_vfslide1down_vf_f64m4_m:
4206case RISCV::BI__builtin_rvv_vfslide1down_vf_f64m8_m:
4207 ID = Intrinsic::riscv_vfslide1down_mask;
4208 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4209 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
4210 break;
4211case RISCV::BI__builtin_rvv_vfslide1up_vf_f32m1:
4212case RISCV::BI__builtin_rvv_vfslide1up_vf_f32m2:
4213case RISCV::BI__builtin_rvv_vfslide1up_vf_f32m4:
4214case RISCV::BI__builtin_rvv_vfslide1up_vf_f32m8:
4215case RISCV::BI__builtin_rvv_vfslide1up_vf_f32mf2:
4216case RISCV::BI__builtin_rvv_vfslide1up_vf_f64m1:
4217case RISCV::BI__builtin_rvv_vfslide1up_vf_f64m2:
4218case RISCV::BI__builtin_rvv_vfslide1up_vf_f64m4:
4219case RISCV::BI__builtin_rvv_vfslide1up_vf_f64m8:
4220 ID = Intrinsic::riscv_vfslide1up;
4221 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4222 break;
4223case RISCV::BI__builtin_rvv_vfslide1up_vf_f32m1_m:
4224case RISCV::BI__builtin_rvv_vfslide1up_vf_f32m2_m:
4225case RISCV::BI__builtin_rvv_vfslide1up_vf_f32m4_m:
4226case RISCV::BI__builtin_rvv_vfslide1up_vf_f32m8_m:
4227case RISCV::BI__builtin_rvv_vfslide1up_vf_f32mf2_m:
4228case RISCV::BI__builtin_rvv_vfslide1up_vf_f64m1_m:
4229case RISCV::BI__builtin_rvv_vfslide1up_vf_f64m2_m:
4230case RISCV::BI__builtin_rvv_vfslide1up_vf_f64m4_m:
4231case RISCV::BI__builtin_rvv_vfslide1up_vf_f64m8_m:
4232 ID = Intrinsic::riscv_vfslide1up_mask;
4233 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4234 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
4235 break;
4236case RISCV::BI__builtin_rvv_vfsqrt_v_f32m1:
4237case RISCV::BI__builtin_rvv_vfsqrt_v_f32m2:
4238case RISCV::BI__builtin_rvv_vfsqrt_v_f32m4:
4239case RISCV::BI__builtin_rvv_vfsqrt_v_f32m8:
4240case RISCV::BI__builtin_rvv_vfsqrt_v_f32mf2:
4241case RISCV::BI__builtin_rvv_vfsqrt_v_f64m1:
4242case RISCV::BI__builtin_rvv_vfsqrt_v_f64m2:
4243case RISCV::BI__builtin_rvv_vfsqrt_v_f64m4:
4244case RISCV::BI__builtin_rvv_vfsqrt_v_f64m8:
4245 ID = Intrinsic::riscv_vfsqrt;
4246 IntrinsicTypes = {ResultType, Ops.back()->getType()};
4247 break;
4248case RISCV::BI__builtin_rvv_vfsqrt_v_f32m1_m:
4249case RISCV::BI__builtin_rvv_vfsqrt_v_f32m2_m:
4250case RISCV::BI__builtin_rvv_vfsqrt_v_f32m4_m:
4251case RISCV::BI__builtin_rvv_vfsqrt_v_f32m8_m:
4252case RISCV::BI__builtin_rvv_vfsqrt_v_f32mf2_m:
4253case RISCV::BI__builtin_rvv_vfsqrt_v_f64m1_m:
4254case RISCV::BI__builtin_rvv_vfsqrt_v_f64m2_m:
4255case RISCV::BI__builtin_rvv_vfsqrt_v_f64m4_m:
4256case RISCV::BI__builtin_rvv_vfsqrt_v_f64m8_m:
4257 ID = Intrinsic::riscv_vfsqrt_mask;
4258 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4259 IntrinsicTypes = {ResultType, Ops.back()->getType()};
4260 break;
4261case RISCV::BI__builtin_rvv_vfsub_vv_f32m1:
4262case RISCV::BI__builtin_rvv_vfsub_vv_f32m2:
4263case RISCV::BI__builtin_rvv_vfsub_vv_f32m4:
4264case RISCV::BI__builtin_rvv_vfsub_vv_f32m8:
4265case RISCV::BI__builtin_rvv_vfsub_vv_f32mf2:
4266case RISCV::BI__builtin_rvv_vfsub_vv_f64m1:
4267case RISCV::BI__builtin_rvv_vfsub_vv_f64m2:
4268case RISCV::BI__builtin_rvv_vfsub_vv_f64m4:
4269case RISCV::BI__builtin_rvv_vfsub_vv_f64m8:
4270case RISCV::BI__builtin_rvv_vfsub_vf_f32m1:
4271case RISCV::BI__builtin_rvv_vfsub_vf_f32m2:
4272case RISCV::BI__builtin_rvv_vfsub_vf_f32m4:
4273case RISCV::BI__builtin_rvv_vfsub_vf_f32m8:
4274case RISCV::BI__builtin_rvv_vfsub_vf_f32mf2:
4275case RISCV::BI__builtin_rvv_vfsub_vf_f64m1:
4276case RISCV::BI__builtin_rvv_vfsub_vf_f64m2:
4277case RISCV::BI__builtin_rvv_vfsub_vf_f64m4:
4278case RISCV::BI__builtin_rvv_vfsub_vf_f64m8:
4279 ID = Intrinsic::riscv_vfsub;
4280 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4281 break;
4282case RISCV::BI__builtin_rvv_vfsub_vv_f32m1_m:
4283case RISCV::BI__builtin_rvv_vfsub_vv_f32m2_m:
4284case RISCV::BI__builtin_rvv_vfsub_vv_f32m4_m:
4285case RISCV::BI__builtin_rvv_vfsub_vv_f32m8_m:
4286case RISCV::BI__builtin_rvv_vfsub_vv_f32mf2_m:
4287case RISCV::BI__builtin_rvv_vfsub_vv_f64m1_m:
4288case RISCV::BI__builtin_rvv_vfsub_vv_f64m2_m:
4289case RISCV::BI__builtin_rvv_vfsub_vv_f64m4_m:
4290case RISCV::BI__builtin_rvv_vfsub_vv_f64m8_m:
4291case RISCV::BI__builtin_rvv_vfsub_vf_f32m1_m:
4292case RISCV::BI__builtin_rvv_vfsub_vf_f32m2_m:
4293case RISCV::BI__builtin_rvv_vfsub_vf_f32m4_m:
4294case RISCV::BI__builtin_rvv_vfsub_vf_f32m8_m:
4295case RISCV::BI__builtin_rvv_vfsub_vf_f32mf2_m:
4296case RISCV::BI__builtin_rvv_vfsub_vf_f64m1_m:
4297case RISCV::BI__builtin_rvv_vfsub_vf_f64m2_m:
4298case RISCV::BI__builtin_rvv_vfsub_vf_f64m4_m:
4299case RISCV::BI__builtin_rvv_vfsub_vf_f64m8_m:
4300 ID = Intrinsic::riscv_vfsub_mask;
4301 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4302 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
4303 break;
4304case RISCV::BI__builtin_rvv_vfwadd_vv_f64m1:
4305case RISCV::BI__builtin_rvv_vfwadd_vv_f64m2:
4306case RISCV::BI__builtin_rvv_vfwadd_vv_f64m4:
4307case RISCV::BI__builtin_rvv_vfwadd_vv_f64m8:
4308case RISCV::BI__builtin_rvv_vfwadd_vf_f64m1:
4309case RISCV::BI__builtin_rvv_vfwadd_vf_f64m2:
4310case RISCV::BI__builtin_rvv_vfwadd_vf_f64m4:
4311case RISCV::BI__builtin_rvv_vfwadd_vf_f64m8:
4312 ID = Intrinsic::riscv_vfwadd;
4313 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
4314 break;
4315case RISCV::BI__builtin_rvv_vfwadd_vv_f64m1_m:
4316case RISCV::BI__builtin_rvv_vfwadd_vv_f64m2_m:
4317case RISCV::BI__builtin_rvv_vfwadd_vv_f64m4_m:
4318case RISCV::BI__builtin_rvv_vfwadd_vv_f64m8_m:
4319case RISCV::BI__builtin_rvv_vfwadd_vf_f64m1_m:
4320case RISCV::BI__builtin_rvv_vfwadd_vf_f64m2_m:
4321case RISCV::BI__builtin_rvv_vfwadd_vf_f64m4_m:
4322case RISCV::BI__builtin_rvv_vfwadd_vf_f64m8_m:
4323 ID = Intrinsic::riscv_vfwadd_mask;
4324 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4325 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
4326 break;
4327case RISCV::BI__builtin_rvv_vfwadd_wv_f64m1:
4328case RISCV::BI__builtin_rvv_vfwadd_wv_f64m2:
4329case RISCV::BI__builtin_rvv_vfwadd_wv_f64m4:
4330case RISCV::BI__builtin_rvv_vfwadd_wv_f64m8:
4331case RISCV::BI__builtin_rvv_vfwadd_wf_f64m1:
4332case RISCV::BI__builtin_rvv_vfwadd_wf_f64m2:
4333case RISCV::BI__builtin_rvv_vfwadd_wf_f64m4:
4334case RISCV::BI__builtin_rvv_vfwadd_wf_f64m8:
4335 ID = Intrinsic::riscv_vfwadd_w;
4336 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4337 break;
4338case RISCV::BI__builtin_rvv_vfwadd_wv_f64m1_m:
4339case RISCV::BI__builtin_rvv_vfwadd_wv_f64m2_m:
4340case RISCV::BI__builtin_rvv_vfwadd_wv_f64m4_m:
4341case RISCV::BI__builtin_rvv_vfwadd_wv_f64m8_m:
4342case RISCV::BI__builtin_rvv_vfwadd_wf_f64m1_m:
4343case RISCV::BI__builtin_rvv_vfwadd_wf_f64m2_m:
4344case RISCV::BI__builtin_rvv_vfwadd_wf_f64m4_m:
4345case RISCV::BI__builtin_rvv_vfwadd_wf_f64m8_m:
4346 ID = Intrinsic::riscv_vfwadd_w_mask;
4347 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4348 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
4349 break;
4350case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f32mf2:
4351case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f32m1:
4352case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f32m2:
4353case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f32m4:
4354case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f32m8:
4355case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f64m1:
4356case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f64m2:
4357case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f64m4:
4358case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f64m8:
4359 ID = Intrinsic::riscv_vfwcvt_f_f_v;
4360 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
4361 break;
4362case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f32mf2_m:
4363case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f32m1_m:
4364case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f32m2_m:
4365case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f32m4_m:
4366case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f32m8_m:
4367case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f64m1_m:
4368case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f64m2_m:
4369case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f64m4_m:
4370case RISCV::BI__builtin_rvv_vfwcvt_f_f_v_f64m8_m:
4371 ID = Intrinsic::riscv_vfwcvt_f_f_v_mask;
4372 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4373 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4374 break;
4375case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f16mf4:
4376case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f16mf2:
4377case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f16m1:
4378case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f16m2:
4379case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f16m4:
4380case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f16m8:
4381case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f32mf2:
4382case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f32m1:
4383case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f32m2:
4384case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f32m4:
4385case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f32m8:
4386case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f64m1:
4387case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f64m2:
4388case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f64m4:
4389case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f64m8:
4390 ID = Intrinsic::riscv_vfwcvt_f_x_v;
4391 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
4392 break;
4393case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f16mf4_m:
4394case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f16mf2_m:
4395case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f16m1_m:
4396case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f16m2_m:
4397case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f16m4_m:
4398case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f16m8_m:
4399case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f32mf2_m:
4400case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f32m1_m:
4401case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f32m2_m:
4402case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f32m4_m:
4403case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f32m8_m:
4404case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f64m1_m:
4405case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f64m2_m:
4406case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f64m4_m:
4407case RISCV::BI__builtin_rvv_vfwcvt_f_x_v_f64m8_m:
4408 ID = Intrinsic::riscv_vfwcvt_f_x_v_mask;
4409 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4410 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4411 break;
4412case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f16mf4:
4413case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f16mf2:
4414case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f16m1:
4415case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f16m2:
4416case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f16m4:
4417case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f16m8:
4418case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f32mf2:
4419case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f32m1:
4420case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f32m2:
4421case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f32m4:
4422case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f32m8:
4423case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f64m1:
4424case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f64m2:
4425case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f64m4:
4426case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f64m8:
4427 ID = Intrinsic::riscv_vfwcvt_f_xu_v;
4428 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
4429 break;
4430case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f16mf4_m:
4431case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f16mf2_m:
4432case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f16m1_m:
4433case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f16m2_m:
4434case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f16m4_m:
4435case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f16m8_m:
4436case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f32mf2_m:
4437case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f32m1_m:
4438case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f32m2_m:
4439case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f32m4_m:
4440case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f32m8_m:
4441case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f64m1_m:
4442case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f64m2_m:
4443case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f64m4_m:
4444case RISCV::BI__builtin_rvv_vfwcvt_f_xu_v_f64m8_m:
4445 ID = Intrinsic::riscv_vfwcvt_f_xu_v_mask;
4446 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4447 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4448 break;
4449case RISCV::BI__builtin_rvv_vfwcvt_rtz_x_f_v_i64m1:
4450case RISCV::BI__builtin_rvv_vfwcvt_rtz_x_f_v_i64m2:
4451case RISCV::BI__builtin_rvv_vfwcvt_rtz_x_f_v_i64m4:
4452case RISCV::BI__builtin_rvv_vfwcvt_rtz_x_f_v_i64m8:
4453 ID = Intrinsic::riscv_vfwcvt_rtz_x_f_v;
4454 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
4455 break;
4456case RISCV::BI__builtin_rvv_vfwcvt_rtz_x_f_v_i64m1_m:
4457case RISCV::BI__builtin_rvv_vfwcvt_rtz_x_f_v_i64m2_m:
4458case RISCV::BI__builtin_rvv_vfwcvt_rtz_x_f_v_i64m4_m:
4459case RISCV::BI__builtin_rvv_vfwcvt_rtz_x_f_v_i64m8_m:
4460 ID = Intrinsic::riscv_vfwcvt_rtz_x_f_v_mask;
4461 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4462 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4463 break;
4464case RISCV::BI__builtin_rvv_vfwcvt_rtz_xu_f_v_u64m1:
4465case RISCV::BI__builtin_rvv_vfwcvt_rtz_xu_f_v_u64m2:
4466case RISCV::BI__builtin_rvv_vfwcvt_rtz_xu_f_v_u64m4:
4467case RISCV::BI__builtin_rvv_vfwcvt_rtz_xu_f_v_u64m8:
4468 ID = Intrinsic::riscv_vfwcvt_rtz_xu_f_v;
4469 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
4470 break;
4471case RISCV::BI__builtin_rvv_vfwcvt_rtz_xu_f_v_u64m1_m:
4472case RISCV::BI__builtin_rvv_vfwcvt_rtz_xu_f_v_u64m2_m:
4473case RISCV::BI__builtin_rvv_vfwcvt_rtz_xu_f_v_u64m4_m:
4474case RISCV::BI__builtin_rvv_vfwcvt_rtz_xu_f_v_u64m8_m:
4475 ID = Intrinsic::riscv_vfwcvt_rtz_xu_f_v_mask;
4476 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4477 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4478 break;
4479case RISCV::BI__builtin_rvv_vfwcvt_x_f_v_i64m1:
4480case RISCV::BI__builtin_rvv_vfwcvt_x_f_v_i64m2:
4481case RISCV::BI__builtin_rvv_vfwcvt_x_f_v_i64m4:
4482case RISCV::BI__builtin_rvv_vfwcvt_x_f_v_i64m8:
4483 ID = Intrinsic::riscv_vfwcvt_x_f_v;
4484 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
4485 break;
4486case RISCV::BI__builtin_rvv_vfwcvt_x_f_v_i64m1_m:
4487case RISCV::BI__builtin_rvv_vfwcvt_x_f_v_i64m2_m:
4488case RISCV::BI__builtin_rvv_vfwcvt_x_f_v_i64m4_m:
4489case RISCV::BI__builtin_rvv_vfwcvt_x_f_v_i64m8_m:
4490 ID = Intrinsic::riscv_vfwcvt_x_f_v_mask;
4491 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4492 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4493 break;
4494case RISCV::BI__builtin_rvv_vfwcvt_xu_f_v_u64m1:
4495case RISCV::BI__builtin_rvv_vfwcvt_xu_f_v_u64m2:
4496case RISCV::BI__builtin_rvv_vfwcvt_xu_f_v_u64m4:
4497case RISCV::BI__builtin_rvv_vfwcvt_xu_f_v_u64m8:
4498 ID = Intrinsic::riscv_vfwcvt_xu_f_v;
4499 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
4500 break;
4501case RISCV::BI__builtin_rvv_vfwcvt_xu_f_v_u64m1_m:
4502case RISCV::BI__builtin_rvv_vfwcvt_xu_f_v_u64m2_m:
4503case RISCV::BI__builtin_rvv_vfwcvt_xu_f_v_u64m4_m:
4504case RISCV::BI__builtin_rvv_vfwcvt_xu_f_v_u64m8_m:
4505 ID = Intrinsic::riscv_vfwcvt_xu_f_v_mask;
4506 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4507 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4508 break;
4509case RISCV::BI__builtin_rvv_vfwmacc_vv_f64m1:
4510case RISCV::BI__builtin_rvv_vfwmacc_vv_f64m2:
4511case RISCV::BI__builtin_rvv_vfwmacc_vv_f64m4:
4512case RISCV::BI__builtin_rvv_vfwmacc_vv_f64m8:
4513case RISCV::BI__builtin_rvv_vfwmacc_vf_f64m1:
4514case RISCV::BI__builtin_rvv_vfwmacc_vf_f64m2:
4515case RISCV::BI__builtin_rvv_vfwmacc_vf_f64m4:
4516case RISCV::BI__builtin_rvv_vfwmacc_vf_f64m8:
4517 ID = Intrinsic::riscv_vfwmacc;
4518 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
4519 break;
4520case RISCV::BI__builtin_rvv_vfwmacc_vv_f64m1_m:
4521case RISCV::BI__builtin_rvv_vfwmacc_vv_f64m2_m:
4522case RISCV::BI__builtin_rvv_vfwmacc_vv_f64m4_m:
4523case RISCV::BI__builtin_rvv_vfwmacc_vv_f64m8_m:
4524case RISCV::BI__builtin_rvv_vfwmacc_vf_f64m1_m:
4525case RISCV::BI__builtin_rvv_vfwmacc_vf_f64m2_m:
4526case RISCV::BI__builtin_rvv_vfwmacc_vf_f64m4_m:
4527case RISCV::BI__builtin_rvv_vfwmacc_vf_f64m8_m:
4528 ID = Intrinsic::riscv_vfwmacc_mask;
4529 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4530 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
4531 break;
4532case RISCV::BI__builtin_rvv_vfwmsac_vv_f64m1:
4533case RISCV::BI__builtin_rvv_vfwmsac_vv_f64m2:
4534case RISCV::BI__builtin_rvv_vfwmsac_vv_f64m4:
4535case RISCV::BI__builtin_rvv_vfwmsac_vv_f64m8:
4536case RISCV::BI__builtin_rvv_vfwmsac_vf_f64m1:
4537case RISCV::BI__builtin_rvv_vfwmsac_vf_f64m2:
4538case RISCV::BI__builtin_rvv_vfwmsac_vf_f64m4:
4539case RISCV::BI__builtin_rvv_vfwmsac_vf_f64m8:
4540 ID = Intrinsic::riscv_vfwmsac;
4541 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
4542 break;
4543case RISCV::BI__builtin_rvv_vfwmsac_vv_f64m1_m:
4544case RISCV::BI__builtin_rvv_vfwmsac_vv_f64m2_m:
4545case RISCV::BI__builtin_rvv_vfwmsac_vv_f64m4_m:
4546case RISCV::BI__builtin_rvv_vfwmsac_vv_f64m8_m:
4547case RISCV::BI__builtin_rvv_vfwmsac_vf_f64m1_m:
4548case RISCV::BI__builtin_rvv_vfwmsac_vf_f64m2_m:
4549case RISCV::BI__builtin_rvv_vfwmsac_vf_f64m4_m:
4550case RISCV::BI__builtin_rvv_vfwmsac_vf_f64m8_m:
4551 ID = Intrinsic::riscv_vfwmsac_mask;
4552 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4553 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
4554 break;
4555case RISCV::BI__builtin_rvv_vfwmul_vv_f64m1:
4556case RISCV::BI__builtin_rvv_vfwmul_vv_f64m2:
4557case RISCV::BI__builtin_rvv_vfwmul_vv_f64m4:
4558case RISCV::BI__builtin_rvv_vfwmul_vv_f64m8:
4559case RISCV::BI__builtin_rvv_vfwmul_vf_f64m1:
4560case RISCV::BI__builtin_rvv_vfwmul_vf_f64m2:
4561case RISCV::BI__builtin_rvv_vfwmul_vf_f64m4:
4562case RISCV::BI__builtin_rvv_vfwmul_vf_f64m8:
4563 ID = Intrinsic::riscv_vfwmul;
4564 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
4565 break;
4566case RISCV::BI__builtin_rvv_vfwmul_vv_f64m1_m:
4567case RISCV::BI__builtin_rvv_vfwmul_vv_f64m2_m:
4568case RISCV::BI__builtin_rvv_vfwmul_vv_f64m4_m:
4569case RISCV::BI__builtin_rvv_vfwmul_vv_f64m8_m:
4570case RISCV::BI__builtin_rvv_vfwmul_vf_f64m1_m:
4571case RISCV::BI__builtin_rvv_vfwmul_vf_f64m2_m:
4572case RISCV::BI__builtin_rvv_vfwmul_vf_f64m4_m:
4573case RISCV::BI__builtin_rvv_vfwmul_vf_f64m8_m:
4574 ID = Intrinsic::riscv_vfwmul_mask;
4575 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4576 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
4577 break;
4578case RISCV::BI__builtin_rvv_vfwnmacc_vv_f64m1:
4579case RISCV::BI__builtin_rvv_vfwnmacc_vv_f64m2:
4580case RISCV::BI__builtin_rvv_vfwnmacc_vv_f64m4:
4581case RISCV::BI__builtin_rvv_vfwnmacc_vv_f64m8:
4582case RISCV::BI__builtin_rvv_vfwnmacc_vf_f64m1:
4583case RISCV::BI__builtin_rvv_vfwnmacc_vf_f64m2:
4584case RISCV::BI__builtin_rvv_vfwnmacc_vf_f64m4:
4585case RISCV::BI__builtin_rvv_vfwnmacc_vf_f64m8:
4586 ID = Intrinsic::riscv_vfwnmacc;
4587 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
4588 break;
4589case RISCV::BI__builtin_rvv_vfwnmacc_vv_f64m1_m:
4590case RISCV::BI__builtin_rvv_vfwnmacc_vv_f64m2_m:
4591case RISCV::BI__builtin_rvv_vfwnmacc_vv_f64m4_m:
4592case RISCV::BI__builtin_rvv_vfwnmacc_vv_f64m8_m:
4593case RISCV::BI__builtin_rvv_vfwnmacc_vf_f64m1_m:
4594case RISCV::BI__builtin_rvv_vfwnmacc_vf_f64m2_m:
4595case RISCV::BI__builtin_rvv_vfwnmacc_vf_f64m4_m:
4596case RISCV::BI__builtin_rvv_vfwnmacc_vf_f64m8_m:
4597 ID = Intrinsic::riscv_vfwnmacc_mask;
4598 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4599 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
4600 break;
4601case RISCV::BI__builtin_rvv_vfwnmsac_vv_f64m1:
4602case RISCV::BI__builtin_rvv_vfwnmsac_vv_f64m2:
4603case RISCV::BI__builtin_rvv_vfwnmsac_vv_f64m4:
4604case RISCV::BI__builtin_rvv_vfwnmsac_vv_f64m8:
4605case RISCV::BI__builtin_rvv_vfwnmsac_vf_f64m1:
4606case RISCV::BI__builtin_rvv_vfwnmsac_vf_f64m2:
4607case RISCV::BI__builtin_rvv_vfwnmsac_vf_f64m4:
4608case RISCV::BI__builtin_rvv_vfwnmsac_vf_f64m8:
4609 ID = Intrinsic::riscv_vfwnmsac;
4610 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
4611 break;
4612case RISCV::BI__builtin_rvv_vfwnmsac_vv_f64m1_m:
4613case RISCV::BI__builtin_rvv_vfwnmsac_vv_f64m2_m:
4614case RISCV::BI__builtin_rvv_vfwnmsac_vv_f64m4_m:
4615case RISCV::BI__builtin_rvv_vfwnmsac_vv_f64m8_m:
4616case RISCV::BI__builtin_rvv_vfwnmsac_vf_f64m1_m:
4617case RISCV::BI__builtin_rvv_vfwnmsac_vf_f64m2_m:
4618case RISCV::BI__builtin_rvv_vfwnmsac_vf_f64m4_m:
4619case RISCV::BI__builtin_rvv_vfwnmsac_vf_f64m8_m:
4620 ID = Intrinsic::riscv_vfwnmsac_mask;
4621 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4622 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
4623 break;
4624case RISCV::BI__builtin_rvv_vfwredosum_vs_f32m1_f64m1:
4625case RISCV::BI__builtin_rvv_vfwredosum_vs_f32m2_f64m1:
4626case RISCV::BI__builtin_rvv_vfwredosum_vs_f32m4_f64m1:
4627case RISCV::BI__builtin_rvv_vfwredosum_vs_f32m8_f64m1:
4628case RISCV::BI__builtin_rvv_vfwredosum_vs_f32mf2_f64m1:
4629 ID = Intrinsic::riscv_vfwredosum;
4630 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4631 break;
4632case RISCV::BI__builtin_rvv_vfwredosum_vs_f32m1_f64m1_m:
4633case RISCV::BI__builtin_rvv_vfwredosum_vs_f32m2_f64m1_m:
4634case RISCV::BI__builtin_rvv_vfwredosum_vs_f32m4_f64m1_m:
4635case RISCV::BI__builtin_rvv_vfwredosum_vs_f32m8_f64m1_m:
4636case RISCV::BI__builtin_rvv_vfwredosum_vs_f32mf2_f64m1_m:
4637 ID = Intrinsic::riscv_vfwredosum_mask;
4638 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4639 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4640 break;
4641case RISCV::BI__builtin_rvv_vfwredsum_vs_f32m1_f64m1:
4642case RISCV::BI__builtin_rvv_vfwredsum_vs_f32m2_f64m1:
4643case RISCV::BI__builtin_rvv_vfwredsum_vs_f32m4_f64m1:
4644case RISCV::BI__builtin_rvv_vfwredsum_vs_f32m8_f64m1:
4645case RISCV::BI__builtin_rvv_vfwredsum_vs_f32mf2_f64m1:
4646 ID = Intrinsic::riscv_vfwredsum;
4647 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4648 break;
4649case RISCV::BI__builtin_rvv_vfwredsum_vs_f32m1_f64m1_m:
4650case RISCV::BI__builtin_rvv_vfwredsum_vs_f32m2_f64m1_m:
4651case RISCV::BI__builtin_rvv_vfwredsum_vs_f32m4_f64m1_m:
4652case RISCV::BI__builtin_rvv_vfwredsum_vs_f32m8_f64m1_m:
4653case RISCV::BI__builtin_rvv_vfwredsum_vs_f32mf2_f64m1_m:
4654 ID = Intrinsic::riscv_vfwredsum_mask;
4655 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4656 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4657 break;
4658case RISCV::BI__builtin_rvv_vfwsub_vv_f64m1:
4659case RISCV::BI__builtin_rvv_vfwsub_vv_f64m2:
4660case RISCV::BI__builtin_rvv_vfwsub_vv_f64m4:
4661case RISCV::BI__builtin_rvv_vfwsub_vv_f64m8:
4662case RISCV::BI__builtin_rvv_vfwsub_vf_f64m1:
4663case RISCV::BI__builtin_rvv_vfwsub_vf_f64m2:
4664case RISCV::BI__builtin_rvv_vfwsub_vf_f64m4:
4665case RISCV::BI__builtin_rvv_vfwsub_vf_f64m8:
4666 ID = Intrinsic::riscv_vfwsub;
4667 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
4668 break;
4669case RISCV::BI__builtin_rvv_vfwsub_vv_f64m1_m:
4670case RISCV::BI__builtin_rvv_vfwsub_vv_f64m2_m:
4671case RISCV::BI__builtin_rvv_vfwsub_vv_f64m4_m:
4672case RISCV::BI__builtin_rvv_vfwsub_vv_f64m8_m:
4673case RISCV::BI__builtin_rvv_vfwsub_vf_f64m1_m:
4674case RISCV::BI__builtin_rvv_vfwsub_vf_f64m2_m:
4675case RISCV::BI__builtin_rvv_vfwsub_vf_f64m4_m:
4676case RISCV::BI__builtin_rvv_vfwsub_vf_f64m8_m:
4677 ID = Intrinsic::riscv_vfwsub_mask;
4678 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4679 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
4680 break;
4681case RISCV::BI__builtin_rvv_vfwsub_wv_f64m1:
4682case RISCV::BI__builtin_rvv_vfwsub_wv_f64m2:
4683case RISCV::BI__builtin_rvv_vfwsub_wv_f64m4:
4684case RISCV::BI__builtin_rvv_vfwsub_wv_f64m8:
4685case RISCV::BI__builtin_rvv_vfwsub_wf_f64m1:
4686case RISCV::BI__builtin_rvv_vfwsub_wf_f64m2:
4687case RISCV::BI__builtin_rvv_vfwsub_wf_f64m4:
4688case RISCV::BI__builtin_rvv_vfwsub_wf_f64m8:
4689 ID = Intrinsic::riscv_vfwsub_w;
4690 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
4691 break;
4692case RISCV::BI__builtin_rvv_vfwsub_wv_f64m1_m:
4693case RISCV::BI__builtin_rvv_vfwsub_wv_f64m2_m:
4694case RISCV::BI__builtin_rvv_vfwsub_wv_f64m4_m:
4695case RISCV::BI__builtin_rvv_vfwsub_wv_f64m8_m:
4696case RISCV::BI__builtin_rvv_vfwsub_wf_f64m1_m:
4697case RISCV::BI__builtin_rvv_vfwsub_wf_f64m2_m:
4698case RISCV::BI__builtin_rvv_vfwsub_wf_f64m4_m:
4699case RISCV::BI__builtin_rvv_vfwsub_wf_f64m8_m:
4700 ID = Intrinsic::riscv_vfwsub_w_mask;
4701 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4702 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
4703 break;
4704case RISCV::BI__builtin_rvv_vid_v_i8m1:
4705case RISCV::BI__builtin_rvv_vid_v_i8m2:
4706case RISCV::BI__builtin_rvv_vid_v_i8m4:
4707case RISCV::BI__builtin_rvv_vid_v_i8m8:
4708case RISCV::BI__builtin_rvv_vid_v_i8mf2:
4709case RISCV::BI__builtin_rvv_vid_v_i8mf4:
4710case RISCV::BI__builtin_rvv_vid_v_i8mf8:
4711case RISCV::BI__builtin_rvv_vid_v_i16m1:
4712case RISCV::BI__builtin_rvv_vid_v_i16m2:
4713case RISCV::BI__builtin_rvv_vid_v_i16m4:
4714case RISCV::BI__builtin_rvv_vid_v_i16m8:
4715case RISCV::BI__builtin_rvv_vid_v_i16mf2:
4716case RISCV::BI__builtin_rvv_vid_v_i16mf4:
4717case RISCV::BI__builtin_rvv_vid_v_i32m1:
4718case RISCV::BI__builtin_rvv_vid_v_i32m2:
4719case RISCV::BI__builtin_rvv_vid_v_i32m4:
4720case RISCV::BI__builtin_rvv_vid_v_i32m8:
4721case RISCV::BI__builtin_rvv_vid_v_i32mf2:
4722case RISCV::BI__builtin_rvv_vid_v_i64m1:
4723case RISCV::BI__builtin_rvv_vid_v_i64m2:
4724case RISCV::BI__builtin_rvv_vid_v_i64m4:
4725case RISCV::BI__builtin_rvv_vid_v_i64m8:
4726case RISCV::BI__builtin_rvv_vid_v_u8m1:
4727case RISCV::BI__builtin_rvv_vid_v_u8m2:
4728case RISCV::BI__builtin_rvv_vid_v_u8m4:
4729case RISCV::BI__builtin_rvv_vid_v_u8m8:
4730case RISCV::BI__builtin_rvv_vid_v_u8mf2:
4731case RISCV::BI__builtin_rvv_vid_v_u8mf4:
4732case RISCV::BI__builtin_rvv_vid_v_u8mf8:
4733case RISCV::BI__builtin_rvv_vid_v_u16m1:
4734case RISCV::BI__builtin_rvv_vid_v_u16m2:
4735case RISCV::BI__builtin_rvv_vid_v_u16m4:
4736case RISCV::BI__builtin_rvv_vid_v_u16m8:
4737case RISCV::BI__builtin_rvv_vid_v_u16mf2:
4738case RISCV::BI__builtin_rvv_vid_v_u16mf4:
4739case RISCV::BI__builtin_rvv_vid_v_u32m1:
4740case RISCV::BI__builtin_rvv_vid_v_u32m2:
4741case RISCV::BI__builtin_rvv_vid_v_u32m4:
4742case RISCV::BI__builtin_rvv_vid_v_u32m8:
4743case RISCV::BI__builtin_rvv_vid_v_u32mf2:
4744case RISCV::BI__builtin_rvv_vid_v_u64m1:
4745case RISCV::BI__builtin_rvv_vid_v_u64m2:
4746case RISCV::BI__builtin_rvv_vid_v_u64m4:
4747case RISCV::BI__builtin_rvv_vid_v_u64m8:
4748 ID = Intrinsic::riscv_vid;
4749 IntrinsicTypes = {ResultType, Ops.back()->getType()};
4750 break;
4751case RISCV::BI__builtin_rvv_vid_v_i8m1_m:
4752case RISCV::BI__builtin_rvv_vid_v_i8m2_m:
4753case RISCV::BI__builtin_rvv_vid_v_i8m4_m:
4754case RISCV::BI__builtin_rvv_vid_v_i8m8_m:
4755case RISCV::BI__builtin_rvv_vid_v_i8mf2_m:
4756case RISCV::BI__builtin_rvv_vid_v_i8mf4_m:
4757case RISCV::BI__builtin_rvv_vid_v_i8mf8_m:
4758case RISCV::BI__builtin_rvv_vid_v_i16m1_m:
4759case RISCV::BI__builtin_rvv_vid_v_i16m2_m:
4760case RISCV::BI__builtin_rvv_vid_v_i16m4_m:
4761case RISCV::BI__builtin_rvv_vid_v_i16m8_m:
4762case RISCV::BI__builtin_rvv_vid_v_i16mf2_m:
4763case RISCV::BI__builtin_rvv_vid_v_i16mf4_m:
4764case RISCV::BI__builtin_rvv_vid_v_i32m1_m:
4765case RISCV::BI__builtin_rvv_vid_v_i32m2_m:
4766case RISCV::BI__builtin_rvv_vid_v_i32m4_m:
4767case RISCV::BI__builtin_rvv_vid_v_i32m8_m:
4768case RISCV::BI__builtin_rvv_vid_v_i32mf2_m:
4769case RISCV::BI__builtin_rvv_vid_v_i64m1_m:
4770case RISCV::BI__builtin_rvv_vid_v_i64m2_m:
4771case RISCV::BI__builtin_rvv_vid_v_i64m4_m:
4772case RISCV::BI__builtin_rvv_vid_v_i64m8_m:
4773case RISCV::BI__builtin_rvv_vid_v_u8m1_m:
4774case RISCV::BI__builtin_rvv_vid_v_u8m2_m:
4775case RISCV::BI__builtin_rvv_vid_v_u8m4_m:
4776case RISCV::BI__builtin_rvv_vid_v_u8m8_m:
4777case RISCV::BI__builtin_rvv_vid_v_u8mf2_m:
4778case RISCV::BI__builtin_rvv_vid_v_u8mf4_m:
4779case RISCV::BI__builtin_rvv_vid_v_u8mf8_m:
4780case RISCV::BI__builtin_rvv_vid_v_u16m1_m:
4781case RISCV::BI__builtin_rvv_vid_v_u16m2_m:
4782case RISCV::BI__builtin_rvv_vid_v_u16m4_m:
4783case RISCV::BI__builtin_rvv_vid_v_u16m8_m:
4784case RISCV::BI__builtin_rvv_vid_v_u16mf2_m:
4785case RISCV::BI__builtin_rvv_vid_v_u16mf4_m:
4786case RISCV::BI__builtin_rvv_vid_v_u32m1_m:
4787case RISCV::BI__builtin_rvv_vid_v_u32m2_m:
4788case RISCV::BI__builtin_rvv_vid_v_u32m4_m:
4789case RISCV::BI__builtin_rvv_vid_v_u32m8_m:
4790case RISCV::BI__builtin_rvv_vid_v_u32mf2_m:
4791case RISCV::BI__builtin_rvv_vid_v_u64m1_m:
4792case RISCV::BI__builtin_rvv_vid_v_u64m2_m:
4793case RISCV::BI__builtin_rvv_vid_v_u64m4_m:
4794case RISCV::BI__builtin_rvv_vid_v_u64m8_m:
4795 ID = Intrinsic::riscv_vid_mask;
4796 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4797 IntrinsicTypes = {ResultType, Ops.back()->getType()};
4798 break;
4799case RISCV::BI__builtin_rvv_viota_m_u8m1:
4800case RISCV::BI__builtin_rvv_viota_m_u8m2:
4801case RISCV::BI__builtin_rvv_viota_m_u8m4:
4802case RISCV::BI__builtin_rvv_viota_m_u8m8:
4803case RISCV::BI__builtin_rvv_viota_m_u8mf2:
4804case RISCV::BI__builtin_rvv_viota_m_u8mf4:
4805case RISCV::BI__builtin_rvv_viota_m_u8mf8:
4806case RISCV::BI__builtin_rvv_viota_m_u16m1:
4807case RISCV::BI__builtin_rvv_viota_m_u16m2:
4808case RISCV::BI__builtin_rvv_viota_m_u16m4:
4809case RISCV::BI__builtin_rvv_viota_m_u16m8:
4810case RISCV::BI__builtin_rvv_viota_m_u16mf2:
4811case RISCV::BI__builtin_rvv_viota_m_u16mf4:
4812case RISCV::BI__builtin_rvv_viota_m_u32m1:
4813case RISCV::BI__builtin_rvv_viota_m_u32m2:
4814case RISCV::BI__builtin_rvv_viota_m_u32m4:
4815case RISCV::BI__builtin_rvv_viota_m_u32m8:
4816case RISCV::BI__builtin_rvv_viota_m_u32mf2:
4817case RISCV::BI__builtin_rvv_viota_m_u64m1:
4818case RISCV::BI__builtin_rvv_viota_m_u64m2:
4819case RISCV::BI__builtin_rvv_viota_m_u64m4:
4820case RISCV::BI__builtin_rvv_viota_m_u64m8:
4821 ID = Intrinsic::riscv_viota;
4822 IntrinsicTypes = {ResultType, Ops.back()->getType()};
4823 break;
4824case RISCV::BI__builtin_rvv_viota_m_u8m1_m:
4825case RISCV::BI__builtin_rvv_viota_m_u8m2_m:
4826case RISCV::BI__builtin_rvv_viota_m_u8m4_m:
4827case RISCV::BI__builtin_rvv_viota_m_u8m8_m:
4828case RISCV::BI__builtin_rvv_viota_m_u8mf2_m:
4829case RISCV::BI__builtin_rvv_viota_m_u8mf4_m:
4830case RISCV::BI__builtin_rvv_viota_m_u8mf8_m:
4831case RISCV::BI__builtin_rvv_viota_m_u16m1_m:
4832case RISCV::BI__builtin_rvv_viota_m_u16m2_m:
4833case RISCV::BI__builtin_rvv_viota_m_u16m4_m:
4834case RISCV::BI__builtin_rvv_viota_m_u16m8_m:
4835case RISCV::BI__builtin_rvv_viota_m_u16mf2_m:
4836case RISCV::BI__builtin_rvv_viota_m_u16mf4_m:
4837case RISCV::BI__builtin_rvv_viota_m_u32m1_m:
4838case RISCV::BI__builtin_rvv_viota_m_u32m2_m:
4839case RISCV::BI__builtin_rvv_viota_m_u32m4_m:
4840case RISCV::BI__builtin_rvv_viota_m_u32m8_m:
4841case RISCV::BI__builtin_rvv_viota_m_u32mf2_m:
4842case RISCV::BI__builtin_rvv_viota_m_u64m1_m:
4843case RISCV::BI__builtin_rvv_viota_m_u64m2_m:
4844case RISCV::BI__builtin_rvv_viota_m_u64m4_m:
4845case RISCV::BI__builtin_rvv_viota_m_u64m8_m:
4846 ID = Intrinsic::riscv_viota_mask;
4847 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4848 IntrinsicTypes = {ResultType, Ops.back()->getType()};
4849 break;
4850case RISCV::BI__builtin_rvv_vle8_v_i8m1:
4851case RISCV::BI__builtin_rvv_vle8_v_i8m2:
4852case RISCV::BI__builtin_rvv_vle8_v_i8m4:
4853case RISCV::BI__builtin_rvv_vle8_v_i8m8:
4854case RISCV::BI__builtin_rvv_vle8_v_i8mf2:
4855case RISCV::BI__builtin_rvv_vle8_v_i8mf4:
4856case RISCV::BI__builtin_rvv_vle8_v_i8mf8:
4857case RISCV::BI__builtin_rvv_vle16_v_i16m1:
4858case RISCV::BI__builtin_rvv_vle16_v_i16m2:
4859case RISCV::BI__builtin_rvv_vle16_v_i16m4:
4860case RISCV::BI__builtin_rvv_vle16_v_i16m8:
4861case RISCV::BI__builtin_rvv_vle16_v_i16mf2:
4862case RISCV::BI__builtin_rvv_vle16_v_i16mf4:
4863case RISCV::BI__builtin_rvv_vle16_v_u16m1:
4864case RISCV::BI__builtin_rvv_vle16_v_u16m2:
4865case RISCV::BI__builtin_rvv_vle16_v_u16m4:
4866case RISCV::BI__builtin_rvv_vle16_v_u16m8:
4867case RISCV::BI__builtin_rvv_vle16_v_u16mf2:
4868case RISCV::BI__builtin_rvv_vle16_v_u16mf4:
4869case RISCV::BI__builtin_rvv_vle32_v_i32m1:
4870case RISCV::BI__builtin_rvv_vle32_v_i32m2:
4871case RISCV::BI__builtin_rvv_vle32_v_i32m4:
4872case RISCV::BI__builtin_rvv_vle32_v_i32m8:
4873case RISCV::BI__builtin_rvv_vle32_v_i32mf2:
4874case RISCV::BI__builtin_rvv_vle32_v_u32m1:
4875case RISCV::BI__builtin_rvv_vle32_v_u32m2:
4876case RISCV::BI__builtin_rvv_vle32_v_u32m4:
4877case RISCV::BI__builtin_rvv_vle32_v_u32m8:
4878case RISCV::BI__builtin_rvv_vle32_v_u32mf2:
4879case RISCV::BI__builtin_rvv_vle32_v_f32m1:
4880case RISCV::BI__builtin_rvv_vle32_v_f32m2:
4881case RISCV::BI__builtin_rvv_vle32_v_f32m4:
4882case RISCV::BI__builtin_rvv_vle32_v_f32m8:
4883case RISCV::BI__builtin_rvv_vle32_v_f32mf2:
4884case RISCV::BI__builtin_rvv_vle64_v_i64m1:
4885case RISCV::BI__builtin_rvv_vle64_v_i64m2:
4886case RISCV::BI__builtin_rvv_vle64_v_i64m4:
4887case RISCV::BI__builtin_rvv_vle64_v_i64m8:
4888case RISCV::BI__builtin_rvv_vle64_v_u64m1:
4889case RISCV::BI__builtin_rvv_vle64_v_u64m2:
4890case RISCV::BI__builtin_rvv_vle64_v_u64m4:
4891case RISCV::BI__builtin_rvv_vle64_v_u64m8:
4892case RISCV::BI__builtin_rvv_vle64_v_f64m1:
4893case RISCV::BI__builtin_rvv_vle64_v_f64m2:
4894case RISCV::BI__builtin_rvv_vle64_v_f64m4:
4895case RISCV::BI__builtin_rvv_vle64_v_f64m8:
4896case RISCV::BI__builtin_rvv_vle8_v_u8m1:
4897case RISCV::BI__builtin_rvv_vle8_v_u8m2:
4898case RISCV::BI__builtin_rvv_vle8_v_u8m4:
4899case RISCV::BI__builtin_rvv_vle8_v_u8m8:
4900case RISCV::BI__builtin_rvv_vle8_v_u8mf2:
4901case RISCV::BI__builtin_rvv_vle8_v_u8mf4:
4902case RISCV::BI__builtin_rvv_vle8_v_u8mf8:
4903 ID = Intrinsic::riscv_vle;
4904
4905 IntrinsicTypes = {ResultType, Ops[1]->getType()};
4906 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
4907 break;
4908case RISCV::BI__builtin_rvv_vle1_v_b8:
4909case RISCV::BI__builtin_rvv_vle1_v_b4:
4910case RISCV::BI__builtin_rvv_vle1_v_b2:
4911case RISCV::BI__builtin_rvv_vle1_v_b1:
4912case RISCV::BI__builtin_rvv_vle1_v_b16:
4913case RISCV::BI__builtin_rvv_vle1_v_b32:
4914case RISCV::BI__builtin_rvv_vle1_v_b64:
4915 ID = Intrinsic::riscv_vle1;
4916
4917 IntrinsicTypes = {ResultType, Ops[1]->getType()};
4918 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
4919 break;
4920case RISCV::BI__builtin_rvv_vle8_v_i8m1_m:
4921case RISCV::BI__builtin_rvv_vle8_v_i8m2_m:
4922case RISCV::BI__builtin_rvv_vle8_v_i8m4_m:
4923case RISCV::BI__builtin_rvv_vle8_v_i8m8_m:
4924case RISCV::BI__builtin_rvv_vle8_v_i8mf2_m:
4925case RISCV::BI__builtin_rvv_vle8_v_i8mf4_m:
4926case RISCV::BI__builtin_rvv_vle8_v_i8mf8_m:
4927case RISCV::BI__builtin_rvv_vle16_v_i16m1_m:
4928case RISCV::BI__builtin_rvv_vle16_v_i16m2_m:
4929case RISCV::BI__builtin_rvv_vle16_v_i16m4_m:
4930case RISCV::BI__builtin_rvv_vle16_v_i16m8_m:
4931case RISCV::BI__builtin_rvv_vle16_v_i16mf2_m:
4932case RISCV::BI__builtin_rvv_vle16_v_i16mf4_m:
4933case RISCV::BI__builtin_rvv_vle16_v_u16m1_m:
4934case RISCV::BI__builtin_rvv_vle16_v_u16m2_m:
4935case RISCV::BI__builtin_rvv_vle16_v_u16m4_m:
4936case RISCV::BI__builtin_rvv_vle16_v_u16m8_m:
4937case RISCV::BI__builtin_rvv_vle16_v_u16mf2_m:
4938case RISCV::BI__builtin_rvv_vle16_v_u16mf4_m:
4939case RISCV::BI__builtin_rvv_vle32_v_i32m1_m:
4940case RISCV::BI__builtin_rvv_vle32_v_i32m2_m:
4941case RISCV::BI__builtin_rvv_vle32_v_i32m4_m:
4942case RISCV::BI__builtin_rvv_vle32_v_i32m8_m:
4943case RISCV::BI__builtin_rvv_vle32_v_i32mf2_m:
4944case RISCV::BI__builtin_rvv_vle32_v_u32m1_m:
4945case RISCV::BI__builtin_rvv_vle32_v_u32m2_m:
4946case RISCV::BI__builtin_rvv_vle32_v_u32m4_m:
4947case RISCV::BI__builtin_rvv_vle32_v_u32m8_m:
4948case RISCV::BI__builtin_rvv_vle32_v_u32mf2_m:
4949case RISCV::BI__builtin_rvv_vle32_v_f32m1_m:
4950case RISCV::BI__builtin_rvv_vle32_v_f32m2_m:
4951case RISCV::BI__builtin_rvv_vle32_v_f32m4_m:
4952case RISCV::BI__builtin_rvv_vle32_v_f32m8_m:
4953case RISCV::BI__builtin_rvv_vle32_v_f32mf2_m:
4954case RISCV::BI__builtin_rvv_vle64_v_i64m1_m:
4955case RISCV::BI__builtin_rvv_vle64_v_i64m2_m:
4956case RISCV::BI__builtin_rvv_vle64_v_i64m4_m:
4957case RISCV::BI__builtin_rvv_vle64_v_i64m8_m:
4958case RISCV::BI__builtin_rvv_vle64_v_u64m1_m:
4959case RISCV::BI__builtin_rvv_vle64_v_u64m2_m:
4960case RISCV::BI__builtin_rvv_vle64_v_u64m4_m:
4961case RISCV::BI__builtin_rvv_vle64_v_u64m8_m:
4962case RISCV::BI__builtin_rvv_vle64_v_f64m1_m:
4963case RISCV::BI__builtin_rvv_vle64_v_f64m2_m:
4964case RISCV::BI__builtin_rvv_vle64_v_f64m4_m:
4965case RISCV::BI__builtin_rvv_vle64_v_f64m8_m:
4966case RISCV::BI__builtin_rvv_vle8_v_u8m1_m:
4967case RISCV::BI__builtin_rvv_vle8_v_u8m2_m:
4968case RISCV::BI__builtin_rvv_vle8_v_u8m4_m:
4969case RISCV::BI__builtin_rvv_vle8_v_u8m8_m:
4970case RISCV::BI__builtin_rvv_vle8_v_u8mf2_m:
4971case RISCV::BI__builtin_rvv_vle8_v_u8mf4_m:
4972case RISCV::BI__builtin_rvv_vle8_v_u8mf8_m:
4973 ID = Intrinsic::riscv_vle_mask;
4974
4975 // Move mask to right before vl.
4976 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
4977 IntrinsicTypes = {ResultType, Ops[3]->getType()};
4978 Ops[1] = Builder.CreateBitCast(Ops[1], ResultType->getPointerTo());
4979 break;
4980case RISCV::BI__builtin_rvv_vle16ff_v_i16m1:
4981case RISCV::BI__builtin_rvv_vle16ff_v_i16m2:
4982case RISCV::BI__builtin_rvv_vle16ff_v_i16m4:
4983case RISCV::BI__builtin_rvv_vle16ff_v_i16m8:
4984case RISCV::BI__builtin_rvv_vle16ff_v_i16mf2:
4985case RISCV::BI__builtin_rvv_vle16ff_v_i16mf4:
4986case RISCV::BI__builtin_rvv_vle16ff_v_u16m1:
4987case RISCV::BI__builtin_rvv_vle16ff_v_u16m2:
4988case RISCV::BI__builtin_rvv_vle16ff_v_u16m4:
4989case RISCV::BI__builtin_rvv_vle16ff_v_u16m8:
4990case RISCV::BI__builtin_rvv_vle16ff_v_u16mf2:
4991case RISCV::BI__builtin_rvv_vle16ff_v_u16mf4:
4992case RISCV::BI__builtin_rvv_vle32ff_v_i32m1:
4993case RISCV::BI__builtin_rvv_vle32ff_v_i32m2:
4994case RISCV::BI__builtin_rvv_vle32ff_v_i32m4:
4995case RISCV::BI__builtin_rvv_vle32ff_v_i32m8:
4996case RISCV::BI__builtin_rvv_vle32ff_v_i32mf2:
4997case RISCV::BI__builtin_rvv_vle32ff_v_u32m1:
4998case RISCV::BI__builtin_rvv_vle32ff_v_u32m2:
4999case RISCV::BI__builtin_rvv_vle32ff_v_u32m4:
5000case RISCV::BI__builtin_rvv_vle32ff_v_u32m8:
5001case RISCV::BI__builtin_rvv_vle32ff_v_u32mf2:
5002case RISCV::BI__builtin_rvv_vle32ff_v_f32m1:
5003case RISCV::BI__builtin_rvv_vle32ff_v_f32m2:
5004case RISCV::BI__builtin_rvv_vle32ff_v_f32m4:
5005case RISCV::BI__builtin_rvv_vle32ff_v_f32m8:
5006case RISCV::BI__builtin_rvv_vle32ff_v_f32mf2:
5007case RISCV::BI__builtin_rvv_vle64ff_v_i64m1:
5008case RISCV::BI__builtin_rvv_vle64ff_v_i64m2:
5009case RISCV::BI__builtin_rvv_vle64ff_v_i64m4:
5010case RISCV::BI__builtin_rvv_vle64ff_v_i64m8:
5011case RISCV::BI__builtin_rvv_vle64ff_v_u64m1:
5012case RISCV::BI__builtin_rvv_vle64ff_v_u64m2:
5013case RISCV::BI__builtin_rvv_vle64ff_v_u64m4:
5014case RISCV::BI__builtin_rvv_vle64ff_v_u64m8:
5015case RISCV::BI__builtin_rvv_vle64ff_v_f64m1:
5016case RISCV::BI__builtin_rvv_vle64ff_v_f64m2:
5017case RISCV::BI__builtin_rvv_vle64ff_v_f64m4:
5018case RISCV::BI__builtin_rvv_vle64ff_v_f64m8:
5019case RISCV::BI__builtin_rvv_vle8ff_v_i8m1:
5020case RISCV::BI__builtin_rvv_vle8ff_v_i8m2:
5021case RISCV::BI__builtin_rvv_vle8ff_v_i8m4:
5022case RISCV::BI__builtin_rvv_vle8ff_v_i8m8:
5023case RISCV::BI__builtin_rvv_vle8ff_v_i8mf2:
5024case RISCV::BI__builtin_rvv_vle8ff_v_i8mf4:
5025case RISCV::BI__builtin_rvv_vle8ff_v_i8mf8:
5026case RISCV::BI__builtin_rvv_vle8ff_v_u8m1:
5027case RISCV::BI__builtin_rvv_vle8ff_v_u8m2:
5028case RISCV::BI__builtin_rvv_vle8ff_v_u8m4:
5029case RISCV::BI__builtin_rvv_vle8ff_v_u8m8:
5030case RISCV::BI__builtin_rvv_vle8ff_v_u8mf2:
5031case RISCV::BI__builtin_rvv_vle8ff_v_u8mf4:
5032case RISCV::BI__builtin_rvv_vle8ff_v_u8mf8:
5033 ID = Intrinsic::riscv_vleff;
5034
5035 {
5036 IntrinsicTypes = {ResultType, Ops[2]->getType()};
5037 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
5038 Value *NewVL = Ops[1];
5039 Ops.erase(Ops.begin() + 1);
5040 llvm::Function *F = CGM.getIntrinsic(ID, IntrinsicTypes);
5041 llvm::Value *LoadValue = Builder.CreateCall(F, Ops, "");
5042 llvm::Value *V = Builder.CreateExtractValue(LoadValue, {0});
5043 // Store new_vl.
5044 clang::CharUnits Align =
5045 CGM.getNaturalTypeAlignment(getContext().getSizeType());
5046 Builder.CreateStore(Builder.CreateExtractValue(LoadValue, {1}),
5047 Address(NewVL, Align));
5048 return V;
5049 }
5050 break;
5051case RISCV::BI__builtin_rvv_vle16ff_v_i16m1_m:
5052case RISCV::BI__builtin_rvv_vle16ff_v_i16m2_m:
5053case RISCV::BI__builtin_rvv_vle16ff_v_i16m4_m:
5054case RISCV::BI__builtin_rvv_vle16ff_v_i16m8_m:
5055case RISCV::BI__builtin_rvv_vle16ff_v_i16mf2_m:
5056case RISCV::BI__builtin_rvv_vle16ff_v_i16mf4_m:
5057case RISCV::BI__builtin_rvv_vle16ff_v_u16m1_m:
5058case RISCV::BI__builtin_rvv_vle16ff_v_u16m2_m:
5059case RISCV::BI__builtin_rvv_vle16ff_v_u16m4_m:
5060case RISCV::BI__builtin_rvv_vle16ff_v_u16m8_m:
5061case RISCV::BI__builtin_rvv_vle16ff_v_u16mf2_m:
5062case RISCV::BI__builtin_rvv_vle16ff_v_u16mf4_m:
5063case RISCV::BI__builtin_rvv_vle32ff_v_i32m1_m:
5064case RISCV::BI__builtin_rvv_vle32ff_v_i32m2_m:
5065case RISCV::BI__builtin_rvv_vle32ff_v_i32m4_m:
5066case RISCV::BI__builtin_rvv_vle32ff_v_i32m8_m:
5067case RISCV::BI__builtin_rvv_vle32ff_v_i32mf2_m:
5068case RISCV::BI__builtin_rvv_vle32ff_v_u32m1_m:
5069case RISCV::BI__builtin_rvv_vle32ff_v_u32m2_m:
5070case RISCV::BI__builtin_rvv_vle32ff_v_u32m4_m:
5071case RISCV::BI__builtin_rvv_vle32ff_v_u32m8_m:
5072case RISCV::BI__builtin_rvv_vle32ff_v_u32mf2_m:
5073case RISCV::BI__builtin_rvv_vle32ff_v_f32m1_m:
5074case RISCV::BI__builtin_rvv_vle32ff_v_f32m2_m:
5075case RISCV::BI__builtin_rvv_vle32ff_v_f32m4_m:
5076case RISCV::BI__builtin_rvv_vle32ff_v_f32m8_m:
5077case RISCV::BI__builtin_rvv_vle32ff_v_f32mf2_m:
5078case RISCV::BI__builtin_rvv_vle64ff_v_i64m1_m:
5079case RISCV::BI__builtin_rvv_vle64ff_v_i64m2_m:
5080case RISCV::BI__builtin_rvv_vle64ff_v_i64m4_m:
5081case RISCV::BI__builtin_rvv_vle64ff_v_i64m8_m:
5082case RISCV::BI__builtin_rvv_vle64ff_v_u64m1_m:
5083case RISCV::BI__builtin_rvv_vle64ff_v_u64m2_m:
5084case RISCV::BI__builtin_rvv_vle64ff_v_u64m4_m:
5085case RISCV::BI__builtin_rvv_vle64ff_v_u64m8_m:
5086case RISCV::BI__builtin_rvv_vle64ff_v_f64m1_m:
5087case RISCV::BI__builtin_rvv_vle64ff_v_f64m2_m:
5088case RISCV::BI__builtin_rvv_vle64ff_v_f64m4_m:
5089case RISCV::BI__builtin_rvv_vle64ff_v_f64m8_m:
5090case RISCV::BI__builtin_rvv_vle8ff_v_i8m1_m:
5091case RISCV::BI__builtin_rvv_vle8ff_v_i8m2_m:
5092case RISCV::BI__builtin_rvv_vle8ff_v_i8m4_m:
5093case RISCV::BI__builtin_rvv_vle8ff_v_i8m8_m:
5094case RISCV::BI__builtin_rvv_vle8ff_v_i8mf2_m:
5095case RISCV::BI__builtin_rvv_vle8ff_v_i8mf4_m:
5096case RISCV::BI__builtin_rvv_vle8ff_v_i8mf8_m:
5097case RISCV::BI__builtin_rvv_vle8ff_v_u8m1_m:
5098case RISCV::BI__builtin_rvv_vle8ff_v_u8m2_m:
5099case RISCV::BI__builtin_rvv_vle8ff_v_u8m4_m:
5100case RISCV::BI__builtin_rvv_vle8ff_v_u8m8_m:
5101case RISCV::BI__builtin_rvv_vle8ff_v_u8mf2_m:
5102case RISCV::BI__builtin_rvv_vle8ff_v_u8mf4_m:
5103case RISCV::BI__builtin_rvv_vle8ff_v_u8mf8_m:
5104 ID = Intrinsic::riscv_vleff_mask;
5105
5106 {
5107 // Move mask to right before vl.
5108 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
5109 IntrinsicTypes = {ResultType, Ops[4]->getType()};
5110 Ops[1] = Builder.CreateBitCast(Ops[1], ResultType->getPointerTo());
5111 Value *NewVL = Ops[2];
5112 Ops.erase(Ops.begin() + 2);
5113 llvm::Function *F = CGM.getIntrinsic(ID, IntrinsicTypes);
5114 llvm::Value *LoadValue = Builder.CreateCall(F, Ops, "");
5115 llvm::Value *V = Builder.CreateExtractValue(LoadValue, {0});
5116 // Store new_vl.
5117 clang::CharUnits Align =
5118 CGM.getNaturalTypeAlignment(getContext().getSizeType());
5119 Builder.CreateStore(Builder.CreateExtractValue(LoadValue, {1}),
5120 Address(NewVL, Align));
5121 return V;
5122 }
5123 break;
5124case RISCV::BI__builtin_rvv_vloxei8_v_i8m1:
5125case RISCV::BI__builtin_rvv_vloxei8_v_i8m2:
5126case RISCV::BI__builtin_rvv_vloxei8_v_i8m4:
5127case RISCV::BI__builtin_rvv_vloxei8_v_i8m8:
5128case RISCV::BI__builtin_rvv_vloxei8_v_i8mf2:
5129case RISCV::BI__builtin_rvv_vloxei8_v_i8mf4:
5130case RISCV::BI__builtin_rvv_vloxei8_v_i8mf8:
5131case RISCV::BI__builtin_rvv_vloxei8_v_u8m1:
5132case RISCV::BI__builtin_rvv_vloxei8_v_u8m2:
5133case RISCV::BI__builtin_rvv_vloxei8_v_u8m4:
5134case RISCV::BI__builtin_rvv_vloxei8_v_u8m8:
5135case RISCV::BI__builtin_rvv_vloxei8_v_u8mf2:
5136case RISCV::BI__builtin_rvv_vloxei8_v_u8mf4:
5137case RISCV::BI__builtin_rvv_vloxei8_v_u8mf8:
5138case RISCV::BI__builtin_rvv_vloxei16_v_i8m1:
5139case RISCV::BI__builtin_rvv_vloxei16_v_i8m2:
5140case RISCV::BI__builtin_rvv_vloxei16_v_i8m4:
5141case RISCV::BI__builtin_rvv_vloxei16_v_i8mf2:
5142case RISCV::BI__builtin_rvv_vloxei16_v_i8mf4:
5143case RISCV::BI__builtin_rvv_vloxei16_v_i8mf8:
5144case RISCV::BI__builtin_rvv_vloxei16_v_u8m1:
5145case RISCV::BI__builtin_rvv_vloxei16_v_u8m2:
5146case RISCV::BI__builtin_rvv_vloxei16_v_u8m4:
5147case RISCV::BI__builtin_rvv_vloxei16_v_u8mf2:
5148case RISCV::BI__builtin_rvv_vloxei16_v_u8mf4:
5149case RISCV::BI__builtin_rvv_vloxei16_v_u8mf8:
5150case RISCV::BI__builtin_rvv_vloxei32_v_i8m1:
5151case RISCV::BI__builtin_rvv_vloxei32_v_i8m2:
5152case RISCV::BI__builtin_rvv_vloxei32_v_i8mf2:
5153case RISCV::BI__builtin_rvv_vloxei32_v_i8mf4:
5154case RISCV::BI__builtin_rvv_vloxei32_v_i8mf8:
5155case RISCV::BI__builtin_rvv_vloxei32_v_u8m1:
5156case RISCV::BI__builtin_rvv_vloxei32_v_u8m2:
5157case RISCV::BI__builtin_rvv_vloxei32_v_u8mf2:
5158case RISCV::BI__builtin_rvv_vloxei32_v_u8mf4:
5159case RISCV::BI__builtin_rvv_vloxei32_v_u8mf8:
5160case RISCV::BI__builtin_rvv_vloxei64_v_i8m1:
5161case RISCV::BI__builtin_rvv_vloxei64_v_i8mf2:
5162case RISCV::BI__builtin_rvv_vloxei64_v_i8mf4:
5163case RISCV::BI__builtin_rvv_vloxei64_v_i8mf8:
5164case RISCV::BI__builtin_rvv_vloxei64_v_u8m1:
5165case RISCV::BI__builtin_rvv_vloxei64_v_u8mf2:
5166case RISCV::BI__builtin_rvv_vloxei64_v_u8mf4:
5167case RISCV::BI__builtin_rvv_vloxei64_v_u8mf8:
5168case RISCV::BI__builtin_rvv_vloxei8_v_i16m1:
5169case RISCV::BI__builtin_rvv_vloxei8_v_i16m2:
5170case RISCV::BI__builtin_rvv_vloxei8_v_i16m4:
5171case RISCV::BI__builtin_rvv_vloxei8_v_i16m8:
5172case RISCV::BI__builtin_rvv_vloxei8_v_i16mf2:
5173case RISCV::BI__builtin_rvv_vloxei8_v_i16mf4:
5174case RISCV::BI__builtin_rvv_vloxei8_v_u16m1:
5175case RISCV::BI__builtin_rvv_vloxei8_v_u16m2:
5176case RISCV::BI__builtin_rvv_vloxei8_v_u16m4:
5177case RISCV::BI__builtin_rvv_vloxei8_v_u16m8:
5178case RISCV::BI__builtin_rvv_vloxei8_v_u16mf2:
5179case RISCV::BI__builtin_rvv_vloxei8_v_u16mf4:
5180case RISCV::BI__builtin_rvv_vloxei16_v_i16m1:
5181case RISCV::BI__builtin_rvv_vloxei16_v_i16m2:
5182case RISCV::BI__builtin_rvv_vloxei16_v_i16m4:
5183case RISCV::BI__builtin_rvv_vloxei16_v_i16m8:
5184case RISCV::BI__builtin_rvv_vloxei16_v_i16mf2:
5185case RISCV::BI__builtin_rvv_vloxei16_v_i16mf4:
5186case RISCV::BI__builtin_rvv_vloxei16_v_u16m1:
5187case RISCV::BI__builtin_rvv_vloxei16_v_u16m2:
5188case RISCV::BI__builtin_rvv_vloxei16_v_u16m4:
5189case RISCV::BI__builtin_rvv_vloxei16_v_u16m8:
5190case RISCV::BI__builtin_rvv_vloxei16_v_u16mf2:
5191case RISCV::BI__builtin_rvv_vloxei16_v_u16mf4:
5192case RISCV::BI__builtin_rvv_vloxei32_v_i16m1:
5193case RISCV::BI__builtin_rvv_vloxei32_v_i16m2:
5194case RISCV::BI__builtin_rvv_vloxei32_v_i16m4:
5195case RISCV::BI__builtin_rvv_vloxei32_v_i16mf2:
5196case RISCV::BI__builtin_rvv_vloxei32_v_i16mf4:
5197case RISCV::BI__builtin_rvv_vloxei32_v_u16m1:
5198case RISCV::BI__builtin_rvv_vloxei32_v_u16m2:
5199case RISCV::BI__builtin_rvv_vloxei32_v_u16m4:
5200case RISCV::BI__builtin_rvv_vloxei32_v_u16mf2:
5201case RISCV::BI__builtin_rvv_vloxei32_v_u16mf4:
5202case RISCV::BI__builtin_rvv_vloxei64_v_i16m1:
5203case RISCV::BI__builtin_rvv_vloxei64_v_i16m2:
5204case RISCV::BI__builtin_rvv_vloxei64_v_i16mf2:
5205case RISCV::BI__builtin_rvv_vloxei64_v_i16mf4:
5206case RISCV::BI__builtin_rvv_vloxei64_v_u16m1:
5207case RISCV::BI__builtin_rvv_vloxei64_v_u16m2:
5208case RISCV::BI__builtin_rvv_vloxei64_v_u16mf2:
5209case RISCV::BI__builtin_rvv_vloxei64_v_u16mf4:
5210case RISCV::BI__builtin_rvv_vloxei8_v_i32m1:
5211case RISCV::BI__builtin_rvv_vloxei8_v_i32m2:
5212case RISCV::BI__builtin_rvv_vloxei8_v_i32m4:
5213case RISCV::BI__builtin_rvv_vloxei8_v_i32m8:
5214case RISCV::BI__builtin_rvv_vloxei8_v_i32mf2:
5215case RISCV::BI__builtin_rvv_vloxei8_v_u32m1:
5216case RISCV::BI__builtin_rvv_vloxei8_v_u32m2:
5217case RISCV::BI__builtin_rvv_vloxei8_v_u32m4:
5218case RISCV::BI__builtin_rvv_vloxei8_v_u32m8:
5219case RISCV::BI__builtin_rvv_vloxei8_v_u32mf2:
5220case RISCV::BI__builtin_rvv_vloxei16_v_i32m1:
5221case RISCV::BI__builtin_rvv_vloxei16_v_i32m2:
5222case RISCV::BI__builtin_rvv_vloxei16_v_i32m4:
5223case RISCV::BI__builtin_rvv_vloxei16_v_i32m8:
5224case RISCV::BI__builtin_rvv_vloxei16_v_i32mf2:
5225case RISCV::BI__builtin_rvv_vloxei16_v_u32m1:
5226case RISCV::BI__builtin_rvv_vloxei16_v_u32m2:
5227case RISCV::BI__builtin_rvv_vloxei16_v_u32m4:
5228case RISCV::BI__builtin_rvv_vloxei16_v_u32m8:
5229case RISCV::BI__builtin_rvv_vloxei16_v_u32mf2:
5230case RISCV::BI__builtin_rvv_vloxei32_v_i32m1:
5231case RISCV::BI__builtin_rvv_vloxei32_v_i32m2:
5232case RISCV::BI__builtin_rvv_vloxei32_v_i32m4:
5233case RISCV::BI__builtin_rvv_vloxei32_v_i32m8:
5234case RISCV::BI__builtin_rvv_vloxei32_v_i32mf2:
5235case RISCV::BI__builtin_rvv_vloxei32_v_u32m1:
5236case RISCV::BI__builtin_rvv_vloxei32_v_u32m2:
5237case RISCV::BI__builtin_rvv_vloxei32_v_u32m4:
5238case RISCV::BI__builtin_rvv_vloxei32_v_u32m8:
5239case RISCV::BI__builtin_rvv_vloxei32_v_u32mf2:
5240case RISCV::BI__builtin_rvv_vloxei64_v_i32m1:
5241case RISCV::BI__builtin_rvv_vloxei64_v_i32m2:
5242case RISCV::BI__builtin_rvv_vloxei64_v_i32m4:
5243case RISCV::BI__builtin_rvv_vloxei64_v_i32mf2:
5244case RISCV::BI__builtin_rvv_vloxei64_v_u32m1:
5245case RISCV::BI__builtin_rvv_vloxei64_v_u32m2:
5246case RISCV::BI__builtin_rvv_vloxei64_v_u32m4:
5247case RISCV::BI__builtin_rvv_vloxei64_v_u32mf2:
5248case RISCV::BI__builtin_rvv_vloxei8_v_i64m1:
5249case RISCV::BI__builtin_rvv_vloxei8_v_i64m2:
5250case RISCV::BI__builtin_rvv_vloxei8_v_i64m4:
5251case RISCV::BI__builtin_rvv_vloxei8_v_i64m8:
5252case RISCV::BI__builtin_rvv_vloxei8_v_u64m1:
5253case RISCV::BI__builtin_rvv_vloxei8_v_u64m2:
5254case RISCV::BI__builtin_rvv_vloxei8_v_u64m4:
5255case RISCV::BI__builtin_rvv_vloxei8_v_u64m8:
5256case RISCV::BI__builtin_rvv_vloxei16_v_i64m1:
5257case RISCV::BI__builtin_rvv_vloxei16_v_i64m2:
5258case RISCV::BI__builtin_rvv_vloxei16_v_i64m4:
5259case RISCV::BI__builtin_rvv_vloxei16_v_i64m8:
5260case RISCV::BI__builtin_rvv_vloxei16_v_u64m1:
5261case RISCV::BI__builtin_rvv_vloxei16_v_u64m2:
5262case RISCV::BI__builtin_rvv_vloxei16_v_u64m4:
5263case RISCV::BI__builtin_rvv_vloxei16_v_u64m8:
5264case RISCV::BI__builtin_rvv_vloxei32_v_i64m1:
5265case RISCV::BI__builtin_rvv_vloxei32_v_i64m2:
5266case RISCV::BI__builtin_rvv_vloxei32_v_i64m4:
5267case RISCV::BI__builtin_rvv_vloxei32_v_i64m8:
5268case RISCV::BI__builtin_rvv_vloxei32_v_u64m1:
5269case RISCV::BI__builtin_rvv_vloxei32_v_u64m2:
5270case RISCV::BI__builtin_rvv_vloxei32_v_u64m4:
5271case RISCV::BI__builtin_rvv_vloxei32_v_u64m8:
5272case RISCV::BI__builtin_rvv_vloxei64_v_i64m1:
5273case RISCV::BI__builtin_rvv_vloxei64_v_i64m2:
5274case RISCV::BI__builtin_rvv_vloxei64_v_i64m4:
5275case RISCV::BI__builtin_rvv_vloxei64_v_i64m8:
5276case RISCV::BI__builtin_rvv_vloxei64_v_u64m1:
5277case RISCV::BI__builtin_rvv_vloxei64_v_u64m2:
5278case RISCV::BI__builtin_rvv_vloxei64_v_u64m4:
5279case RISCV::BI__builtin_rvv_vloxei64_v_u64m8:
5280case RISCV::BI__builtin_rvv_vloxei8_v_f32m1:
5281case RISCV::BI__builtin_rvv_vloxei8_v_f32m2:
5282case RISCV::BI__builtin_rvv_vloxei8_v_f32m4:
5283case RISCV::BI__builtin_rvv_vloxei8_v_f32m8:
5284case RISCV::BI__builtin_rvv_vloxei8_v_f32mf2:
5285case RISCV::BI__builtin_rvv_vloxei16_v_f32m1:
5286case RISCV::BI__builtin_rvv_vloxei16_v_f32m2:
5287case RISCV::BI__builtin_rvv_vloxei16_v_f32m4:
5288case RISCV::BI__builtin_rvv_vloxei16_v_f32m8:
5289case RISCV::BI__builtin_rvv_vloxei16_v_f32mf2:
5290case RISCV::BI__builtin_rvv_vloxei32_v_f32m1:
5291case RISCV::BI__builtin_rvv_vloxei32_v_f32m2:
5292case RISCV::BI__builtin_rvv_vloxei32_v_f32m4:
5293case RISCV::BI__builtin_rvv_vloxei32_v_f32m8:
5294case RISCV::BI__builtin_rvv_vloxei32_v_f32mf2:
5295case RISCV::BI__builtin_rvv_vloxei64_v_f32m1:
5296case RISCV::BI__builtin_rvv_vloxei64_v_f32m2:
5297case RISCV::BI__builtin_rvv_vloxei64_v_f32m4:
5298case RISCV::BI__builtin_rvv_vloxei64_v_f32mf2:
5299case RISCV::BI__builtin_rvv_vloxei8_v_f64m1:
5300case RISCV::BI__builtin_rvv_vloxei8_v_f64m2:
5301case RISCV::BI__builtin_rvv_vloxei8_v_f64m4:
5302case RISCV::BI__builtin_rvv_vloxei8_v_f64m8:
5303case RISCV::BI__builtin_rvv_vloxei16_v_f64m1:
5304case RISCV::BI__builtin_rvv_vloxei16_v_f64m2:
5305case RISCV::BI__builtin_rvv_vloxei16_v_f64m4:
5306case RISCV::BI__builtin_rvv_vloxei16_v_f64m8:
5307case RISCV::BI__builtin_rvv_vloxei32_v_f64m1:
5308case RISCV::BI__builtin_rvv_vloxei32_v_f64m2:
5309case RISCV::BI__builtin_rvv_vloxei32_v_f64m4:
5310case RISCV::BI__builtin_rvv_vloxei32_v_f64m8:
5311case RISCV::BI__builtin_rvv_vloxei64_v_f64m1:
5312case RISCV::BI__builtin_rvv_vloxei64_v_f64m2:
5313case RISCV::BI__builtin_rvv_vloxei64_v_f64m4:
5314case RISCV::BI__builtin_rvv_vloxei64_v_f64m8:
5315 ID = Intrinsic::riscv_vloxei;
5316
5317 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType()};
5318 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
5319 break;
5320case RISCV::BI__builtin_rvv_vloxei8_v_i8m1_m:
5321case RISCV::BI__builtin_rvv_vloxei8_v_i8m2_m:
5322case RISCV::BI__builtin_rvv_vloxei8_v_i8m4_m:
5323case RISCV::BI__builtin_rvv_vloxei8_v_i8m8_m:
5324case RISCV::BI__builtin_rvv_vloxei8_v_i8mf2_m:
5325case RISCV::BI__builtin_rvv_vloxei8_v_i8mf4_m:
5326case RISCV::BI__builtin_rvv_vloxei8_v_i8mf8_m:
5327case RISCV::BI__builtin_rvv_vloxei8_v_u8m1_m:
5328case RISCV::BI__builtin_rvv_vloxei8_v_u8m2_m:
5329case RISCV::BI__builtin_rvv_vloxei8_v_u8m4_m:
5330case RISCV::BI__builtin_rvv_vloxei8_v_u8m8_m:
5331case RISCV::BI__builtin_rvv_vloxei8_v_u8mf2_m:
5332case RISCV::BI__builtin_rvv_vloxei8_v_u8mf4_m:
5333case RISCV::BI__builtin_rvv_vloxei8_v_u8mf8_m:
5334case RISCV::BI__builtin_rvv_vloxei16_v_i8m1_m:
5335case RISCV::BI__builtin_rvv_vloxei16_v_i8m2_m:
5336case RISCV::BI__builtin_rvv_vloxei16_v_i8m4_m:
5337case RISCV::BI__builtin_rvv_vloxei16_v_i8mf2_m:
5338case RISCV::BI__builtin_rvv_vloxei16_v_i8mf4_m:
5339case RISCV::BI__builtin_rvv_vloxei16_v_i8mf8_m:
5340case RISCV::BI__builtin_rvv_vloxei16_v_u8m1_m:
5341case RISCV::BI__builtin_rvv_vloxei16_v_u8m2_m:
5342case RISCV::BI__builtin_rvv_vloxei16_v_u8m4_m:
5343case RISCV::BI__builtin_rvv_vloxei16_v_u8mf2_m:
5344case RISCV::BI__builtin_rvv_vloxei16_v_u8mf4_m:
5345case RISCV::BI__builtin_rvv_vloxei16_v_u8mf8_m:
5346case RISCV::BI__builtin_rvv_vloxei32_v_i8m1_m:
5347case RISCV::BI__builtin_rvv_vloxei32_v_i8m2_m:
5348case RISCV::BI__builtin_rvv_vloxei32_v_i8mf2_m:
5349case RISCV::BI__builtin_rvv_vloxei32_v_i8mf4_m:
5350case RISCV::BI__builtin_rvv_vloxei32_v_i8mf8_m:
5351case RISCV::BI__builtin_rvv_vloxei32_v_u8m1_m:
5352case RISCV::BI__builtin_rvv_vloxei32_v_u8m2_m:
5353case RISCV::BI__builtin_rvv_vloxei32_v_u8mf2_m:
5354case RISCV::BI__builtin_rvv_vloxei32_v_u8mf4_m:
5355case RISCV::BI__builtin_rvv_vloxei32_v_u8mf8_m:
5356case RISCV::BI__builtin_rvv_vloxei64_v_i8m1_m:
5357case RISCV::BI__builtin_rvv_vloxei64_v_i8mf2_m:
5358case RISCV::BI__builtin_rvv_vloxei64_v_i8mf4_m:
5359case RISCV::BI__builtin_rvv_vloxei64_v_i8mf8_m:
5360case RISCV::BI__builtin_rvv_vloxei64_v_u8m1_m:
5361case RISCV::BI__builtin_rvv_vloxei64_v_u8mf2_m:
5362case RISCV::BI__builtin_rvv_vloxei64_v_u8mf4_m:
5363case RISCV::BI__builtin_rvv_vloxei64_v_u8mf8_m:
5364case RISCV::BI__builtin_rvv_vloxei8_v_i16m1_m:
5365case RISCV::BI__builtin_rvv_vloxei8_v_i16m2_m:
5366case RISCV::BI__builtin_rvv_vloxei8_v_i16m4_m:
5367case RISCV::BI__builtin_rvv_vloxei8_v_i16m8_m:
5368case RISCV::BI__builtin_rvv_vloxei8_v_i16mf2_m:
5369case RISCV::BI__builtin_rvv_vloxei8_v_i16mf4_m:
5370case RISCV::BI__builtin_rvv_vloxei8_v_u16m1_m:
5371case RISCV::BI__builtin_rvv_vloxei8_v_u16m2_m:
5372case RISCV::BI__builtin_rvv_vloxei8_v_u16m4_m:
5373case RISCV::BI__builtin_rvv_vloxei8_v_u16m8_m:
5374case RISCV::BI__builtin_rvv_vloxei8_v_u16mf2_m:
5375case RISCV::BI__builtin_rvv_vloxei8_v_u16mf4_m:
5376case RISCV::BI__builtin_rvv_vloxei16_v_i16m1_m:
5377case RISCV::BI__builtin_rvv_vloxei16_v_i16m2_m:
5378case RISCV::BI__builtin_rvv_vloxei16_v_i16m4_m:
5379case RISCV::BI__builtin_rvv_vloxei16_v_i16m8_m:
5380case RISCV::BI__builtin_rvv_vloxei16_v_i16mf2_m:
5381case RISCV::BI__builtin_rvv_vloxei16_v_i16mf4_m:
5382case RISCV::BI__builtin_rvv_vloxei16_v_u16m1_m:
5383case RISCV::BI__builtin_rvv_vloxei16_v_u16m2_m:
5384case RISCV::BI__builtin_rvv_vloxei16_v_u16m4_m:
5385case RISCV::BI__builtin_rvv_vloxei16_v_u16m8_m:
5386case RISCV::BI__builtin_rvv_vloxei16_v_u16mf2_m:
5387case RISCV::BI__builtin_rvv_vloxei16_v_u16mf4_m:
5388case RISCV::BI__builtin_rvv_vloxei32_v_i16m1_m:
5389case RISCV::BI__builtin_rvv_vloxei32_v_i16m2_m:
5390case RISCV::BI__builtin_rvv_vloxei32_v_i16m4_m:
5391case RISCV::BI__builtin_rvv_vloxei32_v_i16mf2_m:
5392case RISCV::BI__builtin_rvv_vloxei32_v_i16mf4_m:
5393case RISCV::BI__builtin_rvv_vloxei32_v_u16m1_m:
5394case RISCV::BI__builtin_rvv_vloxei32_v_u16m2_m:
5395case RISCV::BI__builtin_rvv_vloxei32_v_u16m4_m:
5396case RISCV::BI__builtin_rvv_vloxei32_v_u16mf2_m:
5397case RISCV::BI__builtin_rvv_vloxei32_v_u16mf4_m:
5398case RISCV::BI__builtin_rvv_vloxei64_v_i16m1_m:
5399case RISCV::BI__builtin_rvv_vloxei64_v_i16m2_m:
5400case RISCV::BI__builtin_rvv_vloxei64_v_i16mf2_m:
5401case RISCV::BI__builtin_rvv_vloxei64_v_i16mf4_m:
5402case RISCV::BI__builtin_rvv_vloxei64_v_u16m1_m:
5403case RISCV::BI__builtin_rvv_vloxei64_v_u16m2_m:
5404case RISCV::BI__builtin_rvv_vloxei64_v_u16mf2_m:
5405case RISCV::BI__builtin_rvv_vloxei64_v_u16mf4_m:
5406case RISCV::BI__builtin_rvv_vloxei8_v_i32m1_m:
5407case RISCV::BI__builtin_rvv_vloxei8_v_i32m2_m:
5408case RISCV::BI__builtin_rvv_vloxei8_v_i32m4_m:
5409case RISCV::BI__builtin_rvv_vloxei8_v_i32m8_m:
5410case RISCV::BI__builtin_rvv_vloxei8_v_i32mf2_m:
5411case RISCV::BI__builtin_rvv_vloxei8_v_u32m1_m:
5412case RISCV::BI__builtin_rvv_vloxei8_v_u32m2_m:
5413case RISCV::BI__builtin_rvv_vloxei8_v_u32m4_m:
5414case RISCV::BI__builtin_rvv_vloxei8_v_u32m8_m:
5415case RISCV::BI__builtin_rvv_vloxei8_v_u32mf2_m:
5416case RISCV::BI__builtin_rvv_vloxei16_v_i32m1_m:
5417case RISCV::BI__builtin_rvv_vloxei16_v_i32m2_m:
5418case RISCV::BI__builtin_rvv_vloxei16_v_i32m4_m:
5419case RISCV::BI__builtin_rvv_vloxei16_v_i32m8_m:
5420case RISCV::BI__builtin_rvv_vloxei16_v_i32mf2_m:
5421case RISCV::BI__builtin_rvv_vloxei16_v_u32m1_m:
5422case RISCV::BI__builtin_rvv_vloxei16_v_u32m2_m:
5423case RISCV::BI__builtin_rvv_vloxei16_v_u32m4_m:
5424case RISCV::BI__builtin_rvv_vloxei16_v_u32m8_m:
5425case RISCV::BI__builtin_rvv_vloxei16_v_u32mf2_m:
5426case RISCV::BI__builtin_rvv_vloxei32_v_i32m1_m:
5427case RISCV::BI__builtin_rvv_vloxei32_v_i32m2_m:
5428case RISCV::BI__builtin_rvv_vloxei32_v_i32m4_m:
5429case RISCV::BI__builtin_rvv_vloxei32_v_i32m8_m:
5430case RISCV::BI__builtin_rvv_vloxei32_v_i32mf2_m:
5431case RISCV::BI__builtin_rvv_vloxei32_v_u32m1_m:
5432case RISCV::BI__builtin_rvv_vloxei32_v_u32m2_m:
5433case RISCV::BI__builtin_rvv_vloxei32_v_u32m4_m:
5434case RISCV::BI__builtin_rvv_vloxei32_v_u32m8_m:
5435case RISCV::BI__builtin_rvv_vloxei32_v_u32mf2_m:
5436case RISCV::BI__builtin_rvv_vloxei64_v_i32m1_m:
5437case RISCV::BI__builtin_rvv_vloxei64_v_i32m2_m:
5438case RISCV::BI__builtin_rvv_vloxei64_v_i32m4_m:
5439case RISCV::BI__builtin_rvv_vloxei64_v_i32mf2_m:
5440case RISCV::BI__builtin_rvv_vloxei64_v_u32m1_m:
5441case RISCV::BI__builtin_rvv_vloxei64_v_u32m2_m:
5442case RISCV::BI__builtin_rvv_vloxei64_v_u32m4_m:
5443case RISCV::BI__builtin_rvv_vloxei64_v_u32mf2_m:
5444case RISCV::BI__builtin_rvv_vloxei8_v_i64m1_m:
5445case RISCV::BI__builtin_rvv_vloxei8_v_i64m2_m:
5446case RISCV::BI__builtin_rvv_vloxei8_v_i64m4_m:
5447case RISCV::BI__builtin_rvv_vloxei8_v_i64m8_m:
5448case RISCV::BI__builtin_rvv_vloxei8_v_u64m1_m:
5449case RISCV::BI__builtin_rvv_vloxei8_v_u64m2_m:
5450case RISCV::BI__builtin_rvv_vloxei8_v_u64m4_m:
5451case RISCV::BI__builtin_rvv_vloxei8_v_u64m8_m:
5452case RISCV::BI__builtin_rvv_vloxei16_v_i64m1_m:
5453case RISCV::BI__builtin_rvv_vloxei16_v_i64m2_m:
5454case RISCV::BI__builtin_rvv_vloxei16_v_i64m4_m:
5455case RISCV::BI__builtin_rvv_vloxei16_v_i64m8_m:
5456case RISCV::BI__builtin_rvv_vloxei16_v_u64m1_m:
5457case RISCV::BI__builtin_rvv_vloxei16_v_u64m2_m:
5458case RISCV::BI__builtin_rvv_vloxei16_v_u64m4_m:
5459case RISCV::BI__builtin_rvv_vloxei16_v_u64m8_m:
5460case RISCV::BI__builtin_rvv_vloxei32_v_i64m1_m:
5461case RISCV::BI__builtin_rvv_vloxei32_v_i64m2_m:
5462case RISCV::BI__builtin_rvv_vloxei32_v_i64m4_m:
5463case RISCV::BI__builtin_rvv_vloxei32_v_i64m8_m:
5464case RISCV::BI__builtin_rvv_vloxei32_v_u64m1_m:
5465case RISCV::BI__builtin_rvv_vloxei32_v_u64m2_m:
5466case RISCV::BI__builtin_rvv_vloxei32_v_u64m4_m:
5467case RISCV::BI__builtin_rvv_vloxei32_v_u64m8_m:
5468case RISCV::BI__builtin_rvv_vloxei64_v_i64m1_m:
5469case RISCV::BI__builtin_rvv_vloxei64_v_i64m2_m:
5470case RISCV::BI__builtin_rvv_vloxei64_v_i64m4_m:
5471case RISCV::BI__builtin_rvv_vloxei64_v_i64m8_m:
5472case RISCV::BI__builtin_rvv_vloxei64_v_u64m1_m:
5473case RISCV::BI__builtin_rvv_vloxei64_v_u64m2_m:
5474case RISCV::BI__builtin_rvv_vloxei64_v_u64m4_m:
5475case RISCV::BI__builtin_rvv_vloxei64_v_u64m8_m:
5476case RISCV::BI__builtin_rvv_vloxei8_v_f32m1_m:
5477case RISCV::BI__builtin_rvv_vloxei8_v_f32m2_m:
5478case RISCV::BI__builtin_rvv_vloxei8_v_f32m4_m:
5479case RISCV::BI__builtin_rvv_vloxei8_v_f32m8_m:
5480case RISCV::BI__builtin_rvv_vloxei8_v_f32mf2_m:
5481case RISCV::BI__builtin_rvv_vloxei16_v_f32m1_m:
5482case RISCV::BI__builtin_rvv_vloxei16_v_f32m2_m:
5483case RISCV::BI__builtin_rvv_vloxei16_v_f32m4_m:
5484case RISCV::BI__builtin_rvv_vloxei16_v_f32m8_m:
5485case RISCV::BI__builtin_rvv_vloxei16_v_f32mf2_m:
5486case RISCV::BI__builtin_rvv_vloxei32_v_f32m1_m:
5487case RISCV::BI__builtin_rvv_vloxei32_v_f32m2_m:
5488case RISCV::BI__builtin_rvv_vloxei32_v_f32m4_m:
5489case RISCV::BI__builtin_rvv_vloxei32_v_f32m8_m:
5490case RISCV::BI__builtin_rvv_vloxei32_v_f32mf2_m:
5491case RISCV::BI__builtin_rvv_vloxei64_v_f32m1_m:
5492case RISCV::BI__builtin_rvv_vloxei64_v_f32m2_m:
5493case RISCV::BI__builtin_rvv_vloxei64_v_f32m4_m:
5494case RISCV::BI__builtin_rvv_vloxei64_v_f32mf2_m:
5495case RISCV::BI__builtin_rvv_vloxei8_v_f64m1_m:
5496case RISCV::BI__builtin_rvv_vloxei8_v_f64m2_m:
5497case RISCV::BI__builtin_rvv_vloxei8_v_f64m4_m:
5498case RISCV::BI__builtin_rvv_vloxei8_v_f64m8_m:
5499case RISCV::BI__builtin_rvv_vloxei16_v_f64m1_m:
5500case RISCV::BI__builtin_rvv_vloxei16_v_f64m2_m:
5501case RISCV::BI__builtin_rvv_vloxei16_v_f64m4_m:
5502case RISCV::BI__builtin_rvv_vloxei16_v_f64m8_m:
5503case RISCV::BI__builtin_rvv_vloxei32_v_f64m1_m:
5504case RISCV::BI__builtin_rvv_vloxei32_v_f64m2_m:
5505case RISCV::BI__builtin_rvv_vloxei32_v_f64m4_m:
5506case RISCV::BI__builtin_rvv_vloxei32_v_f64m8_m:
5507case RISCV::BI__builtin_rvv_vloxei64_v_f64m1_m:
5508case RISCV::BI__builtin_rvv_vloxei64_v_f64m2_m:
5509case RISCV::BI__builtin_rvv_vloxei64_v_f64m4_m:
5510case RISCV::BI__builtin_rvv_vloxei64_v_f64m8_m:
5511 ID = Intrinsic::riscv_vloxei_mask;
5512
5513 // Move mask to right before vl.
5514 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
5515 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops[4]->getType()};
5516 Ops[1] = Builder.CreateBitCast(Ops[1], ResultType->getPointerTo());
5517 break;
5518case RISCV::BI__builtin_rvv_vlse16_v_i16m1:
5519case RISCV::BI__builtin_rvv_vlse16_v_i16m2:
5520case RISCV::BI__builtin_rvv_vlse16_v_i16m4:
5521case RISCV::BI__builtin_rvv_vlse16_v_i16m8:
5522case RISCV::BI__builtin_rvv_vlse16_v_i16mf2:
5523case RISCV::BI__builtin_rvv_vlse16_v_i16mf4:
5524case RISCV::BI__builtin_rvv_vlse16_v_u16m1:
5525case RISCV::BI__builtin_rvv_vlse16_v_u16m2:
5526case RISCV::BI__builtin_rvv_vlse16_v_u16m4:
5527case RISCV::BI__builtin_rvv_vlse16_v_u16m8:
5528case RISCV::BI__builtin_rvv_vlse16_v_u16mf2:
5529case RISCV::BI__builtin_rvv_vlse16_v_u16mf4:
5530case RISCV::BI__builtin_rvv_vlse32_v_i32m1:
5531case RISCV::BI__builtin_rvv_vlse32_v_i32m2:
5532case RISCV::BI__builtin_rvv_vlse32_v_i32m4:
5533case RISCV::BI__builtin_rvv_vlse32_v_i32m8:
5534case RISCV::BI__builtin_rvv_vlse32_v_i32mf2:
5535case RISCV::BI__builtin_rvv_vlse32_v_u32m1:
5536case RISCV::BI__builtin_rvv_vlse32_v_u32m2:
5537case RISCV::BI__builtin_rvv_vlse32_v_u32m4:
5538case RISCV::BI__builtin_rvv_vlse32_v_u32m8:
5539case RISCV::BI__builtin_rvv_vlse32_v_u32mf2:
5540case RISCV::BI__builtin_rvv_vlse32_v_f32m1:
5541case RISCV::BI__builtin_rvv_vlse32_v_f32m2:
5542case RISCV::BI__builtin_rvv_vlse32_v_f32m4:
5543case RISCV::BI__builtin_rvv_vlse32_v_f32m8:
5544case RISCV::BI__builtin_rvv_vlse32_v_f32mf2:
5545case RISCV::BI__builtin_rvv_vlse64_v_i64m1:
5546case RISCV::BI__builtin_rvv_vlse64_v_i64m2:
5547case RISCV::BI__builtin_rvv_vlse64_v_i64m4:
5548case RISCV::BI__builtin_rvv_vlse64_v_i64m8:
5549case RISCV::BI__builtin_rvv_vlse64_v_u64m1:
5550case RISCV::BI__builtin_rvv_vlse64_v_u64m2:
5551case RISCV::BI__builtin_rvv_vlse64_v_u64m4:
5552case RISCV::BI__builtin_rvv_vlse64_v_u64m8:
5553case RISCV::BI__builtin_rvv_vlse64_v_f64m1:
5554case RISCV::BI__builtin_rvv_vlse64_v_f64m2:
5555case RISCV::BI__builtin_rvv_vlse64_v_f64m4:
5556case RISCV::BI__builtin_rvv_vlse64_v_f64m8:
5557case RISCV::BI__builtin_rvv_vlse8_v_i8m1:
5558case RISCV::BI__builtin_rvv_vlse8_v_i8m2:
5559case RISCV::BI__builtin_rvv_vlse8_v_i8m4:
5560case RISCV::BI__builtin_rvv_vlse8_v_i8m8:
5561case RISCV::BI__builtin_rvv_vlse8_v_i8mf2:
5562case RISCV::BI__builtin_rvv_vlse8_v_i8mf4:
5563case RISCV::BI__builtin_rvv_vlse8_v_i8mf8:
5564case RISCV::BI__builtin_rvv_vlse8_v_u8m1:
5565case RISCV::BI__builtin_rvv_vlse8_v_u8m2:
5566case RISCV::BI__builtin_rvv_vlse8_v_u8m4:
5567case RISCV::BI__builtin_rvv_vlse8_v_u8m8:
5568case RISCV::BI__builtin_rvv_vlse8_v_u8mf2:
5569case RISCV::BI__builtin_rvv_vlse8_v_u8mf4:
5570case RISCV::BI__builtin_rvv_vlse8_v_u8mf8:
5571 ID = Intrinsic::riscv_vlse;
5572
5573 IntrinsicTypes = {ResultType, Ops[2]->getType()};
5574 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
5575 break;
5576case RISCV::BI__builtin_rvv_vlse16_v_i16m1_m:
5577case RISCV::BI__builtin_rvv_vlse16_v_i16m2_m:
5578case RISCV::BI__builtin_rvv_vlse16_v_i16m4_m:
5579case RISCV::BI__builtin_rvv_vlse16_v_i16m8_m:
5580case RISCV::BI__builtin_rvv_vlse16_v_i16mf2_m:
5581case RISCV::BI__builtin_rvv_vlse16_v_i16mf4_m:
5582case RISCV::BI__builtin_rvv_vlse16_v_u16m1_m:
5583case RISCV::BI__builtin_rvv_vlse16_v_u16m2_m:
5584case RISCV::BI__builtin_rvv_vlse16_v_u16m4_m:
5585case RISCV::BI__builtin_rvv_vlse16_v_u16m8_m:
5586case RISCV::BI__builtin_rvv_vlse16_v_u16mf2_m:
5587case RISCV::BI__builtin_rvv_vlse16_v_u16mf4_m:
5588case RISCV::BI__builtin_rvv_vlse32_v_i32m1_m:
5589case RISCV::BI__builtin_rvv_vlse32_v_i32m2_m:
5590case RISCV::BI__builtin_rvv_vlse32_v_i32m4_m:
5591case RISCV::BI__builtin_rvv_vlse32_v_i32m8_m:
5592case RISCV::BI__builtin_rvv_vlse32_v_i32mf2_m:
5593case RISCV::BI__builtin_rvv_vlse32_v_u32m1_m:
5594case RISCV::BI__builtin_rvv_vlse32_v_u32m2_m:
5595case RISCV::BI__builtin_rvv_vlse32_v_u32m4_m:
5596case RISCV::BI__builtin_rvv_vlse32_v_u32m8_m:
5597case RISCV::BI__builtin_rvv_vlse32_v_u32mf2_m:
5598case RISCV::BI__builtin_rvv_vlse32_v_f32m1_m:
5599case RISCV::BI__builtin_rvv_vlse32_v_f32m2_m:
5600case RISCV::BI__builtin_rvv_vlse32_v_f32m4_m:
5601case RISCV::BI__builtin_rvv_vlse32_v_f32m8_m:
5602case RISCV::BI__builtin_rvv_vlse32_v_f32mf2_m:
5603case RISCV::BI__builtin_rvv_vlse64_v_i64m1_m:
5604case RISCV::BI__builtin_rvv_vlse64_v_i64m2_m:
5605case RISCV::BI__builtin_rvv_vlse64_v_i64m4_m:
5606case RISCV::BI__builtin_rvv_vlse64_v_i64m8_m:
5607case RISCV::BI__builtin_rvv_vlse64_v_u64m1_m:
5608case RISCV::BI__builtin_rvv_vlse64_v_u64m2_m:
5609case RISCV::BI__builtin_rvv_vlse64_v_u64m4_m:
5610case RISCV::BI__builtin_rvv_vlse64_v_u64m8_m:
5611case RISCV::BI__builtin_rvv_vlse64_v_f64m1_m:
5612case RISCV::BI__builtin_rvv_vlse64_v_f64m2_m:
5613case RISCV::BI__builtin_rvv_vlse64_v_f64m4_m:
5614case RISCV::BI__builtin_rvv_vlse64_v_f64m8_m:
5615case RISCV::BI__builtin_rvv_vlse8_v_i8m1_m:
5616case RISCV::BI__builtin_rvv_vlse8_v_i8m2_m:
5617case RISCV::BI__builtin_rvv_vlse8_v_i8m4_m:
5618case RISCV::BI__builtin_rvv_vlse8_v_i8m8_m:
5619case RISCV::BI__builtin_rvv_vlse8_v_i8mf2_m:
5620case RISCV::BI__builtin_rvv_vlse8_v_i8mf4_m:
5621case RISCV::BI__builtin_rvv_vlse8_v_i8mf8_m:
5622case RISCV::BI__builtin_rvv_vlse8_v_u8m1_m:
5623case RISCV::BI__builtin_rvv_vlse8_v_u8m2_m:
5624case RISCV::BI__builtin_rvv_vlse8_v_u8m4_m:
5625case RISCV::BI__builtin_rvv_vlse8_v_u8m8_m:
5626case RISCV::BI__builtin_rvv_vlse8_v_u8mf2_m:
5627case RISCV::BI__builtin_rvv_vlse8_v_u8mf4_m:
5628case RISCV::BI__builtin_rvv_vlse8_v_u8mf8_m:
5629 ID = Intrinsic::riscv_vlse_mask;
5630
5631 // Move mask to right before vl.
5632 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
5633 IntrinsicTypes = {ResultType, Ops[4]->getType()};
5634 Ops[1] = Builder.CreateBitCast(Ops[1], ResultType->getPointerTo());
5635 break;
5636case RISCV::BI__builtin_rvv_vluxei8_v_u8m1:
5637case RISCV::BI__builtin_rvv_vluxei8_v_u8m2:
5638case RISCV::BI__builtin_rvv_vluxei8_v_u8m4:
5639case RISCV::BI__builtin_rvv_vluxei8_v_u8m8:
5640case RISCV::BI__builtin_rvv_vluxei8_v_u8mf2:
5641case RISCV::BI__builtin_rvv_vluxei8_v_u8mf4:
5642case RISCV::BI__builtin_rvv_vluxei8_v_u8mf8:
5643case RISCV::BI__builtin_rvv_vluxei16_v_f64m1:
5644case RISCV::BI__builtin_rvv_vluxei16_v_f64m2:
5645case RISCV::BI__builtin_rvv_vluxei16_v_f64m4:
5646case RISCV::BI__builtin_rvv_vluxei16_v_f64m8:
5647case RISCV::BI__builtin_rvv_vluxei32_v_f64m1:
5648case RISCV::BI__builtin_rvv_vluxei32_v_f64m2:
5649case RISCV::BI__builtin_rvv_vluxei32_v_f64m4:
5650case RISCV::BI__builtin_rvv_vluxei32_v_f64m8:
5651case RISCV::BI__builtin_rvv_vluxei64_v_f64m1:
5652case RISCV::BI__builtin_rvv_vluxei64_v_f64m2:
5653case RISCV::BI__builtin_rvv_vluxei64_v_f64m4:
5654case RISCV::BI__builtin_rvv_vluxei64_v_f64m8:
5655case RISCV::BI__builtin_rvv_vluxei16_v_i8m1:
5656case RISCV::BI__builtin_rvv_vluxei16_v_i8m2:
5657case RISCV::BI__builtin_rvv_vluxei16_v_i8m4:
5658case RISCV::BI__builtin_rvv_vluxei16_v_i8mf2:
5659case RISCV::BI__builtin_rvv_vluxei16_v_i8mf4:
5660case RISCV::BI__builtin_rvv_vluxei16_v_i8mf8:
5661case RISCV::BI__builtin_rvv_vluxei16_v_u8m1:
5662case RISCV::BI__builtin_rvv_vluxei16_v_u8m2:
5663case RISCV::BI__builtin_rvv_vluxei16_v_u8m4:
5664case RISCV::BI__builtin_rvv_vluxei16_v_u8mf2:
5665case RISCV::BI__builtin_rvv_vluxei16_v_u8mf4:
5666case RISCV::BI__builtin_rvv_vluxei16_v_u8mf8:
5667case RISCV::BI__builtin_rvv_vluxei32_v_i8m1:
5668case RISCV::BI__builtin_rvv_vluxei32_v_i8m2:
5669case RISCV::BI__builtin_rvv_vluxei32_v_i8mf2:
5670case RISCV::BI__builtin_rvv_vluxei32_v_i8mf4:
5671case RISCV::BI__builtin_rvv_vluxei32_v_i8mf8:
5672case RISCV::BI__builtin_rvv_vluxei32_v_u8m1:
5673case RISCV::BI__builtin_rvv_vluxei32_v_u8m2:
5674case RISCV::BI__builtin_rvv_vluxei32_v_u8mf2:
5675case RISCV::BI__builtin_rvv_vluxei32_v_u8mf4:
5676case RISCV::BI__builtin_rvv_vluxei32_v_u8mf8:
5677case RISCV::BI__builtin_rvv_vluxei64_v_i8m1:
5678case RISCV::BI__builtin_rvv_vluxei64_v_i8mf2:
5679case RISCV::BI__builtin_rvv_vluxei64_v_i8mf4:
5680case RISCV::BI__builtin_rvv_vluxei64_v_i8mf8:
5681case RISCV::BI__builtin_rvv_vluxei64_v_u8m1:
5682case RISCV::BI__builtin_rvv_vluxei64_v_u8mf2:
5683case RISCV::BI__builtin_rvv_vluxei64_v_u8mf4:
5684case RISCV::BI__builtin_rvv_vluxei64_v_u8mf8:
5685case RISCV::BI__builtin_rvv_vluxei8_v_i16m1:
5686case RISCV::BI__builtin_rvv_vluxei8_v_i16m2:
5687case RISCV::BI__builtin_rvv_vluxei8_v_i16m4:
5688case RISCV::BI__builtin_rvv_vluxei8_v_i16m8:
5689case RISCV::BI__builtin_rvv_vluxei8_v_i16mf2:
5690case RISCV::BI__builtin_rvv_vluxei8_v_i16mf4:
5691case RISCV::BI__builtin_rvv_vluxei8_v_u16m1:
5692case RISCV::BI__builtin_rvv_vluxei8_v_u16m2:
5693case RISCV::BI__builtin_rvv_vluxei8_v_u16m4:
5694case RISCV::BI__builtin_rvv_vluxei8_v_u16m8:
5695case RISCV::BI__builtin_rvv_vluxei8_v_u16mf2:
5696case RISCV::BI__builtin_rvv_vluxei8_v_u16mf4:
5697case RISCV::BI__builtin_rvv_vluxei16_v_i16m1:
5698case RISCV::BI__builtin_rvv_vluxei16_v_i16m2:
5699case RISCV::BI__builtin_rvv_vluxei16_v_i16m4:
5700case RISCV::BI__builtin_rvv_vluxei16_v_i16m8:
5701case RISCV::BI__builtin_rvv_vluxei16_v_i16mf2:
5702case RISCV::BI__builtin_rvv_vluxei16_v_i16mf4:
5703case RISCV::BI__builtin_rvv_vluxei16_v_u16m1:
5704case RISCV::BI__builtin_rvv_vluxei16_v_u16m2:
5705case RISCV::BI__builtin_rvv_vluxei16_v_u16m4:
5706case RISCV::BI__builtin_rvv_vluxei16_v_u16m8:
5707case RISCV::BI__builtin_rvv_vluxei16_v_u16mf2:
5708case RISCV::BI__builtin_rvv_vluxei16_v_u16mf4:
5709case RISCV::BI__builtin_rvv_vluxei32_v_i16m1:
5710case RISCV::BI__builtin_rvv_vluxei32_v_i16m2:
5711case RISCV::BI__builtin_rvv_vluxei32_v_i16m4:
5712case RISCV::BI__builtin_rvv_vluxei32_v_i16mf2:
5713case RISCV::BI__builtin_rvv_vluxei32_v_i16mf4:
5714case RISCV::BI__builtin_rvv_vluxei32_v_u16m1:
5715case RISCV::BI__builtin_rvv_vluxei32_v_u16m2:
5716case RISCV::BI__builtin_rvv_vluxei32_v_u16m4:
5717case RISCV::BI__builtin_rvv_vluxei32_v_u16mf2:
5718case RISCV::BI__builtin_rvv_vluxei32_v_u16mf4:
5719case RISCV::BI__builtin_rvv_vluxei64_v_i16m1:
5720case RISCV::BI__builtin_rvv_vluxei64_v_i16m2:
5721case RISCV::BI__builtin_rvv_vluxei64_v_i16mf2:
5722case RISCV::BI__builtin_rvv_vluxei64_v_i16mf4:
5723case RISCV::BI__builtin_rvv_vluxei64_v_u16m1:
5724case RISCV::BI__builtin_rvv_vluxei64_v_u16m2:
5725case RISCV::BI__builtin_rvv_vluxei64_v_u16mf2:
5726case RISCV::BI__builtin_rvv_vluxei64_v_u16mf4:
5727case RISCV::BI__builtin_rvv_vluxei8_v_i32m1: