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 -fhalf-no-semantic-interposition -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~++20210506100649+6304c0836a4d/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~++20210506100649+6304c0836a4d/build-llvm/tools/clang/lib/CodeGen -I /build/llvm-toolchain-snapshot-13~++20210506100649+6304c0836a4d/clang/lib/CodeGen -I /build/llvm-toolchain-snapshot-13~++20210506100649+6304c0836a4d/clang/include -I /build/llvm-toolchain-snapshot-13~++20210506100649+6304c0836a4d/build-llvm/tools/clang/include -I /build/llvm-toolchain-snapshot-13~++20210506100649+6304c0836a4d/build-llvm/include -I /build/llvm-toolchain-snapshot-13~++20210506100649+6304c0836a4d/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~++20210506100649+6304c0836a4d/build-llvm/tools/clang/lib/CodeGen -fdebug-prefix-map=/build/llvm-toolchain-snapshot-13~++20210506100649+6304c0836a4d=. -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-05-07-005843-9350-1 -x c++ /build/llvm-toolchain-snapshot-13~++20210506100649+6304c0836a4d/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:
5728case RISCV::BI__builtin_rvv_vluxei8_v_i32m2:
5729case RISCV::BI__builtin_rvv_vluxei8_v_i32m4:
5730case RISCV::BI__builtin_rvv_vluxei8_v_i32m8:
5731case RISCV::BI__builtin_rvv_vluxei8_v_i32mf2:
5732case RISCV::BI__builtin_rvv_vluxei8_v_u32m1:
5733case RISCV::BI__builtin_rvv_vluxei8_v_u32m2:
5734case RISCV::BI__builtin_rvv_vluxei8_v_u32m4:
5735case RISCV::BI__builtin_rvv_vluxei8_v_u32m8:
5736case RISCV::BI__builtin_rvv_vluxei8_v_u32mf2:
5737case RISCV::BI__builtin_rvv_vluxei16_v_i32m1:
5738case RISCV::BI__builtin_rvv_vluxei16_v_i32m2:
5739case RISCV::BI__builtin_rvv_vluxei16_v_i32m4:
5740case RISCV::BI__builtin_rvv_vluxei16_v_i32m8:
5741case RISCV::BI__builtin_rvv_vluxei16_v_i32mf2:
5742case RISCV::BI__builtin_rvv_vluxei16_v_u32m1:
5743case RISCV::BI__builtin_rvv_vluxei16_v_u32m2:
5744case RISCV::BI__builtin_rvv_vluxei16_v_u32m4:
5745case RISCV::BI__builtin_rvv_vluxei16_v_u32m8:
5746case RISCV::BI__builtin_rvv_vluxei16_v_u32mf2:
5747case RISCV::BI__builtin_rvv_vluxei32_v_i32m1:
5748case RISCV::BI__builtin_rvv_vluxei32_v_i32m2:
5749case RISCV::BI__builtin_rvv_vluxei32_v_i32m4:
5750case RISCV::BI__builtin_rvv_vluxei32_v_i32m8:
5751case RISCV::BI__builtin_rvv_vluxei32_v_i32mf2:
5752case RISCV::BI__builtin_rvv_vluxei32_v_u32m1:
5753case RISCV::BI__builtin_rvv_vluxei32_v_u32m2:
5754case RISCV::BI__builtin_rvv_vluxei32_v_u32m4:
5755case RISCV::BI__builtin_rvv_vluxei32_v_u32m8:
5756case RISCV::BI__builtin_rvv_vluxei32_v_u32mf2:
5757case RISCV::BI__builtin_rvv_vluxei64_v_i32m1:
5758case RISCV::BI__builtin_rvv_vluxei64_v_i32m2:
5759case RISCV::BI__builtin_rvv_vluxei64_v_i32m4:
5760case RISCV::BI__builtin_rvv_vluxei64_v_i32mf2:
5761case RISCV::BI__builtin_rvv_vluxei64_v_u32m1:
5762case RISCV::BI__builtin_rvv_vluxei64_v_u32m2:
5763case RISCV::BI__builtin_rvv_vluxei64_v_u32m4:
5764case RISCV::BI__builtin_rvv_vluxei64_v_u32mf2:
5765case RISCV::BI__builtin_rvv_vluxei8_v_i64m1:
5766case RISCV::BI__builtin_rvv_vluxei8_v_i64m2:
5767case RISCV::BI__builtin_rvv_vluxei8_v_i64m4:
5768case RISCV::BI__builtin_rvv_vluxei8_v_i64m8:
5769case RISCV::BI__builtin_rvv_vluxei8_v_u64m1:
5770case RISCV::BI__builtin_rvv_vluxei8_v_u64m2:
5771case RISCV::BI__builtin_rvv_vluxei8_v_u64m4:
5772case RISCV::BI__builtin_rvv_vluxei8_v_u64m8:
5773case RISCV::BI__builtin_rvv_vluxei16_v_i64m1:
5774case RISCV::BI__builtin_rvv_vluxei16_v_i64m2:
5775case RISCV::BI__builtin_rvv_vluxei16_v_i64m4:
5776case RISCV::BI__builtin_rvv_vluxei16_v_i64m8:
5777case RISCV::BI__builtin_rvv_vluxei8_v_i8m1:
5778case RISCV::BI__builtin_rvv_vluxei8_v_i8m2:
5779case RISCV::BI__builtin_rvv_vluxei8_v_i8m4:
5780case RISCV::BI__builtin_rvv_vluxei8_v_i8m8:
5781case RISCV::BI__builtin_rvv_vluxei8_v_i8mf2:
5782case RISCV::BI__builtin_rvv_vluxei8_v_i8mf4:
5783case RISCV::BI__builtin_rvv_vluxei8_v_i8mf8:
5784case RISCV::BI__builtin_rvv_vluxei16_v_u64m1:
5785case RISCV::BI__builtin_rvv_vluxei16_v_u64m2:
5786case RISCV::BI__builtin_rvv_vluxei16_v_u64m4:
5787case RISCV::BI__builtin_rvv_vluxei16_v_u64m8:
5788case RISCV::BI__builtin_rvv_vluxei32_v_i64m1:
5789case RISCV::BI__builtin_rvv_vluxei32_v_i64m2:
5790case RISCV::BI__builtin_rvv_vluxei32_v_i64m4:
5791case RISCV::BI__builtin_rvv_vluxei32_v_i64m8:
5792case RISCV::BI__builtin_rvv_vluxei32_v_u64m1:
5793case RISCV::BI__builtin_rvv_vluxei32_v_u64m2:
5794case RISCV::BI__builtin_rvv_vluxei32_v_u64m4:
5795case RISCV::BI__builtin_rvv_vluxei32_v_u64m8:
5796case RISCV::BI__builtin_rvv_vluxei64_v_i64m1:
5797case RISCV::BI__builtin_rvv_vluxei64_v_i64m2:
5798case RISCV::BI__builtin_rvv_vluxei64_v_i64m4:
5799case RISCV::BI__builtin_rvv_vluxei64_v_i64m8:
5800case RISCV::BI__builtin_rvv_vluxei64_v_u64m1:
5801case RISCV::BI__builtin_rvv_vluxei64_v_u64m2:
5802case RISCV::BI__builtin_rvv_vluxei64_v_u64m4:
5803case RISCV::BI__builtin_rvv_vluxei64_v_u64m8:
5804case RISCV::BI__builtin_rvv_vluxei8_v_f32m1:
5805case RISCV::BI__builtin_rvv_vluxei8_v_f32m2:
5806case RISCV::BI__builtin_rvv_vluxei8_v_f32m4:
5807case RISCV::BI__builtin_rvv_vluxei8_v_f32m8:
5808case RISCV::BI__builtin_rvv_vluxei8_v_f32mf2:
5809case RISCV::BI__builtin_rvv_vluxei16_v_f32m1:
5810case RISCV::BI__builtin_rvv_vluxei16_v_f32m2:
5811case RISCV::BI__builtin_rvv_vluxei16_v_f32m4:
5812case RISCV::BI__builtin_rvv_vluxei16_v_f32m8:
5813case RISCV::BI__builtin_rvv_vluxei16_v_f32mf2:
5814case RISCV::BI__builtin_rvv_vluxei32_v_f32m1:
5815case RISCV::BI__builtin_rvv_vluxei32_v_f32m2:
5816case RISCV::BI__builtin_rvv_vluxei32_v_f32m4:
5817case RISCV::BI__builtin_rvv_vluxei32_v_f32m8:
5818case RISCV::BI__builtin_rvv_vluxei32_v_f32mf2:
5819case RISCV::BI__builtin_rvv_vluxei64_v_f32m1:
5820case RISCV::BI__builtin_rvv_vluxei64_v_f32m2:
5821case RISCV::BI__builtin_rvv_vluxei64_v_f32m4:
5822case RISCV::BI__builtin_rvv_vluxei64_v_f32mf2:
5823case RISCV::BI__builtin_rvv_vluxei8_v_f64m1:
5824case RISCV::BI__builtin_rvv_vluxei8_v_f64m2:
5825case RISCV::BI__builtin_rvv_vluxei8_v_f64m4:
5826case RISCV::BI__builtin_rvv_vluxei8_v_f64m8:
5827 ID = Intrinsic::riscv_vluxei;
5828
5829 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType()};
5830 Ops[0] = Builder.CreateBitCast(Ops[0], ResultType->getPointerTo());
5831 break;
5832case RISCV::BI__builtin_rvv_vluxei8_v_u8m1_m:
5833case RISCV::BI__builtin_rvv_vluxei8_v_u8m2_m:
5834case RISCV::BI__builtin_rvv_vluxei8_v_u8m4_m:
5835case RISCV::BI__builtin_rvv_vluxei8_v_u8m8_m:
5836case RISCV::BI__builtin_rvv_vluxei8_v_u8mf2_m:
5837case RISCV::BI__builtin_rvv_vluxei8_v_u8mf4_m:
5838case RISCV::BI__builtin_rvv_vluxei8_v_u8mf8_m:
5839case RISCV::BI__builtin_rvv_vluxei16_v_f64m1_m:
5840case RISCV::BI__builtin_rvv_vluxei16_v_f64m2_m:
5841case RISCV::BI__builtin_rvv_vluxei16_v_f64m4_m:
5842case RISCV::BI__builtin_rvv_vluxei16_v_f64m8_m:
5843case RISCV::BI__builtin_rvv_vluxei32_v_f64m1_m:
5844case RISCV::BI__builtin_rvv_vluxei32_v_f64m2_m:
5845case RISCV::BI__builtin_rvv_vluxei32_v_f64m4_m:
5846case RISCV::BI__builtin_rvv_vluxei32_v_f64m8_m:
5847case RISCV::BI__builtin_rvv_vluxei64_v_f64m1_m:
5848case RISCV::BI__builtin_rvv_vluxei64_v_f64m2_m:
5849case RISCV::BI__builtin_rvv_vluxei64_v_f64m4_m:
5850case RISCV::BI__builtin_rvv_vluxei64_v_f64m8_m:
5851case RISCV::BI__builtin_rvv_vluxei16_v_i8m1_m:
5852case RISCV::BI__builtin_rvv_vluxei16_v_i8m2_m:
5853case RISCV::BI__builtin_rvv_vluxei16_v_i8m4_m:
5854case RISCV::BI__builtin_rvv_vluxei16_v_i8mf2_m:
5855case RISCV::BI__builtin_rvv_vluxei16_v_i8mf4_m:
5856case RISCV::BI__builtin_rvv_vluxei16_v_i8mf8_m:
5857case RISCV::BI__builtin_rvv_vluxei16_v_u8m1_m:
5858case RISCV::BI__builtin_rvv_vluxei16_v_u8m2_m:
5859case RISCV::BI__builtin_rvv_vluxei16_v_u8m4_m:
5860case RISCV::BI__builtin_rvv_vluxei16_v_u8mf2_m:
5861case RISCV::BI__builtin_rvv_vluxei16_v_u8mf4_m:
5862case RISCV::BI__builtin_rvv_vluxei16_v_u8mf8_m:
5863case RISCV::BI__builtin_rvv_vluxei32_v_i8m1_m:
5864case RISCV::BI__builtin_rvv_vluxei32_v_i8m2_m:
5865case RISCV::BI__builtin_rvv_vluxei32_v_i8mf2_m:
5866case RISCV::BI__builtin_rvv_vluxei32_v_i8mf4_m:
5867case RISCV::BI__builtin_rvv_vluxei32_v_i8mf8_m:
5868case RISCV::BI__builtin_rvv_vluxei32_v_u8m1_m:
5869case RISCV::BI__builtin_rvv_vluxei32_v_u8m2_m:
5870case RISCV::BI__builtin_rvv_vluxei32_v_u8mf2_m:
5871case RISCV::BI__builtin_rvv_vluxei32_v_u8mf4_m:
5872case RISCV::BI__builtin_rvv_vluxei32_v_u8mf8_m:
5873case RISCV::BI__builtin_rvv_vluxei64_v_i8m1_m:
5874case RISCV::BI__builtin_rvv_vluxei64_v_i8mf2_m:
5875case RISCV::BI__builtin_rvv_vluxei64_v_i8mf4_m:
5876case RISCV::BI__builtin_rvv_vluxei64_v_i8mf8_m:
5877case RISCV::BI__builtin_rvv_vluxei64_v_u8m1_m:
5878case RISCV::BI__builtin_rvv_vluxei64_v_u8mf2_m:
5879case RISCV::BI__builtin_rvv_vluxei64_v_u8mf4_m:
5880case RISCV::BI__builtin_rvv_vluxei64_v_u8mf8_m:
5881case RISCV::BI__builtin_rvv_vluxei8_v_i16m1_m:
5882case RISCV::BI__builtin_rvv_vluxei8_v_i16m2_m:
5883case RISCV::BI__builtin_rvv_vluxei8_v_i16m4_m:
5884case RISCV::BI__builtin_rvv_vluxei8_v_i16m8_m:
5885case RISCV::BI__builtin_rvv_vluxei8_v_i16mf2_m:
5886case RISCV::BI__builtin_rvv_vluxei8_v_i16mf4_m:
5887case RISCV::BI__builtin_rvv_vluxei8_v_u16m1_m:
5888case RISCV::BI__builtin_rvv_vluxei8_v_u16m2_m:
5889case RISCV::BI__builtin_rvv_vluxei8_v_u16m4_m:
5890case RISCV::BI__builtin_rvv_vluxei8_v_u16m8_m:
5891case RISCV::BI__builtin_rvv_vluxei8_v_u16mf2_m:
5892case RISCV::BI__builtin_rvv_vluxei8_v_u16mf4_m:
5893case RISCV::BI__builtin_rvv_vluxei16_v_i16m1_m:
5894case RISCV::BI__builtin_rvv_vluxei16_v_i16m2_m:
5895case RISCV::BI__builtin_rvv_vluxei16_v_i16m4_m:
5896case RISCV::BI__builtin_rvv_vluxei16_v_i16m8_m:
5897case RISCV::BI__builtin_rvv_vluxei16_v_i16mf2_m:
5898case RISCV::BI__builtin_rvv_vluxei16_v_i16mf4_m:
5899case RISCV::BI__builtin_rvv_vluxei16_v_u16m1_m:
5900case RISCV::BI__builtin_rvv_vluxei16_v_u16m2_m:
5901case RISCV::BI__builtin_rvv_vluxei16_v_u16m4_m:
5902case RISCV::BI__builtin_rvv_vluxei16_v_u16m8_m:
5903case RISCV::BI__builtin_rvv_vluxei16_v_u16mf2_m:
5904case RISCV::BI__builtin_rvv_vluxei16_v_u16mf4_m:
5905case RISCV::BI__builtin_rvv_vluxei32_v_i16m1_m:
5906case RISCV::BI__builtin_rvv_vluxei32_v_i16m2_m:
5907case RISCV::BI__builtin_rvv_vluxei32_v_i16m4_m:
5908case RISCV::BI__builtin_rvv_vluxei32_v_i16mf2_m:
5909case RISCV::BI__builtin_rvv_vluxei32_v_i16mf4_m:
5910case RISCV::BI__builtin_rvv_vluxei32_v_u16m1_m:
5911case RISCV::BI__builtin_rvv_vluxei32_v_u16m2_m:
5912case RISCV::BI__builtin_rvv_vluxei32_v_u16m4_m:
5913case RISCV::BI__builtin_rvv_vluxei32_v_u16mf2_m:
5914case RISCV::BI__builtin_rvv_vluxei32_v_u16mf4_m:
5915case RISCV::BI__builtin_rvv_vluxei64_v_i16m1_m:
5916case RISCV::BI__builtin_rvv_vluxei64_v_i16m2_m:
5917case RISCV::BI__builtin_rvv_vluxei64_v_i16mf2_m:
5918case RISCV::BI__builtin_rvv_vluxei64_v_i16mf4_m:
5919case RISCV::BI__builtin_rvv_vluxei64_v_u16m1_m:
5920case RISCV::BI__builtin_rvv_vluxei64_v_u16m2_m:
5921case RISCV::BI__builtin_rvv_vluxei64_v_u16mf2_m:
5922case RISCV::BI__builtin_rvv_vluxei64_v_u16mf4_m:
5923case RISCV::BI__builtin_rvv_vluxei8_v_i32m1_m:
5924case RISCV::BI__builtin_rvv_vluxei8_v_i32m2_m:
5925case RISCV::BI__builtin_rvv_vluxei8_v_i32m4_m:
5926case RISCV::BI__builtin_rvv_vluxei8_v_i32m8_m:
5927case RISCV::BI__builtin_rvv_vluxei8_v_i32mf2_m:
5928case RISCV::BI__builtin_rvv_vluxei8_v_u32m1_m:
5929case RISCV::BI__builtin_rvv_vluxei8_v_u32m2_m:
5930case RISCV::BI__builtin_rvv_vluxei8_v_u32m4_m:
5931case RISCV::BI__builtin_rvv_vluxei8_v_u32m8_m:
5932case RISCV::BI__builtin_rvv_vluxei8_v_u32mf2_m:
5933case RISCV::BI__builtin_rvv_vluxei16_v_i32m1_m:
5934case RISCV::BI__builtin_rvv_vluxei16_v_i32m2_m:
5935case RISCV::BI__builtin_rvv_vluxei16_v_i32m4_m:
5936case RISCV::BI__builtin_rvv_vluxei16_v_i32m8_m:
5937case RISCV::BI__builtin_rvv_vluxei16_v_i32mf2_m:
5938case RISCV::BI__builtin_rvv_vluxei16_v_u32m1_m:
5939case RISCV::BI__builtin_rvv_vluxei16_v_u32m2_m:
5940case RISCV::BI__builtin_rvv_vluxei16_v_u32m4_m:
5941case RISCV::BI__builtin_rvv_vluxei16_v_u32m8_m:
5942case RISCV::BI__builtin_rvv_vluxei16_v_u32mf2_m:
5943case RISCV::BI__builtin_rvv_vluxei32_v_i32m1_m:
5944case RISCV::BI__builtin_rvv_vluxei32_v_i32m2_m:
5945case RISCV::BI__builtin_rvv_vluxei32_v_i32m4_m:
5946case RISCV::BI__builtin_rvv_vluxei32_v_i32m8_m:
5947case RISCV::BI__builtin_rvv_vluxei32_v_i32mf2_m:
5948case RISCV::BI__builtin_rvv_vluxei32_v_u32m1_m:
5949case RISCV::BI__builtin_rvv_vluxei32_v_u32m2_m:
5950case RISCV::BI__builtin_rvv_vluxei32_v_u32m4_m:
5951case RISCV::BI__builtin_rvv_vluxei32_v_u32m8_m:
5952case RISCV::BI__builtin_rvv_vluxei32_v_u32mf2_m:
5953case RISCV::BI__builtin_rvv_vluxei64_v_i32m1_m:
5954case RISCV::BI__builtin_rvv_vluxei64_v_i32m2_m:
5955case RISCV::BI__builtin_rvv_vluxei64_v_i32m4_m:
5956case RISCV::BI__builtin_rvv_vluxei64_v_i32mf2_m:
5957case RISCV::BI__builtin_rvv_vluxei64_v_u32m1_m:
5958case RISCV::BI__builtin_rvv_vluxei64_v_u32m2_m:
5959case RISCV::BI__builtin_rvv_vluxei64_v_u32m4_m:
5960case RISCV::BI__builtin_rvv_vluxei64_v_u32mf2_m:
5961case RISCV::BI__builtin_rvv_vluxei8_v_i64m1_m:
5962case RISCV::BI__builtin_rvv_vluxei8_v_i64m2_m:
5963case RISCV::BI__builtin_rvv_vluxei8_v_i64m4_m:
5964case RISCV::BI__builtin_rvv_vluxei8_v_i64m8_m:
5965case RISCV::BI__builtin_rvv_vluxei8_v_u64m1_m:
5966case RISCV::BI__builtin_rvv_vluxei8_v_u64m2_m:
5967case RISCV::BI__builtin_rvv_vluxei8_v_u64m4_m:
5968case RISCV::BI__builtin_rvv_vluxei8_v_u64m8_m:
5969case RISCV::BI__builtin_rvv_vluxei16_v_i64m1_m:
5970case RISCV::BI__builtin_rvv_vluxei16_v_i64m2_m:
5971case RISCV::BI__builtin_rvv_vluxei16_v_i64m4_m:
5972case RISCV::BI__builtin_rvv_vluxei16_v_i64m8_m:
5973case RISCV::BI__builtin_rvv_vluxei8_v_i8m1_m:
5974case RISCV::BI__builtin_rvv_vluxei8_v_i8m2_m:
5975case RISCV::BI__builtin_rvv_vluxei8_v_i8m4_m:
5976case RISCV::BI__builtin_rvv_vluxei8_v_i8m8_m:
5977case RISCV::BI__builtin_rvv_vluxei8_v_i8mf2_m:
5978case RISCV::BI__builtin_rvv_vluxei8_v_i8mf4_m:
5979case RISCV::BI__builtin_rvv_vluxei8_v_i8mf8_m:
5980case RISCV::BI__builtin_rvv_vluxei16_v_u64m1_m:
5981case RISCV::BI__builtin_rvv_vluxei16_v_u64m2_m:
5982case RISCV::BI__builtin_rvv_vluxei16_v_u64m4_m:
5983case RISCV::BI__builtin_rvv_vluxei16_v_u64m8_m:
5984case RISCV::BI__builtin_rvv_vluxei32_v_i64m1_m:
5985case RISCV::BI__builtin_rvv_vluxei32_v_i64m2_m:
5986case RISCV::BI__builtin_rvv_vluxei32_v_i64m4_m:
5987case RISCV::BI__builtin_rvv_vluxei32_v_i64m8_m:
5988case RISCV::BI__builtin_rvv_vluxei32_v_u64m1_m:
5989case RISCV::BI__builtin_rvv_vluxei32_v_u64m2_m:
5990case RISCV::BI__builtin_rvv_vluxei32_v_u64m4_m:
5991case RISCV::BI__builtin_rvv_vluxei32_v_u64m8_m:
5992case RISCV::BI__builtin_rvv_vluxei64_v_i64m1_m:
5993case RISCV::BI__builtin_rvv_vluxei64_v_i64m2_m:
5994case RISCV::BI__builtin_rvv_vluxei64_v_i64m4_m:
5995case RISCV::BI__builtin_rvv_vluxei64_v_i64m8_m:
5996case RISCV::BI__builtin_rvv_vluxei64_v_u64m1_m:
5997case RISCV::BI__builtin_rvv_vluxei64_v_u64m2_m:
5998case RISCV::BI__builtin_rvv_vluxei64_v_u64m4_m:
5999case RISCV::BI__builtin_rvv_vluxei64_v_u64m8_m:
6000case RISCV::BI__builtin_rvv_vluxei8_v_f32m1_m:
6001case RISCV::BI__builtin_rvv_vluxei8_v_f32m2_m:
6002case RISCV::BI__builtin_rvv_vluxei8_v_f32m4_m:
6003case RISCV::BI__builtin_rvv_vluxei8_v_f32m8_m:
6004case RISCV::BI__builtin_rvv_vluxei8_v_f32mf2_m:
6005case RISCV::BI__builtin_rvv_vluxei16_v_f32m1_m:
6006case RISCV::BI__builtin_rvv_vluxei16_v_f32m2_m:
6007case RISCV::BI__builtin_rvv_vluxei16_v_f32m4_m:
6008case RISCV::BI__builtin_rvv_vluxei16_v_f32m8_m:
6009case RISCV::BI__builtin_rvv_vluxei16_v_f32mf2_m:
6010case RISCV::BI__builtin_rvv_vluxei32_v_f32m1_m:
6011case RISCV::BI__builtin_rvv_vluxei32_v_f32m2_m:
6012case RISCV::BI__builtin_rvv_vluxei32_v_f32m4_m:
6013case RISCV::BI__builtin_rvv_vluxei32_v_f32m8_m:
6014case RISCV::BI__builtin_rvv_vluxei32_v_f32mf2_m:
6015case RISCV::BI__builtin_rvv_vluxei64_v_f32m1_m:
6016case RISCV::BI__builtin_rvv_vluxei64_v_f32m2_m:
6017case RISCV::BI__builtin_rvv_vluxei64_v_f32m4_m:
6018case RISCV::BI__builtin_rvv_vluxei64_v_f32mf2_m:
6019case RISCV::BI__builtin_rvv_vluxei8_v_f64m1_m:
6020case RISCV::BI__builtin_rvv_vluxei8_v_f64m2_m:
6021case RISCV::BI__builtin_rvv_vluxei8_v_f64m4_m:
6022case RISCV::BI__builtin_rvv_vluxei8_v_f64m8_m:
6023 ID = Intrinsic::riscv_vluxei_mask;
6024
6025 // Move mask to right before vl.
6026 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
6027 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops[4]->getType()};
6028 Ops[1] = Builder.CreateBitCast(Ops[1], ResultType->getPointerTo());
6029 break;
6030case RISCV::BI__builtin_rvv_vmacc_vv_i8m1:
6031case RISCV::BI__builtin_rvv_vmacc_vv_i8m2:
6032case RISCV::BI__builtin_rvv_vmacc_vv_i8m4:
6033case RISCV::BI__builtin_rvv_vmacc_vv_i8m8:
6034case RISCV::BI__builtin_rvv_vmacc_vv_i8mf2:
6035case RISCV::BI__builtin_rvv_vmacc_vv_i8mf4:
6036case RISCV::BI__builtin_rvv_vmacc_vv_i8mf8:
6037case RISCV::BI__builtin_rvv_vmacc_vv_i16m1:
6038case RISCV::BI__builtin_rvv_vmacc_vv_i16m2:
6039case RISCV::BI__builtin_rvv_vmacc_vv_i16m4:
6040case RISCV::BI__builtin_rvv_vmacc_vv_i16m8:
6041case RISCV::BI__builtin_rvv_vmacc_vv_i16mf2:
6042case RISCV::BI__builtin_rvv_vmacc_vv_i16mf4:
6043case RISCV::BI__builtin_rvv_vmacc_vv_i32m1:
6044case RISCV::BI__builtin_rvv_vmacc_vv_i32m2:
6045case RISCV::BI__builtin_rvv_vmacc_vv_i32m4:
6046case RISCV::BI__builtin_rvv_vmacc_vv_i32m8:
6047case RISCV::BI__builtin_rvv_vmacc_vv_i32mf2:
6048case RISCV::BI__builtin_rvv_vmacc_vv_i64m1:
6049case RISCV::BI__builtin_rvv_vmacc_vv_i64m2:
6050case RISCV::BI__builtin_rvv_vmacc_vv_i64m4:
6051case RISCV::BI__builtin_rvv_vmacc_vv_i64m8:
6052case RISCV::BI__builtin_rvv_vmacc_vx_i8m1:
6053case RISCV::BI__builtin_rvv_vmacc_vx_i8m2:
6054case RISCV::BI__builtin_rvv_vmacc_vx_i8m4:
6055case RISCV::BI__builtin_rvv_vmacc_vx_i8m8:
6056case RISCV::BI__builtin_rvv_vmacc_vx_i8mf2:
6057case RISCV::BI__builtin_rvv_vmacc_vx_i8mf4:
6058case RISCV::BI__builtin_rvv_vmacc_vx_i8mf8:
6059case RISCV::BI__builtin_rvv_vmacc_vx_i16m1:
6060case RISCV::BI__builtin_rvv_vmacc_vx_i16m2:
6061case RISCV::BI__builtin_rvv_vmacc_vx_i16m4:
6062case RISCV::BI__builtin_rvv_vmacc_vx_i16m8:
6063case RISCV::BI__builtin_rvv_vmacc_vx_i16mf2:
6064case RISCV::BI__builtin_rvv_vmacc_vx_i16mf4:
6065case RISCV::BI__builtin_rvv_vmacc_vx_i32m1:
6066case RISCV::BI__builtin_rvv_vmacc_vx_i32m2:
6067case RISCV::BI__builtin_rvv_vmacc_vx_i32m4:
6068case RISCV::BI__builtin_rvv_vmacc_vx_i32m8:
6069case RISCV::BI__builtin_rvv_vmacc_vx_i32mf2:
6070case RISCV::BI__builtin_rvv_vmacc_vx_i64m1:
6071case RISCV::BI__builtin_rvv_vmacc_vx_i64m2:
6072case RISCV::BI__builtin_rvv_vmacc_vx_i64m4:
6073case RISCV::BI__builtin_rvv_vmacc_vx_i64m8:
6074case RISCV::BI__builtin_rvv_vmacc_vv_u8m1:
6075case RISCV::BI__builtin_rvv_vmacc_vv_u8m2:
6076case RISCV::BI__builtin_rvv_vmacc_vv_u8m4:
6077case RISCV::BI__builtin_rvv_vmacc_vv_u8m8:
6078case RISCV::BI__builtin_rvv_vmacc_vv_u8mf2:
6079case RISCV::BI__builtin_rvv_vmacc_vv_u8mf4:
6080case RISCV::BI__builtin_rvv_vmacc_vv_u8mf8:
6081case RISCV::BI__builtin_rvv_vmacc_vv_u16m1:
6082case RISCV::BI__builtin_rvv_vmacc_vv_u16m2:
6083case RISCV::BI__builtin_rvv_vmacc_vv_u16m4:
6084case RISCV::BI__builtin_rvv_vmacc_vv_u16m8:
6085case RISCV::BI__builtin_rvv_vmacc_vv_u16mf2:
6086case RISCV::BI__builtin_rvv_vmacc_vv_u16mf4:
6087case RISCV::BI__builtin_rvv_vmacc_vv_u32m1:
6088case RISCV::BI__builtin_rvv_vmacc_vv_u32m2:
6089case RISCV::BI__builtin_rvv_vmacc_vv_u32m4:
6090case RISCV::BI__builtin_rvv_vmacc_vv_u32m8:
6091case RISCV::BI__builtin_rvv_vmacc_vv_u32mf2:
6092case RISCV::BI__builtin_rvv_vmacc_vv_u64m1:
6093case RISCV::BI__builtin_rvv_vmacc_vv_u64m2:
6094case RISCV::BI__builtin_rvv_vmacc_vv_u64m4:
6095case RISCV::BI__builtin_rvv_vmacc_vv_u64m8:
6096case RISCV::BI__builtin_rvv_vmacc_vx_u8m1:
6097case RISCV::BI__builtin_rvv_vmacc_vx_u8m2:
6098case RISCV::BI__builtin_rvv_vmacc_vx_u8m4:
6099case RISCV::BI__builtin_rvv_vmacc_vx_u8m8:
6100case RISCV::BI__builtin_rvv_vmacc_vx_u8mf2:
6101case RISCV::BI__builtin_rvv_vmacc_vx_u8mf4:
6102case RISCV::BI__builtin_rvv_vmacc_vx_u8mf8:
6103case RISCV::BI__builtin_rvv_vmacc_vx_u16m1:
6104case RISCV::BI__builtin_rvv_vmacc_vx_u16m2:
6105case RISCV::BI__builtin_rvv_vmacc_vx_u16m4:
6106case RISCV::BI__builtin_rvv_vmacc_vx_u16m8:
6107case RISCV::BI__builtin_rvv_vmacc_vx_u16mf2:
6108case RISCV::BI__builtin_rvv_vmacc_vx_u16mf4:
6109case RISCV::BI__builtin_rvv_vmacc_vx_u32m1:
6110case RISCV::BI__builtin_rvv_vmacc_vx_u32m2:
6111case RISCV::BI__builtin_rvv_vmacc_vx_u32m4:
6112case RISCV::BI__builtin_rvv_vmacc_vx_u32m8:
6113case RISCV::BI__builtin_rvv_vmacc_vx_u32mf2:
6114case RISCV::BI__builtin_rvv_vmacc_vx_u64m1:
6115case RISCV::BI__builtin_rvv_vmacc_vx_u64m2:
6116case RISCV::BI__builtin_rvv_vmacc_vx_u64m4:
6117case RISCV::BI__builtin_rvv_vmacc_vx_u64m8:
6118 ID = Intrinsic::riscv_vmacc;
6119 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
6120 break;
6121case RISCV::BI__builtin_rvv_vmacc_vv_i8m1_m:
6122case RISCV::BI__builtin_rvv_vmacc_vv_i8m2_m:
6123case RISCV::BI__builtin_rvv_vmacc_vv_i8m4_m:
6124case RISCV::BI__builtin_rvv_vmacc_vv_i8m8_m:
6125case RISCV::BI__builtin_rvv_vmacc_vv_i8mf2_m:
6126case RISCV::BI__builtin_rvv_vmacc_vv_i8mf4_m:
6127case RISCV::BI__builtin_rvv_vmacc_vv_i8mf8_m:
6128case RISCV::BI__builtin_rvv_vmacc_vv_i16m1_m:
6129case RISCV::BI__builtin_rvv_vmacc_vv_i16m2_m:
6130case RISCV::BI__builtin_rvv_vmacc_vv_i16m4_m:
6131case RISCV::BI__builtin_rvv_vmacc_vv_i16m8_m:
6132case RISCV::BI__builtin_rvv_vmacc_vv_i16mf2_m:
6133case RISCV::BI__builtin_rvv_vmacc_vv_i16mf4_m:
6134case RISCV::BI__builtin_rvv_vmacc_vv_i32m1_m:
6135case RISCV::BI__builtin_rvv_vmacc_vv_i32m2_m:
6136case RISCV::BI__builtin_rvv_vmacc_vv_i32m4_m:
6137case RISCV::BI__builtin_rvv_vmacc_vv_i32m8_m:
6138case RISCV::BI__builtin_rvv_vmacc_vv_i32mf2_m:
6139case RISCV::BI__builtin_rvv_vmacc_vv_i64m1_m:
6140case RISCV::BI__builtin_rvv_vmacc_vv_i64m2_m:
6141case RISCV::BI__builtin_rvv_vmacc_vv_i64m4_m:
6142case RISCV::BI__builtin_rvv_vmacc_vv_i64m8_m:
6143case RISCV::BI__builtin_rvv_vmacc_vx_i8m1_m:
6144case RISCV::BI__builtin_rvv_vmacc_vx_i8m2_m:
6145case RISCV::BI__builtin_rvv_vmacc_vx_i8m4_m:
6146case RISCV::BI__builtin_rvv_vmacc_vx_i8m8_m:
6147case RISCV::BI__builtin_rvv_vmacc_vx_i8mf2_m:
6148case RISCV::BI__builtin_rvv_vmacc_vx_i8mf4_m:
6149case RISCV::BI__builtin_rvv_vmacc_vx_i8mf8_m:
6150case RISCV::BI__builtin_rvv_vmacc_vx_i16m1_m:
6151case RISCV::BI__builtin_rvv_vmacc_vx_i16m2_m:
6152case RISCV::BI__builtin_rvv_vmacc_vx_i16m4_m:
6153case RISCV::BI__builtin_rvv_vmacc_vx_i16m8_m:
6154case RISCV::BI__builtin_rvv_vmacc_vx_i16mf2_m:
6155case RISCV::BI__builtin_rvv_vmacc_vx_i16mf4_m:
6156case RISCV::BI__builtin_rvv_vmacc_vx_i32m1_m:
6157case RISCV::BI__builtin_rvv_vmacc_vx_i32m2_m:
6158case RISCV::BI__builtin_rvv_vmacc_vx_i32m4_m:
6159case RISCV::BI__builtin_rvv_vmacc_vx_i32m8_m:
6160case RISCV::BI__builtin_rvv_vmacc_vx_i32mf2_m:
6161case RISCV::BI__builtin_rvv_vmacc_vx_i64m1_m:
6162case RISCV::BI__builtin_rvv_vmacc_vx_i64m2_m:
6163case RISCV::BI__builtin_rvv_vmacc_vx_i64m4_m:
6164case RISCV::BI__builtin_rvv_vmacc_vx_i64m8_m:
6165case RISCV::BI__builtin_rvv_vmacc_vv_u8m1_m:
6166case RISCV::BI__builtin_rvv_vmacc_vv_u8m2_m:
6167case RISCV::BI__builtin_rvv_vmacc_vv_u8m4_m:
6168case RISCV::BI__builtin_rvv_vmacc_vv_u8m8_m:
6169case RISCV::BI__builtin_rvv_vmacc_vv_u8mf2_m:
6170case RISCV::BI__builtin_rvv_vmacc_vv_u8mf4_m:
6171case RISCV::BI__builtin_rvv_vmacc_vv_u8mf8_m:
6172case RISCV::BI__builtin_rvv_vmacc_vv_u16m1_m:
6173case RISCV::BI__builtin_rvv_vmacc_vv_u16m2_m:
6174case RISCV::BI__builtin_rvv_vmacc_vv_u16m4_m:
6175case RISCV::BI__builtin_rvv_vmacc_vv_u16m8_m:
6176case RISCV::BI__builtin_rvv_vmacc_vv_u16mf2_m:
6177case RISCV::BI__builtin_rvv_vmacc_vv_u16mf4_m:
6178case RISCV::BI__builtin_rvv_vmacc_vv_u32m1_m:
6179case RISCV::BI__builtin_rvv_vmacc_vv_u32m2_m:
6180case RISCV::BI__builtin_rvv_vmacc_vv_u32m4_m:
6181case RISCV::BI__builtin_rvv_vmacc_vv_u32m8_m:
6182case RISCV::BI__builtin_rvv_vmacc_vv_u32mf2_m:
6183case RISCV::BI__builtin_rvv_vmacc_vv_u64m1_m:
6184case RISCV::BI__builtin_rvv_vmacc_vv_u64m2_m:
6185case RISCV::BI__builtin_rvv_vmacc_vv_u64m4_m:
6186case RISCV::BI__builtin_rvv_vmacc_vv_u64m8_m:
6187case RISCV::BI__builtin_rvv_vmacc_vx_u8m1_m:
6188case RISCV::BI__builtin_rvv_vmacc_vx_u8m2_m:
6189case RISCV::BI__builtin_rvv_vmacc_vx_u8m4_m:
6190case RISCV::BI__builtin_rvv_vmacc_vx_u8m8_m:
6191case RISCV::BI__builtin_rvv_vmacc_vx_u8mf2_m:
6192case RISCV::BI__builtin_rvv_vmacc_vx_u8mf4_m:
6193case RISCV::BI__builtin_rvv_vmacc_vx_u8mf8_m:
6194case RISCV::BI__builtin_rvv_vmacc_vx_u16m1_m:
6195case RISCV::BI__builtin_rvv_vmacc_vx_u16m2_m:
6196case RISCV::BI__builtin_rvv_vmacc_vx_u16m4_m:
6197case RISCV::BI__builtin_rvv_vmacc_vx_u16m8_m:
6198case RISCV::BI__builtin_rvv_vmacc_vx_u16mf2_m:
6199case RISCV::BI__builtin_rvv_vmacc_vx_u16mf4_m:
6200case RISCV::BI__builtin_rvv_vmacc_vx_u32m1_m:
6201case RISCV::BI__builtin_rvv_vmacc_vx_u32m2_m:
6202case RISCV::BI__builtin_rvv_vmacc_vx_u32m4_m:
6203case RISCV::BI__builtin_rvv_vmacc_vx_u32m8_m:
6204case RISCV::BI__builtin_rvv_vmacc_vx_u32mf2_m:
6205case RISCV::BI__builtin_rvv_vmacc_vx_u64m1_m:
6206case RISCV::BI__builtin_rvv_vmacc_vx_u64m2_m:
6207case RISCV::BI__builtin_rvv_vmacc_vx_u64m4_m:
6208case RISCV::BI__builtin_rvv_vmacc_vx_u64m8_m:
6209 ID = Intrinsic::riscv_vmacc_mask;
6210 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
6211 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
6212 break;
6213case RISCV::BI__builtin_rvv_vmadc_vv_i8m1_b8:
6214case RISCV::BI__builtin_rvv_vmadc_vv_i8m2_b4:
6215case RISCV::BI__builtin_rvv_vmadc_vv_i8m4_b2:
6216case RISCV::BI__builtin_rvv_vmadc_vv_i8m8_b1:
6217case RISCV::BI__builtin_rvv_vmadc_vv_i8mf2_b16:
6218case RISCV::BI__builtin_rvv_vmadc_vv_i8mf4_b32:
6219case RISCV::BI__builtin_rvv_vmadc_vv_i8mf8_b64:
6220case RISCV::BI__builtin_rvv_vmadc_vv_i16m1_b16:
6221case RISCV::BI__builtin_rvv_vmadc_vv_i16m2_b8:
6222case RISCV::BI__builtin_rvv_vmadc_vv_i16m4_b4:
6223case RISCV::BI__builtin_rvv_vmadc_vv_i16m8_b2:
6224case RISCV::BI__builtin_rvv_vmadc_vv_i16mf2_b32:
6225case RISCV::BI__builtin_rvv_vmadc_vv_i16mf4_b64:
6226case RISCV::BI__builtin_rvv_vmadc_vv_i32m1_b32:
6227case RISCV::BI__builtin_rvv_vmadc_vv_i32m2_b16:
6228case RISCV::BI__builtin_rvv_vmadc_vv_i32m4_b8:
6229case RISCV::BI__builtin_rvv_vmadc_vv_i32m8_b4:
6230case RISCV::BI__builtin_rvv_vmadc_vv_i32mf2_b64:
6231case RISCV::BI__builtin_rvv_vmadc_vv_i64m1_b64:
6232case RISCV::BI__builtin_rvv_vmadc_vv_i64m2_b32:
6233case RISCV::BI__builtin_rvv_vmadc_vv_i64m4_b16:
6234case RISCV::BI__builtin_rvv_vmadc_vv_i64m8_b8:
6235case RISCV::BI__builtin_rvv_vmadc_vx_i8m1_b8:
6236case RISCV::BI__builtin_rvv_vmadc_vx_i8m2_b4:
6237case RISCV::BI__builtin_rvv_vmadc_vx_i8m4_b2:
6238case RISCV::BI__builtin_rvv_vmadc_vx_i8m8_b1:
6239case RISCV::BI__builtin_rvv_vmadc_vx_i8mf2_b16:
6240case RISCV::BI__builtin_rvv_vmadc_vx_i8mf4_b32:
6241case RISCV::BI__builtin_rvv_vmadc_vx_i8mf8_b64:
6242case RISCV::BI__builtin_rvv_vmadc_vx_i16m1_b16:
6243case RISCV::BI__builtin_rvv_vmadc_vx_i16m2_b8:
6244case RISCV::BI__builtin_rvv_vmadc_vx_i16m4_b4:
6245case RISCV::BI__builtin_rvv_vmadc_vx_i16m8_b2:
6246case RISCV::BI__builtin_rvv_vmadc_vx_i16mf2_b32:
6247case RISCV::BI__builtin_rvv_vmadc_vx_i16mf4_b64:
6248case RISCV::BI__builtin_rvv_vmadc_vx_i32m1_b32:
6249case RISCV::BI__builtin_rvv_vmadc_vx_i32m2_b16:
6250case RISCV::BI__builtin_rvv_vmadc_vx_i32m4_b8:
6251case RISCV::BI__builtin_rvv_vmadc_vx_i32m8_b4:
6252case RISCV::BI__builtin_rvv_vmadc_vx_i32mf2_b64:
6253case RISCV::BI__builtin_rvv_vmadc_vx_i64m1_b64:
6254case RISCV::BI__builtin_rvv_vmadc_vx_i64m2_b32:
6255case RISCV::BI__builtin_rvv_vmadc_vx_i64m4_b16:
6256case RISCV::BI__builtin_rvv_vmadc_vx_i64m8_b8:
6257case RISCV::BI__builtin_rvv_vmadc_vv_u8m1_b8:
6258case RISCV::BI__builtin_rvv_vmadc_vv_u8m2_b4:
6259case RISCV::BI__builtin_rvv_vmadc_vv_u8m4_b2:
6260case RISCV::BI__builtin_rvv_vmadc_vv_u8m8_b1:
6261case RISCV::BI__builtin_rvv_vmadc_vv_u8mf2_b16:
6262case RISCV::BI__builtin_rvv_vmadc_vv_u8mf4_b32:
6263case RISCV::BI__builtin_rvv_vmadc_vv_u8mf8_b64:
6264case RISCV::BI__builtin_rvv_vmadc_vv_u16m1_b16:
6265case RISCV::BI__builtin_rvv_vmadc_vv_u16m2_b8:
6266case RISCV::BI__builtin_rvv_vmadc_vv_u16m4_b4:
6267case RISCV::BI__builtin_rvv_vmadc_vv_u16m8_b2:
6268case RISCV::BI__builtin_rvv_vmadc_vv_u16mf2_b32:
6269case RISCV::BI__builtin_rvv_vmadc_vv_u16mf4_b64:
6270case RISCV::BI__builtin_rvv_vmadc_vv_u32m1_b32:
6271case RISCV::BI__builtin_rvv_vmadc_vv_u32m2_b16:
6272case RISCV::BI__builtin_rvv_vmadc_vv_u32m4_b8:
6273case RISCV::BI__builtin_rvv_vmadc_vv_u32m8_b4:
6274case RISCV::BI__builtin_rvv_vmadc_vv_u32mf2_b64:
6275case RISCV::BI__builtin_rvv_vmadc_vv_u64m1_b64:
6276case RISCV::BI__builtin_rvv_vmadc_vv_u64m2_b32:
6277case RISCV::BI__builtin_rvv_vmadc_vv_u64m4_b16:
6278case RISCV::BI__builtin_rvv_vmadc_vv_u64m8_b8:
6279case RISCV::BI__builtin_rvv_vmadc_vx_u8m1_b8:
6280case RISCV::BI__builtin_rvv_vmadc_vx_u8m2_b4:
6281case RISCV::BI__builtin_rvv_vmadc_vx_u8m4_b2:
6282case RISCV::BI__builtin_rvv_vmadc_vx_u8m8_b1:
6283case RISCV::BI__builtin_rvv_vmadc_vx_u8mf2_b16:
6284case RISCV::BI__builtin_rvv_vmadc_vx_u8mf4_b32:
6285case RISCV::BI__builtin_rvv_vmadc_vx_u8mf8_b64:
6286case RISCV::BI__builtin_rvv_vmadc_vx_u16m1_b16:
6287case RISCV::BI__builtin_rvv_vmadc_vx_u16m2_b8:
6288case RISCV::BI__builtin_rvv_vmadc_vx_u16m4_b4:
6289case RISCV::BI__builtin_rvv_vmadc_vx_u16m8_b2:
6290case RISCV::BI__builtin_rvv_vmadc_vx_u16mf2_b32:
6291case RISCV::BI__builtin_rvv_vmadc_vx_u16mf4_b64:
6292case RISCV::BI__builtin_rvv_vmadc_vx_u32m1_b32:
6293case RISCV::BI__builtin_rvv_vmadc_vx_u32m2_b16:
6294case RISCV::BI__builtin_rvv_vmadc_vx_u32m4_b8:
6295case RISCV::BI__builtin_rvv_vmadc_vx_u32m8_b4:
6296case RISCV::BI__builtin_rvv_vmadc_vx_u32mf2_b64:
6297case RISCV::BI__builtin_rvv_vmadc_vx_u64m1_b64:
6298case RISCV::BI__builtin_rvv_vmadc_vx_u64m2_b32:
6299case RISCV::BI__builtin_rvv_vmadc_vx_u64m4_b16:
6300case RISCV::BI__builtin_rvv_vmadc_vx_u64m8_b8:
6301 ID = Intrinsic::riscv_vmadc;
6302 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
6303 break;
6304case RISCV::BI__builtin_rvv_vmadc_vvm_i8m1_b8:
6305case RISCV::BI__builtin_rvv_vmadc_vvm_i8m2_b4:
6306case RISCV::BI__builtin_rvv_vmadc_vvm_i8m4_b2:
6307case RISCV::BI__builtin_rvv_vmadc_vvm_i8m8_b1:
6308case RISCV::BI__builtin_rvv_vmadc_vvm_i8mf2_b16:
6309case RISCV::BI__builtin_rvv_vmadc_vvm_i8mf4_b32:
6310case RISCV::BI__builtin_rvv_vmadc_vvm_i8mf8_b64:
6311case RISCV::BI__builtin_rvv_vmadc_vvm_i16m1_b16:
6312case RISCV::BI__builtin_rvv_vmadc_vvm_i16m2_b8:
6313case RISCV::BI__builtin_rvv_vmadc_vvm_i16m4_b4:
6314case RISCV::BI__builtin_rvv_vmadc_vvm_i16m8_b2:
6315case RISCV::BI__builtin_rvv_vmadc_vvm_i16mf2_b32:
6316case RISCV::BI__builtin_rvv_vmadc_vvm_i16mf4_b64:
6317case RISCV::BI__builtin_rvv_vmadc_vvm_i32m1_b32:
6318case RISCV::BI__builtin_rvv_vmadc_vvm_i32m2_b16:
6319case RISCV::BI__builtin_rvv_vmadc_vvm_i32m4_b8:
6320case RISCV::BI__builtin_rvv_vmadc_vvm_i32m8_b4:
6321case RISCV::BI__builtin_rvv_vmadc_vvm_i32mf2_b64:
6322case RISCV::BI__builtin_rvv_vmadc_vvm_i64m1_b64:
6323case RISCV::BI__builtin_rvv_vmadc_vvm_i64m2_b32:
6324case RISCV::BI__builtin_rvv_vmadc_vvm_i64m4_b16:
6325case RISCV::BI__builtin_rvv_vmadc_vvm_i64m8_b8:
6326case RISCV::BI__builtin_rvv_vmadc_vxm_i8m1_b8:
6327case RISCV::BI__builtin_rvv_vmadc_vxm_i8m2_b4:
6328case RISCV::BI__builtin_rvv_vmadc_vxm_i8m4_b2:
6329case RISCV::BI__builtin_rvv_vmadc_vxm_i8m8_b1:
6330case RISCV::BI__builtin_rvv_vmadc_vxm_i8mf2_b16:
6331case RISCV::BI__builtin_rvv_vmadc_vxm_i8mf4_b32:
6332case RISCV::BI__builtin_rvv_vmadc_vxm_i8mf8_b64:
6333case RISCV::BI__builtin_rvv_vmadc_vxm_i16m1_b16:
6334case RISCV::BI__builtin_rvv_vmadc_vxm_i16m2_b8:
6335case RISCV::BI__builtin_rvv_vmadc_vxm_i16m4_b4:
6336case RISCV::BI__builtin_rvv_vmadc_vxm_i16m8_b2:
6337case RISCV::BI__builtin_rvv_vmadc_vxm_i16mf2_b32:
6338case RISCV::BI__builtin_rvv_vmadc_vxm_i16mf4_b64:
6339case RISCV::BI__builtin_rvv_vmadc_vxm_i32m1_b32:
6340case RISCV::BI__builtin_rvv_vmadc_vxm_i32m2_b16:
6341case RISCV::BI__builtin_rvv_vmadc_vxm_i32m4_b8:
6342case RISCV::BI__builtin_rvv_vmadc_vxm_i32m8_b4:
6343case RISCV::BI__builtin_rvv_vmadc_vxm_i32mf2_b64:
6344case RISCV::BI__builtin_rvv_vmadc_vxm_i64m1_b64:
6345case RISCV::BI__builtin_rvv_vmadc_vxm_i64m2_b32:
6346case RISCV::BI__builtin_rvv_vmadc_vxm_i64m4_b16:
6347case RISCV::BI__builtin_rvv_vmadc_vxm_i64m8_b8:
6348case RISCV::BI__builtin_rvv_vmadc_vvm_u8m1_b8:
6349case RISCV::BI__builtin_rvv_vmadc_vvm_u8m2_b4:
6350case RISCV::BI__builtin_rvv_vmadc_vvm_u8m4_b2:
6351case RISCV::BI__builtin_rvv_vmadc_vvm_u8m8_b1:
6352case RISCV::BI__builtin_rvv_vmadc_vvm_u8mf2_b16:
6353case RISCV::BI__builtin_rvv_vmadc_vvm_u8mf4_b32:
6354case RISCV::BI__builtin_rvv_vmadc_vvm_u8mf8_b64:
6355case RISCV::BI__builtin_rvv_vmadc_vvm_u16m1_b16:
6356case RISCV::BI__builtin_rvv_vmadc_vvm_u16m2_b8:
6357case RISCV::BI__builtin_rvv_vmadc_vvm_u16m4_b4:
6358case RISCV::BI__builtin_rvv_vmadc_vvm_u16m8_b2:
6359case RISCV::BI__builtin_rvv_vmadc_vvm_u16mf2_b32:
6360case RISCV::BI__builtin_rvv_vmadc_vvm_u16mf4_b64:
6361case RISCV::BI__builtin_rvv_vmadc_vvm_u32m1_b32:
6362case RISCV::BI__builtin_rvv_vmadc_vvm_u32m2_b16:
6363case RISCV::BI__builtin_rvv_vmadc_vvm_u32m4_b8:
6364case RISCV::BI__builtin_rvv_vmadc_vvm_u32m8_b4:
6365case RISCV::BI__builtin_rvv_vmadc_vvm_u32mf2_b64:
6366case RISCV::BI__builtin_rvv_vmadc_vvm_u64m1_b64:
6367case RISCV::BI__builtin_rvv_vmadc_vvm_u64m2_b32:
6368case RISCV::BI__builtin_rvv_vmadc_vvm_u64m4_b16:
6369case RISCV::BI__builtin_rvv_vmadc_vvm_u64m8_b8:
6370case RISCV::BI__builtin_rvv_vmadc_vxm_u8m1_b8:
6371case RISCV::BI__builtin_rvv_vmadc_vxm_u8m2_b4:
6372case RISCV::BI__builtin_rvv_vmadc_vxm_u8m4_b2:
6373case RISCV::BI__builtin_rvv_vmadc_vxm_u8m8_b1:
6374case RISCV::BI__builtin_rvv_vmadc_vxm_u8mf2_b16:
6375case RISCV::BI__builtin_rvv_vmadc_vxm_u8mf4_b32:
6376case RISCV::BI__builtin_rvv_vmadc_vxm_u8mf8_b64:
6377case RISCV::BI__builtin_rvv_vmadc_vxm_u16m1_b16:
6378case RISCV::BI__builtin_rvv_vmadc_vxm_u16m2_b8:
6379case RISCV::BI__builtin_rvv_vmadc_vxm_u16m4_b4:
6380case RISCV::BI__builtin_rvv_vmadc_vxm_u16m8_b2:
6381case RISCV::BI__builtin_rvv_vmadc_vxm_u16mf2_b32:
6382case RISCV::BI__builtin_rvv_vmadc_vxm_u16mf4_b64:
6383case RISCV::BI__builtin_rvv_vmadc_vxm_u32m1_b32:
6384case RISCV::BI__builtin_rvv_vmadc_vxm_u32m2_b16:
6385case RISCV::BI__builtin_rvv_vmadc_vxm_u32m4_b8:
6386case RISCV::BI__builtin_rvv_vmadc_vxm_u32m8_b4:
6387case RISCV::BI__builtin_rvv_vmadc_vxm_u32mf2_b64:
6388case RISCV::BI__builtin_rvv_vmadc_vxm_u64m1_b64:
6389case RISCV::BI__builtin_rvv_vmadc_vxm_u64m2_b32:
6390case RISCV::BI__builtin_rvv_vmadc_vxm_u64m4_b16:
6391case RISCV::BI__builtin_rvv_vmadc_vxm_u64m8_b8:
6392 ID = Intrinsic::riscv_vmadc_carry_in;
6393 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
6394 break;
6395case RISCV::BI__builtin_rvv_vmadd_vv_i8m1:
6396case RISCV::BI__builtin_rvv_vmadd_vv_i8m2:
6397case RISCV::BI__builtin_rvv_vmadd_vv_i8m4:
6398case RISCV::BI__builtin_rvv_vmadd_vv_i8m8:
6399case RISCV::BI__builtin_rvv_vmadd_vv_i8mf2:
6400case RISCV::BI__builtin_rvv_vmadd_vv_i8mf4:
6401case RISCV::BI__builtin_rvv_vmadd_vv_i8mf8:
6402case RISCV::BI__builtin_rvv_vmadd_vv_i16m1:
6403case RISCV::BI__builtin_rvv_vmadd_vv_i16m2:
6404case RISCV::BI__builtin_rvv_vmadd_vv_i16m4:
6405case RISCV::BI__builtin_rvv_vmadd_vv_i16m8:
6406case RISCV::BI__builtin_rvv_vmadd_vv_i16mf2:
6407case RISCV::BI__builtin_rvv_vmadd_vv_i16mf4:
6408case RISCV::BI__builtin_rvv_vmadd_vv_i32m1:
6409case RISCV::BI__builtin_rvv_vmadd_vv_i32m2:
6410case RISCV::BI__builtin_rvv_vmadd_vv_i32m4:
6411case RISCV::BI__builtin_rvv_vmadd_vv_i32m8:
6412case RISCV::BI__builtin_rvv_vmadd_vv_i32mf2:
6413case RISCV::BI__builtin_rvv_vmadd_vv_i64m1:
6414case RISCV::BI__builtin_rvv_vmadd_vv_i64m2:
6415case RISCV::BI__builtin_rvv_vmadd_vv_i64m4:
6416case RISCV::BI__builtin_rvv_vmadd_vv_i64m8:
6417case RISCV::BI__builtin_rvv_vmadd_vx_i8m1:
6418case RISCV::BI__builtin_rvv_vmadd_vx_i8m2:
6419case RISCV::BI__builtin_rvv_vmadd_vx_i8m4:
6420case RISCV::BI__builtin_rvv_vmadd_vx_i8m8:
6421case RISCV::BI__builtin_rvv_vmadd_vx_i8mf2:
6422case RISCV::BI__builtin_rvv_vmadd_vx_i8mf4:
6423case RISCV::BI__builtin_rvv_vmadd_vx_i8mf8:
6424case RISCV::BI__builtin_rvv_vmadd_vx_i16m1:
6425case RISCV::BI__builtin_rvv_vmadd_vx_i16m2:
6426case RISCV::BI__builtin_rvv_vmadd_vx_i16m4:
6427case RISCV::BI__builtin_rvv_vmadd_vx_i16m8:
6428case RISCV::BI__builtin_rvv_vmadd_vx_i16mf2:
6429case RISCV::BI__builtin_rvv_vmadd_vx_i16mf4:
6430case RISCV::BI__builtin_rvv_vmadd_vx_i32m1:
6431case RISCV::BI__builtin_rvv_vmadd_vx_i32m2:
6432case RISCV::BI__builtin_rvv_vmadd_vx_i32m4:
6433case RISCV::BI__builtin_rvv_vmadd_vx_i32m8:
6434case RISCV::BI__builtin_rvv_vmadd_vx_i32mf2:
6435case RISCV::BI__builtin_rvv_vmadd_vx_i64m1:
6436case RISCV::BI__builtin_rvv_vmadd_vx_i64m2:
6437case RISCV::BI__builtin_rvv_vmadd_vx_i64m4:
6438case RISCV::BI__builtin_rvv_vmadd_vx_i64m8:
6439case RISCV::BI__builtin_rvv_vmadd_vv_u8m1:
6440case RISCV::BI__builtin_rvv_vmadd_vv_u8m2:
6441case RISCV::BI__builtin_rvv_vmadd_vv_u8m4:
6442case RISCV::BI__builtin_rvv_vmadd_vv_u8m8:
6443case RISCV::BI__builtin_rvv_vmadd_vv_u8mf2:
6444case RISCV::BI__builtin_rvv_vmadd_vv_u8mf4:
6445case RISCV::BI__builtin_rvv_vmadd_vv_u8mf8:
6446case RISCV::BI__builtin_rvv_vmadd_vv_u16m1:
6447case RISCV::BI__builtin_rvv_vmadd_vv_u16m2:
6448case RISCV::BI__builtin_rvv_vmadd_vv_u16m4:
6449case RISCV::BI__builtin_rvv_vmadd_vv_u16m8:
6450case RISCV::BI__builtin_rvv_vmadd_vv_u16mf2:
6451case RISCV::BI__builtin_rvv_vmadd_vv_u16mf4:
6452case RISCV::BI__builtin_rvv_vmadd_vv_u32m1:
6453case RISCV::BI__builtin_rvv_vmadd_vv_u32m2:
6454case RISCV::BI__builtin_rvv_vmadd_vv_u32m4:
6455case RISCV::BI__builtin_rvv_vmadd_vv_u32m8:
6456case RISCV::BI__builtin_rvv_vmadd_vv_u32mf2:
6457case RISCV::BI__builtin_rvv_vmadd_vv_u64m1:
6458case RISCV::BI__builtin_rvv_vmadd_vv_u64m2:
6459case RISCV::BI__builtin_rvv_vmadd_vv_u64m4:
6460case RISCV::BI__builtin_rvv_vmadd_vv_u64m8:
6461case RISCV::BI__builtin_rvv_vmadd_vx_u8m1:
6462case RISCV::BI__builtin_rvv_vmadd_vx_u8m2:
6463case RISCV::BI__builtin_rvv_vmadd_vx_u8m4:
6464case RISCV::BI__builtin_rvv_vmadd_vx_u8m8:
6465case RISCV::BI__builtin_rvv_vmadd_vx_u8mf2:
6466case RISCV::BI__builtin_rvv_vmadd_vx_u8mf4:
6467case RISCV::BI__builtin_rvv_vmadd_vx_u8mf8:
6468case RISCV::BI__builtin_rvv_vmadd_vx_u16m1:
6469case RISCV::BI__builtin_rvv_vmadd_vx_u16m2:
6470case RISCV::BI__builtin_rvv_vmadd_vx_u16m4:
6471case RISCV::BI__builtin_rvv_vmadd_vx_u16m8:
6472case RISCV::BI__builtin_rvv_vmadd_vx_u16mf2:
6473case RISCV::BI__builtin_rvv_vmadd_vx_u16mf4:
6474case RISCV::BI__builtin_rvv_vmadd_vx_u32m1:
6475case RISCV::BI__builtin_rvv_vmadd_vx_u32m2:
6476case RISCV::BI__builtin_rvv_vmadd_vx_u32m4:
6477case RISCV::BI__builtin_rvv_vmadd_vx_u32m8:
6478case RISCV::BI__builtin_rvv_vmadd_vx_u32mf2:
6479case RISCV::BI__builtin_rvv_vmadd_vx_u64m1:
6480case RISCV::BI__builtin_rvv_vmadd_vx_u64m2:
6481case RISCV::BI__builtin_rvv_vmadd_vx_u64m4:
6482case RISCV::BI__builtin_rvv_vmadd_vx_u64m8:
6483 ID = Intrinsic::riscv_vmadd;
6484 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
6485 break;
6486case RISCV::BI__builtin_rvv_vmadd_vv_i8m1_m:
6487case RISCV::BI__builtin_rvv_vmadd_vv_i8m2_m:
6488case RISCV::BI__builtin_rvv_vmadd_vv_i8m4_m:
6489case RISCV::BI__builtin_rvv_vmadd_vv_i8m8_m:
6490case RISCV::BI__builtin_rvv_vmadd_vv_i8mf2_m:
6491case RISCV::BI__builtin_rvv_vmadd_vv_i8mf4_m:
6492case RISCV::BI__builtin_rvv_vmadd_vv_i8mf8_m:
6493case RISCV::BI__builtin_rvv_vmadd_vv_i16m1_m:
6494case RISCV::BI__builtin_rvv_vmadd_vv_i16m2_m:
6495case RISCV::BI__builtin_rvv_vmadd_vv_i16m4_m:
6496case RISCV::BI__builtin_rvv_vmadd_vv_i16m8_m:
6497case RISCV::BI__builtin_rvv_vmadd_vv_i16mf2_m:
6498case RISCV::BI__builtin_rvv_vmadd_vv_i16mf4_m:
6499case RISCV::BI__builtin_rvv_vmadd_vv_i32m1_m:
6500case RISCV::BI__builtin_rvv_vmadd_vv_i32m2_m:
6501case RISCV::BI__builtin_rvv_vmadd_vv_i32m4_m:
6502case RISCV::BI__builtin_rvv_vmadd_vv_i32m8_m:
6503case RISCV::BI__builtin_rvv_vmadd_vv_i32mf2_m:
6504case RISCV::BI__builtin_rvv_vmadd_vv_i64m1_m:
6505case RISCV::BI__builtin_rvv_vmadd_vv_i64m2_m:
6506case RISCV::BI__builtin_rvv_vmadd_vv_i64m4_m:
6507case RISCV::BI__builtin_rvv_vmadd_vv_i64m8_m:
6508case RISCV::BI__builtin_rvv_vmadd_vx_i8m1_m:
6509case RISCV::BI__builtin_rvv_vmadd_vx_i8m2_m:
6510case RISCV::BI__builtin_rvv_vmadd_vx_i8m4_m:
6511case RISCV::BI__builtin_rvv_vmadd_vx_i8m8_m:
6512case RISCV::BI__builtin_rvv_vmadd_vx_i8mf2_m:
6513case RISCV::BI__builtin_rvv_vmadd_vx_i8mf4_m:
6514case RISCV::BI__builtin_rvv_vmadd_vx_i8mf8_m:
6515case RISCV::BI__builtin_rvv_vmadd_vx_i16m1_m:
6516case RISCV::BI__builtin_rvv_vmadd_vx_i16m2_m:
6517case RISCV::BI__builtin_rvv_vmadd_vx_i16m4_m:
6518case RISCV::BI__builtin_rvv_vmadd_vx_i16m8_m:
6519case RISCV::BI__builtin_rvv_vmadd_vx_i16mf2_m:
6520case RISCV::BI__builtin_rvv_vmadd_vx_i16mf4_m:
6521case RISCV::BI__builtin_rvv_vmadd_vx_i32m1_m:
6522case RISCV::BI__builtin_rvv_vmadd_vx_i32m2_m:
6523case RISCV::BI__builtin_rvv_vmadd_vx_i32m4_m:
6524case RISCV::BI__builtin_rvv_vmadd_vx_i32m8_m:
6525case RISCV::BI__builtin_rvv_vmadd_vx_i32mf2_m:
6526case RISCV::BI__builtin_rvv_vmadd_vx_i64m1_m:
6527case RISCV::BI__builtin_rvv_vmadd_vx_i64m2_m:
6528case RISCV::BI__builtin_rvv_vmadd_vx_i64m4_m:
6529case RISCV::BI__builtin_rvv_vmadd_vx_i64m8_m:
6530case RISCV::BI__builtin_rvv_vmadd_vv_u8m1_m:
6531case RISCV::BI__builtin_rvv_vmadd_vv_u8m2_m:
6532case RISCV::BI__builtin_rvv_vmadd_vv_u8m4_m:
6533case RISCV::BI__builtin_rvv_vmadd_vv_u8m8_m:
6534case RISCV::BI__builtin_rvv_vmadd_vv_u8mf2_m:
6535case RISCV::BI__builtin_rvv_vmadd_vv_u8mf4_m:
6536case RISCV::BI__builtin_rvv_vmadd_vv_u8mf8_m:
6537case RISCV::BI__builtin_rvv_vmadd_vv_u16m1_m:
6538case RISCV::BI__builtin_rvv_vmadd_vv_u16m2_m:
6539case RISCV::BI__builtin_rvv_vmadd_vv_u16m4_m:
6540case RISCV::BI__builtin_rvv_vmadd_vv_u16m8_m:
6541case RISCV::BI__builtin_rvv_vmadd_vv_u16mf2_m:
6542case RISCV::BI__builtin_rvv_vmadd_vv_u16mf4_m:
6543case RISCV::BI__builtin_rvv_vmadd_vv_u32m1_m:
6544case RISCV::BI__builtin_rvv_vmadd_vv_u32m2_m:
6545case RISCV::BI__builtin_rvv_vmadd_vv_u32m4_m:
6546case RISCV::BI__builtin_rvv_vmadd_vv_u32m8_m:
6547case RISCV::BI__builtin_rvv_vmadd_vv_u32mf2_m:
6548case RISCV::BI__builtin_rvv_vmadd_vv_u64m1_m:
6549case RISCV::BI__builtin_rvv_vmadd_vv_u64m2_m:
6550case RISCV::BI__builtin_rvv_vmadd_vv_u64m4_m:
6551case RISCV::BI__builtin_rvv_vmadd_vv_u64m8_m:
6552case RISCV::BI__builtin_rvv_vmadd_vx_u8m1_m:
6553case RISCV::BI__builtin_rvv_vmadd_vx_u8m2_m:
6554case RISCV::BI__builtin_rvv_vmadd_vx_u8m4_m:
6555case RISCV::BI__builtin_rvv_vmadd_vx_u8m8_m:
6556case RISCV::BI__builtin_rvv_vmadd_vx_u8mf2_m:
6557case RISCV::BI__builtin_rvv_vmadd_vx_u8mf4_m:
6558case RISCV::BI__builtin_rvv_vmadd_vx_u8mf8_m:
6559case RISCV::BI__builtin_rvv_vmadd_vx_u16m1_m:
6560case RISCV::BI__builtin_rvv_vmadd_vx_u16m2_m:
6561case RISCV::BI__builtin_rvv_vmadd_vx_u16m4_m:
6562case RISCV::BI__builtin_rvv_vmadd_vx_u16m8_m:
6563case RISCV::BI__builtin_rvv_vmadd_vx_u16mf2_m:
6564case RISCV::BI__builtin_rvv_vmadd_vx_u16mf4_m:
6565case RISCV::BI__builtin_rvv_vmadd_vx_u32m1_m:
6566case RISCV::BI__builtin_rvv_vmadd_vx_u32m2_m:
6567case RISCV::BI__builtin_rvv_vmadd_vx_u32m4_m:
6568case RISCV::BI__builtin_rvv_vmadd_vx_u32m8_m:
6569case RISCV::BI__builtin_rvv_vmadd_vx_u32mf2_m:
6570case RISCV::BI__builtin_rvv_vmadd_vx_u64m1_m:
6571case RISCV::BI__builtin_rvv_vmadd_vx_u64m2_m:
6572case RISCV::BI__builtin_rvv_vmadd_vx_u64m4_m:
6573case RISCV::BI__builtin_rvv_vmadd_vx_u64m8_m:
6574 ID = Intrinsic::riscv_vmadd_mask;
6575 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
6576 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
6577 break;
6578case RISCV::BI__builtin_rvv_vmmv_m_b8:
6579case RISCV::BI__builtin_rvv_vmmv_m_b4:
6580case RISCV::BI__builtin_rvv_vmmv_m_b2:
6581case RISCV::BI__builtin_rvv_vmmv_m_b1:
6582case RISCV::BI__builtin_rvv_vmmv_m_b16:
6583case RISCV::BI__builtin_rvv_vmmv_m_b32:
6584case RISCV::BI__builtin_rvv_vmmv_m_b64:
6585 ID = Intrinsic::riscv_vmand;
6586
6587 {
6588 // op1, vl
6589 IntrinsicTypes = {ResultType,
6590 Ops[1]->getType()};
6591 Ops.insert(Ops.begin() + 1, Ops[0]);
6592 break;
6593 }
6594 break;
6595case RISCV::BI__builtin_rvv_vmand_mm_b8:
6596case RISCV::BI__builtin_rvv_vmand_mm_b4:
6597case RISCV::BI__builtin_rvv_vmand_mm_b2:
6598case RISCV::BI__builtin_rvv_vmand_mm_b1:
6599case RISCV::BI__builtin_rvv_vmand_mm_b16:
6600case RISCV::BI__builtin_rvv_vmand_mm_b32:
6601case RISCV::BI__builtin_rvv_vmand_mm_b64:
6602 ID = Intrinsic::riscv_vmand;
6603 IntrinsicTypes = {ResultType, Ops.back()->getType()};
6604 break;
6605case RISCV::BI__builtin_rvv_vmandnot_mm_b8:
6606case RISCV::BI__builtin_rvv_vmandnot_mm_b4:
6607case RISCV::BI__builtin_rvv_vmandnot_mm_b2:
6608case RISCV::BI__builtin_rvv_vmandnot_mm_b1:
6609case RISCV::BI__builtin_rvv_vmandnot_mm_b16:
6610case RISCV::BI__builtin_rvv_vmandnot_mm_b32:
6611case RISCV::BI__builtin_rvv_vmandnot_mm_b64:
6612 ID = Intrinsic::riscv_vmandnot;
6613 IntrinsicTypes = {ResultType, Ops.back()->getType()};
6614 break;
6615case RISCV::BI__builtin_rvv_vmax_vv_i8m1:
6616case RISCV::BI__builtin_rvv_vmax_vv_i8m2:
6617case RISCV::BI__builtin_rvv_vmax_vv_i8m4:
6618case RISCV::BI__builtin_rvv_vmax_vv_i8m8:
6619case RISCV::BI__builtin_rvv_vmax_vv_i8mf2:
6620case RISCV::BI__builtin_rvv_vmax_vv_i8mf4:
6621case RISCV::BI__builtin_rvv_vmax_vv_i8mf8:
6622case RISCV::BI__builtin_rvv_vmax_vv_i16m1:
6623case RISCV::BI__builtin_rvv_vmax_vv_i16m2:
6624case RISCV::BI__builtin_rvv_vmax_vv_i16m4:
6625case RISCV::BI__builtin_rvv_vmax_vv_i16m8:
6626case RISCV::BI__builtin_rvv_vmax_vv_i16mf2:
6627case RISCV::BI__builtin_rvv_vmax_vv_i16mf4:
6628case RISCV::BI__builtin_rvv_vmax_vv_i32m1:
6629case RISCV::BI__builtin_rvv_vmax_vv_i32m2:
6630case RISCV::BI__builtin_rvv_vmax_vv_i32m4:
6631case RISCV::BI__builtin_rvv_vmax_vv_i32m8:
6632case RISCV::BI__builtin_rvv_vmax_vv_i32mf2:
6633case RISCV::BI__builtin_rvv_vmax_vv_i64m1:
6634case RISCV::BI__builtin_rvv_vmax_vv_i64m2:
6635case RISCV::BI__builtin_rvv_vmax_vv_i64m4:
6636case RISCV::BI__builtin_rvv_vmax_vv_i64m8:
6637case RISCV::BI__builtin_rvv_vmax_vx_i8m1:
6638case RISCV::BI__builtin_rvv_vmax_vx_i8m2:
6639case RISCV::BI__builtin_rvv_vmax_vx_i8m4:
6640case RISCV::BI__builtin_rvv_vmax_vx_i8m8:
6641case RISCV::BI__builtin_rvv_vmax_vx_i8mf2:
6642case RISCV::BI__builtin_rvv_vmax_vx_i8mf4:
6643case RISCV::BI__builtin_rvv_vmax_vx_i8mf8:
6644case RISCV::BI__builtin_rvv_vmax_vx_i16m1:
6645case RISCV::BI__builtin_rvv_vmax_vx_i16m2:
6646case RISCV::BI__builtin_rvv_vmax_vx_i16m4:
6647case RISCV::BI__builtin_rvv_vmax_vx_i16m8:
6648case RISCV::BI__builtin_rvv_vmax_vx_i16mf2:
6649case RISCV::BI__builtin_rvv_vmax_vx_i16mf4:
6650case RISCV::BI__builtin_rvv_vmax_vx_i32m1:
6651case RISCV::BI__builtin_rvv_vmax_vx_i32m2:
6652case RISCV::BI__builtin_rvv_vmax_vx_i32m4:
6653case RISCV::BI__builtin_rvv_vmax_vx_i32m8:
6654case RISCV::BI__builtin_rvv_vmax_vx_i32mf2:
6655case RISCV::BI__builtin_rvv_vmax_vx_i64m1:
6656case RISCV::BI__builtin_rvv_vmax_vx_i64m2:
6657case RISCV::BI__builtin_rvv_vmax_vx_i64m4:
6658case RISCV::BI__builtin_rvv_vmax_vx_i64m8:
6659 ID = Intrinsic::riscv_vmax;
6660 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
6661 break;
6662case RISCV::BI__builtin_rvv_vmax_vv_i8m1_m:
6663case RISCV::BI__builtin_rvv_vmax_vv_i8m2_m:
6664case RISCV::BI__builtin_rvv_vmax_vv_i8m4_m:
6665case RISCV::BI__builtin_rvv_vmax_vv_i8m8_m:
6666case RISCV::BI__builtin_rvv_vmax_vv_i8mf2_m:
6667case RISCV::BI__builtin_rvv_vmax_vv_i8mf4_m:
6668case RISCV::BI__builtin_rvv_vmax_vv_i8mf8_m:
6669case RISCV::BI__builtin_rvv_vmax_vv_i16m1_m:
6670case RISCV::BI__builtin_rvv_vmax_vv_i16m2_m:
6671case RISCV::BI__builtin_rvv_vmax_vv_i16m4_m:
6672case RISCV::BI__builtin_rvv_vmax_vv_i16m8_m:
6673case RISCV::BI__builtin_rvv_vmax_vv_i16mf2_m:
6674case RISCV::BI__builtin_rvv_vmax_vv_i16mf4_m:
6675case RISCV::BI__builtin_rvv_vmax_vv_i32m1_m:
6676case RISCV::BI__builtin_rvv_vmax_vv_i32m2_m:
6677case RISCV::BI__builtin_rvv_vmax_vv_i32m4_m:
6678case RISCV::BI__builtin_rvv_vmax_vv_i32m8_m:
6679case RISCV::BI__builtin_rvv_vmax_vv_i32mf2_m:
6680case RISCV::BI__builtin_rvv_vmax_vv_i64m1_m:
6681case RISCV::BI__builtin_rvv_vmax_vv_i64m2_m:
6682case RISCV::BI__builtin_rvv_vmax_vv_i64m4_m:
6683case RISCV::BI__builtin_rvv_vmax_vv_i64m8_m:
6684case RISCV::BI__builtin_rvv_vmax_vx_i8m1_m:
6685case RISCV::BI__builtin_rvv_vmax_vx_i8m2_m:
6686case RISCV::BI__builtin_rvv_vmax_vx_i8m4_m:
6687case RISCV::BI__builtin_rvv_vmax_vx_i8m8_m:
6688case RISCV::BI__builtin_rvv_vmax_vx_i8mf2_m:
6689case RISCV::BI__builtin_rvv_vmax_vx_i8mf4_m:
6690case RISCV::BI__builtin_rvv_vmax_vx_i8mf8_m:
6691case RISCV::BI__builtin_rvv_vmax_vx_i16m1_m:
6692case RISCV::BI__builtin_rvv_vmax_vx_i16m2_m:
6693case RISCV::BI__builtin_rvv_vmax_vx_i16m4_m:
6694case RISCV::BI__builtin_rvv_vmax_vx_i16m8_m:
6695case RISCV::BI__builtin_rvv_vmax_vx_i16mf2_m:
6696case RISCV::BI__builtin_rvv_vmax_vx_i16mf4_m:
6697case RISCV::BI__builtin_rvv_vmax_vx_i32m1_m:
6698case RISCV::BI__builtin_rvv_vmax_vx_i32m2_m:
6699case RISCV::BI__builtin_rvv_vmax_vx_i32m4_m:
6700case RISCV::BI__builtin_rvv_vmax_vx_i32m8_m:
6701case RISCV::BI__builtin_rvv_vmax_vx_i32mf2_m:
6702case RISCV::BI__builtin_rvv_vmax_vx_i64m1_m:
6703case RISCV::BI__builtin_rvv_vmax_vx_i64m2_m:
6704case RISCV::BI__builtin_rvv_vmax_vx_i64m4_m:
6705case RISCV::BI__builtin_rvv_vmax_vx_i64m8_m:
6706 ID = Intrinsic::riscv_vmax_mask;
6707 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
6708 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
6709 break;
6710case RISCV::BI__builtin_rvv_vmaxu_vv_u8m1:
6711case RISCV::BI__builtin_rvv_vmaxu_vv_u8m2:
6712case RISCV::BI__builtin_rvv_vmaxu_vv_u8m4:
6713case RISCV::BI__builtin_rvv_vmaxu_vv_u8m8:
6714case RISCV::BI__builtin_rvv_vmaxu_vv_u8mf2:
6715case RISCV::BI__builtin_rvv_vmaxu_vv_u8mf4:
6716case RISCV::BI__builtin_rvv_vmaxu_vv_u8mf8:
6717case RISCV::BI__builtin_rvv_vmaxu_vv_u16m1:
6718case RISCV::BI__builtin_rvv_vmaxu_vv_u16m2:
6719case RISCV::BI__builtin_rvv_vmaxu_vv_u16m4:
6720case RISCV::BI__builtin_rvv_vmaxu_vv_u16m8:
6721case RISCV::BI__builtin_rvv_vmaxu_vv_u16mf2:
6722case RISCV::BI__builtin_rvv_vmaxu_vv_u16mf4:
6723case RISCV::BI__builtin_rvv_vmaxu_vv_u32m1:
6724case RISCV::BI__builtin_rvv_vmaxu_vv_u32m2:
6725case RISCV::BI__builtin_rvv_vmaxu_vv_u32m4:
6726case RISCV::BI__builtin_rvv_vmaxu_vv_u32m8:
6727case RISCV::BI__builtin_rvv_vmaxu_vv_u32mf2:
6728case RISCV::BI__builtin_rvv_vmaxu_vv_u64m1:
6729case RISCV::BI__builtin_rvv_vmaxu_vv_u64m2:
6730case RISCV::BI__builtin_rvv_vmaxu_vv_u64m4:
6731case RISCV::BI__builtin_rvv_vmaxu_vv_u64m8:
6732case RISCV::BI__builtin_rvv_vmaxu_vx_u8m1:
6733case RISCV::BI__builtin_rvv_vmaxu_vx_u8m2:
6734case RISCV::BI__builtin_rvv_vmaxu_vx_u8m4:
6735case RISCV::BI__builtin_rvv_vmaxu_vx_u8m8:
6736case RISCV::BI__builtin_rvv_vmaxu_vx_u8mf2:
6737case RISCV::BI__builtin_rvv_vmaxu_vx_u8mf4:
6738case RISCV::BI__builtin_rvv_vmaxu_vx_u8mf8:
6739case RISCV::BI__builtin_rvv_vmaxu_vx_u16m1:
6740case RISCV::BI__builtin_rvv_vmaxu_vx_u16m2:
6741case RISCV::BI__builtin_rvv_vmaxu_vx_u16m4:
6742case RISCV::BI__builtin_rvv_vmaxu_vx_u16m8:
6743case RISCV::BI__builtin_rvv_vmaxu_vx_u16mf2:
6744case RISCV::BI__builtin_rvv_vmaxu_vx_u16mf4:
6745case RISCV::BI__builtin_rvv_vmaxu_vx_u32m1:
6746case RISCV::BI__builtin_rvv_vmaxu_vx_u32m2:
6747case RISCV::BI__builtin_rvv_vmaxu_vx_u32m4:
6748case RISCV::BI__builtin_rvv_vmaxu_vx_u32m8:
6749case RISCV::BI__builtin_rvv_vmaxu_vx_u32mf2:
6750case RISCV::BI__builtin_rvv_vmaxu_vx_u64m1:
6751case RISCV::BI__builtin_rvv_vmaxu_vx_u64m2:
6752case RISCV::BI__builtin_rvv_vmaxu_vx_u64m4:
6753case RISCV::BI__builtin_rvv_vmaxu_vx_u64m8:
6754 ID = Intrinsic::riscv_vmaxu;
6755 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
6756 break;
6757case RISCV::BI__builtin_rvv_vmaxu_vv_u8m1_m:
6758case RISCV::BI__builtin_rvv_vmaxu_vv_u8m2_m:
6759case RISCV::BI__builtin_rvv_vmaxu_vv_u8m4_m:
6760case RISCV::BI__builtin_rvv_vmaxu_vv_u8m8_m:
6761case RISCV::BI__builtin_rvv_vmaxu_vv_u8mf2_m:
6762case RISCV::BI__builtin_rvv_vmaxu_vv_u8mf4_m:
6763case RISCV::BI__builtin_rvv_vmaxu_vv_u8mf8_m:
6764case RISCV::BI__builtin_rvv_vmaxu_vv_u16m1_m:
6765case RISCV::BI__builtin_rvv_vmaxu_vv_u16m2_m:
6766case RISCV::BI__builtin_rvv_vmaxu_vv_u16m4_m:
6767case RISCV::BI__builtin_rvv_vmaxu_vv_u16m8_m:
6768case RISCV::BI__builtin_rvv_vmaxu_vv_u16mf2_m:
6769case RISCV::BI__builtin_rvv_vmaxu_vv_u16mf4_m:
6770case RISCV::BI__builtin_rvv_vmaxu_vv_u32m1_m:
6771case RISCV::BI__builtin_rvv_vmaxu_vv_u32m2_m:
6772case RISCV::BI__builtin_rvv_vmaxu_vv_u32m4_m:
6773case RISCV::BI__builtin_rvv_vmaxu_vv_u32m8_m:
6774case RISCV::BI__builtin_rvv_vmaxu_vv_u32mf2_m:
6775case RISCV::BI__builtin_rvv_vmaxu_vv_u64m1_m:
6776case RISCV::BI__builtin_rvv_vmaxu_vv_u64m2_m:
6777case RISCV::BI__builtin_rvv_vmaxu_vv_u64m4_m:
6778case RISCV::BI__builtin_rvv_vmaxu_vv_u64m8_m:
6779case RISCV::BI__builtin_rvv_vmaxu_vx_u8m1_m:
6780case RISCV::BI__builtin_rvv_vmaxu_vx_u8m2_m:
6781case RISCV::BI__builtin_rvv_vmaxu_vx_u8m4_m:
6782case RISCV::BI__builtin_rvv_vmaxu_vx_u8m8_m:
6783case RISCV::BI__builtin_rvv_vmaxu_vx_u8mf2_m:
6784case RISCV::BI__builtin_rvv_vmaxu_vx_u8mf4_m:
6785case RISCV::BI__builtin_rvv_vmaxu_vx_u8mf8_m:
6786case RISCV::BI__builtin_rvv_vmaxu_vx_u16m1_m:
6787case RISCV::BI__builtin_rvv_vmaxu_vx_u16m2_m:
6788case RISCV::BI__builtin_rvv_vmaxu_vx_u16m4_m:
6789case RISCV::BI__builtin_rvv_vmaxu_vx_u16m8_m:
6790case RISCV::BI__builtin_rvv_vmaxu_vx_u16mf2_m:
6791case RISCV::BI__builtin_rvv_vmaxu_vx_u16mf4_m:
6792case RISCV::BI__builtin_rvv_vmaxu_vx_u32m1_m:
6793case RISCV::BI__builtin_rvv_vmaxu_vx_u32m2_m:
6794case RISCV::BI__builtin_rvv_vmaxu_vx_u32m4_m:
6795case RISCV::BI__builtin_rvv_vmaxu_vx_u32m8_m:
6796case RISCV::BI__builtin_rvv_vmaxu_vx_u32mf2_m:
6797case RISCV::BI__builtin_rvv_vmaxu_vx_u64m1_m:
6798case RISCV::BI__builtin_rvv_vmaxu_vx_u64m2_m:
6799case RISCV::BI__builtin_rvv_vmaxu_vx_u64m4_m:
6800case RISCV::BI__builtin_rvv_vmaxu_vx_u64m8_m:
6801 ID = Intrinsic::riscv_vmaxu_mask;
6802 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
6803 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
6804 break;
6805case RISCV::BI__builtin_rvv_vmclr_m_b8:
6806case RISCV::BI__builtin_rvv_vmclr_m_b4:
6807case RISCV::BI__builtin_rvv_vmclr_m_b2:
6808case RISCV::BI__builtin_rvv_vmclr_m_b1:
6809case RISCV::BI__builtin_rvv_vmclr_m_b16:
6810case RISCV::BI__builtin_rvv_vmclr_m_b32:
6811case RISCV::BI__builtin_rvv_vmclr_m_b64:
6812 ID = Intrinsic::riscv_vmclr;
6813 IntrinsicTypes = {ResultType, Ops.back()->getType()};
6814 break;
6815case RISCV::BI__builtin_rvv_vmerge_vvm_i8m1:
6816case RISCV::BI__builtin_rvv_vmerge_vvm_i8m2:
6817case RISCV::BI__builtin_rvv_vmerge_vvm_i8m4:
6818case RISCV::BI__builtin_rvv_vmerge_vvm_i8m8:
6819case RISCV::BI__builtin_rvv_vmerge_vvm_i8mf2:
6820case RISCV::BI__builtin_rvv_vmerge_vvm_i8mf4:
6821case RISCV::BI__builtin_rvv_vmerge_vvm_i8mf8:
6822case RISCV::BI__builtin_rvv_vmerge_vvm_i16m1:
6823case RISCV::BI__builtin_rvv_vmerge_vvm_i16m2:
6824case RISCV::BI__builtin_rvv_vmerge_vvm_i16m4:
6825case RISCV::BI__builtin_rvv_vmerge_vvm_i16m8:
6826case RISCV::BI__builtin_rvv_vmerge_vvm_i16mf2:
6827case RISCV::BI__builtin_rvv_vmerge_vvm_i16mf4:
6828case RISCV::BI__builtin_rvv_vmerge_vvm_i32m1:
6829case RISCV::BI__builtin_rvv_vmerge_vvm_i32m2:
6830case RISCV::BI__builtin_rvv_vmerge_vvm_i32m4:
6831case RISCV::BI__builtin_rvv_vmerge_vvm_i32m8:
6832case RISCV::BI__builtin_rvv_vmerge_vvm_i32mf2:
6833case RISCV::BI__builtin_rvv_vmerge_vvm_i64m1:
6834case RISCV::BI__builtin_rvv_vmerge_vvm_i64m2:
6835case RISCV::BI__builtin_rvv_vmerge_vvm_i64m4:
6836case RISCV::BI__builtin_rvv_vmerge_vvm_i64m8:
6837case RISCV::BI__builtin_rvv_vmerge_vxm_i8m1:
6838case RISCV::BI__builtin_rvv_vmerge_vxm_i8m2:
6839case RISCV::BI__builtin_rvv_vmerge_vxm_i8m4:
6840case RISCV::BI__builtin_rvv_vmerge_vxm_i8m8:
6841case RISCV::BI__builtin_rvv_vmerge_vxm_i8mf2:
6842case RISCV::BI__builtin_rvv_vmerge_vxm_i8mf4:
6843case RISCV::BI__builtin_rvv_vmerge_vxm_i8mf8:
6844case RISCV::BI__builtin_rvv_vmerge_vxm_i16m1:
6845case RISCV::BI__builtin_rvv_vmerge_vxm_i16m2:
6846case RISCV::BI__builtin_rvv_vmerge_vxm_i16m4:
6847case RISCV::BI__builtin_rvv_vmerge_vxm_i16m8:
6848case RISCV::BI__builtin_rvv_vmerge_vxm_i16mf2:
6849case RISCV::BI__builtin_rvv_vmerge_vxm_i16mf4:
6850case RISCV::BI__builtin_rvv_vmerge_vxm_i32m1:
6851case RISCV::BI__builtin_rvv_vmerge_vxm_i32m2:
6852case RISCV::BI__builtin_rvv_vmerge_vxm_i32m4:
6853case RISCV::BI__builtin_rvv_vmerge_vxm_i32m8:
6854case RISCV::BI__builtin_rvv_vmerge_vxm_i32mf2:
6855case RISCV::BI__builtin_rvv_vmerge_vxm_i64m1:
6856case RISCV::BI__builtin_rvv_vmerge_vxm_i64m2:
6857case RISCV::BI__builtin_rvv_vmerge_vxm_i64m4:
6858case RISCV::BI__builtin_rvv_vmerge_vxm_i64m8:
6859case RISCV::BI__builtin_rvv_vmerge_vvm_u8m1:
6860case RISCV::BI__builtin_rvv_vmerge_vvm_u8m2:
6861case RISCV::BI__builtin_rvv_vmerge_vvm_u8m4:
6862case RISCV::BI__builtin_rvv_vmerge_vvm_u8m8:
6863case RISCV::BI__builtin_rvv_vmerge_vvm_u8mf2:
6864case RISCV::BI__builtin_rvv_vmerge_vvm_u8mf4:
6865case RISCV::BI__builtin_rvv_vmerge_vvm_u8mf8:
6866case RISCV::BI__builtin_rvv_vmerge_vvm_u16m1:
6867case RISCV::BI__builtin_rvv_vmerge_vvm_u16m2:
6868case RISCV::BI__builtin_rvv_vmerge_vvm_u16m4:
6869case RISCV::BI__builtin_rvv_vmerge_vvm_u16m8:
6870case RISCV::BI__builtin_rvv_vmerge_vvm_u16mf2:
6871case RISCV::BI__builtin_rvv_vmerge_vvm_u16mf4:
6872case RISCV::BI__builtin_rvv_vmerge_vvm_u32m1:
6873case RISCV::BI__builtin_rvv_vmerge_vvm_u32m2:
6874case RISCV::BI__builtin_rvv_vmerge_vvm_u32m4:
6875case RISCV::BI__builtin_rvv_vmerge_vvm_u32m8:
6876case RISCV::BI__builtin_rvv_vmerge_vvm_u32mf2:
6877case RISCV::BI__builtin_rvv_vmerge_vvm_u64m1:
6878case RISCV::BI__builtin_rvv_vmerge_vvm_u64m2:
6879case RISCV::BI__builtin_rvv_vmerge_vvm_u64m4:
6880case RISCV::BI__builtin_rvv_vmerge_vvm_u64m8:
6881case RISCV::BI__builtin_rvv_vmerge_vxm_u8m1:
6882case RISCV::BI__builtin_rvv_vmerge_vxm_u8m2:
6883case RISCV::BI__builtin_rvv_vmerge_vxm_u8m4:
6884case RISCV::BI__builtin_rvv_vmerge_vxm_u8m8:
6885case RISCV::BI__builtin_rvv_vmerge_vxm_u8mf2:
6886case RISCV::BI__builtin_rvv_vmerge_vxm_u8mf4:
6887case RISCV::BI__builtin_rvv_vmerge_vxm_u8mf8:
6888case RISCV::BI__builtin_rvv_vmerge_vxm_u16m1:
6889case RISCV::BI__builtin_rvv_vmerge_vxm_u16m2:
6890case RISCV::BI__builtin_rvv_vmerge_vxm_u16m4:
6891case RISCV::BI__builtin_rvv_vmerge_vxm_u16m8:
6892case RISCV::BI__builtin_rvv_vmerge_vxm_u16mf2:
6893case RISCV::BI__builtin_rvv_vmerge_vxm_u16mf4:
6894case RISCV::BI__builtin_rvv_vmerge_vxm_u32m1:
6895case RISCV::BI__builtin_rvv_vmerge_vxm_u32m2:
6896case RISCV::BI__builtin_rvv_vmerge_vxm_u32m4:
6897case RISCV::BI__builtin_rvv_vmerge_vxm_u32m8:
6898case RISCV::BI__builtin_rvv_vmerge_vxm_u32mf2:
6899case RISCV::BI__builtin_rvv_vmerge_vxm_u64m1:
6900case RISCV::BI__builtin_rvv_vmerge_vxm_u64m2:
6901case RISCV::BI__builtin_rvv_vmerge_vxm_u64m4:
6902case RISCV::BI__builtin_rvv_vmerge_vxm_u64m8:
6903 ID = Intrinsic::riscv_vmerge;
6904
6905 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.begin() + 3);
6906 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[3]->getType()};
6907 break;
6908case RISCV::BI__builtin_rvv_vmfeq_vv_f32m1_b32:
6909case RISCV::BI__builtin_rvv_vmfeq_vv_f32m2_b16:
6910case RISCV::BI__builtin_rvv_vmfeq_vv_f32m4_b8:
6911case RISCV::BI__builtin_rvv_vmfeq_vv_f32m8_b4:
6912case RISCV::BI__builtin_rvv_vmfeq_vv_f32mf2_b64:
6913case RISCV::BI__builtin_rvv_vmfeq_vv_f64m1_b64:
6914case RISCV::BI__builtin_rvv_vmfeq_vv_f64m2_b32:
6915case RISCV::BI__builtin_rvv_vmfeq_vv_f64m4_b16:
6916case RISCV::BI__builtin_rvv_vmfeq_vv_f64m8_b8:
6917case RISCV::BI__builtin_rvv_vmfeq_vf_f32m1_b32:
6918case RISCV::BI__builtin_rvv_vmfeq_vf_f32m2_b16:
6919case RISCV::BI__builtin_rvv_vmfeq_vf_f32m4_b8:
6920case RISCV::BI__builtin_rvv_vmfeq_vf_f32m8_b4:
6921case RISCV::BI__builtin_rvv_vmfeq_vf_f32mf2_b64:
6922case RISCV::BI__builtin_rvv_vmfeq_vf_f64m1_b64:
6923case RISCV::BI__builtin_rvv_vmfeq_vf_f64m2_b32:
6924case RISCV::BI__builtin_rvv_vmfeq_vf_f64m4_b16:
6925case RISCV::BI__builtin_rvv_vmfeq_vf_f64m8_b8:
6926 ID = Intrinsic::riscv_vmfeq;
6927 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
6928 break;
6929case RISCV::BI__builtin_rvv_vmfeq_vv_f32m1_b32_m:
6930case RISCV::BI__builtin_rvv_vmfeq_vv_f32m2_b16_m:
6931case RISCV::BI__builtin_rvv_vmfeq_vv_f32m4_b8_m:
6932case RISCV::BI__builtin_rvv_vmfeq_vv_f32m8_b4_m:
6933case RISCV::BI__builtin_rvv_vmfeq_vv_f32mf2_b64_m:
6934case RISCV::BI__builtin_rvv_vmfeq_vv_f64m1_b64_m:
6935case RISCV::BI__builtin_rvv_vmfeq_vv_f64m2_b32_m:
6936case RISCV::BI__builtin_rvv_vmfeq_vv_f64m4_b16_m:
6937case RISCV::BI__builtin_rvv_vmfeq_vv_f64m8_b8_m:
6938case RISCV::BI__builtin_rvv_vmfeq_vf_f32m1_b32_m:
6939case RISCV::BI__builtin_rvv_vmfeq_vf_f32m2_b16_m:
6940case RISCV::BI__builtin_rvv_vmfeq_vf_f32m4_b8_m:
6941case RISCV::BI__builtin_rvv_vmfeq_vf_f32m8_b4_m:
6942case RISCV::BI__builtin_rvv_vmfeq_vf_f32mf2_b64_m:
6943case RISCV::BI__builtin_rvv_vmfeq_vf_f64m1_b64_m:
6944case RISCV::BI__builtin_rvv_vmfeq_vf_f64m2_b32_m:
6945case RISCV::BI__builtin_rvv_vmfeq_vf_f64m4_b16_m:
6946case RISCV::BI__builtin_rvv_vmfeq_vf_f64m8_b8_m:
6947 ID = Intrinsic::riscv_vmfeq_mask;
6948 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
6949 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
6950 break;
6951case RISCV::BI__builtin_rvv_vmfge_vv_f32m1_b32:
6952case RISCV::BI__builtin_rvv_vmfge_vv_f32m2_b16:
6953case RISCV::BI__builtin_rvv_vmfge_vv_f32m4_b8:
6954case RISCV::BI__builtin_rvv_vmfge_vv_f32m8_b4:
6955case RISCV::BI__builtin_rvv_vmfge_vv_f32mf2_b64:
6956case RISCV::BI__builtin_rvv_vmfge_vv_f64m1_b64:
6957case RISCV::BI__builtin_rvv_vmfge_vv_f64m2_b32:
6958case RISCV::BI__builtin_rvv_vmfge_vv_f64m4_b16:
6959case RISCV::BI__builtin_rvv_vmfge_vv_f64m8_b8:
6960case RISCV::BI__builtin_rvv_vmfge_vf_f32m1_b32:
6961case RISCV::BI__builtin_rvv_vmfge_vf_f32m2_b16:
6962case RISCV::BI__builtin_rvv_vmfge_vf_f32m4_b8:
6963case RISCV::BI__builtin_rvv_vmfge_vf_f32m8_b4:
6964case RISCV::BI__builtin_rvv_vmfge_vf_f32mf2_b64:
6965case RISCV::BI__builtin_rvv_vmfge_vf_f64m1_b64:
6966case RISCV::BI__builtin_rvv_vmfge_vf_f64m2_b32:
6967case RISCV::BI__builtin_rvv_vmfge_vf_f64m4_b16:
6968case RISCV::BI__builtin_rvv_vmfge_vf_f64m8_b8:
6969 ID = Intrinsic::riscv_vmfge;
6970 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
6971 break;
6972case RISCV::BI__builtin_rvv_vmfge_vv_f32m1_b32_m:
6973case RISCV::BI__builtin_rvv_vmfge_vv_f32m2_b16_m:
6974case RISCV::BI__builtin_rvv_vmfge_vv_f32m4_b8_m:
6975case RISCV::BI__builtin_rvv_vmfge_vv_f32m8_b4_m:
6976case RISCV::BI__builtin_rvv_vmfge_vv_f32mf2_b64_m:
6977case RISCV::BI__builtin_rvv_vmfge_vv_f64m1_b64_m:
6978case RISCV::BI__builtin_rvv_vmfge_vv_f64m2_b32_m:
6979case RISCV::BI__builtin_rvv_vmfge_vv_f64m4_b16_m:
6980case RISCV::BI__builtin_rvv_vmfge_vv_f64m8_b8_m:
6981case RISCV::BI__builtin_rvv_vmfge_vf_f32m1_b32_m:
6982case RISCV::BI__builtin_rvv_vmfge_vf_f32m2_b16_m:
6983case RISCV::BI__builtin_rvv_vmfge_vf_f32m4_b8_m:
6984case RISCV::BI__builtin_rvv_vmfge_vf_f32m8_b4_m:
6985case RISCV::BI__builtin_rvv_vmfge_vf_f32mf2_b64_m:
6986case RISCV::BI__builtin_rvv_vmfge_vf_f64m1_b64_m:
6987case RISCV::BI__builtin_rvv_vmfge_vf_f64m2_b32_m:
6988case RISCV::BI__builtin_rvv_vmfge_vf_f64m4_b16_m:
6989case RISCV::BI__builtin_rvv_vmfge_vf_f64m8_b8_m:
6990 ID = Intrinsic::riscv_vmfge_mask;
6991 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
6992 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
6993 break;
6994case RISCV::BI__builtin_rvv_vmfgt_vv_f32m1_b32:
6995case RISCV::BI__builtin_rvv_vmfgt_vv_f32m2_b16:
6996case RISCV::BI__builtin_rvv_vmfgt_vv_f32m4_b8:
6997case RISCV::BI__builtin_rvv_vmfgt_vv_f32m8_b4:
6998case RISCV::BI__builtin_rvv_vmfgt_vv_f32mf2_b64:
6999case RISCV::BI__builtin_rvv_vmfgt_vv_f64m1_b64:
7000case RISCV::BI__builtin_rvv_vmfgt_vv_f64m2_b32:
7001case RISCV::BI__builtin_rvv_vmfgt_vv_f64m4_b16:
7002case RISCV::BI__builtin_rvv_vmfgt_vv_f64m8_b8:
7003case RISCV::BI__builtin_rvv_vmfgt_vf_f32m1_b32:
7004case RISCV::BI__builtin_rvv_vmfgt_vf_f32m2_b16:
7005case RISCV::BI__builtin_rvv_vmfgt_vf_f32m4_b8:
7006case RISCV::BI__builtin_rvv_vmfgt_vf_f32m8_b4:
7007case RISCV::BI__builtin_rvv_vmfgt_vf_f32mf2_b64:
7008case RISCV::BI__builtin_rvv_vmfgt_vf_f64m1_b64:
7009case RISCV::BI__builtin_rvv_vmfgt_vf_f64m2_b32:
7010case RISCV::BI__builtin_rvv_vmfgt_vf_f64m4_b16:
7011case RISCV::BI__builtin_rvv_vmfgt_vf_f64m8_b8:
7012 ID = Intrinsic::riscv_vmfgt;
7013 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
7014 break;
7015case RISCV::BI__builtin_rvv_vmfgt_vv_f32m1_b32_m:
7016case RISCV::BI__builtin_rvv_vmfgt_vv_f32m2_b16_m:
7017case RISCV::BI__builtin_rvv_vmfgt_vv_f32m4_b8_m:
7018case RISCV::BI__builtin_rvv_vmfgt_vv_f32m8_b4_m:
7019case RISCV::BI__builtin_rvv_vmfgt_vv_f32mf2_b64_m:
7020case RISCV::BI__builtin_rvv_vmfgt_vv_f64m1_b64_m:
7021case RISCV::BI__builtin_rvv_vmfgt_vv_f64m2_b32_m:
7022case RISCV::BI__builtin_rvv_vmfgt_vv_f64m4_b16_m:
7023case RISCV::BI__builtin_rvv_vmfgt_vv_f64m8_b8_m:
7024case RISCV::BI__builtin_rvv_vmfgt_vf_f32m1_b32_m:
7025case RISCV::BI__builtin_rvv_vmfgt_vf_f32m2_b16_m:
7026case RISCV::BI__builtin_rvv_vmfgt_vf_f32m4_b8_m:
7027case RISCV::BI__builtin_rvv_vmfgt_vf_f32m8_b4_m:
7028case RISCV::BI__builtin_rvv_vmfgt_vf_f32mf2_b64_m:
7029case RISCV::BI__builtin_rvv_vmfgt_vf_f64m1_b64_m:
7030case RISCV::BI__builtin_rvv_vmfgt_vf_f64m2_b32_m:
7031case RISCV::BI__builtin_rvv_vmfgt_vf_f64m4_b16_m:
7032case RISCV::BI__builtin_rvv_vmfgt_vf_f64m8_b8_m:
7033 ID = Intrinsic::riscv_vmfgt_mask;
7034 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
7035 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
7036 break;
7037case RISCV::BI__builtin_rvv_vmfle_vv_f32m1_b32:
7038case RISCV::BI__builtin_rvv_vmfle_vv_f32m2_b16:
7039case RISCV::BI__builtin_rvv_vmfle_vv_f32m4_b8:
7040case RISCV::BI__builtin_rvv_vmfle_vv_f32m8_b4:
7041case RISCV::BI__builtin_rvv_vmfle_vv_f32mf2_b64:
7042case RISCV::BI__builtin_rvv_vmfle_vv_f64m1_b64:
7043case RISCV::BI__builtin_rvv_vmfle_vv_f64m2_b32:
7044case RISCV::BI__builtin_rvv_vmfle_vv_f64m4_b16:
7045case RISCV::BI__builtin_rvv_vmfle_vv_f64m8_b8:
7046case RISCV::BI__builtin_rvv_vmfle_vf_f32m1_b32:
7047case RISCV::BI__builtin_rvv_vmfle_vf_f32m2_b16:
7048case RISCV::BI__builtin_rvv_vmfle_vf_f32m4_b8:
7049case RISCV::BI__builtin_rvv_vmfle_vf_f32m8_b4:
7050case RISCV::BI__builtin_rvv_vmfle_vf_f32mf2_b64:
7051case RISCV::BI__builtin_rvv_vmfle_vf_f64m1_b64:
7052case RISCV::BI__builtin_rvv_vmfle_vf_f64m2_b32:
7053case RISCV::BI__builtin_rvv_vmfle_vf_f64m4_b16:
7054case RISCV::BI__builtin_rvv_vmfle_vf_f64m8_b8:
7055 ID = Intrinsic::riscv_vmfle;
7056 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
7057 break;
7058case RISCV::BI__builtin_rvv_vmfle_vv_f32m1_b32_m:
7059case RISCV::BI__builtin_rvv_vmfle_vv_f32m2_b16_m:
7060case RISCV::BI__builtin_rvv_vmfle_vv_f32m4_b8_m:
7061case RISCV::BI__builtin_rvv_vmfle_vv_f32m8_b4_m:
7062case RISCV::BI__builtin_rvv_vmfle_vv_f32mf2_b64_m:
7063case RISCV::BI__builtin_rvv_vmfle_vv_f64m1_b64_m:
7064case RISCV::BI__builtin_rvv_vmfle_vv_f64m2_b32_m:
7065case RISCV::BI__builtin_rvv_vmfle_vv_f64m4_b16_m:
7066case RISCV::BI__builtin_rvv_vmfle_vv_f64m8_b8_m:
7067case RISCV::BI__builtin_rvv_vmfle_vf_f32m1_b32_m:
7068case RISCV::BI__builtin_rvv_vmfle_vf_f32m2_b16_m:
7069case RISCV::BI__builtin_rvv_vmfle_vf_f32m4_b8_m:
7070case RISCV::BI__builtin_rvv_vmfle_vf_f32m8_b4_m:
7071case RISCV::BI__builtin_rvv_vmfle_vf_f32mf2_b64_m:
7072case RISCV::BI__builtin_rvv_vmfle_vf_f64m1_b64_m:
7073case RISCV::BI__builtin_rvv_vmfle_vf_f64m2_b32_m:
7074case RISCV::BI__builtin_rvv_vmfle_vf_f64m4_b16_m:
7075case RISCV::BI__builtin_rvv_vmfle_vf_f64m8_b8_m:
7076 ID = Intrinsic::riscv_vmfle_mask;
7077 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
7078 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
7079 break;
7080case RISCV::BI__builtin_rvv_vmflt_vv_f32m1_b32:
7081case RISCV::BI__builtin_rvv_vmflt_vv_f32m2_b16:
7082case RISCV::BI__builtin_rvv_vmflt_vv_f32m4_b8:
7083case RISCV::BI__builtin_rvv_vmflt_vv_f32m8_b4:
7084case RISCV::BI__builtin_rvv_vmflt_vv_f32mf2_b64:
7085case RISCV::BI__builtin_rvv_vmflt_vv_f64m1_b64:
7086case RISCV::BI__builtin_rvv_vmflt_vv_f64m2_b32:
7087case RISCV::BI__builtin_rvv_vmflt_vv_f64m4_b16:
7088case RISCV::BI__builtin_rvv_vmflt_vv_f64m8_b8:
7089case RISCV::BI__builtin_rvv_vmflt_vf_f32m1_b32:
7090case RISCV::BI__builtin_rvv_vmflt_vf_f32m2_b16:
7091case RISCV::BI__builtin_rvv_vmflt_vf_f32m4_b8:
7092case RISCV::BI__builtin_rvv_vmflt_vf_f32m8_b4:
7093case RISCV::BI__builtin_rvv_vmflt_vf_f32mf2_b64:
7094case RISCV::BI__builtin_rvv_vmflt_vf_f64m1_b64:
7095case RISCV::BI__builtin_rvv_vmflt_vf_f64m2_b32:
7096case RISCV::BI__builtin_rvv_vmflt_vf_f64m4_b16:
7097case RISCV::BI__builtin_rvv_vmflt_vf_f64m8_b8:
7098 ID = Intrinsic::riscv_vmflt;
7099 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
7100 break;
7101case RISCV::BI__builtin_rvv_vmflt_vv_f32m1_b32_m:
7102case RISCV::BI__builtin_rvv_vmflt_vv_f32m2_b16_m:
7103case RISCV::BI__builtin_rvv_vmflt_vv_f32m4_b8_m:
7104case RISCV::BI__builtin_rvv_vmflt_vv_f32m8_b4_m:
7105case RISCV::BI__builtin_rvv_vmflt_vv_f32mf2_b64_m:
7106case RISCV::BI__builtin_rvv_vmflt_vv_f64m1_b64_m:
7107case RISCV::BI__builtin_rvv_vmflt_vv_f64m2_b32_m:
7108case RISCV::BI__builtin_rvv_vmflt_vv_f64m4_b16_m:
7109case RISCV::BI__builtin_rvv_vmflt_vv_f64m8_b8_m:
7110case RISCV::BI__builtin_rvv_vmflt_vf_f32m1_b32_m:
7111case RISCV::BI__builtin_rvv_vmflt_vf_f32m2_b16_m:
7112case RISCV::BI__builtin_rvv_vmflt_vf_f32m4_b8_m:
7113case RISCV::BI__builtin_rvv_vmflt_vf_f32m8_b4_m:
7114case RISCV::BI__builtin_rvv_vmflt_vf_f32mf2_b64_m:
7115case RISCV::BI__builtin_rvv_vmflt_vf_f64m1_b64_m:
7116case RISCV::BI__builtin_rvv_vmflt_vf_f64m2_b32_m:
7117case RISCV::BI__builtin_rvv_vmflt_vf_f64m4_b16_m:
7118case RISCV::BI__builtin_rvv_vmflt_vf_f64m8_b8_m:
7119 ID = Intrinsic::riscv_vmflt_mask;
7120 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
7121 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
7122 break;
7123case RISCV::BI__builtin_rvv_vmfne_vv_f32m1_b32:
7124case RISCV::BI__builtin_rvv_vmfne_vv_f32m2_b16:
7125case RISCV::BI__builtin_rvv_vmfne_vv_f32m4_b8:
7126case RISCV::BI__builtin_rvv_vmfne_vv_f32m8_b4:
7127case RISCV::BI__builtin_rvv_vmfne_vv_f32mf2_b64:
7128case RISCV::BI__builtin_rvv_vmfne_vv_f64m1_b64:
7129case RISCV::BI__builtin_rvv_vmfne_vv_f64m2_b32:
7130case RISCV::BI__builtin_rvv_vmfne_vv_f64m4_b16:
7131case RISCV::BI__builtin_rvv_vmfne_vv_f64m8_b8:
7132case RISCV::BI__builtin_rvv_vmfne_vf_f32m1_b32:
7133case RISCV::BI__builtin_rvv_vmfne_vf_f32m2_b16:
7134case RISCV::BI__builtin_rvv_vmfne_vf_f32m4_b8:
7135case RISCV::BI__builtin_rvv_vmfne_vf_f32m8_b4:
7136case RISCV::BI__builtin_rvv_vmfne_vf_f32mf2_b64:
7137case RISCV::BI__builtin_rvv_vmfne_vf_f64m1_b64:
7138case RISCV::BI__builtin_rvv_vmfne_vf_f64m2_b32:
7139case RISCV::BI__builtin_rvv_vmfne_vf_f64m4_b16:
7140case RISCV::BI__builtin_rvv_vmfne_vf_f64m8_b8:
7141 ID = Intrinsic::riscv_vmfne;
7142 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
7143 break;
7144case RISCV::BI__builtin_rvv_vmfne_vv_f32m1_b32_m:
7145case RISCV::BI__builtin_rvv_vmfne_vv_f32m2_b16_m:
7146case RISCV::BI__builtin_rvv_vmfne_vv_f32m4_b8_m:
7147case RISCV::BI__builtin_rvv_vmfne_vv_f32m8_b4_m:
7148case RISCV::BI__builtin_rvv_vmfne_vv_f32mf2_b64_m:
7149case RISCV::BI__builtin_rvv_vmfne_vv_f64m1_b64_m:
7150case RISCV::BI__builtin_rvv_vmfne_vv_f64m2_b32_m:
7151case RISCV::BI__builtin_rvv_vmfne_vv_f64m4_b16_m:
7152case RISCV::BI__builtin_rvv_vmfne_vv_f64m8_b8_m:
7153case RISCV::BI__builtin_rvv_vmfne_vf_f32m1_b32_m:
7154case RISCV::BI__builtin_rvv_vmfne_vf_f32m2_b16_m:
7155case RISCV::BI__builtin_rvv_vmfne_vf_f32m4_b8_m:
7156case RISCV::BI__builtin_rvv_vmfne_vf_f32m8_b4_m:
7157case RISCV::BI__builtin_rvv_vmfne_vf_f32mf2_b64_m:
7158case RISCV::BI__builtin_rvv_vmfne_vf_f64m1_b64_m:
7159case RISCV::BI__builtin_rvv_vmfne_vf_f64m2_b32_m:
7160case RISCV::BI__builtin_rvv_vmfne_vf_f64m4_b16_m:
7161case RISCV::BI__builtin_rvv_vmfne_vf_f64m8_b8_m:
7162 ID = Intrinsic::riscv_vmfne_mask;
7163 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
7164 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
7165 break;
7166case RISCV::BI__builtin_rvv_vmin_vv_i8m1:
7167case RISCV::BI__builtin_rvv_vmin_vv_i8m2:
7168case RISCV::BI__builtin_rvv_vmin_vv_i8m4:
7169case RISCV::BI__builtin_rvv_vmin_vv_i8m8:
7170case RISCV::BI__builtin_rvv_vmin_vv_i8mf2:
7171case RISCV::BI__builtin_rvv_vmin_vv_i8mf4:
7172case RISCV::BI__builtin_rvv_vmin_vv_i8mf8:
7173case RISCV::BI__builtin_rvv_vmin_vv_i16m1:
7174case RISCV::BI__builtin_rvv_vmin_vv_i16m2:
7175case RISCV::BI__builtin_rvv_vmin_vv_i16m4:
7176case RISCV::BI__builtin_rvv_vmin_vv_i16m8:
7177case RISCV::BI__builtin_rvv_vmin_vv_i16mf2:
7178case RISCV::BI__builtin_rvv_vmin_vv_i16mf4:
7179case RISCV::BI__builtin_rvv_vmin_vv_i32m1:
7180case RISCV::BI__builtin_rvv_vmin_vv_i32m2:
7181case RISCV::BI__builtin_rvv_vmin_vv_i32m4:
7182case RISCV::BI__builtin_rvv_vmin_vv_i32m8:
7183case RISCV::BI__builtin_rvv_vmin_vv_i32mf2:
7184case RISCV::BI__builtin_rvv_vmin_vv_i64m1:
7185case RISCV::BI__builtin_rvv_vmin_vv_i64m2:
7186case RISCV::BI__builtin_rvv_vmin_vv_i64m4:
7187case RISCV::BI__builtin_rvv_vmin_vv_i64m8:
7188case RISCV::BI__builtin_rvv_vmin_vx_i8m1:
7189case RISCV::BI__builtin_rvv_vmin_vx_i8m2:
7190case RISCV::BI__builtin_rvv_vmin_vx_i8m4:
7191case RISCV::BI__builtin_rvv_vmin_vx_i8m8:
7192case RISCV::BI__builtin_rvv_vmin_vx_i8mf2:
7193case RISCV::BI__builtin_rvv_vmin_vx_i8mf4:
7194case RISCV::BI__builtin_rvv_vmin_vx_i8mf8:
7195case RISCV::BI__builtin_rvv_vmin_vx_i16m1:
7196case RISCV::BI__builtin_rvv_vmin_vx_i16m2:
7197case RISCV::BI__builtin_rvv_vmin_vx_i16m4:
7198case RISCV::BI__builtin_rvv_vmin_vx_i16m8:
7199case RISCV::BI__builtin_rvv_vmin_vx_i16mf2:
7200case RISCV::BI__builtin_rvv_vmin_vx_i16mf4:
7201case RISCV::BI__builtin_rvv_vmin_vx_i32m1:
7202case RISCV::BI__builtin_rvv_vmin_vx_i32m2:
7203case RISCV::BI__builtin_rvv_vmin_vx_i32m4:
7204case RISCV::BI__builtin_rvv_vmin_vx_i32m8:
7205case RISCV::BI__builtin_rvv_vmin_vx_i32mf2:
7206case RISCV::BI__builtin_rvv_vmin_vx_i64m1:
7207case RISCV::BI__builtin_rvv_vmin_vx_i64m2:
7208case RISCV::BI__builtin_rvv_vmin_vx_i64m4:
7209case RISCV::BI__builtin_rvv_vmin_vx_i64m8:
7210 ID = Intrinsic::riscv_vmin;
7211 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
7212 break;
7213case RISCV::BI__builtin_rvv_vmin_vv_i8m1_m:
7214case RISCV::BI__builtin_rvv_vmin_vv_i8m2_m:
7215case RISCV::BI__builtin_rvv_vmin_vv_i8m4_m:
7216case RISCV::BI__builtin_rvv_vmin_vv_i8m8_m:
7217case RISCV::BI__builtin_rvv_vmin_vv_i8mf2_m:
7218case RISCV::BI__builtin_rvv_vmin_vv_i8mf4_m:
7219case RISCV::BI__builtin_rvv_vmin_vv_i8mf8_m:
7220case RISCV::BI__builtin_rvv_vmin_vv_i16m1_m:
7221case RISCV::BI__builtin_rvv_vmin_vv_i16m2_m:
7222case RISCV::BI__builtin_rvv_vmin_vv_i16m4_m:
7223case RISCV::BI__builtin_rvv_vmin_vv_i16m8_m:
7224case RISCV::BI__builtin_rvv_vmin_vv_i16mf2_m:
7225case RISCV::BI__builtin_rvv_vmin_vv_i16mf4_m:
7226case RISCV::BI__builtin_rvv_vmin_vv_i32m1_m:
7227case RISCV::BI__builtin_rvv_vmin_vv_i32m2_m:
7228case RISCV::BI__builtin_rvv_vmin_vv_i32m4_m:
7229case RISCV::BI__builtin_rvv_vmin_vv_i32m8_m:
7230case RISCV::BI__builtin_rvv_vmin_vv_i32mf2_m:
7231case RISCV::BI__builtin_rvv_vmin_vv_i64m1_m:
7232case RISCV::BI__builtin_rvv_vmin_vv_i64m2_m:
7233case RISCV::BI__builtin_rvv_vmin_vv_i64m4_m:
7234case RISCV::BI__builtin_rvv_vmin_vv_i64m8_m:
7235case RISCV::BI__builtin_rvv_vmin_vx_i8m1_m:
7236case RISCV::BI__builtin_rvv_vmin_vx_i8m2_m:
7237case RISCV::BI__builtin_rvv_vmin_vx_i8m4_m:
7238case RISCV::BI__builtin_rvv_vmin_vx_i8m8_m:
7239case RISCV::BI__builtin_rvv_vmin_vx_i8mf2_m:
7240case RISCV::BI__builtin_rvv_vmin_vx_i8mf4_m:
7241case RISCV::BI__builtin_rvv_vmin_vx_i8mf8_m:
7242case RISCV::BI__builtin_rvv_vmin_vx_i16m1_m:
7243case RISCV::BI__builtin_rvv_vmin_vx_i16m2_m:
7244case RISCV::BI__builtin_rvv_vmin_vx_i16m4_m:
7245case RISCV::BI__builtin_rvv_vmin_vx_i16m8_m:
7246case RISCV::BI__builtin_rvv_vmin_vx_i16mf2_m:
7247case RISCV::BI__builtin_rvv_vmin_vx_i16mf4_m:
7248case RISCV::BI__builtin_rvv_vmin_vx_i32m1_m:
7249case RISCV::BI__builtin_rvv_vmin_vx_i32m2_m:
7250case RISCV::BI__builtin_rvv_vmin_vx_i32m4_m:
7251case RISCV::BI__builtin_rvv_vmin_vx_i32m8_m:
7252case RISCV::BI__builtin_rvv_vmin_vx_i32mf2_m:
7253case RISCV::BI__builtin_rvv_vmin_vx_i64m1_m:
7254case RISCV::BI__builtin_rvv_vmin_vx_i64m2_m:
7255case RISCV::BI__builtin_rvv_vmin_vx_i64m4_m:
7256case RISCV::BI__builtin_rvv_vmin_vx_i64m8_m:
7257 ID = Intrinsic::riscv_vmin_mask;
7258 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
7259 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
7260 break;
7261case RISCV::BI__builtin_rvv_vminu_vv_u8m1:
7262case RISCV::BI__builtin_rvv_vminu_vv_u8m2:
7263case RISCV::BI__builtin_rvv_vminu_vv_u8m4:
7264case RISCV::BI__builtin_rvv_vminu_vv_u8m8:
7265case RISCV::BI__builtin_rvv_vminu_vv_u8mf2:
7266case RISCV::BI__builtin_rvv_vminu_vv_u8mf4:
7267case RISCV::BI__builtin_rvv_vminu_vv_u8mf8:
7268case RISCV::BI__builtin_rvv_vminu_vv_u16m1:
7269case RISCV::BI__builtin_rvv_vminu_vv_u16m2:
7270case RISCV::BI__builtin_rvv_vminu_vv_u16m4:
7271case RISCV::BI__builtin_rvv_vminu_vv_u16m8:
7272case RISCV::BI__builtin_rvv_vminu_vv_u16mf2:
7273case RISCV::BI__builtin_rvv_vminu_vv_u16mf4:
7274case RISCV::BI__builtin_rvv_vminu_vv_u32m1:
7275case RISCV::BI__builtin_rvv_vminu_vv_u32m2:
7276case RISCV::BI__builtin_rvv_vminu_vv_u32m4:
7277case RISCV::BI__builtin_rvv_vminu_vv_u32m8:
7278case RISCV::BI__builtin_rvv_vminu_vv_u32mf2:
7279case RISCV::BI__builtin_rvv_vminu_vv_u64m1:
7280case RISCV::BI__builtin_rvv_vminu_vv_u64m2:
7281case RISCV::BI__builtin_rvv_vminu_vv_u64m4:
7282case RISCV::BI__builtin_rvv_vminu_vv_u64m8:
7283case RISCV::BI__builtin_rvv_vminu_vx_u8m1:
7284case RISCV::BI__builtin_rvv_vminu_vx_u8m2:
7285case RISCV::BI__builtin_rvv_vminu_vx_u8m4:
7286case RISCV::BI__builtin_rvv_vminu_vx_u8m8:
7287case RISCV::BI__builtin_rvv_vminu_vx_u8mf2:
7288case RISCV::BI__builtin_rvv_vminu_vx_u8mf4:
7289case RISCV::BI__builtin_rvv_vminu_vx_u8mf8:
7290case RISCV::BI__builtin_rvv_vminu_vx_u16m1:
7291case RISCV::BI__builtin_rvv_vminu_vx_u16m2:
7292case RISCV::BI__builtin_rvv_vminu_vx_u16m4:
7293case RISCV::BI__builtin_rvv_vminu_vx_u16m8:
7294case RISCV::BI__builtin_rvv_vminu_vx_u16mf2:
7295case RISCV::BI__builtin_rvv_vminu_vx_u16mf4:
7296case RISCV::BI__builtin_rvv_vminu_vx_u32m1:
7297case RISCV::BI__builtin_rvv_vminu_vx_u32m2:
7298case RISCV::BI__builtin_rvv_vminu_vx_u32m4:
7299case RISCV::BI__builtin_rvv_vminu_vx_u32m8:
7300case RISCV::BI__builtin_rvv_vminu_vx_u32mf2:
7301case RISCV::BI__builtin_rvv_vminu_vx_u64m1:
7302case RISCV::BI__builtin_rvv_vminu_vx_u64m2:
7303case RISCV::BI__builtin_rvv_vminu_vx_u64m4:
7304case RISCV::BI__builtin_rvv_vminu_vx_u64m8:
7305 ID = Intrinsic::riscv_vminu;
7306 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
7307 break;
7308case RISCV::BI__builtin_rvv_vminu_vv_u8m1_m:
7309case RISCV::BI__builtin_rvv_vminu_vv_u8m2_m:
7310case RISCV::BI__builtin_rvv_vminu_vv_u8m4_m:
7311case RISCV::BI__builtin_rvv_vminu_vv_u8m8_m:
7312case RISCV::BI__builtin_rvv_vminu_vv_u8mf2_m:
7313case RISCV::BI__builtin_rvv_vminu_vv_u8mf4_m:
7314case RISCV::BI__builtin_rvv_vminu_vv_u8mf8_m:
7315case RISCV::BI__builtin_rvv_vminu_vv_u16m1_m:
7316case RISCV::BI__builtin_rvv_vminu_vv_u16m2_m:
7317case RISCV::BI__builtin_rvv_vminu_vv_u16m4_m:
7318case RISCV::BI__builtin_rvv_vminu_vv_u16m8_m:
7319case RISCV::BI__builtin_rvv_vminu_vv_u16mf2_m:
7320case RISCV::BI__builtin_rvv_vminu_vv_u16mf4_m:
7321case RISCV::BI__builtin_rvv_vminu_vv_u32m1_m:
7322case RISCV::BI__builtin_rvv_vminu_vv_u32m2_m:
7323case RISCV::BI__builtin_rvv_vminu_vv_u32m4_m:
7324case RISCV::BI__builtin_rvv_vminu_vv_u32m8_m:
7325case RISCV::BI__builtin_rvv_vminu_vv_u32mf2_m:
7326case RISCV::BI__builtin_rvv_vminu_vv_u64m1_m:
7327case RISCV::BI__builtin_rvv_vminu_vv_u64m2_m:
7328case RISCV::BI__builtin_rvv_vminu_vv_u64m4_m:
7329case RISCV::BI__builtin_rvv_vminu_vv_u64m8_m:
7330case RISCV::BI__builtin_rvv_vminu_vx_u8m1_m:
7331case RISCV::BI__builtin_rvv_vminu_vx_u8m2_m:
7332case RISCV::BI__builtin_rvv_vminu_vx_u8m4_m:
7333case RISCV::BI__builtin_rvv_vminu_vx_u8m8_m:
7334case RISCV::BI__builtin_rvv_vminu_vx_u8mf2_m:
7335case RISCV::BI__builtin_rvv_vminu_vx_u8mf4_m:
7336case RISCV::BI__builtin_rvv_vminu_vx_u8mf8_m:
7337case RISCV::BI__builtin_rvv_vminu_vx_u16m1_m:
7338case RISCV::BI__builtin_rvv_vminu_vx_u16m2_m:
7339case RISCV::BI__builtin_rvv_vminu_vx_u16m4_m:
7340case RISCV::BI__builtin_rvv_vminu_vx_u16m8_m:
7341case RISCV::BI__builtin_rvv_vminu_vx_u16mf2_m:
7342case RISCV::BI__builtin_rvv_vminu_vx_u16mf4_m:
7343case RISCV::BI__builtin_rvv_vminu_vx_u32m1_m:
7344case RISCV::BI__builtin_rvv_vminu_vx_u32m2_m:
7345case RISCV::BI__builtin_rvv_vminu_vx_u32m4_m:
7346case RISCV::BI__builtin_rvv_vminu_vx_u32m8_m:
7347case RISCV::BI__builtin_rvv_vminu_vx_u32mf2_m:
7348case RISCV::BI__builtin_rvv_vminu_vx_u64m1_m:
7349case RISCV::BI__builtin_rvv_vminu_vx_u64m2_m:
7350case RISCV::BI__builtin_rvv_vminu_vx_u64m4_m:
7351case RISCV::BI__builtin_rvv_vminu_vx_u64m8_m:
7352 ID = Intrinsic::riscv_vminu_mask;
7353 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
7354 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
7355 break;
7356case RISCV::BI__builtin_rvv_vmnot_m_b8:
7357case RISCV::BI__builtin_rvv_vmnot_m_b4:
7358case RISCV::BI__builtin_rvv_vmnot_m_b2:
7359case RISCV::BI__builtin_rvv_vmnot_m_b1:
7360case RISCV::BI__builtin_rvv_vmnot_m_b16:
7361case RISCV::BI__builtin_rvv_vmnot_m_b32:
7362case RISCV::BI__builtin_rvv_vmnot_m_b64:
7363 ID = Intrinsic::riscv_vmnand;
7364
7365 {
7366 // op1, vl
7367 IntrinsicTypes = {ResultType,
7368 Ops[1]->getType()};
7369 Ops.insert(Ops.begin() + 1, Ops[0]);
7370 break;
7371 }
7372 break;
7373case RISCV::BI__builtin_rvv_vmnand_mm_b8:
7374case RISCV::BI__builtin_rvv_vmnand_mm_b4:
7375case RISCV::BI__builtin_rvv_vmnand_mm_b2:
7376case RISCV::BI__builtin_rvv_vmnand_mm_b1:
7377case RISCV::BI__builtin_rvv_vmnand_mm_b16:
7378case RISCV::BI__builtin_rvv_vmnand_mm_b32:
7379case RISCV::BI__builtin_rvv_vmnand_mm_b64:
7380 ID = Intrinsic::riscv_vmnand;
7381 IntrinsicTypes = {ResultType, Ops.back()->getType()};
7382 break;
7383case RISCV::BI__builtin_rvv_vmnor_mm_b8:
7384case RISCV::BI__builtin_rvv_vmnor_mm_b4:
7385case RISCV::BI__builtin_rvv_vmnor_mm_b2:
7386case RISCV::BI__builtin_rvv_vmnor_mm_b1:
7387case RISCV::BI__builtin_rvv_vmnor_mm_b16:
7388case RISCV::BI__builtin_rvv_vmnor_mm_b32:
7389case RISCV::BI__builtin_rvv_vmnor_mm_b64:
7390 ID = Intrinsic::riscv_vmnor;
7391 IntrinsicTypes = {ResultType, Ops.back()->getType()};
7392 break;
7393case RISCV::BI__builtin_rvv_vmor_mm_b8:
7394case RISCV::BI__builtin_rvv_vmor_mm_b4:
7395case RISCV::BI__builtin_rvv_vmor_mm_b2:
7396case RISCV::BI__builtin_rvv_vmor_mm_b1:
7397case RISCV::BI__builtin_rvv_vmor_mm_b16:
7398case RISCV::BI__builtin_rvv_vmor_mm_b32:
7399case RISCV::BI__builtin_rvv_vmor_mm_b64:
7400 ID = Intrinsic::riscv_vmor;
7401 IntrinsicTypes = {ResultType, Ops.back()->getType()};
7402 break;
7403case RISCV::BI__builtin_rvv_vmornot_mm_b8:
7404case RISCV::BI__builtin_rvv_vmornot_mm_b4:
7405case RISCV::BI__builtin_rvv_vmornot_mm_b2:
7406case RISCV::BI__builtin_rvv_vmornot_mm_b1:
7407case RISCV::BI__builtin_rvv_vmornot_mm_b16:
7408case RISCV::BI__builtin_rvv_vmornot_mm_b32:
7409case RISCV::BI__builtin_rvv_vmornot_mm_b64:
7410 ID = Intrinsic::riscv_vmornot;
7411 IntrinsicTypes = {ResultType, Ops.back()->getType()};
7412 break;
7413case RISCV::BI__builtin_rvv_vmsbc_vv_i8m1_b8:
7414case RISCV::BI__builtin_rvv_vmsbc_vv_i8m2_b4:
7415case RISCV::BI__builtin_rvv_vmsbc_vv_i8m4_b2:
7416case RISCV::BI__builtin_rvv_vmsbc_vv_i8m8_b1:
7417case RISCV::BI__builtin_rvv_vmsbc_vv_i8mf2_b16:
7418case RISCV::BI__builtin_rvv_vmsbc_vv_i8mf4_b32:
7419case RISCV::BI__builtin_rvv_vmsbc_vv_i8mf8_b64:
7420case RISCV::BI__builtin_rvv_vmsbc_vv_i16m1_b16:
7421case RISCV::BI__builtin_rvv_vmsbc_vv_i16m2_b8:
7422case RISCV::BI__builtin_rvv_vmsbc_vv_i16m4_b4:
7423case RISCV::BI__builtin_rvv_vmsbc_vv_i16m8_b2:
7424case RISCV::BI__builtin_rvv_vmsbc_vv_i16mf2_b32:
7425case RISCV::BI__builtin_rvv_vmsbc_vv_i16mf4_b64:
7426case RISCV::BI__builtin_rvv_vmsbc_vv_i32m1_b32:
7427case RISCV::BI__builtin_rvv_vmsbc_vv_i32m2_b16:
7428case RISCV::BI__builtin_rvv_vmsbc_vv_i32m4_b8:
7429case RISCV::BI__builtin_rvv_vmsbc_vv_i32m8_b4:
7430case RISCV::BI__builtin_rvv_vmsbc_vv_i32mf2_b64:
7431case RISCV::BI__builtin_rvv_vmsbc_vv_i64m1_b64:
7432case RISCV::BI__builtin_rvv_vmsbc_vv_i64m2_b32:
7433case RISCV::BI__builtin_rvv_vmsbc_vv_i64m4_b16:
7434case RISCV::BI__builtin_rvv_vmsbc_vv_i64m8_b8:
7435case RISCV::BI__builtin_rvv_vmsbc_vx_i8m1_b8:
7436case RISCV::BI__builtin_rvv_vmsbc_vx_i8m2_b4:
7437case RISCV::BI__builtin_rvv_vmsbc_vx_i8m4_b2:
7438case RISCV::BI__builtin_rvv_vmsbc_vx_i8m8_b1:
7439case RISCV::BI__builtin_rvv_vmsbc_vx_i8mf2_b16:
7440case RISCV::BI__builtin_rvv_vmsbc_vx_i8mf4_b32:
7441case RISCV::BI__builtin_rvv_vmsbc_vx_i8mf8_b64:
7442case RISCV::BI__builtin_rvv_vmsbc_vx_i16m1_b16:
7443case RISCV::BI__builtin_rvv_vmsbc_vx_i16m2_b8:
7444case RISCV::BI__builtin_rvv_vmsbc_vx_i16m4_b4:
7445case RISCV::BI__builtin_rvv_vmsbc_vx_i16m8_b2:
7446case RISCV::BI__builtin_rvv_vmsbc_vx_i16mf2_b32:
7447case RISCV::BI__builtin_rvv_vmsbc_vx_i16mf4_b64:
7448case RISCV::BI__builtin_rvv_vmsbc_vx_i32m1_b32:
7449case RISCV::BI__builtin_rvv_vmsbc_vx_i32m2_b16:
7450case RISCV::BI__builtin_rvv_vmsbc_vx_i32m4_b8:
7451case RISCV::BI__builtin_rvv_vmsbc_vx_i32m8_b4:
7452case RISCV::BI__builtin_rvv_vmsbc_vx_i32mf2_b64:
7453case RISCV::BI__builtin_rvv_vmsbc_vx_i64m1_b64:
7454case RISCV::BI__builtin_rvv_vmsbc_vx_i64m2_b32:
7455case RISCV::BI__builtin_rvv_vmsbc_vx_i64m4_b16:
7456case RISCV::BI__builtin_rvv_vmsbc_vx_i64m8_b8:
7457case RISCV::BI__builtin_rvv_vmsbc_vv_u8m1_b8:
7458case RISCV::BI__builtin_rvv_vmsbc_vv_u8m2_b4:
7459case RISCV::BI__builtin_rvv_vmsbc_vv_u8m4_b2:
7460case RISCV::BI__builtin_rvv_vmsbc_vv_u8m8_b1:
7461case RISCV::BI__builtin_rvv_vmsbc_vv_u8mf2_b16:
7462case RISCV::BI__builtin_rvv_vmsbc_vv_u8mf4_b32:
7463case RISCV::BI__builtin_rvv_vmsbc_vv_u8mf8_b64:
7464case RISCV::BI__builtin_rvv_vmsbc_vv_u16m1_b16:
7465case RISCV::BI__builtin_rvv_vmsbc_vv_u16m2_b8:
7466case RISCV::BI__builtin_rvv_vmsbc_vv_u16m4_b4:
7467case RISCV::BI__builtin_rvv_vmsbc_vv_u16m8_b2:
7468case RISCV::BI__builtin_rvv_vmsbc_vv_u16mf2_b32:
7469case RISCV::BI__builtin_rvv_vmsbc_vv_u16mf4_b64:
7470case RISCV::BI__builtin_rvv_vmsbc_vv_u32m1_b32:
7471case RISCV::BI__builtin_rvv_vmsbc_vv_u32m2_b16:
7472case RISCV::BI__builtin_rvv_vmsbc_vv_u32m4_b8:
7473case RISCV::BI__builtin_rvv_vmsbc_vv_u32m8_b4:
7474case RISCV::BI__builtin_rvv_vmsbc_vv_u32mf2_b64:
7475case RISCV::BI__builtin_rvv_vmsbc_vv_u64m1_b64:
7476case RISCV::BI__builtin_rvv_vmsbc_vv_u64m2_b32:
7477case RISCV::BI__builtin_rvv_vmsbc_vv_u64m4_b16:
7478case RISCV::BI__builtin_rvv_vmsbc_vv_u64m8_b8:
7479case RISCV::BI__builtin_rvv_vmsbc_vx_u8m1_b8:
7480case RISCV::BI__builtin_rvv_vmsbc_vx_u8m2_b4:
7481case RISCV::BI__builtin_rvv_vmsbc_vx_u8m4_b2:
7482case RISCV::BI__builtin_rvv_vmsbc_vx_u8m8_b1:
7483case RISCV::BI__builtin_rvv_vmsbc_vx_u8mf2_b16:
7484case RISCV::BI__builtin_rvv_vmsbc_vx_u8mf4_b32:
7485case RISCV::BI__builtin_rvv_vmsbc_vx_u8mf8_b64:
7486case RISCV::BI__builtin_rvv_vmsbc_vx_u16m1_b16:
7487case RISCV::BI__builtin_rvv_vmsbc_vx_u16m2_b8:
7488case RISCV::BI__builtin_rvv_vmsbc_vx_u16m4_b4:
7489case RISCV::BI__builtin_rvv_vmsbc_vx_u16m8_b2:
7490case RISCV::BI__builtin_rvv_vmsbc_vx_u16mf2_b32:
7491case RISCV::BI__builtin_rvv_vmsbc_vx_u16mf4_b64:
7492case RISCV::BI__builtin_rvv_vmsbc_vx_u32m1_b32:
7493case RISCV::BI__builtin_rvv_vmsbc_vx_u32m2_b16:
7494case RISCV::BI__builtin_rvv_vmsbc_vx_u32m4_b8:
7495case RISCV::BI__builtin_rvv_vmsbc_vx_u32m8_b4:
7496case RISCV::BI__builtin_rvv_vmsbc_vx_u32mf2_b64:
7497case RISCV::BI__builtin_rvv_vmsbc_vx_u64m1_b64:
7498case RISCV::BI__builtin_rvv_vmsbc_vx_u64m2_b32:
7499case RISCV::BI__builtin_rvv_vmsbc_vx_u64m4_b16:
7500case RISCV::BI__builtin_rvv_vmsbc_vx_u64m8_b8:
7501 ID = Intrinsic::riscv_vmsbc;
7502 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
7503 break;
7504case RISCV::BI__builtin_rvv_vmsbc_vvm_i8m1_b8:
7505case RISCV::BI__builtin_rvv_vmsbc_vvm_i8m2_b4:
7506case RISCV::BI__builtin_rvv_vmsbc_vvm_i8m4_b2:
7507case RISCV::BI__builtin_rvv_vmsbc_vvm_i8m8_b1:
7508case RISCV::BI__builtin_rvv_vmsbc_vvm_i8mf2_b16:
7509case RISCV::BI__builtin_rvv_vmsbc_vvm_i8mf4_b32:
7510case RISCV::BI__builtin_rvv_vmsbc_vvm_i8mf8_b64:
7511case RISCV::BI__builtin_rvv_vmsbc_vvm_i16m1_b16:
7512case RISCV::BI__builtin_rvv_vmsbc_vvm_i16m2_b8:
7513case RISCV::BI__builtin_rvv_vmsbc_vvm_i16m4_b4:
7514case RISCV::BI__builtin_rvv_vmsbc_vvm_i16m8_b2:
7515case RISCV::BI__builtin_rvv_vmsbc_vvm_i16mf2_b32:
7516case RISCV::BI__builtin_rvv_vmsbc_vvm_i16mf4_b64:
7517case RISCV::BI__builtin_rvv_vmsbc_vvm_i32m1_b32:
7518case RISCV::BI__builtin_rvv_vmsbc_vvm_i32m2_b16:
7519case RISCV::BI__builtin_rvv_vmsbc_vvm_i32m4_b8:
7520case RISCV::BI__builtin_rvv_vmsbc_vvm_i32m8_b4:
7521case RISCV::BI__builtin_rvv_vmsbc_vvm_i32mf2_b64:
7522case RISCV::BI__builtin_rvv_vmsbc_vvm_i64m1_b64:
7523case RISCV::BI__builtin_rvv_vmsbc_vvm_i64m2_b32:
7524case RISCV::BI__builtin_rvv_vmsbc_vvm_i64m4_b16:
7525case RISCV::BI__builtin_rvv_vmsbc_vvm_i64m8_b8:
7526case RISCV::BI__builtin_rvv_vmsbc_vxm_i8m1_b8:
7527case RISCV::BI__builtin_rvv_vmsbc_vxm_i8m2_b4:
7528case RISCV::BI__builtin_rvv_vmsbc_vxm_i8m4_b2:
7529case RISCV::BI__builtin_rvv_vmsbc_vxm_i8m8_b1:
7530case RISCV::BI__builtin_rvv_vmsbc_vxm_i8mf2_b16:
7531case RISCV::BI__builtin_rvv_vmsbc_vxm_i8mf4_b32:
7532case RISCV::BI__builtin_rvv_vmsbc_vxm_i8mf8_b64:
7533case RISCV::BI__builtin_rvv_vmsbc_vxm_i16m1_b16:
7534case RISCV::BI__builtin_rvv_vmsbc_vxm_i16m2_b8:
7535case RISCV::BI__builtin_rvv_vmsbc_vxm_i16m4_b4:
7536case RISCV::BI__builtin_rvv_vmsbc_vxm_i16m8_b2:
7537case RISCV::BI__builtin_rvv_vmsbc_vxm_i16mf2_b32:
7538case RISCV::BI__builtin_rvv_vmsbc_vxm_i16mf4_b64:
7539case RISCV::BI__builtin_rvv_vmsbc_vxm_i32m1_b32:
7540case RISCV::BI__builtin_rvv_vmsbc_vxm_i32m2_b16:
7541case RISCV::BI__builtin_rvv_vmsbc_vxm_i32m4_b8:
7542case RISCV::BI__builtin_rvv_vmsbc_vxm_i32m8_b4:
7543case RISCV::BI__builtin_rvv_vmsbc_vxm_i32mf2_b64:
7544case RISCV::BI__builtin_rvv_vmsbc_vxm_i64m1_b64:
7545case RISCV::BI__builtin_rvv_vmsbc_vxm_i64m2_b32:
7546case RISCV::BI__builtin_rvv_vmsbc_vxm_i64m4_b16:
7547case RISCV::BI__builtin_rvv_vmsbc_vxm_i64m8_b8:
7548case RISCV::BI__builtin_rvv_vmsbc_vvm_u8m1_b8:
7549case RISCV::BI__builtin_rvv_vmsbc_vvm_u8m2_b4:
7550case RISCV::BI__builtin_rvv_vmsbc_vvm_u8m4_b2:
7551case RISCV::BI__builtin_rvv_vmsbc_vvm_u8m8_b1:
7552case RISCV::BI__builtin_rvv_vmsbc_vvm_u8mf2_b16:
7553case RISCV::BI__builtin_rvv_vmsbc_vvm_u8mf4_b32:
7554case RISCV::BI__builtin_rvv_vmsbc_vvm_u8mf8_b64:
7555case RISCV::BI__builtin_rvv_vmsbc_vvm_u16m1_b16:
7556case RISCV::BI__builtin_rvv_vmsbc_vvm_u16m2_b8:
7557case RISCV::BI__builtin_rvv_vmsbc_vvm_u16m4_b4:
7558case RISCV::BI__builtin_rvv_vmsbc_vvm_u16m8_b2:
7559case RISCV::BI__builtin_rvv_vmsbc_vvm_u16mf2_b32:
7560case RISCV::BI__builtin_rvv_vmsbc_vvm_u16mf4_b64:
7561case RISCV::BI__builtin_rvv_vmsbc_vvm_u32m1_b32:
7562case RISCV::BI__builtin_rvv_vmsbc_vvm_u32m2_b16:
7563case RISCV::BI__builtin_rvv_vmsbc_vvm_u32m4_b8:
7564case RISCV::BI__builtin_rvv_vmsbc_vvm_u32m8_b4:
7565case RISCV::BI__builtin_rvv_vmsbc_vvm_u32mf2_b64:
7566case RISCV::BI__builtin_rvv_vmsbc_vvm_u64m1_b64:
7567case RISCV::BI__builtin_rvv_vmsbc_vvm_u64m2_b32:
7568case RISCV::BI__builtin_rvv_vmsbc_vvm_u64m4_b16:
7569case RISCV::BI__builtin_rvv_vmsbc_vvm_u64m8_b8:
7570case RISCV::BI__builtin_rvv_vmsbc_vxm_u8m1_b8:
7571case RISCV::BI__builtin_rvv_vmsbc_vxm_u8m2_b4:
7572case RISCV::BI__builtin_rvv_vmsbc_vxm_u8m4_b2:
7573case RISCV::BI__builtin_rvv_vmsbc_vxm_u8m8_b1:
7574case RISCV::BI__builtin_rvv_vmsbc_vxm_u8mf2_b16:
7575case RISCV::BI__builtin_rvv_vmsbc_vxm_u8mf4_b32:
7576case RISCV::BI__builtin_rvv_vmsbc_vxm_u8mf8_b64:
7577case RISCV::BI__builtin_rvv_vmsbc_vxm_u16m1_b16:
7578case RISCV::BI__builtin_rvv_vmsbc_vxm_u16m2_b8:
7579case RISCV::BI__builtin_rvv_vmsbc_vxm_u16m4_b4:
7580case RISCV::BI__builtin_rvv_vmsbc_vxm_u16m8_b2:
7581case RISCV::BI__builtin_rvv_vmsbc_vxm_u16mf2_b32:
7582case RISCV::BI__builtin_rvv_vmsbc_vxm_u16mf4_b64:
7583case RISCV::BI__builtin_rvv_vmsbc_vxm_u32m1_b32:
7584case RISCV::BI__builtin_rvv_vmsbc_vxm_u32m2_b16:
7585case RISCV::BI__builtin_rvv_vmsbc_vxm_u32m4_b8:
7586case RISCV::BI__builtin_rvv_vmsbc_vxm_u32m8_b4:
7587case RISCV::BI__builtin_rvv_vmsbc_vxm_u32mf2_b64:
7588case RISCV::BI__builtin_rvv_vmsbc_vxm_u64m1_b64:
7589case RISCV::BI__builtin_rvv_vmsbc_vxm_u64m2_b32:
7590case RISCV::BI__builtin_rvv_vmsbc_vxm_u64m4_b16:
7591case RISCV::BI__builtin_rvv_vmsbc_vxm_u64m8_b8:
7592 ID = Intrinsic::riscv_vmsbc_borrow_in;
7593 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
7594 break;
7595case RISCV::BI__builtin_rvv_vmsbf_m_b8:
7596case RISCV::BI__builtin_rvv_vmsbf_m_b4:
7597case RISCV::BI__builtin_rvv_vmsbf_m_b2:
7598case RISCV::BI__builtin_rvv_vmsbf_m_b1:
7599case RISCV::BI__builtin_rvv_vmsbf_m_b16:
7600case RISCV::BI__builtin_rvv_vmsbf_m_b32:
7601case RISCV::BI__builtin_rvv_vmsbf_m_b64:
7602 ID = Intrinsic::riscv_vmsbf;
7603 IntrinsicTypes = {ResultType, Ops.back()->getType()};
7604 break;
7605case RISCV::BI__builtin_rvv_vmsbf_m_b8_m:
7606case RISCV::BI__builtin_rvv_vmsbf_m_b4_m:
7607case RISCV::BI__builtin_rvv_vmsbf_m_b2_m:
7608case RISCV::BI__builtin_rvv_vmsbf_m_b1_m:
7609case RISCV::BI__builtin_rvv_vmsbf_m_b16_m:
7610case RISCV::BI__builtin_rvv_vmsbf_m_b32_m:
7611case RISCV::BI__builtin_rvv_vmsbf_m_b64_m:
7612 ID = Intrinsic::riscv_vmsbf_mask;
7613 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
7614 IntrinsicTypes = {ResultType, Ops.back()->getType()};
7615 break;
7616case RISCV::BI__builtin_rvv_vmseq_vv_i8m1_b8:
7617case RISCV::BI__builtin_rvv_vmseq_vv_i8m2_b4:
7618case RISCV::BI__builtin_rvv_vmseq_vv_i8m4_b2:
7619case RISCV::BI__builtin_rvv_vmseq_vv_i8m8_b1:
7620case RISCV::BI__builtin_rvv_vmseq_vv_i8mf2_b16:
7621case RISCV::BI__builtin_rvv_vmseq_vv_i8mf4_b32:
7622case RISCV::BI__builtin_rvv_vmseq_vv_i8mf8_b64:
7623case RISCV::BI__builtin_rvv_vmseq_vv_i16m1_b16:
7624case RISCV::BI__builtin_rvv_vmseq_vv_i16m2_b8:
7625case RISCV::BI__builtin_rvv_vmseq_vv_i16m4_b4:
7626case RISCV::BI__builtin_rvv_vmseq_vv_i16m8_b2:
7627case RISCV::BI__builtin_rvv_vmseq_vv_i16mf2_b32:
7628case RISCV::BI__builtin_rvv_vmseq_vv_i16mf4_b64:
7629case RISCV::BI__builtin_rvv_vmseq_vv_i32m1_b32:
7630case RISCV::BI__builtin_rvv_vmseq_vv_i32m2_b16:
7631case RISCV::BI__builtin_rvv_vmseq_vv_i32m4_b8:
7632case RISCV::BI__builtin_rvv_vmseq_vv_i32m8_b4:
7633case RISCV::BI__builtin_rvv_vmseq_vv_i32mf2_b64:
7634case RISCV::BI__builtin_rvv_vmseq_vv_i64m1_b64:
7635case RISCV::BI__builtin_rvv_vmseq_vv_i64m2_b32:
7636case RISCV::BI__builtin_rvv_vmseq_vv_i64m4_b16:
7637case RISCV::BI__builtin_rvv_vmseq_vv_i64m8_b8:
7638case RISCV::BI__builtin_rvv_vmseq_vx_i8m1_b8:
7639case RISCV::BI__builtin_rvv_vmseq_vx_i8m2_b4:
7640case RISCV::BI__builtin_rvv_vmseq_vx_i8m4_b2:
7641case RISCV::BI__builtin_rvv_vmseq_vx_i8m8_b1:
7642case RISCV::BI__builtin_rvv_vmseq_vx_i8mf2_b16:
7643case RISCV::BI__builtin_rvv_vmseq_vx_i8mf4_b32:
7644case RISCV::BI__builtin_rvv_vmseq_vx_i8mf8_b64:
7645case RISCV::BI__builtin_rvv_vmseq_vx_i16m1_b16:
7646case RISCV::BI__builtin_rvv_vmseq_vx_i16m2_b8:
7647case RISCV::BI__builtin_rvv_vmseq_vx_i16m4_b4:
7648case RISCV::BI__builtin_rvv_vmseq_vx_i16m8_b2:
7649case RISCV::BI__builtin_rvv_vmseq_vx_i16mf2_b32:
7650case RISCV::BI__builtin_rvv_vmseq_vx_i16mf4_b64:
7651case RISCV::BI__builtin_rvv_vmseq_vx_i32m1_b32:
7652case RISCV::BI__builtin_rvv_vmseq_vx_i32m2_b16:
7653case RISCV::BI__builtin_rvv_vmseq_vx_i32m4_b8:
7654case RISCV::BI__builtin_rvv_vmseq_vx_i32m8_b4:
7655case RISCV::BI__builtin_rvv_vmseq_vx_i32mf2_b64:
7656case RISCV::BI__builtin_rvv_vmseq_vx_i64m1_b64:
7657case RISCV::BI__builtin_rvv_vmseq_vx_i64m2_b32:
7658case RISCV::BI__builtin_rvv_vmseq_vx_i64m4_b16:
7659case RISCV::BI__builtin_rvv_vmseq_vx_i64m8_b8:
7660case RISCV::BI__builtin_rvv_vmseq_vv_u8m1_b8:
7661case RISCV::BI__builtin_rvv_vmseq_vv_u8m2_b4:
7662case RISCV::BI__builtin_rvv_vmseq_vv_u8m4_b2:
7663case RISCV::BI__builtin_rvv_vmseq_vv_u8m8_b1:
7664case RISCV::BI__builtin_rvv_vmseq_vv_u8mf2_b16:
7665case RISCV::BI__builtin_rvv_vmseq_vv_u8mf4_b32:
7666case RISCV::BI__builtin_rvv_vmseq_vv_u8mf8_b64:
7667case RISCV::BI__builtin_rvv_vmseq_vv_u16m1_b16:
7668case RISCV::BI__builtin_rvv_vmseq_vv_u16m2_b8:
7669case RISCV::BI__builtin_rvv_vmseq_vv_u16m4_b4:
7670case RISCV::BI__builtin_rvv_vmseq_vv_u16m8_b2:
7671case RISCV::BI__builtin_rvv_vmseq_vv_u16mf2_b32:
7672case RISCV::BI__builtin_rvv_vmseq_vv_u16mf4_b64:
7673case RISCV::BI__builtin_rvv_vmseq_vv_u32m1_b32:
7674case RISCV::BI__builtin_rvv_vmseq_vv_u32m2_b16:
7675case RISCV::BI__builtin_rvv_vmseq_vv_u32m4_b8:
7676case RISCV::BI__builtin_rvv_vmseq_vv_u32m8_b4:
7677case RISCV::BI__builtin_rvv_vmseq_vv_u32mf2_b64:
7678case RISCV::BI__builtin_rvv_vmseq_vv_u64m1_b64:
7679case RISCV::BI__builtin_rvv_vmseq_vv_u64m2_b32:
7680case RISCV::BI__builtin_rvv_vmseq_vv_u64m4_b16:
7681case RISCV::BI__builtin_rvv_vmseq_vv_u64m8_b8:
7682case RISCV::BI__builtin_rvv_vmseq_vx_u8m1_b8:
7683case RISCV::BI__builtin_rvv_vmseq_vx_u8m2_b4:
7684case RISCV::BI__builtin_rvv_vmseq_vx_u8m4_b2:
7685case RISCV::BI__builtin_rvv_vmseq_vx_u8m8_b1:
7686case RISCV::BI__builtin_rvv_vmseq_vx_u8mf2_b16:
7687case RISCV::BI__builtin_rvv_vmseq_vx_u8mf4_b32:
7688case RISCV::BI__builtin_rvv_vmseq_vx_u8mf8_b64:
7689case RISCV::BI__builtin_rvv_vmseq_vx_u16m1_b16:
7690case RISCV::BI__builtin_rvv_vmseq_vx_u16m2_b8:
7691case RISCV::BI__builtin_rvv_vmseq_vx_u16m4_b4:
7692case RISCV::BI__builtin_rvv_vmseq_vx_u16m8_b2:
7693case RISCV::BI__builtin_rvv_vmseq_vx_u16mf2_b32:
7694case RISCV::BI__builtin_rvv_vmseq_vx_u16mf4_b64:
7695case RISCV::BI__builtin_rvv_vmseq_vx_u32m1_b32:
7696case RISCV::BI__builtin_rvv_vmseq_vx_u32m2_b16:
7697case RISCV::BI__builtin_rvv_vmseq_vx_u32m4_b8:
7698case RISCV::BI__builtin_rvv_vmseq_vx_u32m8_b4:
7699case RISCV::BI__builtin_rvv_vmseq_vx_u32mf2_b64:
7700case RISCV::BI__builtin_rvv_vmseq_vx_u64m1_b64:
7701case RISCV::BI__builtin_rvv_vmseq_vx_u64m2_b32:
7702case RISCV::BI__builtin_rvv_vmseq_vx_u64m4_b16:
7703case RISCV::BI__builtin_rvv_vmseq_vx_u64m8_b8:
7704 ID = Intrinsic::riscv_vmseq;
7705 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
7706 break;
7707case RISCV::BI__builtin_rvv_vmseq_vv_i8m1_b8_m:
7708case RISCV::BI__builtin_rvv_vmseq_vv_i8m2_b4_m:
7709case RISCV::BI__builtin_rvv_vmseq_vv_i8m4_b2_m:
7710case RISCV::BI__builtin_rvv_vmseq_vv_i8m8_b1_m:
7711case RISCV::BI__builtin_rvv_vmseq_vv_i8mf2_b16_m:
7712case RISCV::BI__builtin_rvv_vmseq_vv_i8mf4_b32_m:
7713case RISCV::BI__builtin_rvv_vmseq_vv_i8mf8_b64_m:
7714case RISCV::BI__builtin_rvv_vmseq_vv_i16m1_b16_m:
7715case RISCV::BI__builtin_rvv_vmseq_vv_i16m2_b8_m:
7716case RISCV::BI__builtin_rvv_vmseq_vv_i16m4_b4_m:
7717case RISCV::BI__builtin_rvv_vmseq_vv_i16m8_b2_m:
7718case RISCV::BI__builtin_rvv_vmseq_vv_i16mf2_b32_m:
7719case RISCV::BI__builtin_rvv_vmseq_vv_i16mf4_b64_m:
7720case RISCV::BI__builtin_rvv_vmseq_vv_i32m1_b32_m:
7721case RISCV::BI__builtin_rvv_vmseq_vv_i32m2_b16_m:
7722case RISCV::BI__builtin_rvv_vmseq_vv_i32m4_b8_m:
7723case RISCV::BI__builtin_rvv_vmseq_vv_i32m8_b4_m:
7724case RISCV::BI__builtin_rvv_vmseq_vv_i32mf2_b64_m:
7725case RISCV::BI__builtin_rvv_vmseq_vv_i64m1_b64_m:
7726case RISCV::BI__builtin_rvv_vmseq_vv_i64m2_b32_m:
7727case RISCV::BI__builtin_rvv_vmseq_vv_i64m4_b16_m:
7728case RISCV::BI__builtin_rvv_vmseq_vv_i64m8_b8_m:
7729case RISCV::BI__builtin_rvv_vmseq_vx_i8m1_b8_m:
7730case RISCV::BI__builtin_rvv_vmseq_vx_i8m2_b4_m:
7731case RISCV::BI__builtin_rvv_vmseq_vx_i8m4_b2_m:
7732case RISCV::BI__builtin_rvv_vmseq_vx_i8m8_b1_m:
7733case RISCV::BI__builtin_rvv_vmseq_vx_i8mf2_b16_m:
7734case RISCV::BI__builtin_rvv_vmseq_vx_i8mf4_b32_m:
7735case RISCV::BI__builtin_rvv_vmseq_vx_i8mf8_b64_m:
7736case RISCV::BI__builtin_rvv_vmseq_vx_i16m1_b16_m:
7737case RISCV::BI__builtin_rvv_vmseq_vx_i16m2_b8_m:
7738case RISCV::BI__builtin_rvv_vmseq_vx_i16m4_b4_m:
7739case RISCV::BI__builtin_rvv_vmseq_vx_i16m8_b2_m:
7740case RISCV::BI__builtin_rvv_vmseq_vx_i16mf2_b32_m:
7741case RISCV::BI__builtin_rvv_vmseq_vx_i16mf4_b64_m:
7742case RISCV::BI__builtin_rvv_vmseq_vx_i32m1_b32_m:
7743case RISCV::BI__builtin_rvv_vmseq_vx_i32m2_b16_m:
7744case RISCV::BI__builtin_rvv_vmseq_vx_i32m4_b8_m:
7745case RISCV::BI__builtin_rvv_vmseq_vx_i32m8_b4_m:
7746case RISCV::BI__builtin_rvv_vmseq_vx_i32mf2_b64_m:
7747case RISCV::BI__builtin_rvv_vmseq_vx_i64m1_b64_m:
7748case RISCV::BI__builtin_rvv_vmseq_vx_i64m2_b32_m:
7749case RISCV::BI__builtin_rvv_vmseq_vx_i64m4_b16_m:
7750case RISCV::BI__builtin_rvv_vmseq_vx_i64m8_b8_m:
7751case RISCV::BI__builtin_rvv_vmseq_vv_u8m1_b8_m:
7752case RISCV::BI__builtin_rvv_vmseq_vv_u8m2_b4_m:
7753case RISCV::BI__builtin_rvv_vmseq_vv_u8m4_b2_m:
7754case RISCV::BI__builtin_rvv_vmseq_vv_u8m8_b1_m:
7755case RISCV::BI__builtin_rvv_vmseq_vv_u8mf2_b16_m:
7756case RISCV::BI__builtin_rvv_vmseq_vv_u8mf4_b32_m:
7757case RISCV::BI__builtin_rvv_vmseq_vv_u8mf8_b64_m:
7758case RISCV::BI__builtin_rvv_vmseq_vv_u16m1_b16_m:
7759case RISCV::BI__builtin_rvv_vmseq_vv_u16m2_b8_m:
7760case RISCV::BI__builtin_rvv_vmseq_vv_u16m4_b4_m:
7761case RISCV::BI__builtin_rvv_vmseq_vv_u16m8_b2_m:
7762case RISCV::BI__builtin_rvv_vmseq_vv_u16mf2_b32_m:
7763case RISCV::BI__builtin_rvv_vmseq_vv_u16mf4_b64_m:
7764case RISCV::BI__builtin_rvv_vmseq_vv_u32m1_b32_m:
7765case RISCV::BI__builtin_rvv_vmseq_vv_u32m2_b16_m:
7766case RISCV::BI__builtin_rvv_vmseq_vv_u32m4_b8_m:
7767case RISCV::BI__builtin_rvv_vmseq_vv_u32m8_b4_m:
7768case RISCV::BI__builtin_rvv_vmseq_vv_u32mf2_b64_m:
7769case RISCV::BI__builtin_rvv_vmseq_vv_u64m1_b64_m:
7770case RISCV::BI__builtin_rvv_vmseq_vv_u64m2_b32_m:
7771case RISCV::BI__builtin_rvv_vmseq_vv_u64m4_b16_m:
7772case RISCV::BI__builtin_rvv_vmseq_vv_u64m8_b8_m:
7773case RISCV::BI__builtin_rvv_vmseq_vx_u8m1_b8_m:
7774case RISCV::BI__builtin_rvv_vmseq_vx_u8m2_b4_m:
7775case RISCV::BI__builtin_rvv_vmseq_vx_u8m4_b2_m:
7776case RISCV::BI__builtin_rvv_vmseq_vx_u8m8_b1_m:
7777case RISCV::BI__builtin_rvv_vmseq_vx_u8mf2_b16_m:
7778case RISCV::BI__builtin_rvv_vmseq_vx_u8mf4_b32_m:
7779case RISCV::BI__builtin_rvv_vmseq_vx_u8mf8_b64_m:
7780case RISCV::BI__builtin_rvv_vmseq_vx_u16m1_b16_m:
7781case RISCV::BI__builtin_rvv_vmseq_vx_u16m2_b8_m:
7782case RISCV::BI__builtin_rvv_vmseq_vx_u16m4_b4_m:
7783case RISCV::BI__builtin_rvv_vmseq_vx_u16m8_b2_m:
7784case RISCV::BI__builtin_rvv_vmseq_vx_u16mf2_b32_m:
7785case RISCV::BI__builtin_rvv_vmseq_vx_u16mf4_b64_m:
7786case RISCV::BI__builtin_rvv_vmseq_vx_u32m1_b32_m:
7787case RISCV::BI__builtin_rvv_vmseq_vx_u32m2_b16_m:
7788case RISCV::BI__builtin_rvv_vmseq_vx_u32m4_b8_m:
7789case RISCV::BI__builtin_rvv_vmseq_vx_u32m8_b4_m:
7790case RISCV::BI__builtin_rvv_vmseq_vx_u32mf2_b64_m:
7791case RISCV::BI__builtin_rvv_vmseq_vx_u64m1_b64_m:
7792case RISCV::BI__builtin_rvv_vmseq_vx_u64m2_b32_m:
7793case RISCV::BI__builtin_rvv_vmseq_vx_u64m4_b16_m:
7794case RISCV::BI__builtin_rvv_vmseq_vx_u64m8_b8_m:
7795 ID = Intrinsic::riscv_vmseq_mask;
7796 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
7797 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
7798 break;
7799case RISCV::BI__builtin_rvv_vmset_m_b8:
7800case RISCV::BI__builtin_rvv_vmset_m_b4:
7801case RISCV::BI__builtin_rvv_vmset_m_b2:
7802case RISCV::BI__builtin_rvv_vmset_m_b1:
7803case RISCV::BI__builtin_rvv_vmset_m_b16:
7804case RISCV::BI__builtin_rvv_vmset_m_b32:
7805case RISCV::BI__builtin_rvv_vmset_m_b64:
7806 ID = Intrinsic::riscv_vmset;
7807 IntrinsicTypes = {ResultType, Ops.back()->getType()};
7808 break;
7809case RISCV::BI__builtin_rvv_vmsge_vv_i8m1_b8:
7810case RISCV::BI__builtin_rvv_vmsge_vv_i8m2_b4:
7811case RISCV::BI__builtin_rvv_vmsge_vv_i8m4_b2:
7812case RISCV::BI__builtin_rvv_vmsge_vv_i8m8_b1:
7813case RISCV::BI__builtin_rvv_vmsge_vv_i8mf2_b16:
7814case RISCV::BI__builtin_rvv_vmsge_vv_i8mf4_b32:
7815case RISCV::BI__builtin_rvv_vmsge_vv_i8mf8_b64:
7816case RISCV::BI__builtin_rvv_vmsge_vv_i16m1_b16:
7817case RISCV::BI__builtin_rvv_vmsge_vv_i16m2_b8:
7818case RISCV::BI__builtin_rvv_vmsge_vv_i16m4_b4:
7819case RISCV::BI__builtin_rvv_vmsge_vv_i16m8_b2:
7820case RISCV::BI__builtin_rvv_vmsge_vv_i16mf2_b32:
7821case RISCV::BI__builtin_rvv_vmsge_vv_i16mf4_b64:
7822case RISCV::BI__builtin_rvv_vmsge_vv_i32m1_b32:
7823case RISCV::BI__builtin_rvv_vmsge_vv_i32m2_b16:
7824case RISCV::BI__builtin_rvv_vmsge_vv_i32m4_b8:
7825case RISCV::BI__builtin_rvv_vmsge_vv_i32m8_b4:
7826case RISCV::BI__builtin_rvv_vmsge_vv_i32mf2_b64:
7827case RISCV::BI__builtin_rvv_vmsge_vv_i64m1_b64:
7828case RISCV::BI__builtin_rvv_vmsge_vv_i64m2_b32:
7829case RISCV::BI__builtin_rvv_vmsge_vv_i64m4_b16:
7830case RISCV::BI__builtin_rvv_vmsge_vv_i64m8_b8:
7831case RISCV::BI__builtin_rvv_vmsge_vx_i8m1_b8:
7832case RISCV::BI__builtin_rvv_vmsge_vx_i8m2_b4:
7833case RISCV::BI__builtin_rvv_vmsge_vx_i8m4_b2:
7834case RISCV::BI__builtin_rvv_vmsge_vx_i8m8_b1:
7835case RISCV::BI__builtin_rvv_vmsge_vx_i8mf2_b16:
7836case RISCV::BI__builtin_rvv_vmsge_vx_i8mf4_b32:
7837case RISCV::BI__builtin_rvv_vmsge_vx_i8mf8_b64:
7838case RISCV::BI__builtin_rvv_vmsge_vx_i16m1_b16:
7839case RISCV::BI__builtin_rvv_vmsge_vx_i16m2_b8:
7840case RISCV::BI__builtin_rvv_vmsge_vx_i16m4_b4:
7841case RISCV::BI__builtin_rvv_vmsge_vx_i16m8_b2:
7842case RISCV::BI__builtin_rvv_vmsge_vx_i16mf2_b32:
7843case RISCV::BI__builtin_rvv_vmsge_vx_i16mf4_b64:
7844case RISCV::BI__builtin_rvv_vmsge_vx_i32m1_b32:
7845case RISCV::BI__builtin_rvv_vmsge_vx_i32m2_b16:
7846case RISCV::BI__builtin_rvv_vmsge_vx_i32m4_b8:
7847case RISCV::BI__builtin_rvv_vmsge_vx_i32m8_b4:
7848case RISCV::BI__builtin_rvv_vmsge_vx_i32mf2_b64:
7849case RISCV::BI__builtin_rvv_vmsge_vx_i64m1_b64:
7850case RISCV::BI__builtin_rvv_vmsge_vx_i64m2_b32:
7851case RISCV::BI__builtin_rvv_vmsge_vx_i64m4_b16:
7852case RISCV::BI__builtin_rvv_vmsge_vx_i64m8_b8:
7853 ID = Intrinsic::riscv_vmsge;
7854 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
7855 break;
7856case RISCV::BI__builtin_rvv_vmsge_vv_i8m1_b8_m:
7857case RISCV::BI__builtin_rvv_vmsge_vv_i8m2_b4_m:
7858case RISCV::BI__builtin_rvv_vmsge_vv_i8m4_b2_m:
7859case RISCV::BI__builtin_rvv_vmsge_vv_i8m8_b1_m:
7860case RISCV::BI__builtin_rvv_vmsge_vv_i8mf2_b16_m:
7861case RISCV::BI__builtin_rvv_vmsge_vv_i8mf4_b32_m:
7862case RISCV::BI__builtin_rvv_vmsge_vv_i8mf8_b64_m:
7863case RISCV::BI__builtin_rvv_vmsge_vv_i16m1_b16_m:
7864case RISCV::BI__builtin_rvv_vmsge_vv_i16m2_b8_m:
7865case RISCV::BI__builtin_rvv_vmsge_vv_i16m4_b4_m:
7866case RISCV::BI__builtin_rvv_vmsge_vv_i16m8_b2_m:
7867case RISCV::BI__builtin_rvv_vmsge_vv_i16mf2_b32_m:
7868case RISCV::BI__builtin_rvv_vmsge_vv_i16mf4_b64_m:
7869case RISCV::BI__builtin_rvv_vmsge_vv_i32m1_b32_m:
7870case RISCV::BI__builtin_rvv_vmsge_vv_i32m2_b16_m:
7871case RISCV::BI__builtin_rvv_vmsge_vv_i32m4_b8_m:
7872case RISCV::BI__builtin_rvv_vmsge_vv_i32m8_b4_m:
7873case RISCV::BI__builtin_rvv_vmsge_vv_i32mf2_b64_m:
7874case RISCV::BI__builtin_rvv_vmsge_vv_i64m1_b64_m:
7875case RISCV::BI__builtin_rvv_vmsge_vv_i64m2_b32_m:
7876case RISCV::BI__builtin_rvv_vmsge_vv_i64m4_b16_m:
7877case RISCV::BI__builtin_rvv_vmsge_vv_i64m8_b8_m:
7878case RISCV::BI__builtin_rvv_vmsge_vx_i8m1_b8_m:
7879case RISCV::BI__builtin_rvv_vmsge_vx_i8m2_b4_m:
7880case RISCV::BI__builtin_rvv_vmsge_vx_i8m4_b2_m:
7881case RISCV::BI__builtin_rvv_vmsge_vx_i8m8_b1_m:
7882case RISCV::BI__builtin_rvv_vmsge_vx_i8mf2_b16_m:
7883case RISCV::BI__builtin_rvv_vmsge_vx_i8mf4_b32_m:
7884case RISCV::BI__builtin_rvv_vmsge_vx_i8mf8_b64_m:
7885case RISCV::BI__builtin_rvv_vmsge_vx_i16m1_b16_m:
7886case RISCV::BI__builtin_rvv_vmsge_vx_i16m2_b8_m:
7887case RISCV::BI__builtin_rvv_vmsge_vx_i16m4_b4_m:
7888case RISCV::BI__builtin_rvv_vmsge_vx_i16m8_b2_m:
7889case RISCV::BI__builtin_rvv_vmsge_vx_i16mf2_b32_m:
7890case RISCV::BI__builtin_rvv_vmsge_vx_i16mf4_b64_m:
7891case RISCV::BI__builtin_rvv_vmsge_vx_i32m1_b32_m:
7892case RISCV::BI__builtin_rvv_vmsge_vx_i32m2_b16_m:
7893case RISCV::BI__builtin_rvv_vmsge_vx_i32m4_b8_m:
7894case RISCV::BI__builtin_rvv_vmsge_vx_i32m8_b4_m:
7895case RISCV::BI__builtin_rvv_vmsge_vx_i32mf2_b64_m:
7896case RISCV::BI__builtin_rvv_vmsge_vx_i64m1_b64_m:
7897case RISCV::BI__builtin_rvv_vmsge_vx_i64m2_b32_m:
7898case RISCV::BI__builtin_rvv_vmsge_vx_i64m4_b16_m:
7899case RISCV::BI__builtin_rvv_vmsge_vx_i64m8_b8_m:
7900 ID = Intrinsic::riscv_vmsge_mask;
7901 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
7902 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
7903 break;
7904case RISCV::BI__builtin_rvv_vmsgeu_vv_u8m1_b8:
7905case RISCV::BI__builtin_rvv_vmsgeu_vv_u8m2_b4:
7906case RISCV::BI__builtin_rvv_vmsgeu_vv_u8m4_b2:
7907case RISCV::BI__builtin_rvv_vmsgeu_vv_u8m8_b1:
7908case RISCV::BI__builtin_rvv_vmsgeu_vv_u8mf2_b16:
7909case RISCV::BI__builtin_rvv_vmsgeu_vv_u8mf4_b32:
7910case RISCV::BI__builtin_rvv_vmsgeu_vv_u8mf8_b64:
7911case RISCV::BI__builtin_rvv_vmsgeu_vv_u16m1_b16:
7912case RISCV::BI__builtin_rvv_vmsgeu_vv_u16m2_b8:
7913case RISCV::BI__builtin_rvv_vmsgeu_vv_u16m4_b4:
7914case RISCV::BI__builtin_rvv_vmsgeu_vv_u16m8_b2:
7915case RISCV::BI__builtin_rvv_vmsgeu_vv_u16mf2_b32:
7916case RISCV::BI__builtin_rvv_vmsgeu_vv_u16mf4_b64:
7917case RISCV::BI__builtin_rvv_vmsgeu_vv_u32m1_b32:
7918case RISCV::BI__builtin_rvv_vmsgeu_vv_u32m2_b16:
7919case RISCV::BI__builtin_rvv_vmsgeu_vv_u32m4_b8:
7920case RISCV::BI__builtin_rvv_vmsgeu_vv_u32m8_b4:
7921case RISCV::BI__builtin_rvv_vmsgeu_vv_u32mf2_b64:
7922case RISCV::BI__builtin_rvv_vmsgeu_vv_u64m1_b64:
7923case RISCV::BI__builtin_rvv_vmsgeu_vv_u64m2_b32:
7924case RISCV::BI__builtin_rvv_vmsgeu_vv_u64m4_b16:
7925case RISCV::BI__builtin_rvv_vmsgeu_vv_u64m8_b8:
7926case RISCV::BI__builtin_rvv_vmsgeu_vx_u8m1_b8:
7927case RISCV::BI__builtin_rvv_vmsgeu_vx_u8m2_b4:
7928case RISCV::BI__builtin_rvv_vmsgeu_vx_u8m4_b2:
7929case RISCV::BI__builtin_rvv_vmsgeu_vx_u8m8_b1:
7930case RISCV::BI__builtin_rvv_vmsgeu_vx_u8mf2_b16:
7931case RISCV::BI__builtin_rvv_vmsgeu_vx_u8mf4_b32:
7932case RISCV::BI__builtin_rvv_vmsgeu_vx_u8mf8_b64:
7933case RISCV::BI__builtin_rvv_vmsgeu_vx_u16m1_b16:
7934case RISCV::BI__builtin_rvv_vmsgeu_vx_u16m2_b8:
7935case RISCV::BI__builtin_rvv_vmsgeu_vx_u16m4_b4:
7936case RISCV::BI__builtin_rvv_vmsgeu_vx_u16m8_b2:
7937case RISCV::BI__builtin_rvv_vmsgeu_vx_u16mf2_b32:
7938case RISCV::BI__builtin_rvv_vmsgeu_vx_u16mf4_b64:
7939case RISCV::BI__builtin_rvv_vmsgeu_vx_u32m1_b32:
7940case RISCV::BI__builtin_rvv_vmsgeu_vx_u32m2_b16:
7941case RISCV::BI__builtin_rvv_vmsgeu_vx_u32m4_b8:
7942case RISCV::BI__builtin_rvv_vmsgeu_vx_u32m8_b4:
7943case RISCV::BI__builtin_rvv_vmsgeu_vx_u32mf2_b64:
7944case RISCV::BI__builtin_rvv_vmsgeu_vx_u64m1_b64:
7945case RISCV::BI__builtin_rvv_vmsgeu_vx_u64m2_b32:
7946case RISCV::BI__builtin_rvv_vmsgeu_vx_u64m4_b16:
7947case RISCV::BI__builtin_rvv_vmsgeu_vx_u64m8_b8:
7948 ID = Intrinsic::riscv_vmsgeu;
7949 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
7950 break;
7951case RISCV::BI__builtin_rvv_vmsgeu_vv_u8m1_b8_m:
7952case RISCV::BI__builtin_rvv_vmsgeu_vv_u8m2_b4_m:
7953case RISCV::BI__builtin_rvv_vmsgeu_vv_u8m4_b2_m:
7954case RISCV::BI__builtin_rvv_vmsgeu_vv_u8m8_b1_m:
7955case RISCV::BI__builtin_rvv_vmsgeu_vv_u8mf2_b16_m:
7956case RISCV::BI__builtin_rvv_vmsgeu_vv_u8mf4_b32_m:
7957case RISCV::BI__builtin_rvv_vmsgeu_vv_u8mf8_b64_m:
7958case RISCV::BI__builtin_rvv_vmsgeu_vv_u16m1_b16_m:
7959case RISCV::BI__builtin_rvv_vmsgeu_vv_u16m2_b8_m:
7960case RISCV::BI__builtin_rvv_vmsgeu_vv_u16m4_b4_m:
7961case RISCV::BI__builtin_rvv_vmsgeu_vv_u16m8_b2_m:
7962case RISCV::BI__builtin_rvv_vmsgeu_vv_u16mf2_b32_m:
7963case RISCV::BI__builtin_rvv_vmsgeu_vv_u16mf4_b64_m:
7964case RISCV::BI__builtin_rvv_vmsgeu_vv_u32m1_b32_m:
7965case RISCV::BI__builtin_rvv_vmsgeu_vv_u32m2_b16_m:
7966case RISCV::BI__builtin_rvv_vmsgeu_vv_u32m4_b8_m:
7967case RISCV::BI__builtin_rvv_vmsgeu_vv_u32m8_b4_m:
7968case RISCV::BI__builtin_rvv_vmsgeu_vv_u32mf2_b64_m:
7969case RISCV::BI__builtin_rvv_vmsgeu_vv_u64m1_b64_m:
7970case RISCV::BI__builtin_rvv_vmsgeu_vv_u64m2_b32_m:
7971case RISCV::BI__builtin_rvv_vmsgeu_vv_u64m4_b16_m:
7972case RISCV::BI__builtin_rvv_vmsgeu_vv_u64m8_b8_m:
7973case RISCV::BI__builtin_rvv_vmsgeu_vx_u8m1_b8_m:
7974case RISCV::BI__builtin_rvv_vmsgeu_vx_u8m2_b4_m:
7975case RISCV::BI__builtin_rvv_vmsgeu_vx_u8m4_b2_m:
7976case RISCV::BI__builtin_rvv_vmsgeu_vx_u8m8_b1_m:
7977case RISCV::BI__builtin_rvv_vmsgeu_vx_u8mf2_b16_m:
7978case RISCV::BI__builtin_rvv_vmsgeu_vx_u8mf4_b32_m:
7979case RISCV::BI__builtin_rvv_vmsgeu_vx_u8mf8_b64_m:
7980case RISCV::BI__builtin_rvv_vmsgeu_vx_u16m1_b16_m:
7981case RISCV::BI__builtin_rvv_vmsgeu_vx_u16m2_b8_m:
7982case RISCV::BI__builtin_rvv_vmsgeu_vx_u16m4_b4_m:
7983case RISCV::BI__builtin_rvv_vmsgeu_vx_u16m8_b2_m:
7984case RISCV::BI__builtin_rvv_vmsgeu_vx_u16mf2_b32_m:
7985case RISCV::BI__builtin_rvv_vmsgeu_vx_u16mf4_b64_m:
7986case RISCV::BI__builtin_rvv_vmsgeu_vx_u32m1_b32_m:
7987case RISCV::BI__builtin_rvv_vmsgeu_vx_u32m2_b16_m:
7988case RISCV::BI__builtin_rvv_vmsgeu_vx_u32m4_b8_m:
7989case RISCV::BI__builtin_rvv_vmsgeu_vx_u32m8_b4_m:
7990case RISCV::BI__builtin_rvv_vmsgeu_vx_u32mf2_b64_m:
7991case RISCV::BI__builtin_rvv_vmsgeu_vx_u64m1_b64_m:
7992case RISCV::BI__builtin_rvv_vmsgeu_vx_u64m2_b32_m:
7993case RISCV::BI__builtin_rvv_vmsgeu_vx_u64m4_b16_m:
7994case RISCV::BI__builtin_rvv_vmsgeu_vx_u64m8_b8_m:
7995 ID = Intrinsic::riscv_vmsgeu_mask;
7996 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
7997 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
7998 break;
7999case RISCV::BI__builtin_rvv_vmsgt_vv_i8m1_b8:
8000case RISCV::BI__builtin_rvv_vmsgt_vv_i8m2_b4:
8001case RISCV::BI__builtin_rvv_vmsgt_vv_i8m4_b2:
8002case RISCV::BI__builtin_rvv_vmsgt_vv_i8m8_b1:
8003case RISCV::BI__builtin_rvv_vmsgt_vv_i8mf2_b16:
8004case RISCV::BI__builtin_rvv_vmsgt_vv_i8mf4_b32:
8005case RISCV::BI__builtin_rvv_vmsgt_vv_i8mf8_b64:
8006case RISCV::BI__builtin_rvv_vmsgt_vv_i16m1_b16:
8007case RISCV::BI__builtin_rvv_vmsgt_vv_i16m2_b8:
8008case RISCV::BI__builtin_rvv_vmsgt_vv_i16m4_b4:
8009case RISCV::BI__builtin_rvv_vmsgt_vv_i16m8_b2:
8010case RISCV::BI__builtin_rvv_vmsgt_vv_i16mf2_b32:
8011case RISCV::BI__builtin_rvv_vmsgt_vv_i16mf4_b64:
8012case RISCV::BI__builtin_rvv_vmsgt_vv_i32m1_b32:
8013case RISCV::BI__builtin_rvv_vmsgt_vv_i32m2_b16:
8014case RISCV::BI__builtin_rvv_vmsgt_vv_i32m4_b8:
8015case RISCV::BI__builtin_rvv_vmsgt_vv_i32m8_b4:
8016case RISCV::BI__builtin_rvv_vmsgt_vv_i32mf2_b64:
8017case RISCV::BI__builtin_rvv_vmsgt_vv_i64m1_b64:
8018case RISCV::BI__builtin_rvv_vmsgt_vv_i64m2_b32:
8019case RISCV::BI__builtin_rvv_vmsgt_vv_i64m4_b16:
8020case RISCV::BI__builtin_rvv_vmsgt_vv_i64m8_b8:
8021case RISCV::BI__builtin_rvv_vmsgt_vx_i8m1_b8:
8022case RISCV::BI__builtin_rvv_vmsgt_vx_i8m2_b4:
8023case RISCV::BI__builtin_rvv_vmsgt_vx_i8m4_b2:
8024case RISCV::BI__builtin_rvv_vmsgt_vx_i8m8_b1:
8025case RISCV::BI__builtin_rvv_vmsgt_vx_i8mf2_b16:
8026case RISCV::BI__builtin_rvv_vmsgt_vx_i8mf4_b32:
8027case RISCV::BI__builtin_rvv_vmsgt_vx_i8mf8_b64:
8028case RISCV::BI__builtin_rvv_vmsgt_vx_i16m1_b16:
8029case RISCV::BI__builtin_rvv_vmsgt_vx_i16m2_b8:
8030case RISCV::BI__builtin_rvv_vmsgt_vx_i16m4_b4:
8031case RISCV::BI__builtin_rvv_vmsgt_vx_i16m8_b2:
8032case RISCV::BI__builtin_rvv_vmsgt_vx_i16mf2_b32:
8033case RISCV::BI__builtin_rvv_vmsgt_vx_i16mf4_b64:
8034case RISCV::BI__builtin_rvv_vmsgt_vx_i32m1_b32:
8035case RISCV::BI__builtin_rvv_vmsgt_vx_i32m2_b16:
8036case RISCV::BI__builtin_rvv_vmsgt_vx_i32m4_b8:
8037case RISCV::BI__builtin_rvv_vmsgt_vx_i32m8_b4:
8038case RISCV::BI__builtin_rvv_vmsgt_vx_i32mf2_b64:
8039case RISCV::BI__builtin_rvv_vmsgt_vx_i64m1_b64:
8040case RISCV::BI__builtin_rvv_vmsgt_vx_i64m2_b32:
8041case RISCV::BI__builtin_rvv_vmsgt_vx_i64m4_b16:
8042case RISCV::BI__builtin_rvv_vmsgt_vx_i64m8_b8:
8043 ID = Intrinsic::riscv_vmsgt;
8044 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
8045 break;
8046case RISCV::BI__builtin_rvv_vmsgt_vv_i8m1_b8_m:
8047case RISCV::BI__builtin_rvv_vmsgt_vv_i8m2_b4_m:
8048case RISCV::BI__builtin_rvv_vmsgt_vv_i8m4_b2_m:
8049case RISCV::BI__builtin_rvv_vmsgt_vv_i8m8_b1_m:
8050case RISCV::BI__builtin_rvv_vmsgt_vv_i8mf2_b16_m:
8051case RISCV::BI__builtin_rvv_vmsgt_vv_i8mf4_b32_m:
8052case RISCV::BI__builtin_rvv_vmsgt_vv_i8mf8_b64_m:
8053case RISCV::BI__builtin_rvv_vmsgt_vv_i16m1_b16_m:
8054case RISCV::BI__builtin_rvv_vmsgt_vv_i16m2_b8_m:
8055case RISCV::BI__builtin_rvv_vmsgt_vv_i16m4_b4_m:
8056case RISCV::BI__builtin_rvv_vmsgt_vv_i16m8_b2_m:
8057case RISCV::BI__builtin_rvv_vmsgt_vv_i16mf2_b32_m:
8058case RISCV::BI__builtin_rvv_vmsgt_vv_i16mf4_b64_m:
8059case RISCV::BI__builtin_rvv_vmsgt_vv_i32m1_b32_m:
8060case RISCV::BI__builtin_rvv_vmsgt_vv_i32m2_b16_m:
8061case RISCV::BI__builtin_rvv_vmsgt_vv_i32m4_b8_m:
8062case RISCV::BI__builtin_rvv_vmsgt_vv_i32m8_b4_m:
8063case RISCV::BI__builtin_rvv_vmsgt_vv_i32mf2_b64_m:
8064case RISCV::BI__builtin_rvv_vmsgt_vv_i64m1_b64_m:
8065case RISCV::BI__builtin_rvv_vmsgt_vv_i64m2_b32_m:
8066case RISCV::BI__builtin_rvv_vmsgt_vv_i64m4_b16_m:
8067case RISCV::BI__builtin_rvv_vmsgt_vv_i64m8_b8_m:
8068case RISCV::BI__builtin_rvv_vmsgt_vx_i8m1_b8_m:
8069case RISCV::BI__builtin_rvv_vmsgt_vx_i8m2_b4_m:
8070case RISCV::BI__builtin_rvv_vmsgt_vx_i8m4_b2_m:
8071case RISCV::BI__builtin_rvv_vmsgt_vx_i8m8_b1_m:
8072case RISCV::BI__builtin_rvv_vmsgt_vx_i8mf2_b16_m:
8073case RISCV::BI__builtin_rvv_vmsgt_vx_i8mf4_b32_m:
8074case RISCV::BI__builtin_rvv_vmsgt_vx_i8mf8_b64_m:
8075case RISCV::BI__builtin_rvv_vmsgt_vx_i16m1_b16_m:
8076case RISCV::BI__builtin_rvv_vmsgt_vx_i16m2_b8_m:
8077case RISCV::BI__builtin_rvv_vmsgt_vx_i16m4_b4_m:
8078case RISCV::BI__builtin_rvv_vmsgt_vx_i16m8_b2_m:
8079case RISCV::BI__builtin_rvv_vmsgt_vx_i16mf2_b32_m:
8080case RISCV::BI__builtin_rvv_vmsgt_vx_i16mf4_b64_m:
8081case RISCV::BI__builtin_rvv_vmsgt_vx_i32m1_b32_m:
8082case RISCV::BI__builtin_rvv_vmsgt_vx_i32m2_b16_m:
8083case RISCV::BI__builtin_rvv_vmsgt_vx_i32m4_b8_m:
8084case RISCV::BI__builtin_rvv_vmsgt_vx_i32m8_b4_m:
8085case RISCV::BI__builtin_rvv_vmsgt_vx_i32mf2_b64_m:
8086case RISCV::BI__builtin_rvv_vmsgt_vx_i64m1_b64_m:
8087case RISCV::BI__builtin_rvv_vmsgt_vx_i64m2_b32_m:
8088case RISCV::BI__builtin_rvv_vmsgt_vx_i64m4_b16_m:
8089case RISCV::BI__builtin_rvv_vmsgt_vx_i64m8_b8_m:
8090 ID = Intrinsic::riscv_vmsgt_mask;
8091 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
8092 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
8093 break;
8094case RISCV::BI__builtin_rvv_vmsgtu_vv_u8m1_b8:
8095case RISCV::BI__builtin_rvv_vmsgtu_vv_u8m2_b4:
8096case RISCV::BI__builtin_rvv_vmsgtu_vv_u8m4_b2:
8097case RISCV::BI__builtin_rvv_vmsgtu_vv_u8m8_b1:
8098case RISCV::BI__builtin_rvv_vmsgtu_vv_u8mf2_b16:
8099case RISCV::BI__builtin_rvv_vmsgtu_vv_u8mf4_b32:
8100case RISCV::BI__builtin_rvv_vmsgtu_vv_u8mf8_b64:
8101case RISCV::BI__builtin_rvv_vmsgtu_vv_u16m1_b16:
8102case RISCV::BI__builtin_rvv_vmsgtu_vv_u16m2_b8:
8103case RISCV::BI__builtin_rvv_vmsgtu_vv_u16m4_b4:
8104case RISCV::BI__builtin_rvv_vmsgtu_vv_u16m8_b2:
8105case RISCV::BI__builtin_rvv_vmsgtu_vv_u16mf2_b32:
8106case RISCV::BI__builtin_rvv_vmsgtu_vv_u16mf4_b64:
8107case RISCV::BI__builtin_rvv_vmsgtu_vv_u32m1_b32:
8108case RISCV::BI__builtin_rvv_vmsgtu_vv_u32m2_b16:
8109case RISCV::BI__builtin_rvv_vmsgtu_vv_u32m4_b8:
8110case RISCV::BI__builtin_rvv_vmsgtu_vv_u32m8_b4:
8111case RISCV::BI__builtin_rvv_vmsgtu_vv_u32mf2_b64:
8112case RISCV::BI__builtin_rvv_vmsgtu_vv_u64m1_b64:
8113case RISCV::BI__builtin_rvv_vmsgtu_vv_u64m2_b32:
8114case RISCV::BI__builtin_rvv_vmsgtu_vv_u64m4_b16:
8115case RISCV::BI__builtin_rvv_vmsgtu_vv_u64m8_b8:
8116case RISCV::BI__builtin_rvv_vmsgtu_vx_u8m1_b8:
8117case RISCV::BI__builtin_rvv_vmsgtu_vx_u8m2_b4:
8118case RISCV::BI__builtin_rvv_vmsgtu_vx_u8m4_b2:
8119case RISCV::BI__builtin_rvv_vmsgtu_vx_u8m8_b1:
8120case RISCV::BI__builtin_rvv_vmsgtu_vx_u8mf2_b16:
8121case RISCV::BI__builtin_rvv_vmsgtu_vx_u8mf4_b32:
8122case RISCV::BI__builtin_rvv_vmsgtu_vx_u8mf8_b64:
8123case RISCV::BI__builtin_rvv_vmsgtu_vx_u16m1_b16:
8124case RISCV::BI__builtin_rvv_vmsgtu_vx_u16m2_b8:
8125case RISCV::BI__builtin_rvv_vmsgtu_vx_u16m4_b4:
8126case RISCV::BI__builtin_rvv_vmsgtu_vx_u16m8_b2:
8127case RISCV::BI__builtin_rvv_vmsgtu_vx_u16mf2_b32:
8128case RISCV::BI__builtin_rvv_vmsgtu_vx_u16mf4_b64:
8129case RISCV::BI__builtin_rvv_vmsgtu_vx_u32m1_b32:
8130case RISCV::BI__builtin_rvv_vmsgtu_vx_u32m2_b16:
8131case RISCV::BI__builtin_rvv_vmsgtu_vx_u32m4_b8:
8132case RISCV::BI__builtin_rvv_vmsgtu_vx_u32m8_b4:
8133case RISCV::BI__builtin_rvv_vmsgtu_vx_u32mf2_b64:
8134case RISCV::BI__builtin_rvv_vmsgtu_vx_u64m1_b64:
8135case RISCV::BI__builtin_rvv_vmsgtu_vx_u64m2_b32:
8136case RISCV::BI__builtin_rvv_vmsgtu_vx_u64m4_b16:
8137case RISCV::BI__builtin_rvv_vmsgtu_vx_u64m8_b8:
8138 ID = Intrinsic::riscv_vmsgtu;
8139 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
8140 break;
8141case RISCV::BI__builtin_rvv_vmsgtu_vv_u8m1_b8_m:
8142case RISCV::BI__builtin_rvv_vmsgtu_vv_u8m2_b4_m:
8143case RISCV::BI__builtin_rvv_vmsgtu_vv_u8m4_b2_m:
8144case RISCV::BI__builtin_rvv_vmsgtu_vv_u8m8_b1_m:
8145case RISCV::BI__builtin_rvv_vmsgtu_vv_u8mf2_b16_m:
8146case RISCV::BI__builtin_rvv_vmsgtu_vv_u8mf4_b32_m:
8147case RISCV::BI__builtin_rvv_vmsgtu_vv_u8mf8_b64_m:
8148case RISCV::BI__builtin_rvv_vmsgtu_vv_u16m1_b16_m:
8149case RISCV::BI__builtin_rvv_vmsgtu_vv_u16m2_b8_m:
8150case RISCV::BI__builtin_rvv_vmsgtu_vv_u16m4_b4_m:
8151case RISCV::BI__builtin_rvv_vmsgtu_vv_u16m8_b2_m:
8152case RISCV::BI__builtin_rvv_vmsgtu_vv_u16mf2_b32_m:
8153case RISCV::BI__builtin_rvv_vmsgtu_vv_u16mf4_b64_m:
8154case RISCV::BI__builtin_rvv_vmsgtu_vv_u32m1_b32_m:
8155case RISCV::BI__builtin_rvv_vmsgtu_vv_u32m2_b16_m:
8156case RISCV::BI__builtin_rvv_vmsgtu_vv_u32m4_b8_m:
8157case RISCV::BI__builtin_rvv_vmsgtu_vv_u32m8_b4_m:
8158case RISCV::BI__builtin_rvv_vmsgtu_vv_u32mf2_b64_m:
8159case RISCV::BI__builtin_rvv_vmsgtu_vv_u64m1_b64_m:
8160case RISCV::BI__builtin_rvv_vmsgtu_vv_u64m2_b32_m:
8161case RISCV::BI__builtin_rvv_vmsgtu_vv_u64m4_b16_m:
8162case RISCV::BI__builtin_rvv_vmsgtu_vv_u64m8_b8_m:
8163case RISCV::BI__builtin_rvv_vmsgtu_vx_u8m1_b8_m:
8164case RISCV::BI__builtin_rvv_vmsgtu_vx_u8m2_b4_m:
8165case RISCV::BI__builtin_rvv_vmsgtu_vx_u8m4_b2_m:
8166case RISCV::BI__builtin_rvv_vmsgtu_vx_u8m8_b1_m:
8167case RISCV::BI__builtin_rvv_vmsgtu_vx_u8mf2_b16_m:
8168case RISCV::BI__builtin_rvv_vmsgtu_vx_u8mf4_b32_m:
8169case RISCV::BI__builtin_rvv_vmsgtu_vx_u8mf8_b64_m:
8170case RISCV::BI__builtin_rvv_vmsgtu_vx_u16m1_b16_m:
8171case RISCV::BI__builtin_rvv_vmsgtu_vx_u16m2_b8_m:
8172case RISCV::BI__builtin_rvv_vmsgtu_vx_u16m4_b4_m:
8173case RISCV::BI__builtin_rvv_vmsgtu_vx_u16m8_b2_m:
8174case RISCV::BI__builtin_rvv_vmsgtu_vx_u16mf2_b32_m:
8175case RISCV::BI__builtin_rvv_vmsgtu_vx_u16mf4_b64_m:
8176case RISCV::BI__builtin_rvv_vmsgtu_vx_u32m1_b32_m:
8177case RISCV::BI__builtin_rvv_vmsgtu_vx_u32m2_b16_m:
8178case RISCV::BI__builtin_rvv_vmsgtu_vx_u32m4_b8_m:
8179case RISCV::BI__builtin_rvv_vmsgtu_vx_u32m8_b4_m:
8180case RISCV::BI__builtin_rvv_vmsgtu_vx_u32mf2_b64_m:
8181case RISCV::BI__builtin_rvv_vmsgtu_vx_u64m1_b64_m:
8182case RISCV::BI__builtin_rvv_vmsgtu_vx_u64m2_b32_m:
8183case RISCV::BI__builtin_rvv_vmsgtu_vx_u64m4_b16_m:
8184case RISCV::BI__builtin_rvv_vmsgtu_vx_u64m8_b8_m:
8185 ID = Intrinsic::riscv_vmsgtu_mask;
8186 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
8187 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
8188 break;
8189case RISCV::BI__builtin_rvv_vmsif_m_b8:
8190case RISCV::BI__builtin_rvv_vmsif_m_b4:
8191case RISCV::BI__builtin_rvv_vmsif_m_b2:
8192case RISCV::BI__builtin_rvv_vmsif_m_b1:
8193case RISCV::BI__builtin_rvv_vmsif_m_b16:
8194case RISCV::BI__builtin_rvv_vmsif_m_b32:
8195case RISCV::BI__builtin_rvv_vmsif_m_b64:
8196 ID = Intrinsic::riscv_vmsif;
8197 IntrinsicTypes = {ResultType, Ops.back()->getType()};
8198 break;
8199case RISCV::BI__builtin_rvv_vmsif_m_b8_m:
8200case RISCV::BI__builtin_rvv_vmsif_m_b4_m:
8201case RISCV::BI__builtin_rvv_vmsif_m_b2_m:
8202case RISCV::BI__builtin_rvv_vmsif_m_b1_m:
8203case RISCV::BI__builtin_rvv_vmsif_m_b16_m:
8204case RISCV::BI__builtin_rvv_vmsif_m_b32_m:
8205case RISCV::BI__builtin_rvv_vmsif_m_b64_m:
8206 ID = Intrinsic::riscv_vmsif_mask;
8207 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
8208 IntrinsicTypes = {ResultType, Ops.back()->getType()};
8209 break;
8210case RISCV::BI__builtin_rvv_vmsle_vv_i8m1_b8:
8211case RISCV::BI__builtin_rvv_vmsle_vv_i8m2_b4:
8212case RISCV::BI__builtin_rvv_vmsle_vv_i8m4_b2:
8213case RISCV::BI__builtin_rvv_vmsle_vv_i8m8_b1:
8214case RISCV::BI__builtin_rvv_vmsle_vv_i8mf2_b16:
8215case RISCV::BI__builtin_rvv_vmsle_vv_i8mf4_b32:
8216case RISCV::BI__builtin_rvv_vmsle_vv_i8mf8_b64:
8217case RISCV::BI__builtin_rvv_vmsle_vv_i16m1_b16:
8218case RISCV::BI__builtin_rvv_vmsle_vv_i16m2_b8:
8219case RISCV::BI__builtin_rvv_vmsle_vv_i16m4_b4:
8220case RISCV::BI__builtin_rvv_vmsle_vv_i16m8_b2:
8221case RISCV::BI__builtin_rvv_vmsle_vv_i16mf2_b32:
8222case RISCV::BI__builtin_rvv_vmsle_vv_i16mf4_b64:
8223case RISCV::BI__builtin_rvv_vmsle_vv_i32m1_b32:
8224case RISCV::BI__builtin_rvv_vmsle_vv_i32m2_b16:
8225case RISCV::BI__builtin_rvv_vmsle_vv_i32m4_b8:
8226case RISCV::BI__builtin_rvv_vmsle_vv_i32m8_b4:
8227case RISCV::BI__builtin_rvv_vmsle_vv_i32mf2_b64:
8228case RISCV::BI__builtin_rvv_vmsle_vv_i64m1_b64:
8229case RISCV::BI__builtin_rvv_vmsle_vv_i64m2_b32:
8230case RISCV::BI__builtin_rvv_vmsle_vv_i64m4_b16:
8231case RISCV::BI__builtin_rvv_vmsle_vv_i64m8_b8:
8232case RISCV::BI__builtin_rvv_vmsle_vx_i8m1_b8:
8233case RISCV::BI__builtin_rvv_vmsle_vx_i8m2_b4:
8234case RISCV::BI__builtin_rvv_vmsle_vx_i8m4_b2:
8235case RISCV::BI__builtin_rvv_vmsle_vx_i8m8_b1:
8236case RISCV::BI__builtin_rvv_vmsle_vx_i8mf2_b16:
8237case RISCV::BI__builtin_rvv_vmsle_vx_i8mf4_b32:
8238case RISCV::BI__builtin_rvv_vmsle_vx_i8mf8_b64:
8239case RISCV::BI__builtin_rvv_vmsle_vx_i16m1_b16:
8240case RISCV::BI__builtin_rvv_vmsle_vx_i16m2_b8:
8241case RISCV::BI__builtin_rvv_vmsle_vx_i16m4_b4:
8242case RISCV::BI__builtin_rvv_vmsle_vx_i16m8_b2:
8243case RISCV::BI__builtin_rvv_vmsle_vx_i16mf2_b32:
8244case RISCV::BI__builtin_rvv_vmsle_vx_i16mf4_b64:
8245case RISCV::BI__builtin_rvv_vmsle_vx_i32m1_b32:
8246case RISCV::BI__builtin_rvv_vmsle_vx_i32m2_b16:
8247case RISCV::BI__builtin_rvv_vmsle_vx_i32m4_b8:
8248case RISCV::BI__builtin_rvv_vmsle_vx_i32m8_b4:
8249case RISCV::BI__builtin_rvv_vmsle_vx_i32mf2_b64:
8250case RISCV::BI__builtin_rvv_vmsle_vx_i64m1_b64:
8251case RISCV::BI__builtin_rvv_vmsle_vx_i64m2_b32:
8252case RISCV::BI__builtin_rvv_vmsle_vx_i64m4_b16:
8253case RISCV::BI__builtin_rvv_vmsle_vx_i64m8_b8:
8254 ID = Intrinsic::riscv_vmsle;
8255 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
8256 break;
8257case RISCV::BI__builtin_rvv_vmsle_vv_i8m1_b8_m:
8258case RISCV::BI__builtin_rvv_vmsle_vv_i8m2_b4_m:
8259case RISCV::BI__builtin_rvv_vmsle_vv_i8m4_b2_m:
8260case RISCV::BI__builtin_rvv_vmsle_vv_i8m8_b1_m:
8261case RISCV::BI__builtin_rvv_vmsle_vv_i8mf2_b16_m:
8262case RISCV::BI__builtin_rvv_vmsle_vv_i8mf4_b32_m:
8263case RISCV::BI__builtin_rvv_vmsle_vv_i8mf8_b64_m:
8264case RISCV::BI__builtin_rvv_vmsle_vv_i16m1_b16_m:
8265case RISCV::BI__builtin_rvv_vmsle_vv_i16m2_b8_m:
8266case RISCV::BI__builtin_rvv_vmsle_vv_i16m4_b4_m:
8267case RISCV::BI__builtin_rvv_vmsle_vv_i16m8_b2_m:
8268case RISCV::BI__builtin_rvv_vmsle_vv_i16mf2_b32_m:
8269case RISCV::BI__builtin_rvv_vmsle_vv_i16mf4_b64_m:
8270case RISCV::BI__builtin_rvv_vmsle_vv_i32m1_b32_m:
8271case RISCV::BI__builtin_rvv_vmsle_vv_i32m2_b16_m:
8272case RISCV::BI__builtin_rvv_vmsle_vv_i32m4_b8_m:
8273case RISCV::BI__builtin_rvv_vmsle_vv_i32m8_b4_m:
8274case RISCV::BI__builtin_rvv_vmsle_vv_i32mf2_b64_m:
8275case RISCV::BI__builtin_rvv_vmsle_vv_i64m1_b64_m:
8276case RISCV::BI__builtin_rvv_vmsle_vv_i64m2_b32_m:
8277case RISCV::BI__builtin_rvv_vmsle_vv_i64m4_b16_m:
8278case RISCV::BI__builtin_rvv_vmsle_vv_i64m8_b8_m:
8279case RISCV::BI__builtin_rvv_vmsle_vx_i8m1_b8_m:
8280case RISCV::BI__builtin_rvv_vmsle_vx_i8m2_b4_m:
8281case RISCV::BI__builtin_rvv_vmsle_vx_i8m4_b2_m:
8282case RISCV::BI__builtin_rvv_vmsle_vx_i8m8_b1_m:
8283case RISCV::BI__builtin_rvv_vmsle_vx_i8mf2_b16_m:
8284case RISCV::BI__builtin_rvv_vmsle_vx_i8mf4_b32_m:
8285case RISCV::BI__builtin_rvv_vmsle_vx_i8mf8_b64_m:
8286case RISCV::BI__builtin_rvv_vmsle_vx_i16m1_b16_m:
8287case RISCV::BI__builtin_rvv_vmsle_vx_i16m2_b8_m:
8288case RISCV::BI__builtin_rvv_vmsle_vx_i16m4_b4_m:
8289case RISCV::BI__builtin_rvv_vmsle_vx_i16m8_b2_m:
8290case RISCV::BI__builtin_rvv_vmsle_vx_i16mf2_b32_m:
8291case RISCV::BI__builtin_rvv_vmsle_vx_i16mf4_b64_m:
8292case RISCV::BI__builtin_rvv_vmsle_vx_i32m1_b32_m:
8293case RISCV::BI__builtin_rvv_vmsle_vx_i32m2_b16_m:
8294case RISCV::BI__builtin_rvv_vmsle_vx_i32m4_b8_m:
8295case RISCV::BI__builtin_rvv_vmsle_vx_i32m8_b4_m:
8296case RISCV::BI__builtin_rvv_vmsle_vx_i32mf2_b64_m:
8297case RISCV::BI__builtin_rvv_vmsle_vx_i64m1_b64_m:
8298case RISCV::BI__builtin_rvv_vmsle_vx_i64m2_b32_m:
8299case RISCV::BI__builtin_rvv_vmsle_vx_i64m4_b16_m:
8300case RISCV::BI__builtin_rvv_vmsle_vx_i64m8_b8_m:
8301 ID = Intrinsic::riscv_vmsle_mask;
8302 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
8303 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
8304 break;
8305case RISCV::BI__builtin_rvv_vmsleu_vv_u8m1_b8:
8306case RISCV::BI__builtin_rvv_vmsleu_vv_u8m2_b4:
8307case RISCV::BI__builtin_rvv_vmsleu_vv_u8m4_b2:
8308case RISCV::BI__builtin_rvv_vmsleu_vv_u8m8_b1:
8309case RISCV::BI__builtin_rvv_vmsleu_vv_u8mf2_b16:
8310case RISCV::BI__builtin_rvv_vmsleu_vv_u8mf4_b32:
8311case RISCV::BI__builtin_rvv_vmsleu_vv_u8mf8_b64:
8312case RISCV::BI__builtin_rvv_vmsleu_vv_u16m1_b16:
8313case RISCV::BI__builtin_rvv_vmsleu_vv_u16m2_b8:
8314case RISCV::BI__builtin_rvv_vmsleu_vv_u16m4_b4:
8315case RISCV::BI__builtin_rvv_vmsleu_vv_u16m8_b2:
8316case RISCV::BI__builtin_rvv_vmsleu_vv_u16mf2_b32:
8317case RISCV::BI__builtin_rvv_vmsleu_vv_u16mf4_b64:
8318case RISCV::BI__builtin_rvv_vmsleu_vv_u32m1_b32:
8319case RISCV::BI__builtin_rvv_vmsleu_vv_u32m2_b16:
8320case RISCV::BI__builtin_rvv_vmsleu_vv_u32m4_b8:
8321case RISCV::BI__builtin_rvv_vmsleu_vv_u32m8_b4:
8322case RISCV::BI__builtin_rvv_vmsleu_vv_u32mf2_b64:
8323case RISCV::BI__builtin_rvv_vmsleu_vv_u64m1_b64:
8324case RISCV::BI__builtin_rvv_vmsleu_vv_u64m2_b32:
8325case RISCV::BI__builtin_rvv_vmsleu_vv_u64m4_b16:
8326case RISCV::BI__builtin_rvv_vmsleu_vv_u64m8_b8:
8327case RISCV::BI__builtin_rvv_vmsleu_vx_u8m1_b8:
8328case RISCV::BI__builtin_rvv_vmsleu_vx_u8m2_b4:
8329case RISCV::BI__builtin_rvv_vmsleu_vx_u8m4_b2:
8330case RISCV::BI__builtin_rvv_vmsleu_vx_u8m8_b1:
8331case RISCV::BI__builtin_rvv_vmsleu_vx_u8mf2_b16:
8332case RISCV::BI__builtin_rvv_vmsleu_vx_u8mf4_b32:
8333case RISCV::BI__builtin_rvv_vmsleu_vx_u8mf8_b64:
8334case RISCV::BI__builtin_rvv_vmsleu_vx_u16m1_b16:
8335case RISCV::BI__builtin_rvv_vmsleu_vx_u16m2_b8:
8336case RISCV::BI__builtin_rvv_vmsleu_vx_u16m4_b4:
8337case RISCV::BI__builtin_rvv_vmsleu_vx_u16m8_b2:
8338case RISCV::BI__builtin_rvv_vmsleu_vx_u16mf2_b32:
8339case RISCV::BI__builtin_rvv_vmsleu_vx_u16mf4_b64:
8340case RISCV::BI__builtin_rvv_vmsleu_vx_u32m1_b32:
8341case RISCV::BI__builtin_rvv_vmsleu_vx_u32m2_b16:
8342case RISCV::BI__builtin_rvv_vmsleu_vx_u32m4_b8:
8343case RISCV::BI__builtin_rvv_vmsleu_vx_u32m8_b4:
8344case RISCV::BI__builtin_rvv_vmsleu_vx_u32mf2_b64:
8345case RISCV::BI__builtin_rvv_vmsleu_vx_u64m1_b64:
8346case RISCV::BI__builtin_rvv_vmsleu_vx_u64m2_b32:
8347case RISCV::BI__builtin_rvv_vmsleu_vx_u64m4_b16:
8348case RISCV::BI__builtin_rvv_vmsleu_vx_u64m8_b8:
8349 ID = Intrinsic::riscv_vmsleu;
8350 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
8351 break;
8352case RISCV::BI__builtin_rvv_vmsleu_vv_u8m1_b8_m:
8353case RISCV::BI__builtin_rvv_vmsleu_vv_u8m2_b4_m:
8354case RISCV::BI__builtin_rvv_vmsleu_vv_u8m4_b2_m:
8355case RISCV::BI__builtin_rvv_vmsleu_vv_u8m8_b1_m:
8356case RISCV::BI__builtin_rvv_vmsleu_vv_u8mf2_b16_m:
8357case RISCV::BI__builtin_rvv_vmsleu_vv_u8mf4_b32_m:
8358case RISCV::BI__builtin_rvv_vmsleu_vv_u8mf8_b64_m:
8359case RISCV::BI__builtin_rvv_vmsleu_vv_u16m1_b16_m:
8360case RISCV::BI__builtin_rvv_vmsleu_vv_u16m2_b8_m:
8361case RISCV::BI__builtin_rvv_vmsleu_vv_u16m4_b4_m:
8362case RISCV::BI__builtin_rvv_vmsleu_vv_u16m8_b2_m:
8363case RISCV::BI__builtin_rvv_vmsleu_vv_u16mf2_b32_m:
8364case RISCV::BI__builtin_rvv_vmsleu_vv_u16mf4_b64_m:
8365case RISCV::BI__builtin_rvv_vmsleu_vv_u32m1_b32_m:
8366case RISCV::BI__builtin_rvv_vmsleu_vv_u32m2_b16_m:
8367case RISCV::BI__builtin_rvv_vmsleu_vv_u32m4_b8_m:
8368case RISCV::BI__builtin_rvv_vmsleu_vv_u32m8_b4_m:
8369case RISCV::BI__builtin_rvv_vmsleu_vv_u32mf2_b64_m:
8370case RISCV::BI__builtin_rvv_vmsleu_vv_u64m1_b64_m:
8371case RISCV::BI__builtin_rvv_vmsleu_vv_u64m2_b32_m:
8372case RISCV::BI__builtin_rvv_vmsleu_vv_u64m4_b16_m:
8373case RISCV::BI__builtin_rvv_vmsleu_vv_u64m8_b8_m:
8374case RISCV::BI__builtin_rvv_vmsleu_vx_u8m1_b8_m:
8375case RISCV::BI__builtin_rvv_vmsleu_vx_u8m2_b4_m:
8376case RISCV::BI__builtin_rvv_vmsleu_vx_u8m4_b2_m:
8377case RISCV::BI__builtin_rvv_vmsleu_vx_u8m8_b1_m:
8378case RISCV::BI__builtin_rvv_vmsleu_vx_u8mf2_b16_m:
8379case RISCV::BI__builtin_rvv_vmsleu_vx_u8mf4_b32_m:
8380case RISCV::BI__builtin_rvv_vmsleu_vx_u8mf8_b64_m:
8381case RISCV::BI__builtin_rvv_vmsleu_vx_u16m1_b16_m:
8382case RISCV::BI__builtin_rvv_vmsleu_vx_u16m2_b8_m:
8383case RISCV::BI__builtin_rvv_vmsleu_vx_u16m4_b4_m:
8384case RISCV::BI__builtin_rvv_vmsleu_vx_u16m8_b2_m:
8385case RISCV::BI__builtin_rvv_vmsleu_vx_u16mf2_b32_m:
8386case RISCV::BI__builtin_rvv_vmsleu_vx_u16mf4_b64_m:
8387case RISCV::BI__builtin_rvv_vmsleu_vx_u32m1_b32_m:
8388case RISCV::BI__builtin_rvv_vmsleu_vx_u32m2_b16_m:
8389case RISCV::BI__builtin_rvv_vmsleu_vx_u32m4_b8_m:
8390case RISCV::BI__builtin_rvv_vmsleu_vx_u32m8_b4_m:
8391case RISCV::BI__builtin_rvv_vmsleu_vx_u32mf2_b64_m:
8392case RISCV::BI__builtin_rvv_vmsleu_vx_u64m1_b64_m:
8393case RISCV::BI__builtin_rvv_vmsleu_vx_u64m2_b32_m:
8394case RISCV::BI__builtin_rvv_vmsleu_vx_u64m4_b16_m:
8395case RISCV::BI__builtin_rvv_vmsleu_vx_u64m8_b8_m:
8396 ID = Intrinsic::riscv_vmsleu_mask;
8397 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
8398 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
8399 break;
8400case RISCV::BI__builtin_rvv_vmslt_vv_i8m1_b8:
8401case RISCV::BI__builtin_rvv_vmslt_vv_i8m2_b4:
8402case RISCV::BI__builtin_rvv_vmslt_vv_i8m4_b2:
8403case RISCV::BI__builtin_rvv_vmslt_vv_i8m8_b1:
8404case RISCV::BI__builtin_rvv_vmslt_vv_i8mf2_b16:
8405case RISCV::BI__builtin_rvv_vmslt_vv_i8mf4_b32:
8406case RISCV::BI__builtin_rvv_vmslt_vv_i8mf8_b64:
8407case RISCV::BI__builtin_rvv_vmslt_vv_i16m1_b16:
8408case RISCV::BI__builtin_rvv_vmslt_vv_i16m2_b8:
8409case RISCV::BI__builtin_rvv_vmslt_vv_i16m4_b4:
8410case RISCV::BI__builtin_rvv_vmslt_vv_i16m8_b2:
8411case RISCV::BI__builtin_rvv_vmslt_vv_i16mf2_b32:
8412case RISCV::BI__builtin_rvv_vmslt_vv_i16mf4_b64:
8413case RISCV::BI__builtin_rvv_vmslt_vv_i32m1_b32:
8414case RISCV::BI__builtin_rvv_vmslt_vv_i32m2_b16:
8415case RISCV::BI__builtin_rvv_vmslt_vv_i32m4_b8:
8416case RISCV::BI__builtin_rvv_vmslt_vv_i32m8_b4:
8417case RISCV::BI__builtin_rvv_vmslt_vv_i32mf2_b64:
8418case RISCV::BI__builtin_rvv_vmslt_vv_i64m1_b64:
8419case RISCV::BI__builtin_rvv_vmslt_vv_i64m2_b32:
8420case RISCV::BI__builtin_rvv_vmslt_vv_i64m4_b16:
8421case RISCV::BI__builtin_rvv_vmslt_vv_i64m8_b8:
8422case RISCV::BI__builtin_rvv_vmslt_vx_i8m1_b8:
8423case RISCV::BI__builtin_rvv_vmslt_vx_i8m2_b4:
8424case RISCV::BI__builtin_rvv_vmslt_vx_i8m4_b2:
8425case RISCV::BI__builtin_rvv_vmslt_vx_i8m8_b1:
8426case RISCV::BI__builtin_rvv_vmslt_vx_i8mf2_b16:
8427case RISCV::BI__builtin_rvv_vmslt_vx_i8mf4_b32:
8428case RISCV::BI__builtin_rvv_vmslt_vx_i8mf8_b64:
8429case RISCV::BI__builtin_rvv_vmslt_vx_i16m1_b16:
8430case RISCV::BI__builtin_rvv_vmslt_vx_i16m2_b8:
8431case RISCV::BI__builtin_rvv_vmslt_vx_i16m4_b4:
8432case RISCV::BI__builtin_rvv_vmslt_vx_i16m8_b2:
8433case RISCV::BI__builtin_rvv_vmslt_vx_i16mf2_b32:
8434case RISCV::BI__builtin_rvv_vmslt_vx_i16mf4_b64:
8435case RISCV::BI__builtin_rvv_vmslt_vx_i32m1_b32:
8436case RISCV::BI__builtin_rvv_vmslt_vx_i32m2_b16:
8437case RISCV::BI__builtin_rvv_vmslt_vx_i32m4_b8:
8438case RISCV::BI__builtin_rvv_vmslt_vx_i32m8_b4:
8439case RISCV::BI__builtin_rvv_vmslt_vx_i32mf2_b64:
8440case RISCV::BI__builtin_rvv_vmslt_vx_i64m1_b64:
8441case RISCV::BI__builtin_rvv_vmslt_vx_i64m2_b32:
8442case RISCV::BI__builtin_rvv_vmslt_vx_i64m4_b16:
8443case RISCV::BI__builtin_rvv_vmslt_vx_i64m8_b8:
8444 ID = Intrinsic::riscv_vmslt;
8445 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
8446 break;
8447case RISCV::BI__builtin_rvv_vmslt_vv_i8m1_b8_m:
8448case RISCV::BI__builtin_rvv_vmslt_vv_i8m2_b4_m:
8449case RISCV::BI__builtin_rvv_vmslt_vv_i8m4_b2_m:
8450case RISCV::BI__builtin_rvv_vmslt_vv_i8m8_b1_m:
8451case RISCV::BI__builtin_rvv_vmslt_vv_i8mf2_b16_m:
8452case RISCV::BI__builtin_rvv_vmslt_vv_i8mf4_b32_m:
8453case RISCV::BI__builtin_rvv_vmslt_vv_i8mf8_b64_m:
8454case RISCV::BI__builtin_rvv_vmslt_vv_i16m1_b16_m:
8455case RISCV::BI__builtin_rvv_vmslt_vv_i16m2_b8_m:
8456case RISCV::BI__builtin_rvv_vmslt_vv_i16m4_b4_m:
8457case RISCV::BI__builtin_rvv_vmslt_vv_i16m8_b2_m:
8458case RISCV::BI__builtin_rvv_vmslt_vv_i16mf2_b32_m:
8459case RISCV::BI__builtin_rvv_vmslt_vv_i16mf4_b64_m:
8460case RISCV::BI__builtin_rvv_vmslt_vv_i32m1_b32_m:
8461case RISCV::BI__builtin_rvv_vmslt_vv_i32m2_b16_m:
8462case RISCV::BI__builtin_rvv_vmslt_vv_i32m4_b8_m:
8463case RISCV::BI__builtin_rvv_vmslt_vv_i32m8_b4_m:
8464case RISCV::BI__builtin_rvv_vmslt_vv_i32mf2_b64_m:
8465case RISCV::BI__builtin_rvv_vmslt_vv_i64m1_b64_m:
8466case RISCV::BI__builtin_rvv_vmslt_vv_i64m2_b32_m:
8467case RISCV::BI__builtin_rvv_vmslt_vv_i64m4_b16_m:
8468case RISCV::BI__builtin_rvv_vmslt_vv_i64m8_b8_m:
8469case RISCV::BI__builtin_rvv_vmslt_vx_i8m1_b8_m:
8470case RISCV::BI__builtin_rvv_vmslt_vx_i8m2_b4_m:
8471case RISCV::BI__builtin_rvv_vmslt_vx_i8m4_b2_m:
8472case RISCV::BI__builtin_rvv_vmslt_vx_i8m8_b1_m:
8473case RISCV::BI__builtin_rvv_vmslt_vx_i8mf2_b16_m:
8474case RISCV::BI__builtin_rvv_vmslt_vx_i8mf4_b32_m:
8475case RISCV::BI__builtin_rvv_vmslt_vx_i8mf8_b64_m:
8476case RISCV::BI__builtin_rvv_vmslt_vx_i16m1_b16_m:
8477case RISCV::BI__builtin_rvv_vmslt_vx_i16m2_b8_m:
8478case RISCV::BI__builtin_rvv_vmslt_vx_i16m4_b4_m:
8479case RISCV::BI__builtin_rvv_vmslt_vx_i16m8_b2_m:
8480case RISCV::BI__builtin_rvv_vmslt_vx_i16mf2_b32_m:
8481case RISCV::BI__builtin_rvv_vmslt_vx_i16mf4_b64_m:
8482case RISCV::BI__builtin_rvv_vmslt_vx_i32m1_b32_m:
8483case RISCV::BI__builtin_rvv_vmslt_vx_i32m2_b16_m:
8484case RISCV::BI__builtin_rvv_vmslt_vx_i32m4_b8_m:
8485case RISCV::BI__builtin_rvv_vmslt_vx_i32m8_b4_m:
8486case RISCV::BI__builtin_rvv_vmslt_vx_i32mf2_b64_m:
8487case RISCV::BI__builtin_rvv_vmslt_vx_i64m1_b64_m:
8488case RISCV::BI__builtin_rvv_vmslt_vx_i64m2_b32_m:
8489case RISCV::BI__builtin_rvv_vmslt_vx_i64m4_b16_m:
8490case RISCV::BI__builtin_rvv_vmslt_vx_i64m8_b8_m:
8491 ID = Intrinsic::riscv_vmslt_mask;
8492 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
8493 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
8494 break;
8495case RISCV::BI__builtin_rvv_vmsltu_vv_u8m1_b8:
8496case RISCV::BI__builtin_rvv_vmsltu_vv_u8m2_b4:
8497case RISCV::BI__builtin_rvv_vmsltu_vv_u8m4_b2:
8498case RISCV::BI__builtin_rvv_vmsltu_vv_u8m8_b1:
8499case RISCV::BI__builtin_rvv_vmsltu_vv_u8mf2_b16:
8500case RISCV::BI__builtin_rvv_vmsltu_vv_u8mf4_b32:
8501case RISCV::BI__builtin_rvv_vmsltu_vv_u8mf8_b64:
8502case RISCV::BI__builtin_rvv_vmsltu_vv_u16m1_b16:
8503case RISCV::BI__builtin_rvv_vmsltu_vv_u16m2_b8:
8504case RISCV::BI__builtin_rvv_vmsltu_vv_u16m4_b4:
8505case RISCV::BI__builtin_rvv_vmsltu_vv_u16m8_b2:
8506case RISCV::BI__builtin_rvv_vmsltu_vv_u16mf2_b32:
8507case RISCV::BI__builtin_rvv_vmsltu_vv_u16mf4_b64:
8508case RISCV::BI__builtin_rvv_vmsltu_vv_u32m1_b32:
8509case RISCV::BI__builtin_rvv_vmsltu_vv_u32m2_b16:
8510case RISCV::BI__builtin_rvv_vmsltu_vv_u32m4_b8:
8511case RISCV::BI__builtin_rvv_vmsltu_vv_u32m8_b4:
8512case RISCV::BI__builtin_rvv_vmsltu_vv_u32mf2_b64:
8513case RISCV::BI__builtin_rvv_vmsltu_vv_u64m1_b64:
8514case RISCV::BI__builtin_rvv_vmsltu_vv_u64m2_b32:
8515case RISCV::BI__builtin_rvv_vmsltu_vv_u64m4_b16:
8516case RISCV::BI__builtin_rvv_vmsltu_vv_u64m8_b8:
8517case RISCV::BI__builtin_rvv_vmsltu_vx_u8m1_b8:
8518case RISCV::BI__builtin_rvv_vmsltu_vx_u8m2_b4:
8519case RISCV::BI__builtin_rvv_vmsltu_vx_u8m4_b2:
8520case RISCV::BI__builtin_rvv_vmsltu_vx_u8m8_b1:
8521case RISCV::BI__builtin_rvv_vmsltu_vx_u8mf2_b16:
8522case RISCV::BI__builtin_rvv_vmsltu_vx_u8mf4_b32:
8523case RISCV::BI__builtin_rvv_vmsltu_vx_u8mf8_b64:
8524case RISCV::BI__builtin_rvv_vmsltu_vx_u16m1_b16:
8525case RISCV::BI__builtin_rvv_vmsltu_vx_u16m2_b8:
8526case RISCV::BI__builtin_rvv_vmsltu_vx_u16m4_b4:
8527case RISCV::BI__builtin_rvv_vmsltu_vx_u16m8_b2:
8528case RISCV::BI__builtin_rvv_vmsltu_vx_u16mf2_b32:
8529case RISCV::BI__builtin_rvv_vmsltu_vx_u16mf4_b64:
8530case RISCV::BI__builtin_rvv_vmsltu_vx_u32m1_b32:
8531case RISCV::BI__builtin_rvv_vmsltu_vx_u32m2_b16:
8532case RISCV::BI__builtin_rvv_vmsltu_vx_u32m4_b8:
8533case RISCV::BI__builtin_rvv_vmsltu_vx_u32m8_b4:
8534case RISCV::BI__builtin_rvv_vmsltu_vx_u32mf2_b64:
8535case RISCV::BI__builtin_rvv_vmsltu_vx_u64m1_b64:
8536case RISCV::BI__builtin_rvv_vmsltu_vx_u64m2_b32:
8537case RISCV::BI__builtin_rvv_vmsltu_vx_u64m4_b16:
8538case RISCV::BI__builtin_rvv_vmsltu_vx_u64m8_b8:
8539 ID = Intrinsic::riscv_vmsltu;
8540 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
8541 break;
8542case RISCV::BI__builtin_rvv_vmsltu_vv_u8m1_b8_m:
8543case RISCV::BI__builtin_rvv_vmsltu_vv_u8m2_b4_m:
8544case RISCV::BI__builtin_rvv_vmsltu_vv_u8m4_b2_m:
8545case RISCV::BI__builtin_rvv_vmsltu_vv_u8m8_b1_m:
8546case RISCV::BI__builtin_rvv_vmsltu_vv_u8mf2_b16_m:
8547case RISCV::BI__builtin_rvv_vmsltu_vv_u8mf4_b32_m:
8548case RISCV::BI__builtin_rvv_vmsltu_vv_u8mf8_b64_m:
8549case RISCV::BI__builtin_rvv_vmsltu_vv_u16m1_b16_m:
8550case RISCV::BI__builtin_rvv_vmsltu_vv_u16m2_b8_m:
8551case RISCV::BI__builtin_rvv_vmsltu_vv_u16m4_b4_m:
8552case RISCV::BI__builtin_rvv_vmsltu_vv_u16m8_b2_m:
8553case RISCV::BI__builtin_rvv_vmsltu_vv_u16mf2_b32_m:
8554case RISCV::BI__builtin_rvv_vmsltu_vv_u16mf4_b64_m:
8555case RISCV::BI__builtin_rvv_vmsltu_vv_u32m1_b32_m:
8556case RISCV::BI__builtin_rvv_vmsltu_vv_u32m2_b16_m:
8557case RISCV::BI__builtin_rvv_vmsltu_vv_u32m4_b8_m:
8558case RISCV::BI__builtin_rvv_vmsltu_vv_u32m8_b4_m:
8559case RISCV::BI__builtin_rvv_vmsltu_vv_u32mf2_b64_m:
8560case RISCV::BI__builtin_rvv_vmsltu_vv_u64m1_b64_m:
8561case RISCV::BI__builtin_rvv_vmsltu_vv_u64m2_b32_m:
8562case RISCV::BI__builtin_rvv_vmsltu_vv_u64m4_b16_m:
8563case RISCV::BI__builtin_rvv_vmsltu_vv_u64m8_b8_m:
8564case RISCV::BI__builtin_rvv_vmsltu_vx_u8m1_b8_m:
8565case RISCV::BI__builtin_rvv_vmsltu_vx_u8m2_b4_m:
8566case RISCV::BI__builtin_rvv_vmsltu_vx_u8m4_b2_m:
8567case RISCV::BI__builtin_rvv_vmsltu_vx_u8m8_b1_m:
8568case RISCV::BI__builtin_rvv_vmsltu_vx_u8mf2_b16_m:
8569case RISCV::BI__builtin_rvv_vmsltu_vx_u8mf4_b32_m:
8570case RISCV::BI__builtin_rvv_vmsltu_vx_u8mf8_b64_m:
8571case RISCV::BI__builtin_rvv_vmsltu_vx_u16m1_b16_m:
8572case RISCV::BI__builtin_rvv_vmsltu_vx_u16m2_b8_m:
8573case RISCV::BI__builtin_rvv_vmsltu_vx_u16m4_b4_m:
8574case RISCV::BI__builtin_rvv_vmsltu_vx_u16m8_b2_m:
8575case RISCV::BI__builtin_rvv_vmsltu_vx_u16mf2_b32_m:
8576case RISCV::BI__builtin_rvv_vmsltu_vx_u16mf4_b64_m:
8577case RISCV::BI__builtin_rvv_vmsltu_vx_u32m1_b32_m:
8578case RISCV::BI__builtin_rvv_vmsltu_vx_u32m2_b16_m:
8579case RISCV::BI__builtin_rvv_vmsltu_vx_u32m4_b8_m:
8580case RISCV::BI__builtin_rvv_vmsltu_vx_u32m8_b4_m:
8581case RISCV::BI__builtin_rvv_vmsltu_vx_u32mf2_b64_m:
8582case RISCV::BI__builtin_rvv_vmsltu_vx_u64m1_b64_m:
8583case RISCV::BI__builtin_rvv_vmsltu_vx_u64m2_b32_m:
8584case RISCV::BI__builtin_rvv_vmsltu_vx_u64m4_b16_m:
8585case RISCV::BI__builtin_rvv_vmsltu_vx_u64m8_b8_m:
8586 ID = Intrinsic::riscv_vmsltu_mask;
8587 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
8588 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
8589 break;
8590case RISCV::BI__builtin_rvv_vmsne_vv_i8m1_b8:
8591case RISCV::BI__builtin_rvv_vmsne_vv_i8m2_b4:
8592case RISCV::BI__builtin_rvv_vmsne_vv_i8m4_b2:
8593case RISCV::BI__builtin_rvv_vmsne_vv_i8m8_b1:
8594case RISCV::BI__builtin_rvv_vmsne_vv_i8mf2_b16:
8595case RISCV::BI__builtin_rvv_vmsne_vv_i8mf4_b32:
8596case RISCV::BI__builtin_rvv_vmsne_vv_i8mf8_b64:
8597case RISCV::BI__builtin_rvv_vmsne_vv_i16m1_b16:
8598case RISCV::BI__builtin_rvv_vmsne_vv_i16m2_b8:
8599case RISCV::BI__builtin_rvv_vmsne_vv_i16m4_b4:
8600case RISCV::BI__builtin_rvv_vmsne_vv_i16m8_b2:
8601case RISCV::BI__builtin_rvv_vmsne_vv_i16mf2_b32:
8602case RISCV::BI__builtin_rvv_vmsne_vv_i16mf4_b64:
8603case RISCV::BI__builtin_rvv_vmsne_vv_i32m1_b32:
8604case RISCV::BI__builtin_rvv_vmsne_vv_i32m2_b16:
8605case RISCV::BI__builtin_rvv_vmsne_vv_i32m4_b8:
8606case RISCV::BI__builtin_rvv_vmsne_vv_i32m8_b4:
8607case RISCV::BI__builtin_rvv_vmsne_vv_i32mf2_b64:
8608case RISCV::BI__builtin_rvv_vmsne_vv_i64m1_b64:
8609case RISCV::BI__builtin_rvv_vmsne_vv_i64m2_b32:
8610case RISCV::BI__builtin_rvv_vmsne_vv_i64m4_b16:
8611case RISCV::BI__builtin_rvv_vmsne_vv_i64m8_b8:
8612case RISCV::BI__builtin_rvv_vmsne_vx_i8m1_b8:
8613case RISCV::BI__builtin_rvv_vmsne_vx_i8m2_b4:
8614case RISCV::BI__builtin_rvv_vmsne_vx_i8m4_b2:
8615case RISCV::BI__builtin_rvv_vmsne_vx_i8m8_b1:
8616case RISCV::BI__builtin_rvv_vmsne_vx_i8mf2_b16:
8617case RISCV::BI__builtin_rvv_vmsne_vx_i8mf4_b32:
8618case RISCV::BI__builtin_rvv_vmsne_vx_i8mf8_b64:
8619case RISCV::BI__builtin_rvv_vmsne_vx_i16m1_b16:
8620case RISCV::BI__builtin_rvv_vmsne_vx_i16m2_b8:
8621case RISCV::BI__builtin_rvv_vmsne_vx_i16m4_b4:
8622case RISCV::BI__builtin_rvv_vmsne_vx_i16m8_b2:
8623case RISCV::BI__builtin_rvv_vmsne_vx_i16mf2_b32:
8624case RISCV::BI__builtin_rvv_vmsne_vx_i16mf4_b64:
8625case RISCV::BI__builtin_rvv_vmsne_vx_i32m1_b32:
8626case RISCV::BI__builtin_rvv_vmsne_vx_i32m2_b16:
8627case RISCV::BI__builtin_rvv_vmsne_vx_i32m4_b8:
8628case RISCV::BI__builtin_rvv_vmsne_vx_i32m8_b4:
8629case RISCV::BI__builtin_rvv_vmsne_vx_i32mf2_b64:
8630case RISCV::BI__builtin_rvv_vmsne_vx_i64m1_b64:
8631case RISCV::BI__builtin_rvv_vmsne_vx_i64m2_b32:
8632case RISCV::BI__builtin_rvv_vmsne_vx_i64m4_b16:
8633case RISCV::BI__builtin_rvv_vmsne_vx_i64m8_b8:
8634case RISCV::BI__builtin_rvv_vmsne_vv_u8m1_b8:
8635case RISCV::BI__builtin_rvv_vmsne_vv_u8m2_b4:
8636case RISCV::BI__builtin_rvv_vmsne_vv_u8m4_b2:
8637case RISCV::BI__builtin_rvv_vmsne_vv_u8m8_b1:
8638case RISCV::BI__builtin_rvv_vmsne_vv_u8mf2_b16:
8639case RISCV::BI__builtin_rvv_vmsne_vv_u8mf4_b32:
8640case RISCV::BI__builtin_rvv_vmsne_vv_u8mf8_b64:
8641case RISCV::BI__builtin_rvv_vmsne_vv_u16m1_b16:
8642case RISCV::BI__builtin_rvv_vmsne_vv_u16m2_b8:
8643case RISCV::BI__builtin_rvv_vmsne_vv_u16m4_b4:
8644case RISCV::BI__builtin_rvv_vmsne_vv_u16m8_b2:
8645case RISCV::BI__builtin_rvv_vmsne_vv_u16mf2_b32:
8646case RISCV::BI__builtin_rvv_vmsne_vv_u16mf4_b64:
8647case RISCV::BI__builtin_rvv_vmsne_vv_u32m1_b32:
8648case RISCV::BI__builtin_rvv_vmsne_vv_u32m2_b16:
8649case RISCV::BI__builtin_rvv_vmsne_vv_u32m4_b8:
8650case RISCV::BI__builtin_rvv_vmsne_vv_u32m8_b4:
8651case RISCV::BI__builtin_rvv_vmsne_vv_u32mf2_b64:
8652case RISCV::BI__builtin_rvv_vmsne_vv_u64m1_b64:
8653case RISCV::BI__builtin_rvv_vmsne_vv_u64m2_b32:
8654case RISCV::BI__builtin_rvv_vmsne_vv_u64m4_b16:
8655case RISCV::BI__builtin_rvv_vmsne_vv_u64m8_b8:
8656case RISCV::BI__builtin_rvv_vmsne_vx_u8m1_b8:
8657case RISCV::BI__builtin_rvv_vmsne_vx_u8m2_b4:
8658case RISCV::BI__builtin_rvv_vmsne_vx_u8m4_b2:
8659case RISCV::BI__builtin_rvv_vmsne_vx_u8m8_b1:
8660case RISCV::BI__builtin_rvv_vmsne_vx_u8mf2_b16:
8661case RISCV::BI__builtin_rvv_vmsne_vx_u8mf4_b32:
8662case RISCV::BI__builtin_rvv_vmsne_vx_u8mf8_b64:
8663case RISCV::BI__builtin_rvv_vmsne_vx_u16m1_b16:
8664case RISCV::BI__builtin_rvv_vmsne_vx_u16m2_b8:
8665case RISCV::BI__builtin_rvv_vmsne_vx_u16m4_b4:
8666case RISCV::BI__builtin_rvv_vmsne_vx_u16m8_b2:
8667case RISCV::BI__builtin_rvv_vmsne_vx_u16mf2_b32:
8668case RISCV::BI__builtin_rvv_vmsne_vx_u16mf4_b64:
8669case RISCV::BI__builtin_rvv_vmsne_vx_u32m1_b32:
8670case RISCV::BI__builtin_rvv_vmsne_vx_u32m2_b16:
8671case RISCV::BI__builtin_rvv_vmsne_vx_u32m4_b8:
8672case RISCV::BI__builtin_rvv_vmsne_vx_u32m8_b4:
8673case RISCV::BI__builtin_rvv_vmsne_vx_u32mf2_b64:
8674case RISCV::BI__builtin_rvv_vmsne_vx_u64m1_b64:
8675case RISCV::BI__builtin_rvv_vmsne_vx_u64m2_b32:
8676case RISCV::BI__builtin_rvv_vmsne_vx_u64m4_b16:
8677case RISCV::BI__builtin_rvv_vmsne_vx_u64m8_b8:
8678 ID = Intrinsic::riscv_vmsne;
8679 IntrinsicTypes = {Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
8680 break;
8681case RISCV::BI__builtin_rvv_vmsne_vv_i8m1_b8_m:
8682case RISCV::BI__builtin_rvv_vmsne_vv_i8m2_b4_m:
8683case RISCV::BI__builtin_rvv_vmsne_vv_i8m4_b2_m:
8684case RISCV::BI__builtin_rvv_vmsne_vv_i8m8_b1_m:
8685case RISCV::BI__builtin_rvv_vmsne_vv_i8mf2_b16_m:
8686case RISCV::BI__builtin_rvv_vmsne_vv_i8mf4_b32_m:
8687case RISCV::BI__builtin_rvv_vmsne_vv_i8mf8_b64_m:
8688case RISCV::BI__builtin_rvv_vmsne_vv_i16m1_b16_m:
8689case RISCV::BI__builtin_rvv_vmsne_vv_i16m2_b8_m:
8690case RISCV::BI__builtin_rvv_vmsne_vv_i16m4_b4_m:
8691case RISCV::BI__builtin_rvv_vmsne_vv_i16m8_b2_m:
8692case RISCV::BI__builtin_rvv_vmsne_vv_i16mf2_b32_m:
8693case RISCV::BI__builtin_rvv_vmsne_vv_i16mf4_b64_m:
8694case RISCV::BI__builtin_rvv_vmsne_vv_i32m1_b32_m:
8695case RISCV::BI__builtin_rvv_vmsne_vv_i32m2_b16_m:
8696case RISCV::BI__builtin_rvv_vmsne_vv_i32m4_b8_m:
8697case RISCV::BI__builtin_rvv_vmsne_vv_i32m8_b4_m:
8698case RISCV::BI__builtin_rvv_vmsne_vv_i32mf2_b64_m:
8699case RISCV::BI__builtin_rvv_vmsne_vv_i64m1_b64_m:
8700case RISCV::BI__builtin_rvv_vmsne_vv_i64m2_b32_m:
8701case RISCV::BI__builtin_rvv_vmsne_vv_i64m4_b16_m:
8702case RISCV::BI__builtin_rvv_vmsne_vv_i64m8_b8_m:
8703case RISCV::BI__builtin_rvv_vmsne_vx_i8m1_b8_m:
8704case RISCV::BI__builtin_rvv_vmsne_vx_i8m2_b4_m:
8705case RISCV::BI__builtin_rvv_vmsne_vx_i8m4_b2_m:
8706case RISCV::BI__builtin_rvv_vmsne_vx_i8m8_b1_m:
8707case RISCV::BI__builtin_rvv_vmsne_vx_i8mf2_b16_m:
8708case RISCV::BI__builtin_rvv_vmsne_vx_i8mf4_b32_m:
8709case RISCV::BI__builtin_rvv_vmsne_vx_i8mf8_b64_m:
8710case RISCV::BI__builtin_rvv_vmsne_vx_i16m1_b16_m:
8711case RISCV::BI__builtin_rvv_vmsne_vx_i16m2_b8_m:
8712case RISCV::BI__builtin_rvv_vmsne_vx_i16m4_b4_m:
8713case RISCV::BI__builtin_rvv_vmsne_vx_i16m8_b2_m:
8714case RISCV::BI__builtin_rvv_vmsne_vx_i16mf2_b32_m:
8715case RISCV::BI__builtin_rvv_vmsne_vx_i16mf4_b64_m:
8716case RISCV::BI__builtin_rvv_vmsne_vx_i32m1_b32_m:
8717case RISCV::BI__builtin_rvv_vmsne_vx_i32m2_b16_m:
8718case RISCV::BI__builtin_rvv_vmsne_vx_i32m4_b8_m:
8719case RISCV::BI__builtin_rvv_vmsne_vx_i32m8_b4_m:
8720case RISCV::BI__builtin_rvv_vmsne_vx_i32mf2_b64_m:
8721case RISCV::BI__builtin_rvv_vmsne_vx_i64m1_b64_m:
8722case RISCV::BI__builtin_rvv_vmsne_vx_i64m2_b32_m:
8723case RISCV::BI__builtin_rvv_vmsne_vx_i64m4_b16_m:
8724case RISCV::BI__builtin_rvv_vmsne_vx_i64m8_b8_m:
8725case RISCV::BI__builtin_rvv_vmsne_vv_u8m1_b8_m:
8726case RISCV::BI__builtin_rvv_vmsne_vv_u8m2_b4_m:
8727case RISCV::BI__builtin_rvv_vmsne_vv_u8m4_b2_m:
8728case RISCV::BI__builtin_rvv_vmsne_vv_u8m8_b1_m:
8729case RISCV::BI__builtin_rvv_vmsne_vv_u8mf2_b16_m:
8730case RISCV::BI__builtin_rvv_vmsne_vv_u8mf4_b32_m:
8731case RISCV::BI__builtin_rvv_vmsne_vv_u8mf8_b64_m:
8732case RISCV::BI__builtin_rvv_vmsne_vv_u16m1_b16_m:
8733case RISCV::BI__builtin_rvv_vmsne_vv_u16m2_b8_m:
8734case RISCV::BI__builtin_rvv_vmsne_vv_u16m4_b4_m:
8735case RISCV::BI__builtin_rvv_vmsne_vv_u16m8_b2_m:
8736case RISCV::BI__builtin_rvv_vmsne_vv_u16mf2_b32_m:
8737case RISCV::BI__builtin_rvv_vmsne_vv_u16mf4_b64_m:
8738case RISCV::BI__builtin_rvv_vmsne_vv_u32m1_b32_m:
8739case RISCV::BI__builtin_rvv_vmsne_vv_u32m2_b16_m:
8740case RISCV::BI__builtin_rvv_vmsne_vv_u32m4_b8_m:
8741case RISCV::BI__builtin_rvv_vmsne_vv_u32m8_b4_m:
8742case RISCV::BI__builtin_rvv_vmsne_vv_u32mf2_b64_m:
8743case RISCV::BI__builtin_rvv_vmsne_vv_u64m1_b64_m:
8744case RISCV::BI__builtin_rvv_vmsne_vv_u64m2_b32_m:
8745case RISCV::BI__builtin_rvv_vmsne_vv_u64m4_b16_m:
8746case RISCV::BI__builtin_rvv_vmsne_vv_u64m8_b8_m:
8747case RISCV::BI__builtin_rvv_vmsne_vx_u8m1_b8_m:
8748case RISCV::BI__builtin_rvv_vmsne_vx_u8m2_b4_m:
8749case RISCV::BI__builtin_rvv_vmsne_vx_u8m4_b2_m:
8750case RISCV::BI__builtin_rvv_vmsne_vx_u8m8_b1_m:
8751case RISCV::BI__builtin_rvv_vmsne_vx_u8mf2_b16_m:
8752case RISCV::BI__builtin_rvv_vmsne_vx_u8mf4_b32_m:
8753case RISCV::BI__builtin_rvv_vmsne_vx_u8mf8_b64_m:
8754case RISCV::BI__builtin_rvv_vmsne_vx_u16m1_b16_m:
8755case RISCV::BI__builtin_rvv_vmsne_vx_u16m2_b8_m:
8756case RISCV::BI__builtin_rvv_vmsne_vx_u16m4_b4_m:
8757case RISCV::BI__builtin_rvv_vmsne_vx_u16m8_b2_m:
8758case RISCV::BI__builtin_rvv_vmsne_vx_u16mf2_b32_m:
8759case RISCV::BI__builtin_rvv_vmsne_vx_u16mf4_b64_m:
8760case RISCV::BI__builtin_rvv_vmsne_vx_u32m1_b32_m:
8761case RISCV::BI__builtin_rvv_vmsne_vx_u32m2_b16_m:
8762case RISCV::BI__builtin_rvv_vmsne_vx_u32m4_b8_m:
8763case RISCV::BI__builtin_rvv_vmsne_vx_u32m8_b4_m:
8764case RISCV::BI__builtin_rvv_vmsne_vx_u32mf2_b64_m:
8765case RISCV::BI__builtin_rvv_vmsne_vx_u64m1_b64_m:
8766case RISCV::BI__builtin_rvv_vmsne_vx_u64m2_b32_m:
8767case RISCV::BI__builtin_rvv_vmsne_vx_u64m4_b16_m:
8768case RISCV::BI__builtin_rvv_vmsne_vx_u64m8_b8_m:
8769 ID = Intrinsic::riscv_vmsne_mask;
8770 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
8771 IntrinsicTypes = {Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
8772 break;
8773case RISCV::BI__builtin_rvv_vmsof_m_b8:
8774case RISCV::BI__builtin_rvv_vmsof_m_b4:
8775case RISCV::BI__builtin_rvv_vmsof_m_b2:
8776case RISCV::BI__builtin_rvv_vmsof_m_b1:
8777case RISCV::BI__builtin_rvv_vmsof_m_b16:
8778case RISCV::BI__builtin_rvv_vmsof_m_b32:
8779case RISCV::BI__builtin_rvv_vmsof_m_b64:
8780 ID = Intrinsic::riscv_vmsof;
8781 IntrinsicTypes = {ResultType, Ops.back()->getType()};
8782 break;
8783case RISCV::BI__builtin_rvv_vmsof_m_b8_m:
8784case RISCV::BI__builtin_rvv_vmsof_m_b4_m:
8785case RISCV::BI__builtin_rvv_vmsof_m_b2_m:
8786case RISCV::BI__builtin_rvv_vmsof_m_b1_m:
8787case RISCV::BI__builtin_rvv_vmsof_m_b16_m:
8788case RISCV::BI__builtin_rvv_vmsof_m_b32_m:
8789case RISCV::BI__builtin_rvv_vmsof_m_b64_m:
8790 ID = Intrinsic::riscv_vmsof_mask;
8791 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
8792 IntrinsicTypes = {ResultType, Ops.back()->getType()};
8793 break;
8794case RISCV::BI__builtin_rvv_vmul_vv_i8m1:
8795case RISCV::BI__builtin_rvv_vmul_vv_i8m2:
8796case RISCV::BI__builtin_rvv_vmul_vv_i8m4:
8797case RISCV::BI__builtin_rvv_vmul_vv_i8m8:
8798case RISCV::BI__builtin_rvv_vmul_vv_i8mf2:
8799case RISCV::BI__builtin_rvv_vmul_vv_i8mf4:
8800case RISCV::BI__builtin_rvv_vmul_vv_i8mf8:
8801case RISCV::BI__builtin_rvv_vmul_vv_i16m1:
8802case RISCV::BI__builtin_rvv_vmul_vv_i16m2:
8803case RISCV::BI__builtin_rvv_vmul_vv_i16m4:
8804case RISCV::BI__builtin_rvv_vmul_vv_i16m8:
8805case RISCV::BI__builtin_rvv_vmul_vv_i16mf2:
8806case RISCV::BI__builtin_rvv_vmul_vv_i16mf4:
8807case RISCV::BI__builtin_rvv_vmul_vv_i32m1:
8808case RISCV::BI__builtin_rvv_vmul_vv_i32m2:
8809case RISCV::BI__builtin_rvv_vmul_vv_i32m4:
8810case RISCV::BI__builtin_rvv_vmul_vv_i32m8:
8811case RISCV::BI__builtin_rvv_vmul_vv_i32mf2:
8812case RISCV::BI__builtin_rvv_vmul_vv_i64m1:
8813case RISCV::BI__builtin_rvv_vmul_vv_i64m2:
8814case RISCV::BI__builtin_rvv_vmul_vv_i64m4:
8815case RISCV::BI__builtin_rvv_vmul_vv_i64m8:
8816case RISCV::BI__builtin_rvv_vmul_vx_i8m1:
8817case RISCV::BI__builtin_rvv_vmul_vx_i8m2:
8818case RISCV::BI__builtin_rvv_vmul_vx_i8m4:
8819case RISCV::BI__builtin_rvv_vmul_vx_i8m8:
8820case RISCV::BI__builtin_rvv_vmul_vx_i8mf2:
8821case RISCV::BI__builtin_rvv_vmul_vx_i8mf4:
8822case RISCV::BI__builtin_rvv_vmul_vx_i8mf8:
8823case RISCV::BI__builtin_rvv_vmul_vx_i16m1:
8824case RISCV::BI__builtin_rvv_vmul_vx_i16m2:
8825case RISCV::BI__builtin_rvv_vmul_vx_i16m4:
8826case RISCV::BI__builtin_rvv_vmul_vx_i16m8:
8827case RISCV::BI__builtin_rvv_vmul_vx_i16mf2:
8828case RISCV::BI__builtin_rvv_vmul_vx_i16mf4:
8829case RISCV::BI__builtin_rvv_vmul_vx_i32m1:
8830case RISCV::BI__builtin_rvv_vmul_vx_i32m2:
8831case RISCV::BI__builtin_rvv_vmul_vx_i32m4:
8832case RISCV::BI__builtin_rvv_vmul_vx_i32m8:
8833case RISCV::BI__builtin_rvv_vmul_vx_i32mf2:
8834case RISCV::BI__builtin_rvv_vmul_vx_i64m1:
8835case RISCV::BI__builtin_rvv_vmul_vx_i64m2:
8836case RISCV::BI__builtin_rvv_vmul_vx_i64m4:
8837case RISCV::BI__builtin_rvv_vmul_vx_i64m8:
8838case RISCV::BI__builtin_rvv_vmul_vv_u8m1:
8839case RISCV::BI__builtin_rvv_vmul_vv_u8m2:
8840case RISCV::BI__builtin_rvv_vmul_vv_u8m4:
8841case RISCV::BI__builtin_rvv_vmul_vv_u8m8:
8842case RISCV::BI__builtin_rvv_vmul_vv_u8mf2:
8843case RISCV::BI__builtin_rvv_vmul_vv_u8mf4:
8844case RISCV::BI__builtin_rvv_vmul_vv_u8mf8:
8845case RISCV::BI__builtin_rvv_vmul_vv_u16m1:
8846case RISCV::BI__builtin_rvv_vmul_vv_u16m2:
8847case RISCV::BI__builtin_rvv_vmul_vv_u16m4:
8848case RISCV::BI__builtin_rvv_vmul_vv_u16m8:
8849case RISCV::BI__builtin_rvv_vmul_vv_u16mf2:
8850case RISCV::BI__builtin_rvv_vmul_vv_u16mf4:
8851case RISCV::BI__builtin_rvv_vmul_vv_u32m1:
8852case RISCV::BI__builtin_rvv_vmul_vv_u32m2:
8853case RISCV::BI__builtin_rvv_vmul_vv_u32m4:
8854case RISCV::BI__builtin_rvv_vmul_vv_u32m8:
8855case RISCV::BI__builtin_rvv_vmul_vv_u32mf2:
8856case RISCV::BI__builtin_rvv_vmul_vv_u64m1:
8857case RISCV::BI__builtin_rvv_vmul_vv_u64m2:
8858case RISCV::BI__builtin_rvv_vmul_vv_u64m4:
8859case RISCV::BI__builtin_rvv_vmul_vv_u64m8:
8860case RISCV::BI__builtin_rvv_vmul_vx_u8m1:
8861case RISCV::BI__builtin_rvv_vmul_vx_u8m2:
8862case RISCV::BI__builtin_rvv_vmul_vx_u8m4:
8863case RISCV::BI__builtin_rvv_vmul_vx_u8m8:
8864case RISCV::BI__builtin_rvv_vmul_vx_u8mf2:
8865case RISCV::BI__builtin_rvv_vmul_vx_u8mf4:
8866case RISCV::BI__builtin_rvv_vmul_vx_u8mf8:
8867case RISCV::BI__builtin_rvv_vmul_vx_u16m1:
8868case RISCV::BI__builtin_rvv_vmul_vx_u16m2:
8869case RISCV::BI__builtin_rvv_vmul_vx_u16m4:
8870case RISCV::BI__builtin_rvv_vmul_vx_u16m8:
8871case RISCV::BI__builtin_rvv_vmul_vx_u16mf2:
8872case RISCV::BI__builtin_rvv_vmul_vx_u16mf4:
8873case RISCV::BI__builtin_rvv_vmul_vx_u32m1:
8874case RISCV::BI__builtin_rvv_vmul_vx_u32m2:
8875case RISCV::BI__builtin_rvv_vmul_vx_u32m4:
8876case RISCV::BI__builtin_rvv_vmul_vx_u32m8:
8877case RISCV::BI__builtin_rvv_vmul_vx_u32mf2:
8878case RISCV::BI__builtin_rvv_vmul_vx_u64m1:
8879case RISCV::BI__builtin_rvv_vmul_vx_u64m2:
8880case RISCV::BI__builtin_rvv_vmul_vx_u64m4:
8881case RISCV::BI__builtin_rvv_vmul_vx_u64m8:
8882 ID = Intrinsic::riscv_vmul;
8883 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
8884 break;
8885case RISCV::BI__builtin_rvv_vmul_vv_i8m1_m:
8886case RISCV::BI__builtin_rvv_vmul_vv_i8m2_m:
8887case RISCV::BI__builtin_rvv_vmul_vv_i8m4_m:
8888case RISCV::BI__builtin_rvv_vmul_vv_i8m8_m:
8889case RISCV::BI__builtin_rvv_vmul_vv_i8mf2_m:
8890case RISCV::BI__builtin_rvv_vmul_vv_i8mf4_m:
8891case RISCV::BI__builtin_rvv_vmul_vv_i8mf8_m:
8892case RISCV::BI__builtin_rvv_vmul_vv_i16m1_m:
8893case RISCV::BI__builtin_rvv_vmul_vv_i16m2_m:
8894case RISCV::BI__builtin_rvv_vmul_vv_i16m4_m:
8895case RISCV::BI__builtin_rvv_vmul_vv_i16m8_m:
8896case RISCV::BI__builtin_rvv_vmul_vv_i16mf2_m:
8897case RISCV::BI__builtin_rvv_vmul_vv_i16mf4_m:
8898case RISCV::BI__builtin_rvv_vmul_vv_i32m1_m:
8899case RISCV::BI__builtin_rvv_vmul_vv_i32m2_m:
8900case RISCV::BI__builtin_rvv_vmul_vv_i32m4_m:
8901case RISCV::BI__builtin_rvv_vmul_vv_i32m8_m:
8902case RISCV::BI__builtin_rvv_vmul_vv_i32mf2_m:
8903case RISCV::BI__builtin_rvv_vmul_vv_i64m1_m:
8904case RISCV::BI__builtin_rvv_vmul_vv_i64m2_m:
8905case RISCV::BI__builtin_rvv_vmul_vv_i64m4_m:
8906case RISCV::BI__builtin_rvv_vmul_vv_i64m8_m:
8907case RISCV::BI__builtin_rvv_vmul_vx_i8m1_m:
8908case RISCV::BI__builtin_rvv_vmul_vx_i8m2_m:
8909case RISCV::BI__builtin_rvv_vmul_vx_i8m4_m:
8910case RISCV::BI__builtin_rvv_vmul_vx_i8m8_m:
8911case RISCV::BI__builtin_rvv_vmul_vx_i8mf2_m:
8912case RISCV::BI__builtin_rvv_vmul_vx_i8mf4_m:
8913case RISCV::BI__builtin_rvv_vmul_vx_i8mf8_m:
8914case RISCV::BI__builtin_rvv_vmul_vx_i16m1_m:
8915case RISCV::BI__builtin_rvv_vmul_vx_i16m2_m:
8916case RISCV::BI__builtin_rvv_vmul_vx_i16m4_m:
8917case RISCV::BI__builtin_rvv_vmul_vx_i16m8_m:
8918case RISCV::BI__builtin_rvv_vmul_vx_i16mf2_m:
8919case RISCV::BI__builtin_rvv_vmul_vx_i16mf4_m:
8920case RISCV::BI__builtin_rvv_vmul_vx_i32m1_m:
8921case RISCV::BI__builtin_rvv_vmul_vx_i32m2_m:
8922case RISCV::BI__builtin_rvv_vmul_vx_i32m4_m:
8923case RISCV::BI__builtin_rvv_vmul_vx_i32m8_m:
8924case RISCV::BI__builtin_rvv_vmul_vx_i32mf2_m:
8925case RISCV::BI__builtin_rvv_vmul_vx_i64m1_m:
8926case RISCV::BI__builtin_rvv_vmul_vx_i64m2_m:
8927case RISCV::BI__builtin_rvv_vmul_vx_i64m4_m:
8928case RISCV::BI__builtin_rvv_vmul_vx_i64m8_m:
8929case RISCV::BI__builtin_rvv_vmul_vv_u8m1_m:
8930case RISCV::BI__builtin_rvv_vmul_vv_u8m2_m:
8931case RISCV::BI__builtin_rvv_vmul_vv_u8m4_m:
8932case RISCV::BI__builtin_rvv_vmul_vv_u8m8_m:
8933case RISCV::BI__builtin_rvv_vmul_vv_u8mf2_m:
8934case RISCV::BI__builtin_rvv_vmul_vv_u8mf4_m:
8935case RISCV::BI__builtin_rvv_vmul_vv_u8mf8_m:
8936case RISCV::BI__builtin_rvv_vmul_vv_u16m1_m:
8937case RISCV::BI__builtin_rvv_vmul_vv_u16m2_m:
8938case RISCV::BI__builtin_rvv_vmul_vv_u16m4_m:
8939case RISCV::BI__builtin_rvv_vmul_vv_u16m8_m:
8940case RISCV::BI__builtin_rvv_vmul_vv_u16mf2_m:
8941case RISCV::BI__builtin_rvv_vmul_vv_u16mf4_m:
8942case RISCV::BI__builtin_rvv_vmul_vv_u32m1_m:
8943case RISCV::BI__builtin_rvv_vmul_vv_u32m2_m:
8944case RISCV::BI__builtin_rvv_vmul_vv_u32m4_m:
8945case RISCV::BI__builtin_rvv_vmul_vv_u32m8_m:
8946case RISCV::BI__builtin_rvv_vmul_vv_u32mf2_m:
8947case RISCV::BI__builtin_rvv_vmul_vv_u64m1_m:
8948case RISCV::BI__builtin_rvv_vmul_vv_u64m2_m:
8949case RISCV::BI__builtin_rvv_vmul_vv_u64m4_m:
8950case RISCV::BI__builtin_rvv_vmul_vv_u64m8_m:
8951case RISCV::BI__builtin_rvv_vmul_vx_u8m1_m:
8952case RISCV::BI__builtin_rvv_vmul_vx_u8m2_m:
8953case RISCV::BI__builtin_rvv_vmul_vx_u8m4_m:
8954case RISCV::BI__builtin_rvv_vmul_vx_u8m8_m:
8955case RISCV::BI__builtin_rvv_vmul_vx_u8mf2_m:
8956case RISCV::BI__builtin_rvv_vmul_vx_u8mf4_m:
8957case RISCV::BI__builtin_rvv_vmul_vx_u8mf8_m:
8958case RISCV::BI__builtin_rvv_vmul_vx_u16m1_m:
8959case RISCV::BI__builtin_rvv_vmul_vx_u16m2_m:
8960case RISCV::BI__builtin_rvv_vmul_vx_u16m4_m:
8961case RISCV::BI__builtin_rvv_vmul_vx_u16m8_m:
8962case RISCV::BI__builtin_rvv_vmul_vx_u16mf2_m:
8963case RISCV::BI__builtin_rvv_vmul_vx_u16mf4_m:
8964case RISCV::BI__builtin_rvv_vmul_vx_u32m1_m:
8965case RISCV::BI__builtin_rvv_vmul_vx_u32m2_m:
8966case RISCV::BI__builtin_rvv_vmul_vx_u32m4_m:
8967case RISCV::BI__builtin_rvv_vmul_vx_u32m8_m:
8968case RISCV::BI__builtin_rvv_vmul_vx_u32mf2_m:
8969case RISCV::BI__builtin_rvv_vmul_vx_u64m1_m:
8970case RISCV::BI__builtin_rvv_vmul_vx_u64m2_m:
8971case RISCV::BI__builtin_rvv_vmul_vx_u64m4_m:
8972case RISCV::BI__builtin_rvv_vmul_vx_u64m8_m:
8973 ID = Intrinsic::riscv_vmul_mask;
8974 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
8975 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
8976 break;
8977case RISCV::BI__builtin_rvv_vmulh_vv_i8m1:
8978case RISCV::BI__builtin_rvv_vmulh_vv_i8m2:
8979case RISCV::BI__builtin_rvv_vmulh_vv_i8m4:
8980case RISCV::BI__builtin_rvv_vmulh_vv_i8m8:
8981case RISCV::BI__builtin_rvv_vmulh_vv_i8mf2:
8982case RISCV::BI__builtin_rvv_vmulh_vv_i8mf4:
8983case RISCV::BI__builtin_rvv_vmulh_vv_i8mf8:
8984case RISCV::BI__builtin_rvv_vmulh_vv_i16m1:
8985case RISCV::BI__builtin_rvv_vmulh_vv_i16m2:
8986case RISCV::BI__builtin_rvv_vmulh_vv_i16m4:
8987case RISCV::BI__builtin_rvv_vmulh_vv_i16m8:
8988case RISCV::BI__builtin_rvv_vmulh_vv_i16mf2:
8989case RISCV::BI__builtin_rvv_vmulh_vv_i16mf4:
8990case RISCV::BI__builtin_rvv_vmulh_vv_i32m1:
8991case RISCV::BI__builtin_rvv_vmulh_vv_i32m2:
8992case RISCV::BI__builtin_rvv_vmulh_vv_i32m4:
8993case RISCV::BI__builtin_rvv_vmulh_vv_i32m8:
8994case RISCV::BI__builtin_rvv_vmulh_vv_i32mf2:
8995case RISCV::BI__builtin_rvv_vmulh_vv_i64m1:
8996case RISCV::BI__builtin_rvv_vmulh_vv_i64m2:
8997case RISCV::BI__builtin_rvv_vmulh_vv_i64m4:
8998case RISCV::BI__builtin_rvv_vmulh_vv_i64m8:
8999case RISCV::BI__builtin_rvv_vmulh_vx_i8m1:
9000case RISCV::BI__builtin_rvv_vmulh_vx_i8m2:
9001case RISCV::BI__builtin_rvv_vmulh_vx_i8m4:
9002case RISCV::BI__builtin_rvv_vmulh_vx_i8m8:
9003case RISCV::BI__builtin_rvv_vmulh_vx_i8mf2:
9004case RISCV::BI__builtin_rvv_vmulh_vx_i8mf4:
9005case RISCV::BI__builtin_rvv_vmulh_vx_i8mf8:
9006case RISCV::BI__builtin_rvv_vmulh_vx_i16m1:
9007case RISCV::BI__builtin_rvv_vmulh_vx_i16m2:
9008case RISCV::BI__builtin_rvv_vmulh_vx_i16m4:
9009case RISCV::BI__builtin_rvv_vmulh_vx_i16m8:
9010case RISCV::BI__builtin_rvv_vmulh_vx_i16mf2:
9011case RISCV::BI__builtin_rvv_vmulh_vx_i16mf4:
9012case RISCV::BI__builtin_rvv_vmulh_vx_i32m1:
9013case RISCV::BI__builtin_rvv_vmulh_vx_i32m2:
9014case RISCV::BI__builtin_rvv_vmulh_vx_i32m4:
9015case RISCV::BI__builtin_rvv_vmulh_vx_i32m8:
9016case RISCV::BI__builtin_rvv_vmulh_vx_i32mf2:
9017case RISCV::BI__builtin_rvv_vmulh_vx_i64m1:
9018case RISCV::BI__builtin_rvv_vmulh_vx_i64m2:
9019case RISCV::BI__builtin_rvv_vmulh_vx_i64m4:
9020case RISCV::BI__builtin_rvv_vmulh_vx_i64m8:
9021 ID = Intrinsic::riscv_vmulh;
9022 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
9023 break;
9024case RISCV::BI__builtin_rvv_vmulh_vv_i8m1_m:
9025case RISCV::BI__builtin_rvv_vmulh_vv_i8m2_m:
9026case RISCV::BI__builtin_rvv_vmulh_vv_i8m4_m:
9027case RISCV::BI__builtin_rvv_vmulh_vv_i8m8_m:
9028case RISCV::BI__builtin_rvv_vmulh_vv_i8mf2_m:
9029case RISCV::BI__builtin_rvv_vmulh_vv_i8mf4_m:
9030case RISCV::BI__builtin_rvv_vmulh_vv_i8mf8_m:
9031case RISCV::BI__builtin_rvv_vmulh_vv_i16m1_m:
9032case RISCV::BI__builtin_rvv_vmulh_vv_i16m2_m:
9033case RISCV::BI__builtin_rvv_vmulh_vv_i16m4_m:
9034case RISCV::BI__builtin_rvv_vmulh_vv_i16m8_m:
9035case RISCV::BI__builtin_rvv_vmulh_vv_i16mf2_m:
9036case RISCV::BI__builtin_rvv_vmulh_vv_i16mf4_m:
9037case RISCV::BI__builtin_rvv_vmulh_vv_i32m1_m:
9038case RISCV::BI__builtin_rvv_vmulh_vv_i32m2_m:
9039case RISCV::BI__builtin_rvv_vmulh_vv_i32m4_m:
9040case RISCV::BI__builtin_rvv_vmulh_vv_i32m8_m:
9041case RISCV::BI__builtin_rvv_vmulh_vv_i32mf2_m:
9042case RISCV::BI__builtin_rvv_vmulh_vv_i64m1_m:
9043case RISCV::BI__builtin_rvv_vmulh_vv_i64m2_m:
9044case RISCV::BI__builtin_rvv_vmulh_vv_i64m4_m:
9045case RISCV::BI__builtin_rvv_vmulh_vv_i64m8_m:
9046case RISCV::BI__builtin_rvv_vmulh_vx_i8m1_m:
9047case RISCV::BI__builtin_rvv_vmulh_vx_i8m2_m:
9048case RISCV::BI__builtin_rvv_vmulh_vx_i8m4_m:
9049case RISCV::BI__builtin_rvv_vmulh_vx_i8m8_m:
9050case RISCV::BI__builtin_rvv_vmulh_vx_i8mf2_m:
9051case RISCV::BI__builtin_rvv_vmulh_vx_i8mf4_m:
9052case RISCV::BI__builtin_rvv_vmulh_vx_i8mf8_m:
9053case RISCV::BI__builtin_rvv_vmulh_vx_i16m1_m:
9054case RISCV::BI__builtin_rvv_vmulh_vx_i16m2_m:
9055case RISCV::BI__builtin_rvv_vmulh_vx_i16m4_m:
9056case RISCV::BI__builtin_rvv_vmulh_vx_i16m8_m:
9057case RISCV::BI__builtin_rvv_vmulh_vx_i16mf2_m:
9058case RISCV::BI__builtin_rvv_vmulh_vx_i16mf4_m:
9059case RISCV::BI__builtin_rvv_vmulh_vx_i32m1_m:
9060case RISCV::BI__builtin_rvv_vmulh_vx_i32m2_m:
9061case RISCV::BI__builtin_rvv_vmulh_vx_i32m4_m:
9062case RISCV::BI__builtin_rvv_vmulh_vx_i32m8_m:
9063case RISCV::BI__builtin_rvv_vmulh_vx_i32mf2_m:
9064case RISCV::BI__builtin_rvv_vmulh_vx_i64m1_m:
9065case RISCV::BI__builtin_rvv_vmulh_vx_i64m2_m:
9066case RISCV::BI__builtin_rvv_vmulh_vx_i64m4_m:
9067case RISCV::BI__builtin_rvv_vmulh_vx_i64m8_m:
9068 ID = Intrinsic::riscv_vmulh_mask;
9069 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
9070 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
9071 break;
9072case RISCV::BI__builtin_rvv_vmulhsu_vv_i8m1:
9073case RISCV::BI__builtin_rvv_vmulhsu_vv_i8m2:
9074case RISCV::BI__builtin_rvv_vmulhsu_vv_i8m4:
9075case RISCV::BI__builtin_rvv_vmulhsu_vv_i8m8:
9076case RISCV::BI__builtin_rvv_vmulhsu_vv_i8mf2:
9077case RISCV::BI__builtin_rvv_vmulhsu_vv_i8mf4:
9078case RISCV::BI__builtin_rvv_vmulhsu_vv_i8mf8:
9079case RISCV::BI__builtin_rvv_vmulhsu_vv_i16m1:
9080case RISCV::BI__builtin_rvv_vmulhsu_vv_i16m2:
9081case RISCV::BI__builtin_rvv_vmulhsu_vv_i16m4:
9082case RISCV::BI__builtin_rvv_vmulhsu_vv_i16m8:
9083case RISCV::BI__builtin_rvv_vmulhsu_vv_i16mf2:
9084case RISCV::BI__builtin_rvv_vmulhsu_vv_i16mf4:
9085case RISCV::BI__builtin_rvv_vmulhsu_vv_i32m1:
9086case RISCV::BI__builtin_rvv_vmulhsu_vv_i32m2:
9087case RISCV::BI__builtin_rvv_vmulhsu_vv_i32m4:
9088case RISCV::BI__builtin_rvv_vmulhsu_vv_i32m8:
9089case RISCV::BI__builtin_rvv_vmulhsu_vv_i32mf2:
9090case RISCV::BI__builtin_rvv_vmulhsu_vv_i64m1:
9091case RISCV::BI__builtin_rvv_vmulhsu_vv_i64m2:
9092case RISCV::BI__builtin_rvv_vmulhsu_vv_i64m4:
9093case RISCV::BI__builtin_rvv_vmulhsu_vv_i64m8:
9094case RISCV::BI__builtin_rvv_vmulhsu_vx_i8m1:
9095case RISCV::BI__builtin_rvv_vmulhsu_vx_i8m2:
9096case RISCV::BI__builtin_rvv_vmulhsu_vx_i8m4:
9097case RISCV::BI__builtin_rvv_vmulhsu_vx_i8m8:
9098case RISCV::BI__builtin_rvv_vmulhsu_vx_i8mf2:
9099case RISCV::BI__builtin_rvv_vmulhsu_vx_i8mf4:
9100case RISCV::BI__builtin_rvv_vmulhsu_vx_i8mf8:
9101case RISCV::BI__builtin_rvv_vmulhsu_vx_i16m1:
9102case RISCV::BI__builtin_rvv_vmulhsu_vx_i16m2:
9103case RISCV::BI__builtin_rvv_vmulhsu_vx_i16m4:
9104case RISCV::BI__builtin_rvv_vmulhsu_vx_i16m8:
9105case RISCV::BI__builtin_rvv_vmulhsu_vx_i16mf2:
9106case RISCV::BI__builtin_rvv_vmulhsu_vx_i16mf4:
9107case RISCV::BI__builtin_rvv_vmulhsu_vx_i32m1:
9108case RISCV::BI__builtin_rvv_vmulhsu_vx_i32m2:
9109case RISCV::BI__builtin_rvv_vmulhsu_vx_i32m4:
9110case RISCV::BI__builtin_rvv_vmulhsu_vx_i32m8:
9111case RISCV::BI__builtin_rvv_vmulhsu_vx_i32mf2:
9112case RISCV::BI__builtin_rvv_vmulhsu_vx_i64m1:
9113case RISCV::BI__builtin_rvv_vmulhsu_vx_i64m2:
9114case RISCV::BI__builtin_rvv_vmulhsu_vx_i64m4:
9115case RISCV::BI__builtin_rvv_vmulhsu_vx_i64m8:
9116 ID = Intrinsic::riscv_vmulhsu;
9117 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
9118 break;
9119case RISCV::BI__builtin_rvv_vmulhsu_vv_i8m1_m:
9120case RISCV::BI__builtin_rvv_vmulhsu_vv_i8m2_m:
9121case RISCV::BI__builtin_rvv_vmulhsu_vv_i8m4_m:
9122case RISCV::BI__builtin_rvv_vmulhsu_vv_i8m8_m:
9123case RISCV::BI__builtin_rvv_vmulhsu_vv_i8mf2_m:
9124case RISCV::BI__builtin_rvv_vmulhsu_vv_i8mf4_m:
9125case RISCV::BI__builtin_rvv_vmulhsu_vv_i8mf8_m:
9126case RISCV::BI__builtin_rvv_vmulhsu_vv_i16m1_m:
9127case RISCV::BI__builtin_rvv_vmulhsu_vv_i16m2_m:
9128case RISCV::BI__builtin_rvv_vmulhsu_vv_i16m4_m:
9129case RISCV::BI__builtin_rvv_vmulhsu_vv_i16m8_m:
9130case RISCV::BI__builtin_rvv_vmulhsu_vv_i16mf2_m:
9131case RISCV::BI__builtin_rvv_vmulhsu_vv_i16mf4_m:
9132case RISCV::BI__builtin_rvv_vmulhsu_vv_i32m1_m:
9133case RISCV::BI__builtin_rvv_vmulhsu_vv_i32m2_m:
9134case RISCV::BI__builtin_rvv_vmulhsu_vv_i32m4_m:
9135case RISCV::BI__builtin_rvv_vmulhsu_vv_i32m8_m:
9136case RISCV::BI__builtin_rvv_vmulhsu_vv_i32mf2_m:
9137case RISCV::BI__builtin_rvv_vmulhsu_vv_i64m1_m:
9138case RISCV::BI__builtin_rvv_vmulhsu_vv_i64m2_m:
9139case RISCV::BI__builtin_rvv_vmulhsu_vv_i64m4_m:
9140case RISCV::BI__builtin_rvv_vmulhsu_vv_i64m8_m:
9141case RISCV::BI__builtin_rvv_vmulhsu_vx_i8m1_m:
9142case RISCV::BI__builtin_rvv_vmulhsu_vx_i8m2_m:
9143case RISCV::BI__builtin_rvv_vmulhsu_vx_i8m4_m:
9144case RISCV::BI__builtin_rvv_vmulhsu_vx_i8m8_m:
9145case RISCV::BI__builtin_rvv_vmulhsu_vx_i8mf2_m:
9146case RISCV::BI__builtin_rvv_vmulhsu_vx_i8mf4_m:
9147case RISCV::BI__builtin_rvv_vmulhsu_vx_i8mf8_m:
9148case RISCV::BI__builtin_rvv_vmulhsu_vx_i16m1_m:
9149case RISCV::BI__builtin_rvv_vmulhsu_vx_i16m2_m:
9150case RISCV::BI__builtin_rvv_vmulhsu_vx_i16m4_m:
9151case RISCV::BI__builtin_rvv_vmulhsu_vx_i16m8_m:
9152case RISCV::BI__builtin_rvv_vmulhsu_vx_i16mf2_m:
9153case RISCV::BI__builtin_rvv_vmulhsu_vx_i16mf4_m:
9154case RISCV::BI__builtin_rvv_vmulhsu_vx_i32m1_m:
9155case RISCV::BI__builtin_rvv_vmulhsu_vx_i32m2_m:
9156case RISCV::BI__builtin_rvv_vmulhsu_vx_i32m4_m:
9157case RISCV::BI__builtin_rvv_vmulhsu_vx_i32m8_m:
9158case RISCV::BI__builtin_rvv_vmulhsu_vx_i32mf2_m:
9159case RISCV::BI__builtin_rvv_vmulhsu_vx_i64m1_m:
9160case RISCV::BI__builtin_rvv_vmulhsu_vx_i64m2_m:
9161case RISCV::BI__builtin_rvv_vmulhsu_vx_i64m4_m:
9162case RISCV::BI__builtin_rvv_vmulhsu_vx_i64m8_m:
9163 ID = Intrinsic::riscv_vmulhsu_mask;
9164 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
9165 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
9166 break;
9167case RISCV::BI__builtin_rvv_vmulhu_vv_u8m1:
9168case RISCV::BI__builtin_rvv_vmulhu_vv_u8m2:
9169case RISCV::BI__builtin_rvv_vmulhu_vv_u8m4:
9170case RISCV::BI__builtin_rvv_vmulhu_vv_u8m8:
9171case RISCV::BI__builtin_rvv_vmulhu_vv_u8mf2:
9172case RISCV::BI__builtin_rvv_vmulhu_vv_u8mf4:
9173case RISCV::BI__builtin_rvv_vmulhu_vv_u8mf8:
9174case RISCV::BI__builtin_rvv_vmulhu_vv_u16m1:
9175case RISCV::BI__builtin_rvv_vmulhu_vv_u16m2:
9176case RISCV::BI__builtin_rvv_vmulhu_vv_u16m4:
9177case RISCV::BI__builtin_rvv_vmulhu_vv_u16m8:
9178case RISCV::BI__builtin_rvv_vmulhu_vv_u16mf2:
9179case RISCV::BI__builtin_rvv_vmulhu_vv_u16mf4:
9180case RISCV::BI__builtin_rvv_vmulhu_vv_u32m1:
9181case RISCV::BI__builtin_rvv_vmulhu_vv_u32m2:
9182case RISCV::BI__builtin_rvv_vmulhu_vv_u32m4:
9183case RISCV::BI__builtin_rvv_vmulhu_vv_u32m8:
9184case RISCV::BI__builtin_rvv_vmulhu_vv_u32mf2:
9185case RISCV::BI__builtin_rvv_vmulhu_vv_u64m1:
9186case RISCV::BI__builtin_rvv_vmulhu_vv_u64m2:
9187case RISCV::BI__builtin_rvv_vmulhu_vv_u64m4:
9188case RISCV::BI__builtin_rvv_vmulhu_vv_u64m8:
9189case RISCV::BI__builtin_rvv_vmulhu_vx_u8m1:
9190case RISCV::BI__builtin_rvv_vmulhu_vx_u8m2:
9191case RISCV::BI__builtin_rvv_vmulhu_vx_u8m4:
9192case RISCV::BI__builtin_rvv_vmulhu_vx_u8m8:
9193case RISCV::BI__builtin_rvv_vmulhu_vx_u8mf2:
9194case RISCV::BI__builtin_rvv_vmulhu_vx_u8mf4:
9195case RISCV::BI__builtin_rvv_vmulhu_vx_u8mf8:
9196case RISCV::BI__builtin_rvv_vmulhu_vx_u16m1:
9197case RISCV::BI__builtin_rvv_vmulhu_vx_u16m2:
9198case RISCV::BI__builtin_rvv_vmulhu_vx_u16m4:
9199case RISCV::BI__builtin_rvv_vmulhu_vx_u16m8:
9200case RISCV::BI__builtin_rvv_vmulhu_vx_u16mf2:
9201case RISCV::BI__builtin_rvv_vmulhu_vx_u16mf4:
9202case RISCV::BI__builtin_rvv_vmulhu_vx_u32m1:
9203case RISCV::BI__builtin_rvv_vmulhu_vx_u32m2:
9204case RISCV::BI__builtin_rvv_vmulhu_vx_u32m4:
9205case RISCV::BI__builtin_rvv_vmulhu_vx_u32m8:
9206case RISCV::BI__builtin_rvv_vmulhu_vx_u32mf2:
9207case RISCV::BI__builtin_rvv_vmulhu_vx_u64m1:
9208case RISCV::BI__builtin_rvv_vmulhu_vx_u64m2:
9209case RISCV::BI__builtin_rvv_vmulhu_vx_u64m4:
9210case RISCV::BI__builtin_rvv_vmulhu_vx_u64m8:
9211 ID = Intrinsic::riscv_vmulhu;
9212 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
9213 break;
9214case RISCV::BI__builtin_rvv_vmulhu_vv_u8m1_m:
9215case RISCV::BI__builtin_rvv_vmulhu_vv_u8m2_m:
9216case RISCV::BI__builtin_rvv_vmulhu_vv_u8m4_m:
9217case RISCV::BI__builtin_rvv_vmulhu_vv_u8m8_m:
9218case RISCV::BI__builtin_rvv_vmulhu_vv_u8mf2_m:
9219case RISCV::BI__builtin_rvv_vmulhu_vv_u8mf4_m:
9220case RISCV::BI__builtin_rvv_vmulhu_vv_u8mf8_m:
9221case RISCV::BI__builtin_rvv_vmulhu_vv_u16m1_m:
9222case RISCV::BI__builtin_rvv_vmulhu_vv_u16m2_m:
9223case RISCV::BI__builtin_rvv_vmulhu_vv_u16m4_m:
9224case RISCV::BI__builtin_rvv_vmulhu_vv_u16m8_m:
9225case RISCV::BI__builtin_rvv_vmulhu_vv_u16mf2_m:
9226case RISCV::BI__builtin_rvv_vmulhu_vv_u16mf4_m:
9227case RISCV::BI__builtin_rvv_vmulhu_vv_u32m1_m:
9228case RISCV::BI__builtin_rvv_vmulhu_vv_u32m2_m:
9229case RISCV::BI__builtin_rvv_vmulhu_vv_u32m4_m:
9230case RISCV::BI__builtin_rvv_vmulhu_vv_u32m8_m:
9231case RISCV::BI__builtin_rvv_vmulhu_vv_u32mf2_m:
9232case RISCV::BI__builtin_rvv_vmulhu_vv_u64m1_m:
9233case RISCV::BI__builtin_rvv_vmulhu_vv_u64m2_m:
9234case RISCV::BI__builtin_rvv_vmulhu_vv_u64m4_m:
9235case RISCV::BI__builtin_rvv_vmulhu_vv_u64m8_m:
9236case RISCV::BI__builtin_rvv_vmulhu_vx_u8m1_m:
9237case RISCV::BI__builtin_rvv_vmulhu_vx_u8m2_m:
9238case RISCV::BI__builtin_rvv_vmulhu_vx_u8m4_m:
9239case RISCV::BI__builtin_rvv_vmulhu_vx_u8m8_m:
9240case RISCV::BI__builtin_rvv_vmulhu_vx_u8mf2_m:
9241case RISCV::BI__builtin_rvv_vmulhu_vx_u8mf4_m:
9242case RISCV::BI__builtin_rvv_vmulhu_vx_u8mf8_m:
9243case RISCV::BI__builtin_rvv_vmulhu_vx_u16m1_m:
9244case RISCV::BI__builtin_rvv_vmulhu_vx_u16m2_m:
9245case RISCV::BI__builtin_rvv_vmulhu_vx_u16m4_m:
9246case RISCV::BI__builtin_rvv_vmulhu_vx_u16m8_m:
9247case RISCV::BI__builtin_rvv_vmulhu_vx_u16mf2_m:
9248case RISCV::BI__builtin_rvv_vmulhu_vx_u16mf4_m:
9249case RISCV::BI__builtin_rvv_vmulhu_vx_u32m1_m:
9250case RISCV::BI__builtin_rvv_vmulhu_vx_u32m2_m:
9251case RISCV::BI__builtin_rvv_vmulhu_vx_u32m4_m:
9252case RISCV::BI__builtin_rvv_vmulhu_vx_u32m8_m:
9253case RISCV::BI__builtin_rvv_vmulhu_vx_u32mf2_m:
9254case RISCV::BI__builtin_rvv_vmulhu_vx_u64m1_m:
9255case RISCV::BI__builtin_rvv_vmulhu_vx_u64m2_m:
9256case RISCV::BI__builtin_rvv_vmulhu_vx_u64m4_m:
9257case RISCV::BI__builtin_rvv_vmulhu_vx_u64m8_m:
9258 ID = Intrinsic::riscv_vmulhu_mask;
9259 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
9260 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
9261 break;
9262case RISCV::BI__builtin_rvv_vmv_s_x_i8m1:
9263case RISCV::BI__builtin_rvv_vmv_s_x_i8m2:
9264case RISCV::BI__builtin_rvv_vmv_s_x_i8m4:
9265case RISCV::BI__builtin_rvv_vmv_s_x_i8m8:
9266case RISCV::BI__builtin_rvv_vmv_s_x_i8mf2:
9267case RISCV::BI__builtin_rvv_vmv_s_x_i8mf4:
9268case RISCV::BI__builtin_rvv_vmv_s_x_i8mf8:
9269case RISCV::BI__builtin_rvv_vmv_s_x_i16m1:
9270case RISCV::BI__builtin_rvv_vmv_s_x_i16m2:
9271case RISCV::BI__builtin_rvv_vmv_s_x_i16m4:
9272case RISCV::BI__builtin_rvv_vmv_s_x_i16m8:
9273case RISCV::BI__builtin_rvv_vmv_s_x_i16mf2:
9274case RISCV::BI__builtin_rvv_vmv_s_x_i16mf4:
9275case RISCV::BI__builtin_rvv_vmv_s_x_i32m1:
9276case RISCV::BI__builtin_rvv_vmv_s_x_i32m2:
9277case RISCV::BI__builtin_rvv_vmv_s_x_i32m4:
9278case RISCV::BI__builtin_rvv_vmv_s_x_i32m8:
9279case RISCV::BI__builtin_rvv_vmv_s_x_i32mf2:
9280case RISCV::BI__builtin_rvv_vmv_s_x_i64m1:
9281case RISCV::BI__builtin_rvv_vmv_s_x_i64m2:
9282case RISCV::BI__builtin_rvv_vmv_s_x_i64m4:
9283case RISCV::BI__builtin_rvv_vmv_s_x_i64m8:
9284case RISCV::BI__builtin_rvv_vmv_s_x_u8m1:
9285case RISCV::BI__builtin_rvv_vmv_s_x_u8m2:
9286case RISCV::BI__builtin_rvv_vmv_s_x_u8m4:
9287case RISCV::BI__builtin_rvv_vmv_s_x_u8m8:
9288case RISCV::BI__builtin_rvv_vmv_s_x_u8mf2:
9289case RISCV::BI__builtin_rvv_vmv_s_x_u8mf4:
9290case RISCV::BI__builtin_rvv_vmv_s_x_u8mf8:
9291case RISCV::BI__builtin_rvv_vmv_s_x_u16m1:
9292case RISCV::BI__builtin_rvv_vmv_s_x_u16m2:
9293case RISCV::BI__builtin_rvv_vmv_s_x_u16m4:
9294case RISCV::BI__builtin_rvv_vmv_s_x_u16m8:
9295case RISCV::BI__builtin_rvv_vmv_s_x_u16mf2:
9296case RISCV::BI__builtin_rvv_vmv_s_x_u16mf4:
9297case RISCV::BI__builtin_rvv_vmv_s_x_u32m1:
9298case RISCV::BI__builtin_rvv_vmv_s_x_u32m2:
9299case RISCV::BI__builtin_rvv_vmv_s_x_u32m4:
9300case RISCV::BI__builtin_rvv_vmv_s_x_u32m8:
9301case RISCV::BI__builtin_rvv_vmv_s_x_u32mf2:
9302case RISCV::BI__builtin_rvv_vmv_s_x_u64m1:
9303case RISCV::BI__builtin_rvv_vmv_s_x_u64m2:
9304case RISCV::BI__builtin_rvv_vmv_s_x_u64m4:
9305case RISCV::BI__builtin_rvv_vmv_s_x_u64m8:
9306 ID = Intrinsic::riscv_vmv_s_x;
9307 IntrinsicTypes = {ResultType, Ops.back()->getType()};
9308 break;
9309case RISCV::BI__builtin_rvv_vmv_v_v_u8m1:
9310case RISCV::BI__builtin_rvv_vmv_v_v_u8m2:
9311case RISCV::BI__builtin_rvv_vmv_v_v_u8m4:
9312case RISCV::BI__builtin_rvv_vmv_v_v_u8m8:
9313case RISCV::BI__builtin_rvv_vmv_v_v_u8mf2:
9314case RISCV::BI__builtin_rvv_vmv_v_v_u8mf4:
9315case RISCV::BI__builtin_rvv_vmv_v_v_u8mf8:
9316case RISCV::BI__builtin_rvv_vmv_v_v_u16m1:
9317case RISCV::BI__builtin_rvv_vmv_v_v_u16m2:
9318case RISCV::BI__builtin_rvv_vmv_v_v_u16m4:
9319case RISCV::BI__builtin_rvv_vmv_v_v_u16m8:
9320case RISCV::BI__builtin_rvv_vmv_v_v_u16mf2:
9321case RISCV::BI__builtin_rvv_vmv_v_v_u16mf4:
9322case RISCV::BI__builtin_rvv_vmv_v_v_u32m1:
9323case RISCV::BI__builtin_rvv_vmv_v_v_u32m2:
9324case RISCV::BI__builtin_rvv_vmv_v_v_u32m4:
9325case RISCV::BI__builtin_rvv_vmv_v_v_u32m8:
9326case RISCV::BI__builtin_rvv_vmv_v_v_u32mf2:
9327case RISCV::BI__builtin_rvv_vmv_v_v_u64m1:
9328case RISCV::BI__builtin_rvv_vmv_v_v_u64m2:
9329case RISCV::BI__builtin_rvv_vmv_v_v_u64m4:
9330case RISCV::BI__builtin_rvv_vmv_v_v_u64m8:
9331case RISCV::BI__builtin_rvv_vmv_v_v_i8m1:
9332case RISCV::BI__builtin_rvv_vmv_v_v_i8m2:
9333case RISCV::BI__builtin_rvv_vmv_v_v_i8m4:
9334case RISCV::BI__builtin_rvv_vmv_v_v_i8m8:
9335case RISCV::BI__builtin_rvv_vmv_v_v_i8mf2:
9336case RISCV::BI__builtin_rvv_vmv_v_v_i8mf4:
9337case RISCV::BI__builtin_rvv_vmv_v_v_i8mf8:
9338case RISCV::BI__builtin_rvv_vmv_v_v_i16m1:
9339case RISCV::BI__builtin_rvv_vmv_v_v_i16m2:
9340case RISCV::BI__builtin_rvv_vmv_v_v_i16m4:
9341case RISCV::BI__builtin_rvv_vmv_v_v_i16m8:
9342case RISCV::BI__builtin_rvv_vmv_v_v_i16mf2:
9343case RISCV::BI__builtin_rvv_vmv_v_v_i16mf4:
9344case RISCV::BI__builtin_rvv_vmv_v_v_i32m1:
9345case RISCV::BI__builtin_rvv_vmv_v_v_i32m2:
9346case RISCV::BI__builtin_rvv_vmv_v_v_i32m4:
9347case RISCV::BI__builtin_rvv_vmv_v_v_i32m8:
9348case RISCV::BI__builtin_rvv_vmv_v_v_i32mf2:
9349case RISCV::BI__builtin_rvv_vmv_v_v_i64m1:
9350case RISCV::BI__builtin_rvv_vmv_v_v_i64m2:
9351case RISCV::BI__builtin_rvv_vmv_v_v_i64m4:
9352case RISCV::BI__builtin_rvv_vmv_v_v_i64m8:
9353case RISCV::BI__builtin_rvv_vmv_v_v_f32m1:
9354case RISCV::BI__builtin_rvv_vmv_v_v_f32m2:
9355case RISCV::BI__builtin_rvv_vmv_v_v_f32m4:
9356case RISCV::BI__builtin_rvv_vmv_v_v_f32m8:
9357case RISCV::BI__builtin_rvv_vmv_v_v_f32mf2:
9358case RISCV::BI__builtin_rvv_vmv_v_v_f64m1:
9359case RISCV::BI__builtin_rvv_vmv_v_v_f64m2:
9360case RISCV::BI__builtin_rvv_vmv_v_v_f64m4:
9361case RISCV::BI__builtin_rvv_vmv_v_v_f64m8:
9362 ID = Intrinsic::riscv_vmv_v_v;
9363 IntrinsicTypes = {ResultType, Ops.back()->getType()};
9364 break;
9365case RISCV::BI__builtin_rvv_vmv_v_x_i8m1:
9366case RISCV::BI__builtin_rvv_vmv_v_x_i8m2:
9367case RISCV::BI__builtin_rvv_vmv_v_x_i8m4:
9368case RISCV::BI__builtin_rvv_vmv_v_x_i8m8:
9369case RISCV::BI__builtin_rvv_vmv_v_x_i8mf2:
9370case RISCV::BI__builtin_rvv_vmv_v_x_i8mf4:
9371case RISCV::BI__builtin_rvv_vmv_v_x_i8mf8:
9372case RISCV::BI__builtin_rvv_vmv_v_x_i16m1:
9373case RISCV::BI__builtin_rvv_vmv_v_x_i16m2:
9374case RISCV::BI__builtin_rvv_vmv_v_x_i16m4:
9375case RISCV::BI__builtin_rvv_vmv_v_x_i16m8:
9376case RISCV::BI__builtin_rvv_vmv_v_x_i16mf2:
9377case RISCV::BI__builtin_rvv_vmv_v_x_i16mf4:
9378case RISCV::BI__builtin_rvv_vmv_v_x_i32m1:
9379case RISCV::BI__builtin_rvv_vmv_v_x_i32m2:
9380case RISCV::BI__builtin_rvv_vmv_v_x_i32m4:
9381case RISCV::BI__builtin_rvv_vmv_v_x_i32m8:
9382case RISCV::BI__builtin_rvv_vmv_v_x_i32mf2:
9383case RISCV::BI__builtin_rvv_vmv_v_x_i64m1:
9384case RISCV::BI__builtin_rvv_vmv_v_x_i64m2:
9385case RISCV::BI__builtin_rvv_vmv_v_x_i64m4:
9386case RISCV::BI__builtin_rvv_vmv_v_x_i64m8:
9387case RISCV::BI__builtin_rvv_vmv_v_x_u8m1:
9388case RISCV::BI__builtin_rvv_vmv_v_x_u8m2:
9389case RISCV::BI__builtin_rvv_vmv_v_x_u8m4:
9390case RISCV::BI__builtin_rvv_vmv_v_x_u8m8:
9391case RISCV::BI__builtin_rvv_vmv_v_x_u8mf2:
9392case RISCV::BI__builtin_rvv_vmv_v_x_u8mf4:
9393case RISCV::BI__builtin_rvv_vmv_v_x_u8mf8:
9394case RISCV::BI__builtin_rvv_vmv_v_x_u16m1:
9395case RISCV::BI__builtin_rvv_vmv_v_x_u16m2:
9396case RISCV::BI__builtin_rvv_vmv_v_x_u16m4:
9397case RISCV::BI__builtin_rvv_vmv_v_x_u16m8:
9398case RISCV::BI__builtin_rvv_vmv_v_x_u16mf2:
9399case RISCV::BI__builtin_rvv_vmv_v_x_u16mf4:
9400case RISCV::BI__builtin_rvv_vmv_v_x_u32m1:
9401case RISCV::BI__builtin_rvv_vmv_v_x_u32m2:
9402case RISCV::BI__builtin_rvv_vmv_v_x_u32m4:
9403case RISCV::BI__builtin_rvv_vmv_v_x_u32m8:
9404case RISCV::BI__builtin_rvv_vmv_v_x_u32mf2:
9405case RISCV::BI__builtin_rvv_vmv_v_x_u64m1:
9406case RISCV::BI__builtin_rvv_vmv_v_x_u64m2:
9407case RISCV::BI__builtin_rvv_vmv_v_x_u64m4:
9408case RISCV::BI__builtin_rvv_vmv_v_x_u64m8:
9409 ID = Intrinsic::riscv_vmv_v_x;
9410 IntrinsicTypes = {ResultType, Ops.back()->getType()};
9411 break;
9412case RISCV::BI__builtin_rvv_vmv_x_s_i8m1_i8:
9413case RISCV::BI__builtin_rvv_vmv_x_s_i8m2_i8:
9414case RISCV::BI__builtin_rvv_vmv_x_s_i8m4_i8:
9415case RISCV::BI__builtin_rvv_vmv_x_s_i8m8_i8:
9416case RISCV::BI__builtin_rvv_vmv_x_s_i8mf2_i8:
9417case RISCV::BI__builtin_rvv_vmv_x_s_i8mf4_i8:
9418case RISCV::BI__builtin_rvv_vmv_x_s_i8mf8_i8:
9419case RISCV::BI__builtin_rvv_vmv_x_s_i16m1_i16:
9420case RISCV::BI__builtin_rvv_vmv_x_s_i16m2_i16:
9421case RISCV::BI__builtin_rvv_vmv_x_s_i16m4_i16:
9422case RISCV::BI__builtin_rvv_vmv_x_s_i16m8_i16:
9423case RISCV::BI__builtin_rvv_vmv_x_s_i16mf2_i16:
9424case RISCV::BI__builtin_rvv_vmv_x_s_i16mf4_i16:
9425case RISCV::BI__builtin_rvv_vmv_x_s_i32m1_i32:
9426case RISCV::BI__builtin_rvv_vmv_x_s_i32m2_i32:
9427case RISCV::BI__builtin_rvv_vmv_x_s_i32m4_i32:
9428case RISCV::BI__builtin_rvv_vmv_x_s_i32m8_i32:
9429case RISCV::BI__builtin_rvv_vmv_x_s_i32mf2_i32:
9430case RISCV::BI__builtin_rvv_vmv_x_s_i64m1_i64:
9431case RISCV::BI__builtin_rvv_vmv_x_s_i64m2_i64:
9432case RISCV::BI__builtin_rvv_vmv_x_s_i64m4_i64:
9433case RISCV::BI__builtin_rvv_vmv_x_s_i64m8_i64:
9434case RISCV::BI__builtin_rvv_vmv_x_s_u8m1_u8:
9435case RISCV::BI__builtin_rvv_vmv_x_s_u8m2_u8:
9436case RISCV::BI__builtin_rvv_vmv_x_s_u8m4_u8:
9437case RISCV::BI__builtin_rvv_vmv_x_s_u8m8_u8:
9438case RISCV::BI__builtin_rvv_vmv_x_s_u8mf2_u8:
9439case RISCV::BI__builtin_rvv_vmv_x_s_u8mf4_u8:
9440case RISCV::BI__builtin_rvv_vmv_x_s_u8mf8_u8:
9441case RISCV::BI__builtin_rvv_vmv_x_s_u16m1_u16:
9442case RISCV::BI__builtin_rvv_vmv_x_s_u16m2_u16:
9443case RISCV::BI__builtin_rvv_vmv_x_s_u16m4_u16:
9444case RISCV::BI__builtin_rvv_vmv_x_s_u16m8_u16:
9445case RISCV::BI__builtin_rvv_vmv_x_s_u16mf2_u16:
9446case RISCV::BI__builtin_rvv_vmv_x_s_u16mf4_u16:
9447case RISCV::BI__builtin_rvv_vmv_x_s_u32m1_u32:
9448case RISCV::BI__builtin_rvv_vmv_x_s_u32m2_u32:
9449case RISCV::BI__builtin_rvv_vmv_x_s_u32m4_u32:
9450case RISCV::BI__builtin_rvv_vmv_x_s_u32m8_u32:
9451case RISCV::BI__builtin_rvv_vmv_x_s_u32mf2_u32:
9452case RISCV::BI__builtin_rvv_vmv_x_s_u64m1_u64:
9453case RISCV::BI__builtin_rvv_vmv_x_s_u64m2_u64:
9454case RISCV::BI__builtin_rvv_vmv_x_s_u64m4_u64:
9455case RISCV::BI__builtin_rvv_vmv_x_s_u64m8_u64:
9456 ID = Intrinsic::riscv_vmv_x_s;
9457 IntrinsicTypes = {Ops[0]->getType()};
9458 break;
9459case RISCV::BI__builtin_rvv_vmxnor_mm_b8:
9460case RISCV::BI__builtin_rvv_vmxnor_mm_b4:
9461case RISCV::BI__builtin_rvv_vmxnor_mm_b2:
9462case RISCV::BI__builtin_rvv_vmxnor_mm_b1:
9463case RISCV::BI__builtin_rvv_vmxnor_mm_b16:
9464case RISCV::BI__builtin_rvv_vmxnor_mm_b32:
9465case RISCV::BI__builtin_rvv_vmxnor_mm_b64:
9466 ID = Intrinsic::riscv_vmxnor;
9467 IntrinsicTypes = {ResultType, Ops.back()->getType()};
9468 break;
9469case RISCV::BI__builtin_rvv_vmxor_mm_b8:
9470case RISCV::BI__builtin_rvv_vmxor_mm_b4:
9471case RISCV::BI__builtin_rvv_vmxor_mm_b2:
9472case RISCV::BI__builtin_rvv_vmxor_mm_b1:
9473case RISCV::BI__builtin_rvv_vmxor_mm_b16:
9474case RISCV::BI__builtin_rvv_vmxor_mm_b32:
9475case RISCV::BI__builtin_rvv_vmxor_mm_b64:
9476 ID = Intrinsic::riscv_vmxor;
9477 IntrinsicTypes = {ResultType, Ops.back()->getType()};
9478 break;
9479case RISCV::BI__builtin_rvv_vnclip_wv_i8m1:
9480case RISCV::BI__builtin_rvv_vnclip_wv_i8m2:
9481case RISCV::BI__builtin_rvv_vnclip_wv_i8m4:
9482case RISCV::BI__builtin_rvv_vnclip_wv_i8mf2:
9483case RISCV::BI__builtin_rvv_vnclip_wv_i8mf4:
9484case RISCV::BI__builtin_rvv_vnclip_wv_i8mf8:
9485case RISCV::BI__builtin_rvv_vnclip_wv_i16m1:
9486case RISCV::BI__builtin_rvv_vnclip_wv_i16m2:
9487case RISCV::BI__builtin_rvv_vnclip_wv_i16m4:
9488case RISCV::BI__builtin_rvv_vnclip_wv_i16mf2:
9489case RISCV::BI__builtin_rvv_vnclip_wv_i16mf4:
9490case RISCV::BI__builtin_rvv_vnclip_wv_i32m1:
9491case RISCV::BI__builtin_rvv_vnclip_wv_i32m2:
9492case RISCV::BI__builtin_rvv_vnclip_wv_i32m4:
9493case RISCV::BI__builtin_rvv_vnclip_wv_i32mf2:
9494case RISCV::BI__builtin_rvv_vnclip_wx_i8m1:
9495case RISCV::BI__builtin_rvv_vnclip_wx_i8m2:
9496case RISCV::BI__builtin_rvv_vnclip_wx_i8m4:
9497case RISCV::BI__builtin_rvv_vnclip_wx_i8mf2:
9498case RISCV::BI__builtin_rvv_vnclip_wx_i8mf4:
9499case RISCV::BI__builtin_rvv_vnclip_wx_i8mf8:
9500case RISCV::BI__builtin_rvv_vnclip_wx_i16m1:
9501case RISCV::BI__builtin_rvv_vnclip_wx_i16m2:
9502case RISCV::BI__builtin_rvv_vnclip_wx_i16m4:
9503case RISCV::BI__builtin_rvv_vnclip_wx_i16mf2:
9504case RISCV::BI__builtin_rvv_vnclip_wx_i16mf4:
9505case RISCV::BI__builtin_rvv_vnclip_wx_i32m1:
9506case RISCV::BI__builtin_rvv_vnclip_wx_i32m2:
9507case RISCV::BI__builtin_rvv_vnclip_wx_i32m4:
9508case RISCV::BI__builtin_rvv_vnclip_wx_i32mf2:
9509 ID = Intrinsic::riscv_vnclip;
9510 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
9511 break;
9512case RISCV::BI__builtin_rvv_vnclip_wv_i8m1_m:
9513case RISCV::BI__builtin_rvv_vnclip_wv_i8m2_m:
9514case RISCV::BI__builtin_rvv_vnclip_wv_i8m4_m:
9515case RISCV::BI__builtin_rvv_vnclip_wv_i8mf2_m:
9516case RISCV::BI__builtin_rvv_vnclip_wv_i8mf4_m:
9517case RISCV::BI__builtin_rvv_vnclip_wv_i8mf8_m:
9518case RISCV::BI__builtin_rvv_vnclip_wv_i16m1_m:
9519case RISCV::BI__builtin_rvv_vnclip_wv_i16m2_m:
9520case RISCV::BI__builtin_rvv_vnclip_wv_i16m4_m:
9521case RISCV::BI__builtin_rvv_vnclip_wv_i16mf2_m:
9522case RISCV::BI__builtin_rvv_vnclip_wv_i16mf4_m:
9523case RISCV::BI__builtin_rvv_vnclip_wv_i32m1_m:
9524case RISCV::BI__builtin_rvv_vnclip_wv_i32m2_m:
9525case RISCV::BI__builtin_rvv_vnclip_wv_i32m4_m:
9526case RISCV::BI__builtin_rvv_vnclip_wv_i32mf2_m:
9527case RISCV::BI__builtin_rvv_vnclip_wx_i8m1_m:
9528case RISCV::BI__builtin_rvv_vnclip_wx_i8m2_m:
9529case RISCV::BI__builtin_rvv_vnclip_wx_i8m4_m:
9530case RISCV::BI__builtin_rvv_vnclip_wx_i8mf2_m:
9531case RISCV::BI__builtin_rvv_vnclip_wx_i8mf4_m:
9532case RISCV::BI__builtin_rvv_vnclip_wx_i8mf8_m:
9533case RISCV::BI__builtin_rvv_vnclip_wx_i16m1_m:
9534case RISCV::BI__builtin_rvv_vnclip_wx_i16m2_m:
9535case RISCV::BI__builtin_rvv_vnclip_wx_i16m4_m:
9536case RISCV::BI__builtin_rvv_vnclip_wx_i16mf2_m:
9537case RISCV::BI__builtin_rvv_vnclip_wx_i16mf4_m:
9538case RISCV::BI__builtin_rvv_vnclip_wx_i32m1_m:
9539case RISCV::BI__builtin_rvv_vnclip_wx_i32m2_m:
9540case RISCV::BI__builtin_rvv_vnclip_wx_i32m4_m:
9541case RISCV::BI__builtin_rvv_vnclip_wx_i32mf2_m:
9542 ID = Intrinsic::riscv_vnclip_mask;
9543 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
9544 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
9545 break;
9546case RISCV::BI__builtin_rvv_vnclipu_wv_u8m1:
9547case RISCV::BI__builtin_rvv_vnclipu_wv_u8m2:
9548case RISCV::BI__builtin_rvv_vnclipu_wv_u8m4:
9549case RISCV::BI__builtin_rvv_vnclipu_wv_u8mf2:
9550case RISCV::BI__builtin_rvv_vnclipu_wv_u8mf4:
9551case RISCV::BI__builtin_rvv_vnclipu_wv_u8mf8:
9552case RISCV::BI__builtin_rvv_vnclipu_wv_u16m1:
9553case RISCV::BI__builtin_rvv_vnclipu_wv_u16m2:
9554case RISCV::BI__builtin_rvv_vnclipu_wv_u16m4:
9555case RISCV::BI__builtin_rvv_vnclipu_wv_u16mf2:
9556case RISCV::BI__builtin_rvv_vnclipu_wv_u16mf4:
9557case RISCV::BI__builtin_rvv_vnclipu_wv_u32m1:
9558case RISCV::BI__builtin_rvv_vnclipu_wv_u32m2:
9559case RISCV::BI__builtin_rvv_vnclipu_wv_u32m4:
9560case RISCV::BI__builtin_rvv_vnclipu_wv_u32mf2:
9561case RISCV::BI__builtin_rvv_vnclipu_wx_u8m1:
9562case RISCV::BI__builtin_rvv_vnclipu_wx_u8m2:
9563case RISCV::BI__builtin_rvv_vnclipu_wx_u8m4:
9564case RISCV::BI__builtin_rvv_vnclipu_wx_u8mf2:
9565case RISCV::BI__builtin_rvv_vnclipu_wx_u8mf4:
9566case RISCV::BI__builtin_rvv_vnclipu_wx_u8mf8:
9567case RISCV::BI__builtin_rvv_vnclipu_wx_u16m1:
9568case RISCV::BI__builtin_rvv_vnclipu_wx_u16m2:
9569case RISCV::BI__builtin_rvv_vnclipu_wx_u16m4:
9570case RISCV::BI__builtin_rvv_vnclipu_wx_u16mf2:
9571case RISCV::BI__builtin_rvv_vnclipu_wx_u16mf4:
9572case RISCV::BI__builtin_rvv_vnclipu_wx_u32m1:
9573case RISCV::BI__builtin_rvv_vnclipu_wx_u32m2:
9574case RISCV::BI__builtin_rvv_vnclipu_wx_u32m4:
9575case RISCV::BI__builtin_rvv_vnclipu_wx_u32mf2:
9576 ID = Intrinsic::riscv_vnclipu;
9577 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
9578 break;
9579case RISCV::BI__builtin_rvv_vnclipu_wv_u8m1_m:
9580case RISCV::BI__builtin_rvv_vnclipu_wv_u8m2_m:
9581case RISCV::BI__builtin_rvv_vnclipu_wv_u8m4_m:
9582case RISCV::BI__builtin_rvv_vnclipu_wv_u8mf2_m:
9583case RISCV::BI__builtin_rvv_vnclipu_wv_u8mf4_m:
9584case RISCV::BI__builtin_rvv_vnclipu_wv_u8mf8_m:
9585case RISCV::BI__builtin_rvv_vnclipu_wv_u16m1_m:
9586case RISCV::BI__builtin_rvv_vnclipu_wv_u16m2_m:
9587case RISCV::BI__builtin_rvv_vnclipu_wv_u16m4_m:
9588case RISCV::BI__builtin_rvv_vnclipu_wv_u16mf2_m:
9589case RISCV::BI__builtin_rvv_vnclipu_wv_u16mf4_m:
9590case RISCV::BI__builtin_rvv_vnclipu_wv_u32m1_m:
9591case RISCV::BI__builtin_rvv_vnclipu_wv_u32m2_m:
9592case RISCV::BI__builtin_rvv_vnclipu_wv_u32m4_m:
9593case RISCV::BI__builtin_rvv_vnclipu_wv_u32mf2_m:
9594case RISCV::BI__builtin_rvv_vnclipu_wx_u8m1_m:
9595case RISCV::BI__builtin_rvv_vnclipu_wx_u8m2_m:
9596case RISCV::BI__builtin_rvv_vnclipu_wx_u8m4_m:
9597case RISCV::BI__builtin_rvv_vnclipu_wx_u8mf2_m:
9598case RISCV::BI__builtin_rvv_vnclipu_wx_u8mf4_m:
9599case RISCV::BI__builtin_rvv_vnclipu_wx_u8mf8_m:
9600case RISCV::BI__builtin_rvv_vnclipu_wx_u16m1_m:
9601case RISCV::BI__builtin_rvv_vnclipu_wx_u16m2_m:
9602case RISCV::BI__builtin_rvv_vnclipu_wx_u16m4_m:
9603case RISCV::BI__builtin_rvv_vnclipu_wx_u16mf2_m:
9604case RISCV::BI__builtin_rvv_vnclipu_wx_u16mf4_m:
9605case RISCV::BI__builtin_rvv_vnclipu_wx_u32m1_m:
9606case RISCV::BI__builtin_rvv_vnclipu_wx_u32m2_m:
9607case RISCV::BI__builtin_rvv_vnclipu_wx_u32m4_m:
9608case RISCV::BI__builtin_rvv_vnclipu_wx_u32mf2_m:
9609 ID = Intrinsic::riscv_vnclipu_mask;
9610 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
9611 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
9612 break;
9613case RISCV::BI__builtin_rvv_vnmsac_vv_i8m1:
9614case RISCV::BI__builtin_rvv_vnmsac_vv_i8m2:
9615case RISCV::BI__builtin_rvv_vnmsac_vv_i8m4:
9616case RISCV::BI__builtin_rvv_vnmsac_vv_i8m8:
9617case RISCV::BI__builtin_rvv_vnmsac_vv_i8mf2:
9618case RISCV::BI__builtin_rvv_vnmsac_vv_i8mf4:
9619case RISCV::BI__builtin_rvv_vnmsac_vv_i8mf8:
9620case RISCV::BI__builtin_rvv_vnmsac_vv_i16m1:
9621case RISCV::BI__builtin_rvv_vnmsac_vv_i16m2:
9622case RISCV::BI__builtin_rvv_vnmsac_vv_i16m4:
9623case RISCV::BI__builtin_rvv_vnmsac_vv_i16m8:
9624case RISCV::BI__builtin_rvv_vnmsac_vv_i16mf2:
9625case RISCV::BI__builtin_rvv_vnmsac_vv_i16mf4:
9626case RISCV::BI__builtin_rvv_vnmsac_vv_i32m1:
9627case RISCV::BI__builtin_rvv_vnmsac_vv_i32m2:
9628case RISCV::BI__builtin_rvv_vnmsac_vv_i32m4:
9629case RISCV::BI__builtin_rvv_vnmsac_vv_i32m8:
9630case RISCV::BI__builtin_rvv_vnmsac_vv_i32mf2:
9631case RISCV::BI__builtin_rvv_vnmsac_vv_i64m1:
9632case RISCV::BI__builtin_rvv_vnmsac_vv_i64m2:
9633case RISCV::BI__builtin_rvv_vnmsac_vv_i64m4:
9634case RISCV::BI__builtin_rvv_vnmsac_vv_i64m8:
9635case RISCV::BI__builtin_rvv_vnmsac_vx_i8m1:
9636case RISCV::BI__builtin_rvv_vnmsac_vx_i8m2:
9637case RISCV::BI__builtin_rvv_vnmsac_vx_i8m4:
9638case RISCV::BI__builtin_rvv_vnmsac_vx_i8m8:
9639case RISCV::BI__builtin_rvv_vnmsac_vx_i8mf2:
9640case RISCV::BI__builtin_rvv_vnmsac_vx_i8mf4:
9641case RISCV::BI__builtin_rvv_vnmsac_vx_i8mf8:
9642case RISCV::BI__builtin_rvv_vnmsac_vx_i16m1:
9643case RISCV::BI__builtin_rvv_vnmsac_vx_i16m2:
9644case RISCV::BI__builtin_rvv_vnmsac_vx_i16m4:
9645case RISCV::BI__builtin_rvv_vnmsac_vx_i16m8:
9646case RISCV::BI__builtin_rvv_vnmsac_vx_i16mf2:
9647case RISCV::BI__builtin_rvv_vnmsac_vx_i16mf4:
9648case RISCV::BI__builtin_rvv_vnmsac_vx_i32m1:
9649case RISCV::BI__builtin_rvv_vnmsac_vx_i32m2:
9650case RISCV::BI__builtin_rvv_vnmsac_vx_i32m4:
9651case RISCV::BI__builtin_rvv_vnmsac_vx_i32m8:
9652case RISCV::BI__builtin_rvv_vnmsac_vx_i32mf2:
9653case RISCV::BI__builtin_rvv_vnmsac_vx_i64m1:
9654case RISCV::BI__builtin_rvv_vnmsac_vx_i64m2:
9655case RISCV::BI__builtin_rvv_vnmsac_vx_i64m4:
9656case RISCV::BI__builtin_rvv_vnmsac_vx_i64m8:
9657case RISCV::BI__builtin_rvv_vnmsac_vv_u8m1:
9658case RISCV::BI__builtin_rvv_vnmsac_vv_u8m2:
9659case RISCV::BI__builtin_rvv_vnmsac_vv_u8m4:
9660case RISCV::BI__builtin_rvv_vnmsac_vv_u8m8:
9661case RISCV::BI__builtin_rvv_vnmsac_vv_u8mf2:
9662case RISCV::BI__builtin_rvv_vnmsac_vv_u8mf4:
9663case RISCV::BI__builtin_rvv_vnmsac_vv_u8mf8:
9664case RISCV::BI__builtin_rvv_vnmsac_vv_u16m1:
9665case RISCV::BI__builtin_rvv_vnmsac_vv_u16m2:
9666case RISCV::BI__builtin_rvv_vnmsac_vv_u16m4:
9667case RISCV::BI__builtin_rvv_vnmsac_vv_u16m8:
9668case RISCV::BI__builtin_rvv_vnmsac_vv_u16mf2:
9669case RISCV::BI__builtin_rvv_vnmsac_vv_u16mf4:
9670case RISCV::BI__builtin_rvv_vnmsac_vv_u32m1:
9671case RISCV::BI__builtin_rvv_vnmsac_vv_u32m2:
9672case RISCV::BI__builtin_rvv_vnmsac_vv_u32m4:
9673case RISCV::BI__builtin_rvv_vnmsac_vv_u32m8:
9674case RISCV::BI__builtin_rvv_vnmsac_vv_u32mf2:
9675case RISCV::BI__builtin_rvv_vnmsac_vv_u64m1:
9676case RISCV::BI__builtin_rvv_vnmsac_vv_u64m2:
9677case RISCV::BI__builtin_rvv_vnmsac_vv_u64m4:
9678case RISCV::BI__builtin_rvv_vnmsac_vv_u64m8:
9679case RISCV::BI__builtin_rvv_vnmsac_vx_u8m1:
9680case RISCV::BI__builtin_rvv_vnmsac_vx_u8m2:
9681case RISCV::BI__builtin_rvv_vnmsac_vx_u8m4:
9682case RISCV::BI__builtin_rvv_vnmsac_vx_u8m8:
9683case RISCV::BI__builtin_rvv_vnmsac_vx_u8mf2:
9684case RISCV::BI__builtin_rvv_vnmsac_vx_u8mf4:
9685case RISCV::BI__builtin_rvv_vnmsac_vx_u8mf8:
9686case RISCV::BI__builtin_rvv_vnmsac_vx_u16m1:
9687case RISCV::BI__builtin_rvv_vnmsac_vx_u16m2:
9688case RISCV::BI__builtin_rvv_vnmsac_vx_u16m4:
9689case RISCV::BI__builtin_rvv_vnmsac_vx_u16m8:
9690case RISCV::BI__builtin_rvv_vnmsac_vx_u16mf2:
9691case RISCV::BI__builtin_rvv_vnmsac_vx_u16mf4:
9692case RISCV::BI__builtin_rvv_vnmsac_vx_u32m1:
9693case RISCV::BI__builtin_rvv_vnmsac_vx_u32m2:
9694case RISCV::BI__builtin_rvv_vnmsac_vx_u32m4:
9695case RISCV::BI__builtin_rvv_vnmsac_vx_u32m8:
9696case RISCV::BI__builtin_rvv_vnmsac_vx_u32mf2:
9697case RISCV::BI__builtin_rvv_vnmsac_vx_u64m1:
9698case RISCV::BI__builtin_rvv_vnmsac_vx_u64m2:
9699case RISCV::BI__builtin_rvv_vnmsac_vx_u64m4:
9700case RISCV::BI__builtin_rvv_vnmsac_vx_u64m8:
9701 ID = Intrinsic::riscv_vnmsac;
9702 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
9703 break;
9704case RISCV::BI__builtin_rvv_vnmsac_vv_i8m1_m:
9705case RISCV::BI__builtin_rvv_vnmsac_vv_i8m2_m:
9706case RISCV::BI__builtin_rvv_vnmsac_vv_i8m4_m:
9707case RISCV::BI__builtin_rvv_vnmsac_vv_i8m8_m:
9708case RISCV::BI__builtin_rvv_vnmsac_vv_i8mf2_m:
9709case RISCV::BI__builtin_rvv_vnmsac_vv_i8mf4_m:
9710case RISCV::BI__builtin_rvv_vnmsac_vv_i8mf8_m:
9711case RISCV::BI__builtin_rvv_vnmsac_vv_i16m1_m:
9712case RISCV::BI__builtin_rvv_vnmsac_vv_i16m2_m:
9713case RISCV::BI__builtin_rvv_vnmsac_vv_i16m4_m:
9714case RISCV::BI__builtin_rvv_vnmsac_vv_i16m8_m:
9715case RISCV::BI__builtin_rvv_vnmsac_vv_i16mf2_m:
9716case RISCV::BI__builtin_rvv_vnmsac_vv_i16mf4_m:
9717case RISCV::BI__builtin_rvv_vnmsac_vv_i32m1_m:
9718case RISCV::BI__builtin_rvv_vnmsac_vv_i32m2_m:
9719case RISCV::BI__builtin_rvv_vnmsac_vv_i32m4_m:
9720case RISCV::BI__builtin_rvv_vnmsac_vv_i32m8_m:
9721case RISCV::BI__builtin_rvv_vnmsac_vv_i32mf2_m:
9722case RISCV::BI__builtin_rvv_vnmsac_vv_i64m1_m:
9723case RISCV::BI__builtin_rvv_vnmsac_vv_i64m2_m:
9724case RISCV::BI__builtin_rvv_vnmsac_vv_i64m4_m:
9725case RISCV::BI__builtin_rvv_vnmsac_vv_i64m8_m:
9726case RISCV::BI__builtin_rvv_vnmsac_vx_i8m1_m:
9727case RISCV::BI__builtin_rvv_vnmsac_vx_i8m2_m:
9728case RISCV::BI__builtin_rvv_vnmsac_vx_i8m4_m:
9729case RISCV::BI__builtin_rvv_vnmsac_vx_i8m8_m:
9730case RISCV::BI__builtin_rvv_vnmsac_vx_i8mf2_m:
9731case RISCV::BI__builtin_rvv_vnmsac_vx_i8mf4_m:
9732case RISCV::BI__builtin_rvv_vnmsac_vx_i8mf8_m:
9733case RISCV::BI__builtin_rvv_vnmsac_vx_i16m1_m:
9734case RISCV::BI__builtin_rvv_vnmsac_vx_i16m2_m:
9735case RISCV::BI__builtin_rvv_vnmsac_vx_i16m4_m:
9736case RISCV::BI__builtin_rvv_vnmsac_vx_i16m8_m:
9737case RISCV::BI__builtin_rvv_vnmsac_vx_i16mf2_m:
9738case RISCV::BI__builtin_rvv_vnmsac_vx_i16mf4_m:
9739case RISCV::BI__builtin_rvv_vnmsac_vx_i32m1_m:
9740case RISCV::BI__builtin_rvv_vnmsac_vx_i32m2_m:
9741case RISCV::BI__builtin_rvv_vnmsac_vx_i32m4_m:
9742case RISCV::BI__builtin_rvv_vnmsac_vx_i32m8_m:
9743case RISCV::BI__builtin_rvv_vnmsac_vx_i32mf2_m:
9744case RISCV::BI__builtin_rvv_vnmsac_vx_i64m1_m:
9745case RISCV::BI__builtin_rvv_vnmsac_vx_i64m2_m:
9746case RISCV::BI__builtin_rvv_vnmsac_vx_i64m4_m:
9747case RISCV::BI__builtin_rvv_vnmsac_vx_i64m8_m:
9748case RISCV::BI__builtin_rvv_vnmsac_vv_u8m1_m:
9749case RISCV::BI__builtin_rvv_vnmsac_vv_u8m2_m:
9750case RISCV::BI__builtin_rvv_vnmsac_vv_u8m4_m:
9751case RISCV::BI__builtin_rvv_vnmsac_vv_u8m8_m:
9752case RISCV::BI__builtin_rvv_vnmsac_vv_u8mf2_m:
9753case RISCV::BI__builtin_rvv_vnmsac_vv_u8mf4_m:
9754case RISCV::BI__builtin_rvv_vnmsac_vv_u8mf8_m:
9755case RISCV::BI__builtin_rvv_vnmsac_vv_u16m1_m:
9756case RISCV::BI__builtin_rvv_vnmsac_vv_u16m2_m:
9757case RISCV::BI__builtin_rvv_vnmsac_vv_u16m4_m:
9758case RISCV::BI__builtin_rvv_vnmsac_vv_u16m8_m:
9759case RISCV::BI__builtin_rvv_vnmsac_vv_u16mf2_m:
9760case RISCV::BI__builtin_rvv_vnmsac_vv_u16mf4_m:
9761case RISCV::BI__builtin_rvv_vnmsac_vv_u32m1_m:
9762case RISCV::BI__builtin_rvv_vnmsac_vv_u32m2_m:
9763case RISCV::BI__builtin_rvv_vnmsac_vv_u32m4_m:
9764case RISCV::BI__builtin_rvv_vnmsac_vv_u32m8_m:
9765case RISCV::BI__builtin_rvv_vnmsac_vv_u32mf2_m:
9766case RISCV::BI__builtin_rvv_vnmsac_vv_u64m1_m:
9767case RISCV::BI__builtin_rvv_vnmsac_vv_u64m2_m:
9768case RISCV::BI__builtin_rvv_vnmsac_vv_u64m4_m:
9769case RISCV::BI__builtin_rvv_vnmsac_vv_u64m8_m:
9770case RISCV::BI__builtin_rvv_vnmsac_vx_u8m1_m:
9771case RISCV::BI__builtin_rvv_vnmsac_vx_u8m2_m:
9772case RISCV::BI__builtin_rvv_vnmsac_vx_u8m4_m:
9773case RISCV::BI__builtin_rvv_vnmsac_vx_u8m8_m:
9774case RISCV::BI__builtin_rvv_vnmsac_vx_u8mf2_m:
9775case RISCV::BI__builtin_rvv_vnmsac_vx_u8mf4_m:
9776case RISCV::BI__builtin_rvv_vnmsac_vx_u8mf8_m:
9777case RISCV::BI__builtin_rvv_vnmsac_vx_u16m1_m:
9778case RISCV::BI__builtin_rvv_vnmsac_vx_u16m2_m:
9779case RISCV::BI__builtin_rvv_vnmsac_vx_u16m4_m:
9780case RISCV::BI__builtin_rvv_vnmsac_vx_u16m8_m:
9781case RISCV::BI__builtin_rvv_vnmsac_vx_u16mf2_m:
9782case RISCV::BI__builtin_rvv_vnmsac_vx_u16mf4_m:
9783case RISCV::BI__builtin_rvv_vnmsac_vx_u32m1_m:
9784case RISCV::BI__builtin_rvv_vnmsac_vx_u32m2_m:
9785case RISCV::BI__builtin_rvv_vnmsac_vx_u32m4_m:
9786case RISCV::BI__builtin_rvv_vnmsac_vx_u32m8_m:
9787case RISCV::BI__builtin_rvv_vnmsac_vx_u32mf2_m:
9788case RISCV::BI__builtin_rvv_vnmsac_vx_u64m1_m:
9789case RISCV::BI__builtin_rvv_vnmsac_vx_u64m2_m:
9790case RISCV::BI__builtin_rvv_vnmsac_vx_u64m4_m:
9791case RISCV::BI__builtin_rvv_vnmsac_vx_u64m8_m:
9792 ID = Intrinsic::riscv_vnmsac_mask;
9793 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
9794 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
9795 break;
9796case RISCV::BI__builtin_rvv_vnmsub_vv_i8m1:
9797case RISCV::BI__builtin_rvv_vnmsub_vv_i8m2:
9798case RISCV::BI__builtin_rvv_vnmsub_vv_i8m4:
9799case RISCV::BI__builtin_rvv_vnmsub_vv_i8m8:
9800case RISCV::BI__builtin_rvv_vnmsub_vv_i8mf2:
9801case RISCV::BI__builtin_rvv_vnmsub_vv_i8mf4:
9802case RISCV::BI__builtin_rvv_vnmsub_vv_i8mf8:
9803case RISCV::BI__builtin_rvv_vnmsub_vv_i16m1:
9804case RISCV::BI__builtin_rvv_vnmsub_vv_i16m2:
9805case RISCV::BI__builtin_rvv_vnmsub_vv_i16m4:
9806case RISCV::BI__builtin_rvv_vnmsub_vv_i16m8:
9807case RISCV::BI__builtin_rvv_vnmsub_vv_i16mf2:
9808case RISCV::BI__builtin_rvv_vnmsub_vv_i16mf4:
9809case RISCV::BI__builtin_rvv_vnmsub_vv_i32m1:
9810case RISCV::BI__builtin_rvv_vnmsub_vv_i32m2:
9811case RISCV::BI__builtin_rvv_vnmsub_vv_i32m4:
9812case RISCV::BI__builtin_rvv_vnmsub_vv_i32m8:
9813case RISCV::BI__builtin_rvv_vnmsub_vv_i32mf2:
9814case RISCV::BI__builtin_rvv_vnmsub_vv_i64m1:
9815case RISCV::BI__builtin_rvv_vnmsub_vv_i64m2:
9816case RISCV::BI__builtin_rvv_vnmsub_vv_i64m4:
9817case RISCV::BI__builtin_rvv_vnmsub_vv_i64m8:
9818case RISCV::BI__builtin_rvv_vnmsub_vx_i8m1:
9819case RISCV::BI__builtin_rvv_vnmsub_vx_i8m2:
9820case RISCV::BI__builtin_rvv_vnmsub_vx_i8m4:
9821case RISCV::BI__builtin_rvv_vnmsub_vx_i8m8:
9822case RISCV::BI__builtin_rvv_vnmsub_vx_i8mf2:
9823case RISCV::BI__builtin_rvv_vnmsub_vx_i8mf4:
9824case RISCV::BI__builtin_rvv_vnmsub_vx_i8mf8:
9825case RISCV::BI__builtin_rvv_vnmsub_vx_i16m1:
9826case RISCV::BI__builtin_rvv_vnmsub_vx_i16m2:
9827case RISCV::BI__builtin_rvv_vnmsub_vx_i16m4:
9828case RISCV::BI__builtin_rvv_vnmsub_vx_i16m8:
9829case RISCV::BI__builtin_rvv_vnmsub_vx_i16mf2:
9830case RISCV::BI__builtin_rvv_vnmsub_vx_i16mf4:
9831case RISCV::BI__builtin_rvv_vnmsub_vx_i32m1:
9832case RISCV::BI__builtin_rvv_vnmsub_vx_i32m2:
9833case RISCV::BI__builtin_rvv_vnmsub_vx_i32m4:
9834case RISCV::BI__builtin_rvv_vnmsub_vx_i32m8:
9835case RISCV::BI__builtin_rvv_vnmsub_vx_i32mf2:
9836case RISCV::BI__builtin_rvv_vnmsub_vx_i64m1:
9837case RISCV::BI__builtin_rvv_vnmsub_vx_i64m2:
9838case RISCV::BI__builtin_rvv_vnmsub_vx_i64m4:
9839case RISCV::BI__builtin_rvv_vnmsub_vx_i64m8:
9840case RISCV::BI__builtin_rvv_vnmsub_vv_u8m1:
9841case RISCV::BI__builtin_rvv_vnmsub_vv_u8m2:
9842case RISCV::BI__builtin_rvv_vnmsub_vv_u8m4:
9843case RISCV::BI__builtin_rvv_vnmsub_vv_u8m8:
9844case RISCV::BI__builtin_rvv_vnmsub_vv_u8mf2:
9845case RISCV::BI__builtin_rvv_vnmsub_vv_u8mf4:
9846case RISCV::BI__builtin_rvv_vnmsub_vv_u8mf8:
9847case RISCV::BI__builtin_rvv_vnmsub_vv_u16m1:
9848case RISCV::BI__builtin_rvv_vnmsub_vv_u16m2:
9849case RISCV::BI__builtin_rvv_vnmsub_vv_u16m4:
9850case RISCV::BI__builtin_rvv_vnmsub_vv_u16m8:
9851case RISCV::BI__builtin_rvv_vnmsub_vv_u16mf2:
9852case RISCV::BI__builtin_rvv_vnmsub_vv_u16mf4:
9853case RISCV::BI__builtin_rvv_vnmsub_vv_u32m1:
9854case RISCV::BI__builtin_rvv_vnmsub_vv_u32m2:
9855case RISCV::BI__builtin_rvv_vnmsub_vv_u32m4:
9856case RISCV::BI__builtin_rvv_vnmsub_vv_u32m8:
9857case RISCV::BI__builtin_rvv_vnmsub_vv_u32mf2:
9858case RISCV::BI__builtin_rvv_vnmsub_vv_u64m1:
9859case RISCV::BI__builtin_rvv_vnmsub_vv_u64m2:
9860case RISCV::BI__builtin_rvv_vnmsub_vv_u64m4:
9861case RISCV::BI__builtin_rvv_vnmsub_vv_u64m8:
9862case RISCV::BI__builtin_rvv_vnmsub_vx_u8m1:
9863case RISCV::BI__builtin_rvv_vnmsub_vx_u8m2:
9864case RISCV::BI__builtin_rvv_vnmsub_vx_u8m4:
9865case RISCV::BI__builtin_rvv_vnmsub_vx_u8m8:
9866case RISCV::BI__builtin_rvv_vnmsub_vx_u8mf2:
9867case RISCV::BI__builtin_rvv_vnmsub_vx_u8mf4:
9868case RISCV::BI__builtin_rvv_vnmsub_vx_u8mf8:
9869case RISCV::BI__builtin_rvv_vnmsub_vx_u16m1:
9870case RISCV::BI__builtin_rvv_vnmsub_vx_u16m2:
9871case RISCV::BI__builtin_rvv_vnmsub_vx_u16m4:
9872case RISCV::BI__builtin_rvv_vnmsub_vx_u16m8:
9873case RISCV::BI__builtin_rvv_vnmsub_vx_u16mf2:
9874case RISCV::BI__builtin_rvv_vnmsub_vx_u16mf4:
9875case RISCV::BI__builtin_rvv_vnmsub_vx_u32m1:
9876case RISCV::BI__builtin_rvv_vnmsub_vx_u32m2:
9877case RISCV::BI__builtin_rvv_vnmsub_vx_u32m4:
9878case RISCV::BI__builtin_rvv_vnmsub_vx_u32m8:
9879case RISCV::BI__builtin_rvv_vnmsub_vx_u32mf2:
9880case RISCV::BI__builtin_rvv_vnmsub_vx_u64m1:
9881case RISCV::BI__builtin_rvv_vnmsub_vx_u64m2:
9882case RISCV::BI__builtin_rvv_vnmsub_vx_u64m4:
9883case RISCV::BI__builtin_rvv_vnmsub_vx_u64m8:
9884 ID = Intrinsic::riscv_vnmsub;
9885 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
9886 break;
9887case RISCV::BI__builtin_rvv_vnmsub_vv_i8m1_m:
9888case RISCV::BI__builtin_rvv_vnmsub_vv_i8m2_m:
9889case RISCV::BI__builtin_rvv_vnmsub_vv_i8m4_m:
9890case RISCV::BI__builtin_rvv_vnmsub_vv_i8m8_m:
9891case RISCV::BI__builtin_rvv_vnmsub_vv_i8mf2_m:
9892case RISCV::BI__builtin_rvv_vnmsub_vv_i8mf4_m:
9893case RISCV::BI__builtin_rvv_vnmsub_vv_i8mf8_m:
9894case RISCV::BI__builtin_rvv_vnmsub_vv_i16m1_m:
9895case RISCV::BI__builtin_rvv_vnmsub_vv_i16m2_m:
9896case RISCV::BI__builtin_rvv_vnmsub_vv_i16m4_m:
9897case RISCV::BI__builtin_rvv_vnmsub_vv_i16m8_m:
9898case RISCV::BI__builtin_rvv_vnmsub_vv_i16mf2_m:
9899case RISCV::BI__builtin_rvv_vnmsub_vv_i16mf4_m:
9900case RISCV::BI__builtin_rvv_vnmsub_vv_i32m1_m:
9901case RISCV::BI__builtin_rvv_vnmsub_vv_i32m2_m:
9902case RISCV::BI__builtin_rvv_vnmsub_vv_i32m4_m:
9903case RISCV::BI__builtin_rvv_vnmsub_vv_i32m8_m:
9904case RISCV::BI__builtin_rvv_vnmsub_vv_i32mf2_m:
9905case RISCV::BI__builtin_rvv_vnmsub_vv_i64m1_m:
9906case RISCV::BI__builtin_rvv_vnmsub_vv_i64m2_m:
9907case RISCV::BI__builtin_rvv_vnmsub_vv_i64m4_m:
9908case RISCV::BI__builtin_rvv_vnmsub_vv_i64m8_m:
9909case RISCV::BI__builtin_rvv_vnmsub_vx_i8m1_m:
9910case RISCV::BI__builtin_rvv_vnmsub_vx_i8m2_m:
9911case RISCV::BI__builtin_rvv_vnmsub_vx_i8m4_m:
9912case RISCV::BI__builtin_rvv_vnmsub_vx_i8m8_m:
9913case RISCV::BI__builtin_rvv_vnmsub_vx_i8mf2_m:
9914case RISCV::BI__builtin_rvv_vnmsub_vx_i8mf4_m:
9915case RISCV::BI__builtin_rvv_vnmsub_vx_i8mf8_m:
9916case RISCV::BI__builtin_rvv_vnmsub_vx_i16m1_m:
9917case RISCV::BI__builtin_rvv_vnmsub_vx_i16m2_m:
9918case RISCV::BI__builtin_rvv_vnmsub_vx_i16m4_m:
9919case RISCV::BI__builtin_rvv_vnmsub_vx_i16m8_m:
9920case RISCV::BI__builtin_rvv_vnmsub_vx_i16mf2_m:
9921case RISCV::BI__builtin_rvv_vnmsub_vx_i16mf4_m:
9922case RISCV::BI__builtin_rvv_vnmsub_vx_i32m1_m:
9923case RISCV::BI__builtin_rvv_vnmsub_vx_i32m2_m:
9924case RISCV::BI__builtin_rvv_vnmsub_vx_i32m4_m:
9925case RISCV::BI__builtin_rvv_vnmsub_vx_i32m8_m:
9926case RISCV::BI__builtin_rvv_vnmsub_vx_i32mf2_m:
9927case RISCV::BI__builtin_rvv_vnmsub_vx_i64m1_m:
9928case RISCV::BI__builtin_rvv_vnmsub_vx_i64m2_m:
9929case RISCV::BI__builtin_rvv_vnmsub_vx_i64m4_m:
9930case RISCV::BI__builtin_rvv_vnmsub_vx_i64m8_m:
9931case RISCV::BI__builtin_rvv_vnmsub_vv_u8m1_m:
9932case RISCV::BI__builtin_rvv_vnmsub_vv_u8m2_m:
9933case RISCV::BI__builtin_rvv_vnmsub_vv_u8m4_m:
9934case RISCV::BI__builtin_rvv_vnmsub_vv_u8m8_m:
9935case RISCV::BI__builtin_rvv_vnmsub_vv_u8mf2_m:
9936case RISCV::BI__builtin_rvv_vnmsub_vv_u8mf4_m:
9937case RISCV::BI__builtin_rvv_vnmsub_vv_u8mf8_m:
9938case RISCV::BI__builtin_rvv_vnmsub_vv_u16m1_m:
9939case RISCV::BI__builtin_rvv_vnmsub_vv_u16m2_m:
9940case RISCV::BI__builtin_rvv_vnmsub_vv_u16m4_m:
9941case RISCV::BI__builtin_rvv_vnmsub_vv_u16m8_m:
9942case RISCV::BI__builtin_rvv_vnmsub_vv_u16mf2_m:
9943case RISCV::BI__builtin_rvv_vnmsub_vv_u16mf4_m:
9944case RISCV::BI__builtin_rvv_vnmsub_vv_u32m1_m:
9945case RISCV::BI__builtin_rvv_vnmsub_vv_u32m2_m:
9946case RISCV::BI__builtin_rvv_vnmsub_vv_u32m4_m:
9947case RISCV::BI__builtin_rvv_vnmsub_vv_u32m8_m:
9948case RISCV::BI__builtin_rvv_vnmsub_vv_u32mf2_m:
9949case RISCV::BI__builtin_rvv_vnmsub_vv_u64m1_m:
9950case RISCV::BI__builtin_rvv_vnmsub_vv_u64m2_m:
9951case RISCV::BI__builtin_rvv_vnmsub_vv_u64m4_m:
9952case RISCV::BI__builtin_rvv_vnmsub_vv_u64m8_m:
9953case RISCV::BI__builtin_rvv_vnmsub_vx_u8m1_m:
9954case RISCV::BI__builtin_rvv_vnmsub_vx_u8m2_m:
9955case RISCV::BI__builtin_rvv_vnmsub_vx_u8m4_m:
9956case RISCV::BI__builtin_rvv_vnmsub_vx_u8m8_m:
9957case RISCV::BI__builtin_rvv_vnmsub_vx_u8mf2_m:
9958case RISCV::BI__builtin_rvv_vnmsub_vx_u8mf4_m:
9959case RISCV::BI__builtin_rvv_vnmsub_vx_u8mf8_m:
9960case RISCV::BI__builtin_rvv_vnmsub_vx_u16m1_m:
9961case RISCV::BI__builtin_rvv_vnmsub_vx_u16m2_m:
9962case RISCV::BI__builtin_rvv_vnmsub_vx_u16m4_m:
9963case RISCV::BI__builtin_rvv_vnmsub_vx_u16m8_m:
9964case RISCV::BI__builtin_rvv_vnmsub_vx_u16mf2_m:
9965case RISCV::BI__builtin_rvv_vnmsub_vx_u16mf4_m:
9966case RISCV::BI__builtin_rvv_vnmsub_vx_u32m1_m:
9967case RISCV::BI__builtin_rvv_vnmsub_vx_u32m2_m:
9968case RISCV::BI__builtin_rvv_vnmsub_vx_u32m4_m:
9969case RISCV::BI__builtin_rvv_vnmsub_vx_u32m8_m:
9970case RISCV::BI__builtin_rvv_vnmsub_vx_u32mf2_m:
9971case RISCV::BI__builtin_rvv_vnmsub_vx_u64m1_m:
9972case RISCV::BI__builtin_rvv_vnmsub_vx_u64m2_m:
9973case RISCV::BI__builtin_rvv_vnmsub_vx_u64m4_m:
9974case RISCV::BI__builtin_rvv_vnmsub_vx_u64m8_m:
9975 ID = Intrinsic::riscv_vnmsub_mask;
9976 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
9977 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
9978 break;
9979case RISCV::BI__builtin_rvv_vnsra_wv_i8m1:
9980case RISCV::BI__builtin_rvv_vnsra_wv_i8m2:
9981case RISCV::BI__builtin_rvv_vnsra_wv_i8m4:
9982case RISCV::BI__builtin_rvv_vnsra_wv_i8mf2:
9983case RISCV::BI__builtin_rvv_vnsra_wv_i8mf4:
9984case RISCV::BI__builtin_rvv_vnsra_wv_i8mf8:
9985case RISCV::BI__builtin_rvv_vnsra_wv_i16m1:
9986case RISCV::BI__builtin_rvv_vnsra_wv_i16m2:
9987case RISCV::BI__builtin_rvv_vnsra_wv_i16m4:
9988case RISCV::BI__builtin_rvv_vnsra_wv_i16mf2:
9989case RISCV::BI__builtin_rvv_vnsra_wv_i16mf4:
9990case RISCV::BI__builtin_rvv_vnsra_wv_i32m1:
9991case RISCV::BI__builtin_rvv_vnsra_wv_i32m2:
9992case RISCV::BI__builtin_rvv_vnsra_wv_i32m4:
9993case RISCV::BI__builtin_rvv_vnsra_wv_i32mf2:
9994case RISCV::BI__builtin_rvv_vnsra_wx_i8m1:
9995case RISCV::BI__builtin_rvv_vnsra_wx_i8m2:
9996case RISCV::BI__builtin_rvv_vnsra_wx_i8m4:
9997case RISCV::BI__builtin_rvv_vnsra_wx_i8mf2:
9998case RISCV::BI__builtin_rvv_vnsra_wx_i8mf4:
9999case RISCV::BI__builtin_rvv_vnsra_wx_i8mf8:
10000case RISCV::BI__builtin_rvv_vnsra_wx_i16m1:
10001case RISCV::BI__builtin_rvv_vnsra_wx_i16m2:
10002case RISCV::BI__builtin_rvv_vnsra_wx_i16m4:
10003case RISCV::BI__builtin_rvv_vnsra_wx_i16mf2:
10004case RISCV::BI__builtin_rvv_vnsra_wx_i16mf4:
10005case RISCV::BI__builtin_rvv_vnsra_wx_i32m1:
10006case RISCV::BI__builtin_rvv_vnsra_wx_i32m2:
10007case RISCV::BI__builtin_rvv_vnsra_wx_i32m4:
10008case RISCV::BI__builtin_rvv_vnsra_wx_i32mf2:
10009 ID = Intrinsic::riscv_vnsra;
10010 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
10011 break;
10012case RISCV::BI__builtin_rvv_vnsra_wv_i8m1_m:
10013case RISCV::BI__builtin_rvv_vnsra_wv_i8m2_m:
10014case RISCV::BI__builtin_rvv_vnsra_wv_i8m4_m:
10015case RISCV::BI__builtin_rvv_vnsra_wv_i8mf2_m:
10016case RISCV::BI__builtin_rvv_vnsra_wv_i8mf4_m:
10017case RISCV::BI__builtin_rvv_vnsra_wv_i8mf8_m:
10018case RISCV::BI__builtin_rvv_vnsra_wv_i16m1_m:
10019case RISCV::BI__builtin_rvv_vnsra_wv_i16m2_m:
10020case RISCV::BI__builtin_rvv_vnsra_wv_i16m4_m:
10021case RISCV::BI__builtin_rvv_vnsra_wv_i16mf2_m:
10022case RISCV::BI__builtin_rvv_vnsra_wv_i16mf4_m:
10023case RISCV::BI__builtin_rvv_vnsra_wv_i32m1_m:
10024case RISCV::BI__builtin_rvv_vnsra_wv_i32m2_m:
10025case RISCV::BI__builtin_rvv_vnsra_wv_i32m4_m:
10026case RISCV::BI__builtin_rvv_vnsra_wv_i32mf2_m:
10027case RISCV::BI__builtin_rvv_vnsra_wx_i8m1_m:
10028case RISCV::BI__builtin_rvv_vnsra_wx_i8m2_m:
10029case RISCV::BI__builtin_rvv_vnsra_wx_i8m4_m:
10030case RISCV::BI__builtin_rvv_vnsra_wx_i8mf2_m:
10031case RISCV::BI__builtin_rvv_vnsra_wx_i8mf4_m:
10032case RISCV::BI__builtin_rvv_vnsra_wx_i8mf8_m:
10033case RISCV::BI__builtin_rvv_vnsra_wx_i16m1_m:
10034case RISCV::BI__builtin_rvv_vnsra_wx_i16m2_m:
10035case RISCV::BI__builtin_rvv_vnsra_wx_i16m4_m:
10036case RISCV::BI__builtin_rvv_vnsra_wx_i16mf2_m:
10037case RISCV::BI__builtin_rvv_vnsra_wx_i16mf4_m:
10038case RISCV::BI__builtin_rvv_vnsra_wx_i32m1_m:
10039case RISCV::BI__builtin_rvv_vnsra_wx_i32m2_m:
10040case RISCV::BI__builtin_rvv_vnsra_wx_i32m4_m:
10041case RISCV::BI__builtin_rvv_vnsra_wx_i32mf2_m:
10042 ID = Intrinsic::riscv_vnsra_mask;
10043 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
10044 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
10045 break;
10046case RISCV::BI__builtin_rvv_vncvt_x_x_w_i8m1:
10047case RISCV::BI__builtin_rvv_vncvt_x_x_w_i8m2:
10048case RISCV::BI__builtin_rvv_vncvt_x_x_w_i8m4:
10049case RISCV::BI__builtin_rvv_vncvt_x_x_w_i8mf2:
10050case RISCV::BI__builtin_rvv_vncvt_x_x_w_i8mf4:
10051case RISCV::BI__builtin_rvv_vncvt_x_x_w_i8mf8:
10052case RISCV::BI__builtin_rvv_vncvt_x_x_w_i16m1:
10053case RISCV::BI__builtin_rvv_vncvt_x_x_w_i16m2:
10054case RISCV::BI__builtin_rvv_vncvt_x_x_w_i16m4:
10055case RISCV::BI__builtin_rvv_vncvt_x_x_w_i16mf2:
10056case RISCV::BI__builtin_rvv_vncvt_x_x_w_i16mf4:
10057case RISCV::BI__builtin_rvv_vncvt_x_x_w_i32m1:
10058case RISCV::BI__builtin_rvv_vncvt_x_x_w_i32m2:
10059case RISCV::BI__builtin_rvv_vncvt_x_x_w_i32m4:
10060case RISCV::BI__builtin_rvv_vncvt_x_x_w_i32mf2:
10061 ID = Intrinsic::riscv_vnsrl;
10062
10063 {
10064 // op1, vl
10065 IntrinsicTypes = {ResultType,
10066 Ops[0]->getType(),
10067 Ops[1]->getType(),
10068 Ops[1]->getType()};
10069 Ops.insert(Ops.begin() + 1, llvm::Constant::getNullValue(IntrinsicTypes[2]));
10070 break;
10071 }
10072 break;
10073case RISCV::BI__builtin_rvv_vnsrl_wv_u8m1:
10074case RISCV::BI__builtin_rvv_vnsrl_wv_u8m2:
10075case RISCV::BI__builtin_rvv_vnsrl_wv_u8m4:
10076case RISCV::BI__builtin_rvv_vnsrl_wv_u8mf2:
10077case RISCV::BI__builtin_rvv_vnsrl_wv_u8mf4:
10078case RISCV::BI__builtin_rvv_vnsrl_wv_u8mf8:
10079case RISCV::BI__builtin_rvv_vnsrl_wv_u16m1:
10080case RISCV::BI__builtin_rvv_vnsrl_wv_u16m2:
10081case RISCV::BI__builtin_rvv_vnsrl_wv_u16m4:
10082case RISCV::BI__builtin_rvv_vnsrl_wv_u16mf2:
10083case RISCV::BI__builtin_rvv_vnsrl_wv_u16mf4:
10084case RISCV::BI__builtin_rvv_vnsrl_wv_u32m1:
10085case RISCV::BI__builtin_rvv_vnsrl_wv_u32m2:
10086case RISCV::BI__builtin_rvv_vnsrl_wv_u32m4:
10087case RISCV::BI__builtin_rvv_vnsrl_wv_u32mf2:
10088case RISCV::BI__builtin_rvv_vnsrl_wx_u8m1:
10089case RISCV::BI__builtin_rvv_vnsrl_wx_u8m2:
10090case RISCV::BI__builtin_rvv_vnsrl_wx_u8m4:
10091case RISCV::BI__builtin_rvv_vnsrl_wx_u8mf2:
10092case RISCV::BI__builtin_rvv_vnsrl_wx_u8mf4:
10093case RISCV::BI__builtin_rvv_vnsrl_wx_u8mf8:
10094case RISCV::BI__builtin_rvv_vnsrl_wx_u16m1:
10095case RISCV::BI__builtin_rvv_vnsrl_wx_u16m2:
10096case RISCV::BI__builtin_rvv_vnsrl_wx_u16m4:
10097case RISCV::BI__builtin_rvv_vnsrl_wx_u16mf2:
10098case RISCV::BI__builtin_rvv_vnsrl_wx_u16mf4:
10099case RISCV::BI__builtin_rvv_vnsrl_wx_u32m1:
10100case RISCV::BI__builtin_rvv_vnsrl_wx_u32m2:
10101case RISCV::BI__builtin_rvv_vnsrl_wx_u32m4:
10102case RISCV::BI__builtin_rvv_vnsrl_wx_u32mf2:
10103 ID = Intrinsic::riscv_vnsrl;
10104 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
10105 break;
10106case RISCV::BI__builtin_rvv_vncvt_x_x_w_u8m1:
10107case RISCV::BI__builtin_rvv_vncvt_x_x_w_u8m2:
10108case RISCV::BI__builtin_rvv_vncvt_x_x_w_u8m4:
10109case RISCV::BI__builtin_rvv_vncvt_x_x_w_u8mf2:
10110case RISCV::BI__builtin_rvv_vncvt_x_x_w_u8mf4:
10111case RISCV::BI__builtin_rvv_vncvt_x_x_w_u8mf8:
10112case RISCV::BI__builtin_rvv_vncvt_x_x_w_u16m1:
10113case RISCV::BI__builtin_rvv_vncvt_x_x_w_u16m2:
10114case RISCV::BI__builtin_rvv_vncvt_x_x_w_u16m4:
10115case RISCV::BI__builtin_rvv_vncvt_x_x_w_u16mf2:
10116case RISCV::BI__builtin_rvv_vncvt_x_x_w_u16mf4:
10117case RISCV::BI__builtin_rvv_vncvt_x_x_w_u32m1:
10118case RISCV::BI__builtin_rvv_vncvt_x_x_w_u32m2:
10119case RISCV::BI__builtin_rvv_vncvt_x_x_w_u32m4:
10120case RISCV::BI__builtin_rvv_vncvt_x_x_w_u32mf2:
10121 ID = Intrinsic::riscv_vnsrl;
10122
10123 {
10124 // op1, vl
10125 IntrinsicTypes = {ResultType,
10126 Ops[0]->getType(),
10127 Ops[1]->getType(),
10128 Ops[1]->getType()};
10129 Ops.insert(Ops.begin() + 1, llvm::Constant::getNullValue(IntrinsicTypes[2]));
10130 break;
10131 }
10132 break;
10133case RISCV::BI__builtin_rvv_vncvt_x_x_w_i8m1_m:
10134case RISCV::BI__builtin_rvv_vncvt_x_x_w_i8m2_m:
10135case RISCV::BI__builtin_rvv_vncvt_x_x_w_i8m4_m:
10136case RISCV::BI__builtin_rvv_vncvt_x_x_w_i8mf2_m:
10137case RISCV::BI__builtin_rvv_vncvt_x_x_w_i8mf4_m:
10138case RISCV::BI__builtin_rvv_vncvt_x_x_w_i8mf8_m:
10139case RISCV::BI__builtin_rvv_vncvt_x_x_w_i16m1_m:
10140case RISCV::BI__builtin_rvv_vncvt_x_x_w_i16m2_m:
10141case RISCV::BI__builtin_rvv_vncvt_x_x_w_i16m4_m:
10142case RISCV::BI__builtin_rvv_vncvt_x_x_w_i16mf2_m:
10143case RISCV::BI__builtin_rvv_vncvt_x_x_w_i16mf4_m:
10144case RISCV::BI__builtin_rvv_vncvt_x_x_w_i32m1_m:
10145case RISCV::BI__builtin_rvv_vncvt_x_x_w_i32m2_m:
10146case RISCV::BI__builtin_rvv_vncvt_x_x_w_i32m4_m:
10147case RISCV::BI__builtin_rvv_vncvt_x_x_w_i32mf2_m:
10148 ID = Intrinsic::riscv_vnsrl_mask;
10149
10150 {
10151 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
10152 // maskedoff, op1, mask, vl
10153 IntrinsicTypes = {ResultType,
10154 Ops[1]->getType(),
10155 Ops[3]->getType(),
10156 Ops[3]->getType()};
10157 Ops.insert(Ops.begin() + 2, llvm::Constant::getNullValue(IntrinsicTypes[2]));
10158 break;
10159 }
10160 break;
10161case RISCV::BI__builtin_rvv_vnsrl_wv_u8m1_m:
10162case RISCV::BI__builtin_rvv_vnsrl_wv_u8m2_m:
10163case RISCV::BI__builtin_rvv_vnsrl_wv_u8m4_m:
10164case RISCV::BI__builtin_rvv_vnsrl_wv_u8mf2_m:
10165case RISCV::BI__builtin_rvv_vnsrl_wv_u8mf4_m:
10166case RISCV::BI__builtin_rvv_vnsrl_wv_u8mf8_m:
10167case RISCV::BI__builtin_rvv_vnsrl_wv_u16m1_m:
10168case RISCV::BI__builtin_rvv_vnsrl_wv_u16m2_m:
10169case RISCV::BI__builtin_rvv_vnsrl_wv_u16m4_m:
10170case RISCV::BI__builtin_rvv_vnsrl_wv_u16mf2_m:
10171case RISCV::BI__builtin_rvv_vnsrl_wv_u16mf4_m:
10172case RISCV::BI__builtin_rvv_vnsrl_wv_u32m1_m:
10173case RISCV::BI__builtin_rvv_vnsrl_wv_u32m2_m:
10174case RISCV::BI__builtin_rvv_vnsrl_wv_u32m4_m:
10175case RISCV::BI__builtin_rvv_vnsrl_wv_u32mf2_m:
10176case RISCV::BI__builtin_rvv_vnsrl_wx_u8m1_m:
10177case RISCV::BI__builtin_rvv_vnsrl_wx_u8m2_m:
10178case RISCV::BI__builtin_rvv_vnsrl_wx_u8m4_m:
10179case RISCV::BI__builtin_rvv_vnsrl_wx_u8mf2_m:
10180case RISCV::BI__builtin_rvv_vnsrl_wx_u8mf4_m:
10181case RISCV::BI__builtin_rvv_vnsrl_wx_u8mf8_m:
10182case RISCV::BI__builtin_rvv_vnsrl_wx_u16m1_m:
10183case RISCV::BI__builtin_rvv_vnsrl_wx_u16m2_m:
10184case RISCV::BI__builtin_rvv_vnsrl_wx_u16m4_m:
10185case RISCV::BI__builtin_rvv_vnsrl_wx_u16mf2_m:
10186case RISCV::BI__builtin_rvv_vnsrl_wx_u16mf4_m:
10187case RISCV::BI__builtin_rvv_vnsrl_wx_u32m1_m:
10188case RISCV::BI__builtin_rvv_vnsrl_wx_u32m2_m:
10189case RISCV::BI__builtin_rvv_vnsrl_wx_u32m4_m:
10190case RISCV::BI__builtin_rvv_vnsrl_wx_u32mf2_m:
10191 ID = Intrinsic::riscv_vnsrl_mask;
10192 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
10193 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
10194 break;
10195case RISCV::BI__builtin_rvv_vncvt_x_x_w_u8m1_m:
10196case RISCV::BI__builtin_rvv_vncvt_x_x_w_u8m2_m:
10197case RISCV::BI__builtin_rvv_vncvt_x_x_w_u8m4_m:
10198case RISCV::BI__builtin_rvv_vncvt_x_x_w_u8mf2_m:
10199case RISCV::BI__builtin_rvv_vncvt_x_x_w_u8mf4_m:
10200case RISCV::BI__builtin_rvv_vncvt_x_x_w_u8mf8_m:
10201case RISCV::BI__builtin_rvv_vncvt_x_x_w_u16m1_m:
10202case RISCV::BI__builtin_rvv_vncvt_x_x_w_u16m2_m:
10203case RISCV::BI__builtin_rvv_vncvt_x_x_w_u16m4_m:
10204case RISCV::BI__builtin_rvv_vncvt_x_x_w_u16mf2_m:
10205case RISCV::BI__builtin_rvv_vncvt_x_x_w_u16mf4_m:
10206case RISCV::BI__builtin_rvv_vncvt_x_x_w_u32m1_m:
10207case RISCV::BI__builtin_rvv_vncvt_x_x_w_u32m2_m:
10208case RISCV::BI__builtin_rvv_vncvt_x_x_w_u32m4_m:
10209case RISCV::BI__builtin_rvv_vncvt_x_x_w_u32mf2_m:
10210 ID = Intrinsic::riscv_vnsrl_mask;
10211
10212 {
10213 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
10214 // maskedoff, op1, mask, vl
10215 IntrinsicTypes = {ResultType,
10216 Ops[1]->getType(),
10217 Ops[3]->getType(),
10218 Ops[3]->getType()};
10219 Ops.insert(Ops.begin() + 2, llvm::Constant::getNullValue(IntrinsicTypes[2]));
10220 break;
10221 }
10222 break;
10223case RISCV::BI__builtin_rvv_vor_vv_i8m1:
10224case RISCV::BI__builtin_rvv_vor_vv_i8m2:
10225case RISCV::BI__builtin_rvv_vor_vv_i8m4:
10226case RISCV::BI__builtin_rvv_vor_vv_i8m8:
10227case RISCV::BI__builtin_rvv_vor_vv_i8mf2:
10228case RISCV::BI__builtin_rvv_vor_vv_i8mf4:
10229case RISCV::BI__builtin_rvv_vor_vv_i8mf8:
10230case RISCV::BI__builtin_rvv_vor_vv_i16m1:
10231case RISCV::BI__builtin_rvv_vor_vv_i16m2:
10232case RISCV::BI__builtin_rvv_vor_vv_i16m4:
10233case RISCV::BI__builtin_rvv_vor_vv_i16m8:
10234case RISCV::BI__builtin_rvv_vor_vv_i16mf2:
10235case RISCV::BI__builtin_rvv_vor_vv_i16mf4:
10236case RISCV::BI__builtin_rvv_vor_vv_i32m1:
10237case RISCV::BI__builtin_rvv_vor_vv_i32m2:
10238case RISCV::BI__builtin_rvv_vor_vv_i32m4:
10239case RISCV::BI__builtin_rvv_vor_vv_i32m8:
10240case RISCV::BI__builtin_rvv_vor_vv_i32mf2:
10241case RISCV::BI__builtin_rvv_vor_vv_i64m1:
10242case RISCV::BI__builtin_rvv_vor_vv_i64m2:
10243case RISCV::BI__builtin_rvv_vor_vv_i64m4:
10244case RISCV::BI__builtin_rvv_vor_vv_i64m8:
10245case RISCV::BI__builtin_rvv_vor_vx_i8m1:
10246case RISCV::BI__builtin_rvv_vor_vx_i8m2:
10247case RISCV::BI__builtin_rvv_vor_vx_i8m4:
10248case RISCV::BI__builtin_rvv_vor_vx_i8m8:
10249case RISCV::BI__builtin_rvv_vor_vx_i8mf2:
10250case RISCV::BI__builtin_rvv_vor_vx_i8mf4:
10251case RISCV::BI__builtin_rvv_vor_vx_i8mf8:
10252case RISCV::BI__builtin_rvv_vor_vx_i16m1:
10253case RISCV::BI__builtin_rvv_vor_vx_i16m2:
10254case RISCV::BI__builtin_rvv_vor_vx_i16m4:
10255case RISCV::BI__builtin_rvv_vor_vx_i16m8:
10256case RISCV::BI__builtin_rvv_vor_vx_i16mf2:
10257case RISCV::BI__builtin_rvv_vor_vx_i16mf4:
10258case RISCV::BI__builtin_rvv_vor_vx_i32m1:
10259case RISCV::BI__builtin_rvv_vor_vx_i32m2:
10260case RISCV::BI__builtin_rvv_vor_vx_i32m4:
10261case RISCV::BI__builtin_rvv_vor_vx_i32m8:
10262case RISCV::BI__builtin_rvv_vor_vx_i32mf2:
10263case RISCV::BI__builtin_rvv_vor_vx_i64m1:
10264case RISCV::BI__builtin_rvv_vor_vx_i64m2:
10265case RISCV::BI__builtin_rvv_vor_vx_i64m4:
10266case RISCV::BI__builtin_rvv_vor_vx_i64m8:
10267case RISCV::BI__builtin_rvv_vor_vv_u8m1:
10268case RISCV::BI__builtin_rvv_vor_vv_u8m2:
10269case RISCV::BI__builtin_rvv_vor_vv_u8m4:
10270case RISCV::BI__builtin_rvv_vor_vv_u8m8:
10271case RISCV::BI__builtin_rvv_vor_vv_u8mf2:
10272case RISCV::BI__builtin_rvv_vor_vv_u8mf4:
10273case RISCV::BI__builtin_rvv_vor_vv_u8mf8:
10274case RISCV::BI__builtin_rvv_vor_vv_u16m1:
10275case RISCV::BI__builtin_rvv_vor_vv_u16m2:
10276case RISCV::BI__builtin_rvv_vor_vv_u16m4:
10277case RISCV::BI__builtin_rvv_vor_vv_u16m8:
10278case RISCV::BI__builtin_rvv_vor_vv_u16mf2:
10279case RISCV::BI__builtin_rvv_vor_vv_u16mf4:
10280case RISCV::BI__builtin_rvv_vor_vv_u32m1:
10281case RISCV::BI__builtin_rvv_vor_vv_u32m2:
10282case RISCV::BI__builtin_rvv_vor_vv_u32m4:
10283case RISCV::BI__builtin_rvv_vor_vv_u32m8:
10284case RISCV::BI__builtin_rvv_vor_vv_u32mf2:
10285case RISCV::BI__builtin_rvv_vor_vv_u64m1:
10286case RISCV::BI__builtin_rvv_vor_vv_u64m2:
10287case RISCV::BI__builtin_rvv_vor_vv_u64m4:
10288case RISCV::BI__builtin_rvv_vor_vv_u64m8:
10289case RISCV::BI__builtin_rvv_vor_vx_u8m1:
10290case RISCV::BI__builtin_rvv_vor_vx_u8m2:
10291case RISCV::BI__builtin_rvv_vor_vx_u8m4:
10292case RISCV::BI__builtin_rvv_vor_vx_u8m8:
10293case RISCV::BI__builtin_rvv_vor_vx_u8mf2:
10294case RISCV::BI__builtin_rvv_vor_vx_u8mf4:
10295case RISCV::BI__builtin_rvv_vor_vx_u8mf8:
10296case RISCV::BI__builtin_rvv_vor_vx_u16m1:
10297case RISCV::BI__builtin_rvv_vor_vx_u16m2:
10298case RISCV::BI__builtin_rvv_vor_vx_u16m4:
10299case RISCV::BI__builtin_rvv_vor_vx_u16m8:
10300case RISCV::BI__builtin_rvv_vor_vx_u16mf2:
10301case RISCV::BI__builtin_rvv_vor_vx_u16mf4:
10302case RISCV::BI__builtin_rvv_vor_vx_u32m1:
10303case RISCV::BI__builtin_rvv_vor_vx_u32m2:
10304case RISCV::BI__builtin_rvv_vor_vx_u32m4:
10305case RISCV::BI__builtin_rvv_vor_vx_u32m8:
10306case RISCV::BI__builtin_rvv_vor_vx_u32mf2:
10307case RISCV::BI__builtin_rvv_vor_vx_u64m1:
10308case RISCV::BI__builtin_rvv_vor_vx_u64m2:
10309case RISCV::BI__builtin_rvv_vor_vx_u64m4:
10310case RISCV::BI__builtin_rvv_vor_vx_u64m8:
10311 ID = Intrinsic::riscv_vor;
10312 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10313 break;
10314case RISCV::BI__builtin_rvv_vor_vv_i8m1_m:
10315case RISCV::BI__builtin_rvv_vor_vv_i8m2_m:
10316case RISCV::BI__builtin_rvv_vor_vv_i8m4_m:
10317case RISCV::BI__builtin_rvv_vor_vv_i8m8_m:
10318case RISCV::BI__builtin_rvv_vor_vv_i8mf2_m:
10319case RISCV::BI__builtin_rvv_vor_vv_i8mf4_m:
10320case RISCV::BI__builtin_rvv_vor_vv_i8mf8_m:
10321case RISCV::BI__builtin_rvv_vor_vv_i16m1_m:
10322case RISCV::BI__builtin_rvv_vor_vv_i16m2_m:
10323case RISCV::BI__builtin_rvv_vor_vv_i16m4_m:
10324case RISCV::BI__builtin_rvv_vor_vv_i16m8_m:
10325case RISCV::BI__builtin_rvv_vor_vv_i16mf2_m:
10326case RISCV::BI__builtin_rvv_vor_vv_i16mf4_m:
10327case RISCV::BI__builtin_rvv_vor_vv_i32m1_m:
10328case RISCV::BI__builtin_rvv_vor_vv_i32m2_m:
10329case RISCV::BI__builtin_rvv_vor_vv_i32m4_m:
10330case RISCV::BI__builtin_rvv_vor_vv_i32m8_m:
10331case RISCV::BI__builtin_rvv_vor_vv_i32mf2_m:
10332case RISCV::BI__builtin_rvv_vor_vv_i64m1_m:
10333case RISCV::BI__builtin_rvv_vor_vv_i64m2_m:
10334case RISCV::BI__builtin_rvv_vor_vv_i64m4_m:
10335case RISCV::BI__builtin_rvv_vor_vv_i64m8_m:
10336case RISCV::BI__builtin_rvv_vor_vx_i8m1_m:
10337case RISCV::BI__builtin_rvv_vor_vx_i8m2_m:
10338case RISCV::BI__builtin_rvv_vor_vx_i8m4_m:
10339case RISCV::BI__builtin_rvv_vor_vx_i8m8_m:
10340case RISCV::BI__builtin_rvv_vor_vx_i8mf2_m:
10341case RISCV::BI__builtin_rvv_vor_vx_i8mf4_m:
10342case RISCV::BI__builtin_rvv_vor_vx_i8mf8_m:
10343case RISCV::BI__builtin_rvv_vor_vx_i16m1_m:
10344case RISCV::BI__builtin_rvv_vor_vx_i16m2_m:
10345case RISCV::BI__builtin_rvv_vor_vx_i16m4_m:
10346case RISCV::BI__builtin_rvv_vor_vx_i16m8_m:
10347case RISCV::BI__builtin_rvv_vor_vx_i16mf2_m:
10348case RISCV::BI__builtin_rvv_vor_vx_i16mf4_m:
10349case RISCV::BI__builtin_rvv_vor_vx_i32m1_m:
10350case RISCV::BI__builtin_rvv_vor_vx_i32m2_m:
10351case RISCV::BI__builtin_rvv_vor_vx_i32m4_m:
10352case RISCV::BI__builtin_rvv_vor_vx_i32m8_m:
10353case RISCV::BI__builtin_rvv_vor_vx_i32mf2_m:
10354case RISCV::BI__builtin_rvv_vor_vx_i64m1_m:
10355case RISCV::BI__builtin_rvv_vor_vx_i64m2_m:
10356case RISCV::BI__builtin_rvv_vor_vx_i64m4_m:
10357case RISCV::BI__builtin_rvv_vor_vx_i64m8_m:
10358case RISCV::BI__builtin_rvv_vor_vv_u8m1_m:
10359case RISCV::BI__builtin_rvv_vor_vv_u8m2_m:
10360case RISCV::BI__builtin_rvv_vor_vv_u8m4_m:
10361case RISCV::BI__builtin_rvv_vor_vv_u8m8_m:
10362case RISCV::BI__builtin_rvv_vor_vv_u8mf2_m:
10363case RISCV::BI__builtin_rvv_vor_vv_u8mf4_m:
10364case RISCV::BI__builtin_rvv_vor_vv_u8mf8_m:
10365case RISCV::BI__builtin_rvv_vor_vv_u16m1_m:
10366case RISCV::BI__builtin_rvv_vor_vv_u16m2_m:
10367case RISCV::BI__builtin_rvv_vor_vv_u16m4_m:
10368case RISCV::BI__builtin_rvv_vor_vv_u16m8_m:
10369case RISCV::BI__builtin_rvv_vor_vv_u16mf2_m:
10370case RISCV::BI__builtin_rvv_vor_vv_u16mf4_m:
10371case RISCV::BI__builtin_rvv_vor_vv_u32m1_m:
10372case RISCV::BI__builtin_rvv_vor_vv_u32m2_m:
10373case RISCV::BI__builtin_rvv_vor_vv_u32m4_m:
10374case RISCV::BI__builtin_rvv_vor_vv_u32m8_m:
10375case RISCV::BI__builtin_rvv_vor_vv_u32mf2_m:
10376case RISCV::BI__builtin_rvv_vor_vv_u64m1_m:
10377case RISCV::BI__builtin_rvv_vor_vv_u64m2_m:
10378case RISCV::BI__builtin_rvv_vor_vv_u64m4_m:
10379case RISCV::BI__builtin_rvv_vor_vv_u64m8_m:
10380case RISCV::BI__builtin_rvv_vor_vx_u8m1_m:
10381case RISCV::BI__builtin_rvv_vor_vx_u8m2_m:
10382case RISCV::BI__builtin_rvv_vor_vx_u8m4_m:
10383case RISCV::BI__builtin_rvv_vor_vx_u8m8_m:
10384case RISCV::BI__builtin_rvv_vor_vx_u8mf2_m:
10385case RISCV::BI__builtin_rvv_vor_vx_u8mf4_m:
10386case RISCV::BI__builtin_rvv_vor_vx_u8mf8_m:
10387case RISCV::BI__builtin_rvv_vor_vx_u16m1_m:
10388case RISCV::BI__builtin_rvv_vor_vx_u16m2_m:
10389case RISCV::BI__builtin_rvv_vor_vx_u16m4_m:
10390case RISCV::BI__builtin_rvv_vor_vx_u16m8_m:
10391case RISCV::BI__builtin_rvv_vor_vx_u16mf2_m:
10392case RISCV::BI__builtin_rvv_vor_vx_u16mf4_m:
10393case RISCV::BI__builtin_rvv_vor_vx_u32m1_m:
10394case RISCV::BI__builtin_rvv_vor_vx_u32m2_m:
10395case RISCV::BI__builtin_rvv_vor_vx_u32m4_m:
10396case RISCV::BI__builtin_rvv_vor_vx_u32m8_m:
10397case RISCV::BI__builtin_rvv_vor_vx_u32mf2_m:
10398case RISCV::BI__builtin_rvv_vor_vx_u64m1_m:
10399case RISCV::BI__builtin_rvv_vor_vx_u64m2_m:
10400case RISCV::BI__builtin_rvv_vor_vx_u64m4_m:
10401case RISCV::BI__builtin_rvv_vor_vx_u64m8_m:
10402 ID = Intrinsic::riscv_vor_mask;
10403 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
10404 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
10405 break;
10406case RISCV::BI__builtin_rvv_vpopc_m_b8:
10407case RISCV::BI__builtin_rvv_vpopc_m_b4:
10408case RISCV::BI__builtin_rvv_vpopc_m_b2:
10409case RISCV::BI__builtin_rvv_vpopc_m_b1:
10410case RISCV::BI__builtin_rvv_vpopc_m_b16:
10411case RISCV::BI__builtin_rvv_vpopc_m_b32:
10412case RISCV::BI__builtin_rvv_vpopc_m_b64:
10413 ID = Intrinsic::riscv_vpopc;
10414 IntrinsicTypes = {Ops[0]->getType(), Ops.back()->getType()};
10415 break;
10416case RISCV::BI__builtin_rvv_vpopc_m_b8_m:
10417case RISCV::BI__builtin_rvv_vpopc_m_b4_m:
10418case RISCV::BI__builtin_rvv_vpopc_m_b2_m:
10419case RISCV::BI__builtin_rvv_vpopc_m_b1_m:
10420case RISCV::BI__builtin_rvv_vpopc_m_b16_m:
10421case RISCV::BI__builtin_rvv_vpopc_m_b32_m:
10422case RISCV::BI__builtin_rvv_vpopc_m_b64_m:
10423 ID = Intrinsic::riscv_vpopc_mask;
10424 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
10425 IntrinsicTypes = {Ops[0]->getType(), Ops.back()->getType()};
10426 break;
10427case RISCV::BI__builtin_rvv_vredand_vs_i8m1_i8m1:
10428case RISCV::BI__builtin_rvv_vredand_vs_i8m2_i8m1:
10429case RISCV::BI__builtin_rvv_vredand_vs_i8m4_i8m1:
10430case RISCV::BI__builtin_rvv_vredand_vs_i8m8_i8m1:
10431case RISCV::BI__builtin_rvv_vredand_vs_i8mf2_i8m1:
10432case RISCV::BI__builtin_rvv_vredand_vs_i8mf4_i8m1:
10433case RISCV::BI__builtin_rvv_vredand_vs_i8mf8_i8m1:
10434case RISCV::BI__builtin_rvv_vredand_vs_i16m1_i16m1:
10435case RISCV::BI__builtin_rvv_vredand_vs_i16m2_i16m1:
10436case RISCV::BI__builtin_rvv_vredand_vs_i16m4_i16m1:
10437case RISCV::BI__builtin_rvv_vredand_vs_i16m8_i16m1:
10438case RISCV::BI__builtin_rvv_vredand_vs_i16mf2_i16m1:
10439case RISCV::BI__builtin_rvv_vredand_vs_i16mf4_i16m1:
10440case RISCV::BI__builtin_rvv_vredand_vs_i32m1_i32m1:
10441case RISCV::BI__builtin_rvv_vredand_vs_i32m2_i32m1:
10442case RISCV::BI__builtin_rvv_vredand_vs_i32m4_i32m1:
10443case RISCV::BI__builtin_rvv_vredand_vs_i32m8_i32m1:
10444case RISCV::BI__builtin_rvv_vredand_vs_i32mf2_i32m1:
10445case RISCV::BI__builtin_rvv_vredand_vs_i64m1_i64m1:
10446case RISCV::BI__builtin_rvv_vredand_vs_i64m2_i64m1:
10447case RISCV::BI__builtin_rvv_vredand_vs_i64m4_i64m1:
10448case RISCV::BI__builtin_rvv_vredand_vs_i64m8_i64m1:
10449case RISCV::BI__builtin_rvv_vredand_vs_u8m1_u8m1:
10450case RISCV::BI__builtin_rvv_vredand_vs_u8m2_u8m1:
10451case RISCV::BI__builtin_rvv_vredand_vs_u8m4_u8m1:
10452case RISCV::BI__builtin_rvv_vredand_vs_u8m8_u8m1:
10453case RISCV::BI__builtin_rvv_vredand_vs_u8mf2_u8m1:
10454case RISCV::BI__builtin_rvv_vredand_vs_u8mf4_u8m1:
10455case RISCV::BI__builtin_rvv_vredand_vs_u8mf8_u8m1:
10456case RISCV::BI__builtin_rvv_vredand_vs_u16m1_u16m1:
10457case RISCV::BI__builtin_rvv_vredand_vs_u16m2_u16m1:
10458case RISCV::BI__builtin_rvv_vredand_vs_u16m4_u16m1:
10459case RISCV::BI__builtin_rvv_vredand_vs_u16m8_u16m1:
10460case RISCV::BI__builtin_rvv_vredand_vs_u16mf2_u16m1:
10461case RISCV::BI__builtin_rvv_vredand_vs_u16mf4_u16m1:
10462case RISCV::BI__builtin_rvv_vredand_vs_u32m1_u32m1:
10463case RISCV::BI__builtin_rvv_vredand_vs_u32m2_u32m1:
10464case RISCV::BI__builtin_rvv_vredand_vs_u32m4_u32m1:
10465case RISCV::BI__builtin_rvv_vredand_vs_u32m8_u32m1:
10466case RISCV::BI__builtin_rvv_vredand_vs_u32mf2_u32m1:
10467case RISCV::BI__builtin_rvv_vredand_vs_u64m1_u64m1:
10468case RISCV::BI__builtin_rvv_vredand_vs_u64m2_u64m1:
10469case RISCV::BI__builtin_rvv_vredand_vs_u64m4_u64m1:
10470case RISCV::BI__builtin_rvv_vredand_vs_u64m8_u64m1:
10471 ID = Intrinsic::riscv_vredand;
10472 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10473 break;
10474case RISCV::BI__builtin_rvv_vredand_vs_i8m1_i8m1_m:
10475case RISCV::BI__builtin_rvv_vredand_vs_i8m2_i8m1_m:
10476case RISCV::BI__builtin_rvv_vredand_vs_i8m4_i8m1_m:
10477case RISCV::BI__builtin_rvv_vredand_vs_i8m8_i8m1_m:
10478case RISCV::BI__builtin_rvv_vredand_vs_i8mf2_i8m1_m:
10479case RISCV::BI__builtin_rvv_vredand_vs_i8mf4_i8m1_m:
10480case RISCV::BI__builtin_rvv_vredand_vs_i8mf8_i8m1_m:
10481case RISCV::BI__builtin_rvv_vredand_vs_i16m1_i16m1_m:
10482case RISCV::BI__builtin_rvv_vredand_vs_i16m2_i16m1_m:
10483case RISCV::BI__builtin_rvv_vredand_vs_i16m4_i16m1_m:
10484case RISCV::BI__builtin_rvv_vredand_vs_i16m8_i16m1_m:
10485case RISCV::BI__builtin_rvv_vredand_vs_i16mf2_i16m1_m:
10486case RISCV::BI__builtin_rvv_vredand_vs_i16mf4_i16m1_m:
10487case RISCV::BI__builtin_rvv_vredand_vs_i32m1_i32m1_m:
10488case RISCV::BI__builtin_rvv_vredand_vs_i32m2_i32m1_m:
10489case RISCV::BI__builtin_rvv_vredand_vs_i32m4_i32m1_m:
10490case RISCV::BI__builtin_rvv_vredand_vs_i32m8_i32m1_m:
10491case RISCV::BI__builtin_rvv_vredand_vs_i32mf2_i32m1_m:
10492case RISCV::BI__builtin_rvv_vredand_vs_i64m1_i64m1_m:
10493case RISCV::BI__builtin_rvv_vredand_vs_i64m2_i64m1_m:
10494case RISCV::BI__builtin_rvv_vredand_vs_i64m4_i64m1_m:
10495case RISCV::BI__builtin_rvv_vredand_vs_i64m8_i64m1_m:
10496case RISCV::BI__builtin_rvv_vredand_vs_u8m1_u8m1_m:
10497case RISCV::BI__builtin_rvv_vredand_vs_u8m2_u8m1_m:
10498case RISCV::BI__builtin_rvv_vredand_vs_u8m4_u8m1_m:
10499case RISCV::BI__builtin_rvv_vredand_vs_u8m8_u8m1_m:
10500case RISCV::BI__builtin_rvv_vredand_vs_u8mf2_u8m1_m:
10501case RISCV::BI__builtin_rvv_vredand_vs_u8mf4_u8m1_m:
10502case RISCV::BI__builtin_rvv_vredand_vs_u8mf8_u8m1_m:
10503case RISCV::BI__builtin_rvv_vredand_vs_u16m1_u16m1_m:
10504case RISCV::BI__builtin_rvv_vredand_vs_u16m2_u16m1_m:
10505case RISCV::BI__builtin_rvv_vredand_vs_u16m4_u16m1_m:
10506case RISCV::BI__builtin_rvv_vredand_vs_u16m8_u16m1_m:
10507case RISCV::BI__builtin_rvv_vredand_vs_u16mf2_u16m1_m:
10508case RISCV::BI__builtin_rvv_vredand_vs_u16mf4_u16m1_m:
10509case RISCV::BI__builtin_rvv_vredand_vs_u32m1_u32m1_m:
10510case RISCV::BI__builtin_rvv_vredand_vs_u32m2_u32m1_m:
10511case RISCV::BI__builtin_rvv_vredand_vs_u32m4_u32m1_m:
10512case RISCV::BI__builtin_rvv_vredand_vs_u32m8_u32m1_m:
10513case RISCV::BI__builtin_rvv_vredand_vs_u32mf2_u32m1_m:
10514case RISCV::BI__builtin_rvv_vredand_vs_u64m1_u64m1_m:
10515case RISCV::BI__builtin_rvv_vredand_vs_u64m2_u64m1_m:
10516case RISCV::BI__builtin_rvv_vredand_vs_u64m4_u64m1_m:
10517case RISCV::BI__builtin_rvv_vredand_vs_u64m8_u64m1_m:
10518 ID = Intrinsic::riscv_vredand_mask;
10519 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
10520 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10521 break;
10522case RISCV::BI__builtin_rvv_vredmax_vs_i8m1_i8m1:
10523case RISCV::BI__builtin_rvv_vredmax_vs_i8m2_i8m1:
10524case RISCV::BI__builtin_rvv_vredmax_vs_i8m4_i8m1:
10525case RISCV::BI__builtin_rvv_vredmax_vs_i8m8_i8m1:
10526case RISCV::BI__builtin_rvv_vredmax_vs_i8mf2_i8m1:
10527case RISCV::BI__builtin_rvv_vredmax_vs_i8mf4_i8m1:
10528case RISCV::BI__builtin_rvv_vredmax_vs_i8mf8_i8m1:
10529case RISCV::BI__builtin_rvv_vredmax_vs_i16m1_i16m1:
10530case RISCV::BI__builtin_rvv_vredmax_vs_i16m2_i16m1:
10531case RISCV::BI__builtin_rvv_vredmax_vs_i16m4_i16m1:
10532case RISCV::BI__builtin_rvv_vredmax_vs_i16m8_i16m1:
10533case RISCV::BI__builtin_rvv_vredmax_vs_i16mf2_i16m1:
10534case RISCV::BI__builtin_rvv_vredmax_vs_i16mf4_i16m1:
10535case RISCV::BI__builtin_rvv_vredmax_vs_i32m1_i32m1:
10536case RISCV::BI__builtin_rvv_vredmax_vs_i32m2_i32m1:
10537case RISCV::BI__builtin_rvv_vredmax_vs_i32m4_i32m1:
10538case RISCV::BI__builtin_rvv_vredmax_vs_i32m8_i32m1:
10539case RISCV::BI__builtin_rvv_vredmax_vs_i32mf2_i32m1:
10540case RISCV::BI__builtin_rvv_vredmax_vs_i64m1_i64m1:
10541case RISCV::BI__builtin_rvv_vredmax_vs_i64m2_i64m1:
10542case RISCV::BI__builtin_rvv_vredmax_vs_i64m4_i64m1:
10543case RISCV::BI__builtin_rvv_vredmax_vs_i64m8_i64m1:
10544 ID = Intrinsic::riscv_vredmax;
10545 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10546 break;
10547case RISCV::BI__builtin_rvv_vredmax_vs_i8m1_i8m1_m:
10548case RISCV::BI__builtin_rvv_vredmax_vs_i8m2_i8m1_m:
10549case RISCV::BI__builtin_rvv_vredmax_vs_i8m4_i8m1_m:
10550case RISCV::BI__builtin_rvv_vredmax_vs_i8m8_i8m1_m:
10551case RISCV::BI__builtin_rvv_vredmax_vs_i8mf2_i8m1_m:
10552case RISCV::BI__builtin_rvv_vredmax_vs_i8mf4_i8m1_m:
10553case RISCV::BI__builtin_rvv_vredmax_vs_i8mf8_i8m1_m:
10554case RISCV::BI__builtin_rvv_vredmax_vs_i16m1_i16m1_m:
10555case RISCV::BI__builtin_rvv_vredmax_vs_i16m2_i16m1_m:
10556case RISCV::BI__builtin_rvv_vredmax_vs_i16m4_i16m1_m:
10557case RISCV::BI__builtin_rvv_vredmax_vs_i16m8_i16m1_m:
10558case RISCV::BI__builtin_rvv_vredmax_vs_i16mf2_i16m1_m:
10559case RISCV::BI__builtin_rvv_vredmax_vs_i16mf4_i16m1_m:
10560case RISCV::BI__builtin_rvv_vredmax_vs_i32m1_i32m1_m:
10561case RISCV::BI__builtin_rvv_vredmax_vs_i32m2_i32m1_m:
10562case RISCV::BI__builtin_rvv_vredmax_vs_i32m4_i32m1_m:
10563case RISCV::BI__builtin_rvv_vredmax_vs_i32m8_i32m1_m:
10564case RISCV::BI__builtin_rvv_vredmax_vs_i32mf2_i32m1_m:
10565case RISCV::BI__builtin_rvv_vredmax_vs_i64m1_i64m1_m:
10566case RISCV::BI__builtin_rvv_vredmax_vs_i64m2_i64m1_m:
10567case RISCV::BI__builtin_rvv_vredmax_vs_i64m4_i64m1_m:
10568case RISCV::BI__builtin_rvv_vredmax_vs_i64m8_i64m1_m:
10569 ID = Intrinsic::riscv_vredmax_mask;
10570 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
10571 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10572 break;
10573case RISCV::BI__builtin_rvv_vredmaxu_vs_u8m1_u8m1:
10574case RISCV::BI__builtin_rvv_vredmaxu_vs_u8m2_u8m1:
10575case RISCV::BI__builtin_rvv_vredmaxu_vs_u8m4_u8m1:
10576case RISCV::BI__builtin_rvv_vredmaxu_vs_u8m8_u8m1:
10577case RISCV::BI__builtin_rvv_vredmaxu_vs_u8mf2_u8m1:
10578case RISCV::BI__builtin_rvv_vredmaxu_vs_u8mf4_u8m1:
10579case RISCV::BI__builtin_rvv_vredmaxu_vs_u8mf8_u8m1:
10580case RISCV::BI__builtin_rvv_vredmaxu_vs_u16m1_u16m1:
10581case RISCV::BI__builtin_rvv_vredmaxu_vs_u16m2_u16m1:
10582case RISCV::BI__builtin_rvv_vredmaxu_vs_u16m4_u16m1:
10583case RISCV::BI__builtin_rvv_vredmaxu_vs_u16m8_u16m1:
10584case RISCV::BI__builtin_rvv_vredmaxu_vs_u16mf2_u16m1:
10585case RISCV::BI__builtin_rvv_vredmaxu_vs_u16mf4_u16m1:
10586case RISCV::BI__builtin_rvv_vredmaxu_vs_u32m1_u32m1:
10587case RISCV::BI__builtin_rvv_vredmaxu_vs_u32m2_u32m1:
10588case RISCV::BI__builtin_rvv_vredmaxu_vs_u32m4_u32m1:
10589case RISCV::BI__builtin_rvv_vredmaxu_vs_u32m8_u32m1:
10590case RISCV::BI__builtin_rvv_vredmaxu_vs_u32mf2_u32m1:
10591case RISCV::BI__builtin_rvv_vredmaxu_vs_u64m1_u64m1:
10592case RISCV::BI__builtin_rvv_vredmaxu_vs_u64m2_u64m1:
10593case RISCV::BI__builtin_rvv_vredmaxu_vs_u64m4_u64m1:
10594case RISCV::BI__builtin_rvv_vredmaxu_vs_u64m8_u64m1:
10595 ID = Intrinsic::riscv_vredmaxu;
10596 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10597 break;
10598case RISCV::BI__builtin_rvv_vredmaxu_vs_u8m1_u8m1_m:
10599case RISCV::BI__builtin_rvv_vredmaxu_vs_u8m2_u8m1_m:
10600case RISCV::BI__builtin_rvv_vredmaxu_vs_u8m4_u8m1_m:
10601case RISCV::BI__builtin_rvv_vredmaxu_vs_u8m8_u8m1_m:
10602case RISCV::BI__builtin_rvv_vredmaxu_vs_u8mf2_u8m1_m:
10603case RISCV::BI__builtin_rvv_vredmaxu_vs_u8mf4_u8m1_m:
10604case RISCV::BI__builtin_rvv_vredmaxu_vs_u8mf8_u8m1_m:
10605case RISCV::BI__builtin_rvv_vredmaxu_vs_u16m1_u16m1_m:
10606case RISCV::BI__builtin_rvv_vredmaxu_vs_u16m2_u16m1_m:
10607case RISCV::BI__builtin_rvv_vredmaxu_vs_u16m4_u16m1_m:
10608case RISCV::BI__builtin_rvv_vredmaxu_vs_u16m8_u16m1_m:
10609case RISCV::BI__builtin_rvv_vredmaxu_vs_u16mf2_u16m1_m:
10610case RISCV::BI__builtin_rvv_vredmaxu_vs_u16mf4_u16m1_m:
10611case RISCV::BI__builtin_rvv_vredmaxu_vs_u32m1_u32m1_m:
10612case RISCV::BI__builtin_rvv_vredmaxu_vs_u32m2_u32m1_m:
10613case RISCV::BI__builtin_rvv_vredmaxu_vs_u32m4_u32m1_m:
10614case RISCV::BI__builtin_rvv_vredmaxu_vs_u32m8_u32m1_m:
10615case RISCV::BI__builtin_rvv_vredmaxu_vs_u32mf2_u32m1_m:
10616case RISCV::BI__builtin_rvv_vredmaxu_vs_u64m1_u64m1_m:
10617case RISCV::BI__builtin_rvv_vredmaxu_vs_u64m2_u64m1_m:
10618case RISCV::BI__builtin_rvv_vredmaxu_vs_u64m4_u64m1_m:
10619case RISCV::BI__builtin_rvv_vredmaxu_vs_u64m8_u64m1_m:
10620 ID = Intrinsic::riscv_vredmaxu_mask;
10621 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
10622 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10623 break;
10624case RISCV::BI__builtin_rvv_vredmin_vs_i8m1_i8m1:
10625case RISCV::BI__builtin_rvv_vredmin_vs_i8m2_i8m1:
10626case RISCV::BI__builtin_rvv_vredmin_vs_i8m4_i8m1:
10627case RISCV::BI__builtin_rvv_vredmin_vs_i8m8_i8m1:
10628case RISCV::BI__builtin_rvv_vredmin_vs_i8mf2_i8m1:
10629case RISCV::BI__builtin_rvv_vredmin_vs_i8mf4_i8m1:
10630case RISCV::BI__builtin_rvv_vredmin_vs_i8mf8_i8m1:
10631case RISCV::BI__builtin_rvv_vredmin_vs_i16m1_i16m1:
10632case RISCV::BI__builtin_rvv_vredmin_vs_i16m2_i16m1:
10633case RISCV::BI__builtin_rvv_vredmin_vs_i16m4_i16m1:
10634case RISCV::BI__builtin_rvv_vredmin_vs_i16m8_i16m1:
10635case RISCV::BI__builtin_rvv_vredmin_vs_i16mf2_i16m1:
10636case RISCV::BI__builtin_rvv_vredmin_vs_i16mf4_i16m1:
10637case RISCV::BI__builtin_rvv_vredmin_vs_i32m1_i32m1:
10638case RISCV::BI__builtin_rvv_vredmin_vs_i32m2_i32m1:
10639case RISCV::BI__builtin_rvv_vredmin_vs_i32m4_i32m1:
10640case RISCV::BI__builtin_rvv_vredmin_vs_i32m8_i32m1:
10641case RISCV::BI__builtin_rvv_vredmin_vs_i32mf2_i32m1:
10642case RISCV::BI__builtin_rvv_vredmin_vs_i64m1_i64m1:
10643case RISCV::BI__builtin_rvv_vredmin_vs_i64m2_i64m1:
10644case RISCV::BI__builtin_rvv_vredmin_vs_i64m4_i64m1:
10645case RISCV::BI__builtin_rvv_vredmin_vs_i64m8_i64m1:
10646 ID = Intrinsic::riscv_vredmin;
10647 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10648 break;
10649case RISCV::BI__builtin_rvv_vredmin_vs_i8m1_i8m1_m:
10650case RISCV::BI__builtin_rvv_vredmin_vs_i8m2_i8m1_m:
10651case RISCV::BI__builtin_rvv_vredmin_vs_i8m4_i8m1_m:
10652case RISCV::BI__builtin_rvv_vredmin_vs_i8m8_i8m1_m:
10653case RISCV::BI__builtin_rvv_vredmin_vs_i8mf2_i8m1_m:
10654case RISCV::BI__builtin_rvv_vredmin_vs_i8mf4_i8m1_m:
10655case RISCV::BI__builtin_rvv_vredmin_vs_i8mf8_i8m1_m:
10656case RISCV::BI__builtin_rvv_vredmin_vs_i16m1_i16m1_m:
10657case RISCV::BI__builtin_rvv_vredmin_vs_i16m2_i16m1_m:
10658case RISCV::BI__builtin_rvv_vredmin_vs_i16m4_i16m1_m:
10659case RISCV::BI__builtin_rvv_vredmin_vs_i16m8_i16m1_m:
10660case RISCV::BI__builtin_rvv_vredmin_vs_i16mf2_i16m1_m:
10661case RISCV::BI__builtin_rvv_vredmin_vs_i16mf4_i16m1_m:
10662case RISCV::BI__builtin_rvv_vredmin_vs_i32m1_i32m1_m:
10663case RISCV::BI__builtin_rvv_vredmin_vs_i32m2_i32m1_m:
10664case RISCV::BI__builtin_rvv_vredmin_vs_i32m4_i32m1_m:
10665case RISCV::BI__builtin_rvv_vredmin_vs_i32m8_i32m1_m:
10666case RISCV::BI__builtin_rvv_vredmin_vs_i32mf2_i32m1_m:
10667case RISCV::BI__builtin_rvv_vredmin_vs_i64m1_i64m1_m:
10668case RISCV::BI__builtin_rvv_vredmin_vs_i64m2_i64m1_m:
10669case RISCV::BI__builtin_rvv_vredmin_vs_i64m4_i64m1_m:
10670case RISCV::BI__builtin_rvv_vredmin_vs_i64m8_i64m1_m:
10671 ID = Intrinsic::riscv_vredmin_mask;
10672 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
10673 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10674 break;
10675case RISCV::BI__builtin_rvv_vredminu_vs_u8m1_u8m1:
10676case RISCV::BI__builtin_rvv_vredminu_vs_u8m2_u8m1:
10677case RISCV::BI__builtin_rvv_vredminu_vs_u8m4_u8m1:
10678case RISCV::BI__builtin_rvv_vredminu_vs_u8m8_u8m1:
10679case RISCV::BI__builtin_rvv_vredminu_vs_u8mf2_u8m1:
10680case RISCV::BI__builtin_rvv_vredminu_vs_u8mf4_u8m1:
10681case RISCV::BI__builtin_rvv_vredminu_vs_u8mf8_u8m1:
10682case RISCV::BI__builtin_rvv_vredminu_vs_u16m1_u16m1:
10683case RISCV::BI__builtin_rvv_vredminu_vs_u16m2_u16m1:
10684case RISCV::BI__builtin_rvv_vredminu_vs_u16m4_u16m1:
10685case RISCV::BI__builtin_rvv_vredminu_vs_u16m8_u16m1:
10686case RISCV::BI__builtin_rvv_vredminu_vs_u16mf2_u16m1:
10687case RISCV::BI__builtin_rvv_vredminu_vs_u16mf4_u16m1:
10688case RISCV::BI__builtin_rvv_vredminu_vs_u32m1_u32m1:
10689case RISCV::BI__builtin_rvv_vredminu_vs_u32m2_u32m1:
10690case RISCV::BI__builtin_rvv_vredminu_vs_u32m4_u32m1:
10691case RISCV::BI__builtin_rvv_vredminu_vs_u32m8_u32m1:
10692case RISCV::BI__builtin_rvv_vredminu_vs_u32mf2_u32m1:
10693case RISCV::BI__builtin_rvv_vredminu_vs_u64m1_u64m1:
10694case RISCV::BI__builtin_rvv_vredminu_vs_u64m2_u64m1:
10695case RISCV::BI__builtin_rvv_vredminu_vs_u64m4_u64m1:
10696case RISCV::BI__builtin_rvv_vredminu_vs_u64m8_u64m1:
10697 ID = Intrinsic::riscv_vredminu;
10698 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10699 break;
10700case RISCV::BI__builtin_rvv_vredminu_vs_u8m1_u8m1_m:
10701case RISCV::BI__builtin_rvv_vredminu_vs_u8m2_u8m1_m:
10702case RISCV::BI__builtin_rvv_vredminu_vs_u8m4_u8m1_m:
10703case RISCV::BI__builtin_rvv_vredminu_vs_u8m8_u8m1_m:
10704case RISCV::BI__builtin_rvv_vredminu_vs_u8mf2_u8m1_m:
10705case RISCV::BI__builtin_rvv_vredminu_vs_u8mf4_u8m1_m:
10706case RISCV::BI__builtin_rvv_vredminu_vs_u8mf8_u8m1_m:
10707case RISCV::BI__builtin_rvv_vredminu_vs_u16m1_u16m1_m:
10708case RISCV::BI__builtin_rvv_vredminu_vs_u16m2_u16m1_m:
10709case RISCV::BI__builtin_rvv_vredminu_vs_u16m4_u16m1_m:
10710case RISCV::BI__builtin_rvv_vredminu_vs_u16m8_u16m1_m:
10711case RISCV::BI__builtin_rvv_vredminu_vs_u16mf2_u16m1_m:
10712case RISCV::BI__builtin_rvv_vredminu_vs_u16mf4_u16m1_m:
10713case RISCV::BI__builtin_rvv_vredminu_vs_u32m1_u32m1_m:
10714case RISCV::BI__builtin_rvv_vredminu_vs_u32m2_u32m1_m:
10715case RISCV::BI__builtin_rvv_vredminu_vs_u32m4_u32m1_m:
10716case RISCV::BI__builtin_rvv_vredminu_vs_u32m8_u32m1_m:
10717case RISCV::BI__builtin_rvv_vredminu_vs_u32mf2_u32m1_m:
10718case RISCV::BI__builtin_rvv_vredminu_vs_u64m1_u64m1_m:
10719case RISCV::BI__builtin_rvv_vredminu_vs_u64m2_u64m1_m:
10720case RISCV::BI__builtin_rvv_vredminu_vs_u64m4_u64m1_m:
10721case RISCV::BI__builtin_rvv_vredminu_vs_u64m8_u64m1_m:
10722 ID = Intrinsic::riscv_vredminu_mask;
10723 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
10724 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10725 break;
10726case RISCV::BI__builtin_rvv_vredor_vs_i8m1_i8m1:
10727case RISCV::BI__builtin_rvv_vredor_vs_i8m2_i8m1:
10728case RISCV::BI__builtin_rvv_vredor_vs_i8m4_i8m1:
10729case RISCV::BI__builtin_rvv_vredor_vs_i8m8_i8m1:
10730case RISCV::BI__builtin_rvv_vredor_vs_i8mf2_i8m1:
10731case RISCV::BI__builtin_rvv_vredor_vs_i8mf4_i8m1:
10732case RISCV::BI__builtin_rvv_vredor_vs_i8mf8_i8m1:
10733case RISCV::BI__builtin_rvv_vredor_vs_i16m1_i16m1:
10734case RISCV::BI__builtin_rvv_vredor_vs_i16m2_i16m1:
10735case RISCV::BI__builtin_rvv_vredor_vs_i16m4_i16m1:
10736case RISCV::BI__builtin_rvv_vredor_vs_i16m8_i16m1:
10737case RISCV::BI__builtin_rvv_vredor_vs_i16mf2_i16m1:
10738case RISCV::BI__builtin_rvv_vredor_vs_i16mf4_i16m1:
10739case RISCV::BI__builtin_rvv_vredor_vs_i32m1_i32m1:
10740case RISCV::BI__builtin_rvv_vredor_vs_i32m2_i32m1:
10741case RISCV::BI__builtin_rvv_vredor_vs_i32m4_i32m1:
10742case RISCV::BI__builtin_rvv_vredor_vs_i32m8_i32m1:
10743case RISCV::BI__builtin_rvv_vredor_vs_i32mf2_i32m1:
10744case RISCV::BI__builtin_rvv_vredor_vs_i64m1_i64m1:
10745case RISCV::BI__builtin_rvv_vredor_vs_i64m2_i64m1:
10746case RISCV::BI__builtin_rvv_vredor_vs_i64m4_i64m1:
10747case RISCV::BI__builtin_rvv_vredor_vs_i64m8_i64m1:
10748case RISCV::BI__builtin_rvv_vredor_vs_u8m1_u8m1:
10749case RISCV::BI__builtin_rvv_vredor_vs_u8m2_u8m1:
10750case RISCV::BI__builtin_rvv_vredor_vs_u8m4_u8m1:
10751case RISCV::BI__builtin_rvv_vredor_vs_u8m8_u8m1:
10752case RISCV::BI__builtin_rvv_vredor_vs_u8mf2_u8m1:
10753case RISCV::BI__builtin_rvv_vredor_vs_u8mf4_u8m1:
10754case RISCV::BI__builtin_rvv_vredor_vs_u8mf8_u8m1:
10755case RISCV::BI__builtin_rvv_vredor_vs_u16m1_u16m1:
10756case RISCV::BI__builtin_rvv_vredor_vs_u16m2_u16m1:
10757case RISCV::BI__builtin_rvv_vredor_vs_u16m4_u16m1:
10758case RISCV::BI__builtin_rvv_vredor_vs_u16m8_u16m1:
10759case RISCV::BI__builtin_rvv_vredor_vs_u16mf2_u16m1:
10760case RISCV::BI__builtin_rvv_vredor_vs_u16mf4_u16m1:
10761case RISCV::BI__builtin_rvv_vredor_vs_u32m1_u32m1:
10762case RISCV::BI__builtin_rvv_vredor_vs_u32m2_u32m1:
10763case RISCV::BI__builtin_rvv_vredor_vs_u32m4_u32m1:
10764case RISCV::BI__builtin_rvv_vredor_vs_u32m8_u32m1:
10765case RISCV::BI__builtin_rvv_vredor_vs_u32mf2_u32m1:
10766case RISCV::BI__builtin_rvv_vredor_vs_u64m1_u64m1:
10767case RISCV::BI__builtin_rvv_vredor_vs_u64m2_u64m1:
10768case RISCV::BI__builtin_rvv_vredor_vs_u64m4_u64m1:
10769case RISCV::BI__builtin_rvv_vredor_vs_u64m8_u64m1:
10770 ID = Intrinsic::riscv_vredor;
10771 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10772 break;
10773case RISCV::BI__builtin_rvv_vredor_vs_i8m1_i8m1_m:
10774case RISCV::BI__builtin_rvv_vredor_vs_i8m2_i8m1_m:
10775case RISCV::BI__builtin_rvv_vredor_vs_i8m4_i8m1_m:
10776case RISCV::BI__builtin_rvv_vredor_vs_i8m8_i8m1_m:
10777case RISCV::BI__builtin_rvv_vredor_vs_i8mf2_i8m1_m:
10778case RISCV::BI__builtin_rvv_vredor_vs_i8mf4_i8m1_m:
10779case RISCV::BI__builtin_rvv_vredor_vs_i8mf8_i8m1_m:
10780case RISCV::BI__builtin_rvv_vredor_vs_i16m1_i16m1_m:
10781case RISCV::BI__builtin_rvv_vredor_vs_i16m2_i16m1_m:
10782case RISCV::BI__builtin_rvv_vredor_vs_i16m4_i16m1_m:
10783case RISCV::BI__builtin_rvv_vredor_vs_i16m8_i16m1_m:
10784case RISCV::BI__builtin_rvv_vredor_vs_i16mf2_i16m1_m:
10785case RISCV::BI__builtin_rvv_vredor_vs_i16mf4_i16m1_m:
10786case RISCV::BI__builtin_rvv_vredor_vs_i32m1_i32m1_m:
10787case RISCV::BI__builtin_rvv_vredor_vs_i32m2_i32m1_m:
10788case RISCV::BI__builtin_rvv_vredor_vs_i32m4_i32m1_m:
10789case RISCV::BI__builtin_rvv_vredor_vs_i32m8_i32m1_m:
10790case RISCV::BI__builtin_rvv_vredor_vs_i32mf2_i32m1_m:
10791case RISCV::BI__builtin_rvv_vredor_vs_i64m1_i64m1_m:
10792case RISCV::BI__builtin_rvv_vredor_vs_i64m2_i64m1_m:
10793case RISCV::BI__builtin_rvv_vredor_vs_i64m4_i64m1_m:
10794case RISCV::BI__builtin_rvv_vredor_vs_i64m8_i64m1_m:
10795case RISCV::BI__builtin_rvv_vredor_vs_u8m1_u8m1_m:
10796case RISCV::BI__builtin_rvv_vredor_vs_u8m2_u8m1_m:
10797case RISCV::BI__builtin_rvv_vredor_vs_u8m4_u8m1_m:
10798case RISCV::BI__builtin_rvv_vredor_vs_u8m8_u8m1_m:
10799case RISCV::BI__builtin_rvv_vredor_vs_u8mf2_u8m1_m:
10800case RISCV::BI__builtin_rvv_vredor_vs_u8mf4_u8m1_m:
10801case RISCV::BI__builtin_rvv_vredor_vs_u8mf8_u8m1_m:
10802case RISCV::BI__builtin_rvv_vredor_vs_u16m1_u16m1_m:
10803case RISCV::BI__builtin_rvv_vredor_vs_u16m2_u16m1_m:
10804case RISCV::BI__builtin_rvv_vredor_vs_u16m4_u16m1_m:
10805case RISCV::BI__builtin_rvv_vredor_vs_u16m8_u16m1_m:
10806case RISCV::BI__builtin_rvv_vredor_vs_u16mf2_u16m1_m:
10807case RISCV::BI__builtin_rvv_vredor_vs_u16mf4_u16m1_m:
10808case RISCV::BI__builtin_rvv_vredor_vs_u32m1_u32m1_m:
10809case RISCV::BI__builtin_rvv_vredor_vs_u32m2_u32m1_m:
10810case RISCV::BI__builtin_rvv_vredor_vs_u32m4_u32m1_m:
10811case RISCV::BI__builtin_rvv_vredor_vs_u32m8_u32m1_m:
10812case RISCV::BI__builtin_rvv_vredor_vs_u32mf2_u32m1_m:
10813case RISCV::BI__builtin_rvv_vredor_vs_u64m1_u64m1_m:
10814case RISCV::BI__builtin_rvv_vredor_vs_u64m2_u64m1_m:
10815case RISCV::BI__builtin_rvv_vredor_vs_u64m4_u64m1_m:
10816case RISCV::BI__builtin_rvv_vredor_vs_u64m8_u64m1_m:
10817 ID = Intrinsic::riscv_vredor_mask;
10818 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
10819 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10820 break;
10821case RISCV::BI__builtin_rvv_vredsum_vs_i8m1_i8m1:
10822case RISCV::BI__builtin_rvv_vredsum_vs_i8m2_i8m1:
10823case RISCV::BI__builtin_rvv_vredsum_vs_i8m4_i8m1:
10824case RISCV::BI__builtin_rvv_vredsum_vs_i8m8_i8m1:
10825case RISCV::BI__builtin_rvv_vredsum_vs_i8mf2_i8m1:
10826case RISCV::BI__builtin_rvv_vredsum_vs_i8mf4_i8m1:
10827case RISCV::BI__builtin_rvv_vredsum_vs_i8mf8_i8m1:
10828case RISCV::BI__builtin_rvv_vredsum_vs_i16m1_i16m1:
10829case RISCV::BI__builtin_rvv_vredsum_vs_i16m2_i16m1:
10830case RISCV::BI__builtin_rvv_vredsum_vs_i16m4_i16m1:
10831case RISCV::BI__builtin_rvv_vredsum_vs_i16m8_i16m1:
10832case RISCV::BI__builtin_rvv_vredsum_vs_i16mf2_i16m1:
10833case RISCV::BI__builtin_rvv_vredsum_vs_i16mf4_i16m1:
10834case RISCV::BI__builtin_rvv_vredsum_vs_i32m1_i32m1:
10835case RISCV::BI__builtin_rvv_vredsum_vs_i32m2_i32m1:
10836case RISCV::BI__builtin_rvv_vredsum_vs_i32m4_i32m1:
10837case RISCV::BI__builtin_rvv_vredsum_vs_i32m8_i32m1:
10838case RISCV::BI__builtin_rvv_vredsum_vs_i32mf2_i32m1:
10839case RISCV::BI__builtin_rvv_vredsum_vs_i64m1_i64m1:
10840case RISCV::BI__builtin_rvv_vredsum_vs_i64m2_i64m1:
10841case RISCV::BI__builtin_rvv_vredsum_vs_i64m4_i64m1:
10842case RISCV::BI__builtin_rvv_vredsum_vs_i64m8_i64m1:
10843case RISCV::BI__builtin_rvv_vredsum_vs_u8m1_u8m1:
10844case RISCV::BI__builtin_rvv_vredsum_vs_u8m2_u8m1:
10845case RISCV::BI__builtin_rvv_vredsum_vs_u8m4_u8m1:
10846case RISCV::BI__builtin_rvv_vredsum_vs_u8m8_u8m1:
10847case RISCV::BI__builtin_rvv_vredsum_vs_u8mf2_u8m1:
10848case RISCV::BI__builtin_rvv_vredsum_vs_u8mf4_u8m1:
10849case RISCV::BI__builtin_rvv_vredsum_vs_u8mf8_u8m1:
10850case RISCV::BI__builtin_rvv_vredsum_vs_u16m1_u16m1:
10851case RISCV::BI__builtin_rvv_vredsum_vs_u16m2_u16m1:
10852case RISCV::BI__builtin_rvv_vredsum_vs_u16m4_u16m1:
10853case RISCV::BI__builtin_rvv_vredsum_vs_u16m8_u16m1:
10854case RISCV::BI__builtin_rvv_vredsum_vs_u16mf2_u16m1:
10855case RISCV::BI__builtin_rvv_vredsum_vs_u16mf4_u16m1:
10856case RISCV::BI__builtin_rvv_vredsum_vs_u32m1_u32m1:
10857case RISCV::BI__builtin_rvv_vredsum_vs_u32m2_u32m1:
10858case RISCV::BI__builtin_rvv_vredsum_vs_u32m4_u32m1:
10859case RISCV::BI__builtin_rvv_vredsum_vs_u32m8_u32m1:
10860case RISCV::BI__builtin_rvv_vredsum_vs_u32mf2_u32m1:
10861case RISCV::BI__builtin_rvv_vredsum_vs_u64m1_u64m1:
10862case RISCV::BI__builtin_rvv_vredsum_vs_u64m2_u64m1:
10863case RISCV::BI__builtin_rvv_vredsum_vs_u64m4_u64m1:
10864case RISCV::BI__builtin_rvv_vredsum_vs_u64m8_u64m1:
10865 ID = Intrinsic::riscv_vredsum;
10866 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10867 break;
10868case RISCV::BI__builtin_rvv_vredsum_vs_i8m1_i8m1_m:
10869case RISCV::BI__builtin_rvv_vredsum_vs_i8m2_i8m1_m:
10870case RISCV::BI__builtin_rvv_vredsum_vs_i8m4_i8m1_m:
10871case RISCV::BI__builtin_rvv_vredsum_vs_i8m8_i8m1_m:
10872case RISCV::BI__builtin_rvv_vredsum_vs_i8mf2_i8m1_m:
10873case RISCV::BI__builtin_rvv_vredsum_vs_i8mf4_i8m1_m:
10874case RISCV::BI__builtin_rvv_vredsum_vs_i8mf8_i8m1_m:
10875case RISCV::BI__builtin_rvv_vredsum_vs_i16m1_i16m1_m:
10876case RISCV::BI__builtin_rvv_vredsum_vs_i16m2_i16m1_m:
10877case RISCV::BI__builtin_rvv_vredsum_vs_i16m4_i16m1_m:
10878case RISCV::BI__builtin_rvv_vredsum_vs_i16m8_i16m1_m:
10879case RISCV::BI__builtin_rvv_vredsum_vs_i16mf2_i16m1_m:
10880case RISCV::BI__builtin_rvv_vredsum_vs_i16mf4_i16m1_m:
10881case RISCV::BI__builtin_rvv_vredsum_vs_i32m1_i32m1_m:
10882case RISCV::BI__builtin_rvv_vredsum_vs_i32m2_i32m1_m:
10883case RISCV::BI__builtin_rvv_vredsum_vs_i32m4_i32m1_m:
10884case RISCV::BI__builtin_rvv_vredsum_vs_i32m8_i32m1_m:
10885case RISCV::BI__builtin_rvv_vredsum_vs_i32mf2_i32m1_m:
10886case RISCV::BI__builtin_rvv_vredsum_vs_i64m1_i64m1_m:
10887case RISCV::BI__builtin_rvv_vredsum_vs_i64m2_i64m1_m:
10888case RISCV::BI__builtin_rvv_vredsum_vs_i64m4_i64m1_m:
10889case RISCV::BI__builtin_rvv_vredsum_vs_i64m8_i64m1_m:
10890case RISCV::BI__builtin_rvv_vredsum_vs_u8m1_u8m1_m:
10891case RISCV::BI__builtin_rvv_vredsum_vs_u8m2_u8m1_m:
10892case RISCV::BI__builtin_rvv_vredsum_vs_u8m4_u8m1_m:
10893case RISCV::BI__builtin_rvv_vredsum_vs_u8m8_u8m1_m:
10894case RISCV::BI__builtin_rvv_vredsum_vs_u8mf2_u8m1_m:
10895case RISCV::BI__builtin_rvv_vredsum_vs_u8mf4_u8m1_m:
10896case RISCV::BI__builtin_rvv_vredsum_vs_u8mf8_u8m1_m:
10897case RISCV::BI__builtin_rvv_vredsum_vs_u16m1_u16m1_m:
10898case RISCV::BI__builtin_rvv_vredsum_vs_u16m2_u16m1_m:
10899case RISCV::BI__builtin_rvv_vredsum_vs_u16m4_u16m1_m:
10900case RISCV::BI__builtin_rvv_vredsum_vs_u16m8_u16m1_m:
10901case RISCV::BI__builtin_rvv_vredsum_vs_u16mf2_u16m1_m:
10902case RISCV::BI__builtin_rvv_vredsum_vs_u16mf4_u16m1_m:
10903case RISCV::BI__builtin_rvv_vredsum_vs_u32m1_u32m1_m:
10904case RISCV::BI__builtin_rvv_vredsum_vs_u32m2_u32m1_m:
10905case RISCV::BI__builtin_rvv_vredsum_vs_u32m4_u32m1_m:
10906case RISCV::BI__builtin_rvv_vredsum_vs_u32m8_u32m1_m:
10907case RISCV::BI__builtin_rvv_vredsum_vs_u32mf2_u32m1_m:
10908case RISCV::BI__builtin_rvv_vredsum_vs_u64m1_u64m1_m:
10909case RISCV::BI__builtin_rvv_vredsum_vs_u64m2_u64m1_m:
10910case RISCV::BI__builtin_rvv_vredsum_vs_u64m4_u64m1_m:
10911case RISCV::BI__builtin_rvv_vredsum_vs_u64m8_u64m1_m:
10912 ID = Intrinsic::riscv_vredsum_mask;
10913 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
10914 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10915 break;
10916case RISCV::BI__builtin_rvv_vredxor_vs_i8m1_i8m1:
10917case RISCV::BI__builtin_rvv_vredxor_vs_i8m2_i8m1:
10918case RISCV::BI__builtin_rvv_vredxor_vs_i8m4_i8m1:
10919case RISCV::BI__builtin_rvv_vredxor_vs_i8m8_i8m1:
10920case RISCV::BI__builtin_rvv_vredxor_vs_i8mf2_i8m1:
10921case RISCV::BI__builtin_rvv_vredxor_vs_i8mf4_i8m1:
10922case RISCV::BI__builtin_rvv_vredxor_vs_i8mf8_i8m1:
10923case RISCV::BI__builtin_rvv_vredxor_vs_i16m1_i16m1:
10924case RISCV::BI__builtin_rvv_vredxor_vs_i16m2_i16m1:
10925case RISCV::BI__builtin_rvv_vredxor_vs_i16m4_i16m1:
10926case RISCV::BI__builtin_rvv_vredxor_vs_i16m8_i16m1:
10927case RISCV::BI__builtin_rvv_vredxor_vs_i16mf2_i16m1:
10928case RISCV::BI__builtin_rvv_vredxor_vs_i16mf4_i16m1:
10929case RISCV::BI__builtin_rvv_vredxor_vs_i32m1_i32m1:
10930case RISCV::BI__builtin_rvv_vredxor_vs_i32m2_i32m1:
10931case RISCV::BI__builtin_rvv_vredxor_vs_i32m4_i32m1:
10932case RISCV::BI__builtin_rvv_vredxor_vs_i32m8_i32m1:
10933case RISCV::BI__builtin_rvv_vredxor_vs_i32mf2_i32m1:
10934case RISCV::BI__builtin_rvv_vredxor_vs_i64m1_i64m1:
10935case RISCV::BI__builtin_rvv_vredxor_vs_i64m2_i64m1:
10936case RISCV::BI__builtin_rvv_vredxor_vs_i64m4_i64m1:
10937case RISCV::BI__builtin_rvv_vredxor_vs_i64m8_i64m1:
10938case RISCV::BI__builtin_rvv_vredxor_vs_u8m1_u8m1:
10939case RISCV::BI__builtin_rvv_vredxor_vs_u8m2_u8m1:
10940case RISCV::BI__builtin_rvv_vredxor_vs_u8m4_u8m1:
10941case RISCV::BI__builtin_rvv_vredxor_vs_u8m8_u8m1:
10942case RISCV::BI__builtin_rvv_vredxor_vs_u8mf2_u8m1:
10943case RISCV::BI__builtin_rvv_vredxor_vs_u8mf4_u8m1:
10944case RISCV::BI__builtin_rvv_vredxor_vs_u8mf8_u8m1:
10945case RISCV::BI__builtin_rvv_vredxor_vs_u16m1_u16m1:
10946case RISCV::BI__builtin_rvv_vredxor_vs_u16m2_u16m1:
10947case RISCV::BI__builtin_rvv_vredxor_vs_u16m4_u16m1:
10948case RISCV::BI__builtin_rvv_vredxor_vs_u16m8_u16m1:
10949case RISCV::BI__builtin_rvv_vredxor_vs_u16mf2_u16m1:
10950case RISCV::BI__builtin_rvv_vredxor_vs_u16mf4_u16m1:
10951case RISCV::BI__builtin_rvv_vredxor_vs_u32m1_u32m1:
10952case RISCV::BI__builtin_rvv_vredxor_vs_u32m2_u32m1:
10953case RISCV::BI__builtin_rvv_vredxor_vs_u32m4_u32m1:
10954case RISCV::BI__builtin_rvv_vredxor_vs_u32m8_u32m1:
10955case RISCV::BI__builtin_rvv_vredxor_vs_u32mf2_u32m1:
10956case RISCV::BI__builtin_rvv_vredxor_vs_u64m1_u64m1:
10957case RISCV::BI__builtin_rvv_vredxor_vs_u64m2_u64m1:
10958case RISCV::BI__builtin_rvv_vredxor_vs_u64m4_u64m1:
10959case RISCV::BI__builtin_rvv_vredxor_vs_u64m8_u64m1:
10960 ID = Intrinsic::riscv_vredxor;
10961 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
10962 break;
10963case RISCV::BI__builtin_rvv_vredxor_vs_i8m1_i8m1_m:
10964case RISCV::BI__builtin_rvv_vredxor_vs_i8m2_i8m1_m:
10965case RISCV::BI__builtin_rvv_vredxor_vs_i8m4_i8m1_m:
10966case RISCV::BI__builtin_rvv_vredxor_vs_i8m8_i8m1_m:
10967case RISCV::BI__builtin_rvv_vredxor_vs_i8mf2_i8m1_m:
10968case RISCV::BI__builtin_rvv_vredxor_vs_i8mf4_i8m1_m:
10969case RISCV::BI__builtin_rvv_vredxor_vs_i8mf8_i8m1_m:
10970case RISCV::BI__builtin_rvv_vredxor_vs_i16m1_i16m1_m:
10971case RISCV::BI__builtin_rvv_vredxor_vs_i16m2_i16m1_m:
10972case RISCV::BI__builtin_rvv_vredxor_vs_i16m4_i16m1_m:
10973case RISCV::BI__builtin_rvv_vredxor_vs_i16m8_i16m1_m:
10974case RISCV::BI__builtin_rvv_vredxor_vs_i16mf2_i16m1_m:
10975case RISCV::BI__builtin_rvv_vredxor_vs_i16mf4_i16m1_m:
10976case RISCV::BI__builtin_rvv_vredxor_vs_i32m1_i32m1_m:
10977case RISCV::BI__builtin_rvv_vredxor_vs_i32m2_i32m1_m:
10978case RISCV::BI__builtin_rvv_vredxor_vs_i32m4_i32m1_m:
10979case RISCV::BI__builtin_rvv_vredxor_vs_i32m8_i32m1_m:
10980case RISCV::BI__builtin_rvv_vredxor_vs_i32mf2_i32m1_m:
10981case RISCV::BI__builtin_rvv_vredxor_vs_i64m1_i64m1_m:
10982case RISCV::BI__builtin_rvv_vredxor_vs_i64m2_i64m1_m:
10983case RISCV::BI__builtin_rvv_vredxor_vs_i64m4_i64m1_m:
10984case RISCV::BI__builtin_rvv_vredxor_vs_i64m8_i64m1_m:
10985case RISCV::BI__builtin_rvv_vredxor_vs_u8m1_u8m1_m:
10986case RISCV::BI__builtin_rvv_vredxor_vs_u8m2_u8m1_m:
10987case RISCV::BI__builtin_rvv_vredxor_vs_u8m4_u8m1_m:
10988case RISCV::BI__builtin_rvv_vredxor_vs_u8m8_u8m1_m:
10989case RISCV::BI__builtin_rvv_vredxor_vs_u8mf2_u8m1_m:
10990case RISCV::BI__builtin_rvv_vredxor_vs_u8mf4_u8m1_m:
10991case RISCV::BI__builtin_rvv_vredxor_vs_u8mf8_u8m1_m:
10992case RISCV::BI__builtin_rvv_vredxor_vs_u16m1_u16m1_m:
10993case RISCV::BI__builtin_rvv_vredxor_vs_u16m2_u16m1_m:
10994case RISCV::BI__builtin_rvv_vredxor_vs_u16m4_u16m1_m:
10995case RISCV::BI__builtin_rvv_vredxor_vs_u16m8_u16m1_m:
10996case RISCV::BI__builtin_rvv_vredxor_vs_u16mf2_u16m1_m:
10997case RISCV::BI__builtin_rvv_vredxor_vs_u16mf4_u16m1_m:
10998case RISCV::BI__builtin_rvv_vredxor_vs_u32m1_u32m1_m:
10999case RISCV::BI__builtin_rvv_vredxor_vs_u32m2_u32m1_m:
11000case RISCV::BI__builtin_rvv_vredxor_vs_u32m4_u32m1_m:
11001case RISCV::BI__builtin_rvv_vredxor_vs_u32m8_u32m1_m:
11002case RISCV::BI__builtin_rvv_vredxor_vs_u32mf2_u32m1_m:
11003case RISCV::BI__builtin_rvv_vredxor_vs_u64m1_u64m1_m:
11004case RISCV::BI__builtin_rvv_vredxor_vs_u64m2_u64m1_m:
11005case RISCV::BI__builtin_rvv_vredxor_vs_u64m4_u64m1_m:
11006case RISCV::BI__builtin_rvv_vredxor_vs_u64m8_u64m1_m:
11007 ID = Intrinsic::riscv_vredxor_mask;
11008 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
11009 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
11010 break;
11011case RISCV::BI__builtin_rvv_vrem_vv_i8m1:
11012case RISCV::BI__builtin_rvv_vrem_vv_i8m2:
11013case RISCV::BI__builtin_rvv_vrem_vv_i8m4:
11014case RISCV::BI__builtin_rvv_vrem_vv_i8m8:
11015case RISCV::BI__builtin_rvv_vrem_vv_i8mf2:
11016case RISCV::BI__builtin_rvv_vrem_vv_i8mf4:
11017case RISCV::BI__builtin_rvv_vrem_vv_i8mf8:
11018case RISCV::BI__builtin_rvv_vrem_vv_i16m1:
11019case RISCV::BI__builtin_rvv_vrem_vv_i16m2:
11020case RISCV::BI__builtin_rvv_vrem_vv_i16m4:
11021case RISCV::BI__builtin_rvv_vrem_vv_i16m8:
11022case RISCV::BI__builtin_rvv_vrem_vv_i16mf2:
11023case RISCV::BI__builtin_rvv_vrem_vv_i16mf4:
11024case RISCV::BI__builtin_rvv_vrem_vv_i32m1:
11025case RISCV::BI__builtin_rvv_vrem_vv_i32m2:
11026case RISCV::BI__builtin_rvv_vrem_vv_i32m4:
11027case RISCV::BI__builtin_rvv_vrem_vv_i32m8:
11028case RISCV::BI__builtin_rvv_vrem_vv_i32mf2:
11029case RISCV::BI__builtin_rvv_vrem_vv_i64m1:
11030case RISCV::BI__builtin_rvv_vrem_vv_i64m2:
11031case RISCV::BI__builtin_rvv_vrem_vv_i64m4:
11032case RISCV::BI__builtin_rvv_vrem_vv_i64m8:
11033case RISCV::BI__builtin_rvv_vrem_vx_i8m1:
11034case RISCV::BI__builtin_rvv_vrem_vx_i8m2:
11035case RISCV::BI__builtin_rvv_vrem_vx_i8m4:
11036case RISCV::BI__builtin_rvv_vrem_vx_i8m8:
11037case RISCV::BI__builtin_rvv_vrem_vx_i8mf2:
11038case RISCV::BI__builtin_rvv_vrem_vx_i8mf4:
11039case RISCV::BI__builtin_rvv_vrem_vx_i8mf8:
11040case RISCV::BI__builtin_rvv_vrem_vx_i16m1:
11041case RISCV::BI__builtin_rvv_vrem_vx_i16m2:
11042case RISCV::BI__builtin_rvv_vrem_vx_i16m4:
11043case RISCV::BI__builtin_rvv_vrem_vx_i16m8:
11044case RISCV::BI__builtin_rvv_vrem_vx_i16mf2:
11045case RISCV::BI__builtin_rvv_vrem_vx_i16mf4:
11046case RISCV::BI__builtin_rvv_vrem_vx_i32m1:
11047case RISCV::BI__builtin_rvv_vrem_vx_i32m2:
11048case RISCV::BI__builtin_rvv_vrem_vx_i32m4:
11049case RISCV::BI__builtin_rvv_vrem_vx_i32m8:
11050case RISCV::BI__builtin_rvv_vrem_vx_i32mf2:
11051case RISCV::BI__builtin_rvv_vrem_vx_i64m1:
11052case RISCV::BI__builtin_rvv_vrem_vx_i64m2:
11053case RISCV::BI__builtin_rvv_vrem_vx_i64m4:
11054case RISCV::BI__builtin_rvv_vrem_vx_i64m8:
11055 ID = Intrinsic::riscv_vrem;
11056 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
11057 break;
11058case RISCV::BI__builtin_rvv_vrem_vv_i8m1_m:
11059case RISCV::BI__builtin_rvv_vrem_vv_i8m2_m:
11060case RISCV::BI__builtin_rvv_vrem_vv_i8m4_m:
11061case RISCV::BI__builtin_rvv_vrem_vv_i8m8_m:
11062case RISCV::BI__builtin_rvv_vrem_vv_i8mf2_m:
11063case RISCV::BI__builtin_rvv_vrem_vv_i8mf4_m:
11064case RISCV::BI__builtin_rvv_vrem_vv_i8mf8_m:
11065case RISCV::BI__builtin_rvv_vrem_vv_i16m1_m:
11066case RISCV::BI__builtin_rvv_vrem_vv_i16m2_m:
11067case RISCV::BI__builtin_rvv_vrem_vv_i16m4_m:
11068case RISCV::BI__builtin_rvv_vrem_vv_i16m8_m:
11069case RISCV::BI__builtin_rvv_vrem_vv_i16mf2_m:
11070case RISCV::BI__builtin_rvv_vrem_vv_i16mf4_m:
11071case RISCV::BI__builtin_rvv_vrem_vv_i32m1_m:
11072case RISCV::BI__builtin_rvv_vrem_vv_i32m2_m:
11073case RISCV::BI__builtin_rvv_vrem_vv_i32m4_m:
11074case RISCV::BI__builtin_rvv_vrem_vv_i32m8_m:
11075case RISCV::BI__builtin_rvv_vrem_vv_i32mf2_m:
11076case RISCV::BI__builtin_rvv_vrem_vv_i64m1_m:
11077case RISCV::BI__builtin_rvv_vrem_vv_i64m2_m:
11078case RISCV::BI__builtin_rvv_vrem_vv_i64m4_m:
11079case RISCV::BI__builtin_rvv_vrem_vv_i64m8_m:
11080case RISCV::BI__builtin_rvv_vrem_vx_i8m1_m:
11081case RISCV::BI__builtin_rvv_vrem_vx_i8m2_m:
11082case RISCV::BI__builtin_rvv_vrem_vx_i8m4_m:
11083case RISCV::BI__builtin_rvv_vrem_vx_i8m8_m:
11084case RISCV::BI__builtin_rvv_vrem_vx_i8mf2_m:
11085case RISCV::BI__builtin_rvv_vrem_vx_i8mf4_m:
11086case RISCV::BI__builtin_rvv_vrem_vx_i8mf8_m:
11087case RISCV::BI__builtin_rvv_vrem_vx_i16m1_m:
11088case RISCV::BI__builtin_rvv_vrem_vx_i16m2_m:
11089case RISCV::BI__builtin_rvv_vrem_vx_i16m4_m:
11090case RISCV::BI__builtin_rvv_vrem_vx_i16m8_m:
11091case RISCV::BI__builtin_rvv_vrem_vx_i16mf2_m:
11092case RISCV::BI__builtin_rvv_vrem_vx_i16mf4_m:
11093case RISCV::BI__builtin_rvv_vrem_vx_i32m1_m:
11094case RISCV::BI__builtin_rvv_vrem_vx_i32m2_m:
11095case RISCV::BI__builtin_rvv_vrem_vx_i32m4_m:
11096case RISCV::BI__builtin_rvv_vrem_vx_i32m8_m:
11097case RISCV::BI__builtin_rvv_vrem_vx_i32mf2_m:
11098case RISCV::BI__builtin_rvv_vrem_vx_i64m1_m:
11099case RISCV::BI__builtin_rvv_vrem_vx_i64m2_m:
11100case RISCV::BI__builtin_rvv_vrem_vx_i64m4_m:
11101case RISCV::BI__builtin_rvv_vrem_vx_i64m8_m:
11102 ID = Intrinsic::riscv_vrem_mask;
11103 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
11104 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
11105 break;
11106case RISCV::BI__builtin_rvv_vremu_vv_u8m1:
11107case RISCV::BI__builtin_rvv_vremu_vv_u8m2:
11108case RISCV::BI__builtin_rvv_vremu_vv_u8m4:
11109case RISCV::BI__builtin_rvv_vremu_vv_u8m8:
11110case RISCV::BI__builtin_rvv_vremu_vv_u8mf2:
11111case RISCV::BI__builtin_rvv_vremu_vv_u8mf4:
11112case RISCV::BI__builtin_rvv_vremu_vv_u8mf8:
11113case RISCV::BI__builtin_rvv_vremu_vv_u16m1:
11114case RISCV::BI__builtin_rvv_vremu_vv_u16m2:
11115case RISCV::BI__builtin_rvv_vremu_vv_u16m4:
11116case RISCV::BI__builtin_rvv_vremu_vv_u16m8:
11117case RISCV::BI__builtin_rvv_vremu_vv_u16mf2:
11118case RISCV::BI__builtin_rvv_vremu_vv_u16mf4:
11119case RISCV::BI__builtin_rvv_vremu_vv_u32m1:
11120case RISCV::BI__builtin_rvv_vremu_vv_u32m2:
11121case RISCV::BI__builtin_rvv_vremu_vv_u32m4:
11122case RISCV::BI__builtin_rvv_vremu_vv_u32m8:
11123case RISCV::BI__builtin_rvv_vremu_vv_u32mf2:
11124case RISCV::BI__builtin_rvv_vremu_vv_u64m1:
11125case RISCV::BI__builtin_rvv_vremu_vv_u64m2:
11126case RISCV::BI__builtin_rvv_vremu_vv_u64m4:
11127case RISCV::BI__builtin_rvv_vremu_vv_u64m8:
11128case RISCV::BI__builtin_rvv_vremu_vx_u8m1:
11129case RISCV::BI__builtin_rvv_vremu_vx_u8m2:
11130case RISCV::BI__builtin_rvv_vremu_vx_u8m4:
11131case RISCV::BI__builtin_rvv_vremu_vx_u8m8:
11132case RISCV::BI__builtin_rvv_vremu_vx_u8mf2:
11133case RISCV::BI__builtin_rvv_vremu_vx_u8mf4:
11134case RISCV::BI__builtin_rvv_vremu_vx_u8mf8:
11135case RISCV::BI__builtin_rvv_vremu_vx_u16m1:
11136case RISCV::BI__builtin_rvv_vremu_vx_u16m2:
11137case RISCV::BI__builtin_rvv_vremu_vx_u16m4:
11138case RISCV::BI__builtin_rvv_vremu_vx_u16m8:
11139case RISCV::BI__builtin_rvv_vremu_vx_u16mf2:
11140case RISCV::BI__builtin_rvv_vremu_vx_u16mf4:
11141case RISCV::BI__builtin_rvv_vremu_vx_u32m1:
11142case RISCV::BI__builtin_rvv_vremu_vx_u32m2:
11143case RISCV::BI__builtin_rvv_vremu_vx_u32m4:
11144case RISCV::BI__builtin_rvv_vremu_vx_u32m8:
11145case RISCV::BI__builtin_rvv_vremu_vx_u32mf2:
11146case RISCV::BI__builtin_rvv_vremu_vx_u64m1:
11147case RISCV::BI__builtin_rvv_vremu_vx_u64m2:
11148case RISCV::BI__builtin_rvv_vremu_vx_u64m4:
11149case RISCV::BI__builtin_rvv_vremu_vx_u64m8:
11150 ID = Intrinsic::riscv_vremu;
11151 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
11152 break;
11153case RISCV::BI__builtin_rvv_vremu_vv_u8m1_m:
11154case RISCV::BI__builtin_rvv_vremu_vv_u8m2_m:
11155case RISCV::BI__builtin_rvv_vremu_vv_u8m4_m:
11156case RISCV::BI__builtin_rvv_vremu_vv_u8m8_m:
11157case RISCV::BI__builtin_rvv_vremu_vv_u8mf2_m:
11158case RISCV::BI__builtin_rvv_vremu_vv_u8mf4_m:
11159case RISCV::BI__builtin_rvv_vremu_vv_u8mf8_m:
11160case RISCV::BI__builtin_rvv_vremu_vv_u16m1_m:
11161case RISCV::BI__builtin_rvv_vremu_vv_u16m2_m:
11162case RISCV::BI__builtin_rvv_vremu_vv_u16m4_m:
11163case RISCV::BI__builtin_rvv_vremu_vv_u16m8_m:
11164case RISCV::BI__builtin_rvv_vremu_vv_u16mf2_m:
11165case RISCV::BI__builtin_rvv_vremu_vv_u16mf4_m:
11166case RISCV::BI__builtin_rvv_vremu_vv_u32m1_m:
11167case RISCV::BI__builtin_rvv_vremu_vv_u32m2_m:
11168case RISCV::BI__builtin_rvv_vremu_vv_u32m4_m:
11169case RISCV::BI__builtin_rvv_vremu_vv_u32m8_m:
11170case RISCV::BI__builtin_rvv_vremu_vv_u32mf2_m:
11171case RISCV::BI__builtin_rvv_vremu_vv_u64m1_m:
11172case RISCV::BI__builtin_rvv_vremu_vv_u64m2_m:
11173case RISCV::BI__builtin_rvv_vremu_vv_u64m4_m:
11174case RISCV::BI__builtin_rvv_vremu_vv_u64m8_m:
11175case RISCV::BI__builtin_rvv_vremu_vx_u8m1_m:
11176case RISCV::BI__builtin_rvv_vremu_vx_u8m2_m:
11177case RISCV::BI__builtin_rvv_vremu_vx_u8m4_m:
11178case RISCV::BI__builtin_rvv_vremu_vx_u8m8_m:
11179case RISCV::BI__builtin_rvv_vremu_vx_u8mf2_m:
11180case RISCV::BI__builtin_rvv_vremu_vx_u8mf4_m:
11181case RISCV::BI__builtin_rvv_vremu_vx_u8mf8_m:
11182case RISCV::BI__builtin_rvv_vremu_vx_u16m1_m:
11183case RISCV::BI__builtin_rvv_vremu_vx_u16m2_m:
11184case RISCV::BI__builtin_rvv_vremu_vx_u16m4_m:
11185case RISCV::BI__builtin_rvv_vremu_vx_u16m8_m:
11186case RISCV::BI__builtin_rvv_vremu_vx_u16mf2_m:
11187case RISCV::BI__builtin_rvv_vremu_vx_u16mf4_m:
11188case RISCV::BI__builtin_rvv_vremu_vx_u32m1_m:
11189case RISCV::BI__builtin_rvv_vremu_vx_u32m2_m:
11190case RISCV::BI__builtin_rvv_vremu_vx_u32m4_m:
11191case RISCV::BI__builtin_rvv_vremu_vx_u32m8_m:
11192case RISCV::BI__builtin_rvv_vremu_vx_u32mf2_m:
11193case RISCV::BI__builtin_rvv_vremu_vx_u64m1_m:
11194case RISCV::BI__builtin_rvv_vremu_vx_u64m2_m:
11195case RISCV::BI__builtin_rvv_vremu_vx_u64m4_m:
11196case RISCV::BI__builtin_rvv_vremu_vx_u64m8_m:
11197 ID = Intrinsic::riscv_vremu_mask;
11198 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
11199 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
11200 break;
11201case RISCV::BI__builtin_rvv_vrgather_vv_i8m1:
11202case RISCV::BI__builtin_rvv_vrgather_vv_i8m2:
11203case RISCV::BI__builtin_rvv_vrgather_vv_i8m4:
11204case RISCV::BI__builtin_rvv_vrgather_vv_i8m8:
11205case RISCV::BI__builtin_rvv_vrgather_vv_i8mf2:
11206case RISCV::BI__builtin_rvv_vrgather_vv_i8mf4:
11207case RISCV::BI__builtin_rvv_vrgather_vv_i8mf8:
11208case RISCV::BI__builtin_rvv_vrgather_vv_i16m1:
11209case RISCV::BI__builtin_rvv_vrgather_vv_i16m2:
11210case RISCV::BI__builtin_rvv_vrgather_vv_i16m4:
11211case RISCV::BI__builtin_rvv_vrgather_vv_i16m8:
11212case RISCV::BI__builtin_rvv_vrgather_vv_i16mf2:
11213case RISCV::BI__builtin_rvv_vrgather_vv_i16mf4:
11214case RISCV::BI__builtin_rvv_vrgather_vv_i32m1:
11215case RISCV::BI__builtin_rvv_vrgather_vv_i32m2:
11216case RISCV::BI__builtin_rvv_vrgather_vv_i32m4:
11217case RISCV::BI__builtin_rvv_vrgather_vv_i32m8:
11218case RISCV::BI__builtin_rvv_vrgather_vv_i32mf2:
11219case RISCV::BI__builtin_rvv_vrgather_vv_i64m1:
11220case RISCV::BI__builtin_rvv_vrgather_vv_i64m2:
11221case RISCV::BI__builtin_rvv_vrgather_vv_i64m4:
11222case RISCV::BI__builtin_rvv_vrgather_vv_i64m8:
11223case RISCV::BI__builtin_rvv_vrgather_vv_f32m1:
11224case RISCV::BI__builtin_rvv_vrgather_vv_f32m2:
11225case RISCV::BI__builtin_rvv_vrgather_vv_f32m4:
11226case RISCV::BI__builtin_rvv_vrgather_vv_f32m8:
11227case RISCV::BI__builtin_rvv_vrgather_vv_f32mf2:
11228case RISCV::BI__builtin_rvv_vrgather_vv_f64m1:
11229case RISCV::BI__builtin_rvv_vrgather_vv_f64m2:
11230case RISCV::BI__builtin_rvv_vrgather_vv_f64m4:
11231case RISCV::BI__builtin_rvv_vrgather_vv_f64m8:
11232case RISCV::BI__builtin_rvv_vrgather_vv_u8m1:
11233case RISCV::BI__builtin_rvv_vrgather_vv_u8m2:
11234case RISCV::BI__builtin_rvv_vrgather_vv_u8m4:
11235case RISCV::BI__builtin_rvv_vrgather_vv_u8m8:
11236case RISCV::BI__builtin_rvv_vrgather_vv_u8mf2:
11237case RISCV::BI__builtin_rvv_vrgather_vv_u8mf4:
11238case RISCV::BI__builtin_rvv_vrgather_vv_u8mf8:
11239case RISCV::BI__builtin_rvv_vrgather_vv_u16m1:
11240case RISCV::BI__builtin_rvv_vrgather_vv_u16m2:
11241case RISCV::BI__builtin_rvv_vrgather_vv_u16m4:
11242case RISCV::BI__builtin_rvv_vrgather_vv_u16m8:
11243case RISCV::BI__builtin_rvv_vrgather_vv_u16mf2:
11244case RISCV::BI__builtin_rvv_vrgather_vv_u16mf4:
11245case RISCV::BI__builtin_rvv_vrgather_vv_u32m1:
11246case RISCV::BI__builtin_rvv_vrgather_vv_u32m2:
11247case RISCV::BI__builtin_rvv_vrgather_vv_u32m4:
11248case RISCV::BI__builtin_rvv_vrgather_vv_u32m8:
11249case RISCV::BI__builtin_rvv_vrgather_vv_u32mf2:
11250case RISCV::BI__builtin_rvv_vrgather_vv_u64m1:
11251case RISCV::BI__builtin_rvv_vrgather_vv_u64m2:
11252case RISCV::BI__builtin_rvv_vrgather_vv_u64m4:
11253case RISCV::BI__builtin_rvv_vrgather_vv_u64m8:
11254 ID = Intrinsic::riscv_vrgather_vv;
11255 IntrinsicTypes = {ResultType, Ops.back()->getType()};
11256 break;
11257case RISCV::BI__builtin_rvv_vrgather_vv_i8m1_m:
11258case RISCV::BI__builtin_rvv_vrgather_vv_i8m2_m:
11259case RISCV::BI__builtin_rvv_vrgather_vv_i8m4_m:
11260case RISCV::BI__builtin_rvv_vrgather_vv_i8m8_m:
11261case RISCV::BI__builtin_rvv_vrgather_vv_i8mf2_m:
11262case RISCV::BI__builtin_rvv_vrgather_vv_i8mf4_m:
11263case RISCV::BI__builtin_rvv_vrgather_vv_i8mf8_m:
11264case RISCV::BI__builtin_rvv_vrgather_vv_i16m1_m:
11265case RISCV::BI__builtin_rvv_vrgather_vv_i16m2_m:
11266case RISCV::BI__builtin_rvv_vrgather_vv_i16m4_m:
11267case RISCV::BI__builtin_rvv_vrgather_vv_i16m8_m:
11268case RISCV::BI__builtin_rvv_vrgather_vv_i16mf2_m:
11269case RISCV::BI__builtin_rvv_vrgather_vv_i16mf4_m:
11270case RISCV::BI__builtin_rvv_vrgather_vv_i32m1_m:
11271case RISCV::BI__builtin_rvv_vrgather_vv_i32m2_m:
11272case RISCV::BI__builtin_rvv_vrgather_vv_i32m4_m:
11273case RISCV::BI__builtin_rvv_vrgather_vv_i32m8_m:
11274case RISCV::BI__builtin_rvv_vrgather_vv_i32mf2_m:
11275case RISCV::BI__builtin_rvv_vrgather_vv_i64m1_m:
11276case RISCV::BI__builtin_rvv_vrgather_vv_i64m2_m:
11277case RISCV::BI__builtin_rvv_vrgather_vv_i64m4_m:
11278case RISCV::BI__builtin_rvv_vrgather_vv_i64m8_m:
11279case RISCV::BI__builtin_rvv_vrgather_vv_f32m1_m:
11280case RISCV::BI__builtin_rvv_vrgather_vv_f32m2_m:
11281case RISCV::BI__builtin_rvv_vrgather_vv_f32m4_m:
11282case RISCV::BI__builtin_rvv_vrgather_vv_f32m8_m:
11283case RISCV::BI__builtin_rvv_vrgather_vv_f32mf2_m:
11284case RISCV::BI__builtin_rvv_vrgather_vv_f64m1_m:
11285case RISCV::BI__builtin_rvv_vrgather_vv_f64m2_m:
11286case RISCV::BI__builtin_rvv_vrgather_vv_f64m4_m:
11287case RISCV::BI__builtin_rvv_vrgather_vv_f64m8_m:
11288case RISCV::BI__builtin_rvv_vrgather_vv_u8m1_m:
11289case RISCV::BI__builtin_rvv_vrgather_vv_u8m2_m:
11290case RISCV::BI__builtin_rvv_vrgather_vv_u8m4_m:
11291case RISCV::BI__builtin_rvv_vrgather_vv_u8m8_m:
11292case RISCV::BI__builtin_rvv_vrgather_vv_u8mf2_m:
11293case RISCV::BI__builtin_rvv_vrgather_vv_u8mf4_m:
11294case RISCV::BI__builtin_rvv_vrgather_vv_u8mf8_m:
11295case RISCV::BI__builtin_rvv_vrgather_vv_u16m1_m:
11296case RISCV::BI__builtin_rvv_vrgather_vv_u16m2_m:
11297case RISCV::BI__builtin_rvv_vrgather_vv_u16m4_m:
11298case RISCV::BI__builtin_rvv_vrgather_vv_u16m8_m:
11299case RISCV::BI__builtin_rvv_vrgather_vv_u16mf2_m:
11300case RISCV::BI__builtin_rvv_vrgather_vv_u16mf4_m:
11301case RISCV::BI__builtin_rvv_vrgather_vv_u32m1_m:
11302case RISCV::BI__builtin_rvv_vrgather_vv_u32m2_m:
11303case RISCV::BI__builtin_rvv_vrgather_vv_u32m4_m:
11304case RISCV::BI__builtin_rvv_vrgather_vv_u32m8_m:
11305case RISCV::BI__builtin_rvv_vrgather_vv_u32mf2_m:
11306case RISCV::BI__builtin_rvv_vrgather_vv_u64m1_m:
11307case RISCV::BI__builtin_rvv_vrgather_vv_u64m2_m:
11308case RISCV::BI__builtin_rvv_vrgather_vv_u64m4_m:
11309case RISCV::BI__builtin_rvv_vrgather_vv_u64m8_m:
11310 ID = Intrinsic::riscv_vrgather_vv_mask;
11311 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
11312 IntrinsicTypes = {ResultType, Ops.back()->getType()};
11313 break;
11314case RISCV::BI__builtin_rvv_vrgather_vx_i8m1:
11315case RISCV::BI__builtin_rvv_vrgather_vx_i8m2:
11316case RISCV::BI__builtin_rvv_vrgather_vx_i8m4:
11317case RISCV::BI__builtin_rvv_vrgather_vx_i8m8:
11318case RISCV::BI__builtin_rvv_vrgather_vx_i8mf2:
11319case RISCV::BI__builtin_rvv_vrgather_vx_i8mf4:
11320case RISCV::BI__builtin_rvv_vrgather_vx_i8mf8:
11321case RISCV::BI__builtin_rvv_vrgather_vx_i16m1:
11322case RISCV::BI__builtin_rvv_vrgather_vx_i16m2:
11323case RISCV::BI__builtin_rvv_vrgather_vx_i16m4:
11324case RISCV::BI__builtin_rvv_vrgather_vx_i16m8:
11325case RISCV::BI__builtin_rvv_vrgather_vx_i16mf2:
11326case RISCV::BI__builtin_rvv_vrgather_vx_i16mf4:
11327case RISCV::BI__builtin_rvv_vrgather_vx_i32m1:
11328case RISCV::BI__builtin_rvv_vrgather_vx_i32m2:
11329case RISCV::BI__builtin_rvv_vrgather_vx_i32m4:
11330case RISCV::BI__builtin_rvv_vrgather_vx_i32m8:
11331case RISCV::BI__builtin_rvv_vrgather_vx_i32mf2:
11332case RISCV::BI__builtin_rvv_vrgather_vx_i64m1:
11333case RISCV::BI__builtin_rvv_vrgather_vx_i64m2:
11334case RISCV::BI__builtin_rvv_vrgather_vx_i64m4:
11335case RISCV::BI__builtin_rvv_vrgather_vx_i64m8:
11336case RISCV::BI__builtin_rvv_vrgather_vx_f32m1:
11337case RISCV::BI__builtin_rvv_vrgather_vx_f32m2:
11338case RISCV::BI__builtin_rvv_vrgather_vx_f32m4:
11339case RISCV::BI__builtin_rvv_vrgather_vx_f32m8:
11340case RISCV::BI__builtin_rvv_vrgather_vx_f32mf2:
11341case RISCV::BI__builtin_rvv_vrgather_vx_f64m1:
11342case RISCV::BI__builtin_rvv_vrgather_vx_f64m2:
11343case RISCV::BI__builtin_rvv_vrgather_vx_f64m4:
11344case RISCV::BI__builtin_rvv_vrgather_vx_f64m8:
11345case RISCV::BI__builtin_rvv_vrgather_vx_u8m1:
11346case RISCV::BI__builtin_rvv_vrgather_vx_u8m2:
11347case RISCV::BI__builtin_rvv_vrgather_vx_u8m4:
11348case RISCV::BI__builtin_rvv_vrgather_vx_u8m8:
11349case RISCV::BI__builtin_rvv_vrgather_vx_u8mf2:
11350case RISCV::BI__builtin_rvv_vrgather_vx_u8mf4:
11351case RISCV::BI__builtin_rvv_vrgather_vx_u8mf8:
11352case RISCV::BI__builtin_rvv_vrgather_vx_u16m1:
11353case RISCV::BI__builtin_rvv_vrgather_vx_u16m2:
11354case RISCV::BI__builtin_rvv_vrgather_vx_u16m4:
11355case RISCV::BI__builtin_rvv_vrgather_vx_u16m8:
11356case RISCV::BI__builtin_rvv_vrgather_vx_u16mf2:
11357case RISCV::BI__builtin_rvv_vrgather_vx_u16mf4:
11358case RISCV::BI__builtin_rvv_vrgather_vx_u32m1:
11359case RISCV::BI__builtin_rvv_vrgather_vx_u32m2:
11360case RISCV::BI__builtin_rvv_vrgather_vx_u32m4:
11361case RISCV::BI__builtin_rvv_vrgather_vx_u32m8:
11362case RISCV::BI__builtin_rvv_vrgather_vx_u32mf2:
11363case RISCV::BI__builtin_rvv_vrgather_vx_u64m1:
11364case RISCV::BI__builtin_rvv_vrgather_vx_u64m2:
11365case RISCV::BI__builtin_rvv_vrgather_vx_u64m4:
11366case RISCV::BI__builtin_rvv_vrgather_vx_u64m8:
11367 ID = Intrinsic::riscv_vrgather_vx;
11368 IntrinsicTypes = {ResultType, Ops.back()->getType()};
11369 break;
11370case RISCV::BI__builtin_rvv_vrgather_vx_i8m1_m:
11371case RISCV::BI__builtin_rvv_vrgather_vx_i8m2_m:
11372case RISCV::BI__builtin_rvv_vrgather_vx_i8m4_m:
11373case RISCV::BI__builtin_rvv_vrgather_vx_i8m8_m:
11374case RISCV::BI__builtin_rvv_vrgather_vx_i8mf2_m:
11375case RISCV::BI__builtin_rvv_vrgather_vx_i8mf4_m:
11376case RISCV::BI__builtin_rvv_vrgather_vx_i8mf8_m:
11377case RISCV::BI__builtin_rvv_vrgather_vx_i16m1_m:
11378case RISCV::BI__builtin_rvv_vrgather_vx_i16m2_m:
11379case RISCV::BI__builtin_rvv_vrgather_vx_i16m4_m:
11380case RISCV::BI__builtin_rvv_vrgather_vx_i16m8_m:
11381case RISCV::BI__builtin_rvv_vrgather_vx_i16mf2_m:
11382case RISCV::BI__builtin_rvv_vrgather_vx_i16mf4_m:
11383case RISCV::BI__builtin_rvv_vrgather_vx_i32m1_m:
11384case RISCV::BI__builtin_rvv_vrgather_vx_i32m2_m:
11385case RISCV::BI__builtin_rvv_vrgather_vx_i32m4_m:
11386case RISCV::BI__builtin_rvv_vrgather_vx_i32m8_m:
11387case RISCV::BI__builtin_rvv_vrgather_vx_i32mf2_m:
11388case RISCV::BI__builtin_rvv_vrgather_vx_i64m1_m:
11389case RISCV::BI__builtin_rvv_vrgather_vx_i64m2_m:
11390case RISCV::BI__builtin_rvv_vrgather_vx_i64m4_m:
11391case RISCV::BI__builtin_rvv_vrgather_vx_i64m8_m:
11392case RISCV::BI__builtin_rvv_vrgather_vx_f32m1_m:
11393case RISCV::BI__builtin_rvv_vrgather_vx_f32m2_m:
11394case RISCV::BI__builtin_rvv_vrgather_vx_f32m4_m:
11395case RISCV::BI__builtin_rvv_vrgather_vx_f32m8_m:
11396case RISCV::BI__builtin_rvv_vrgather_vx_f32mf2_m:
11397case RISCV::BI__builtin_rvv_vrgather_vx_f64m1_m:
11398case RISCV::BI__builtin_rvv_vrgather_vx_f64m2_m:
11399case RISCV::BI__builtin_rvv_vrgather_vx_f64m4_m:
11400case RISCV::BI__builtin_rvv_vrgather_vx_f64m8_m:
11401case RISCV::BI__builtin_rvv_vrgather_vx_u8m1_m:
11402case RISCV::BI__builtin_rvv_vrgather_vx_u8m2_m:
11403case RISCV::BI__builtin_rvv_vrgather_vx_u8m4_m:
11404case RISCV::BI__builtin_rvv_vrgather_vx_u8m8_m:
11405case RISCV::BI__builtin_rvv_vrgather_vx_u8mf2_m:
11406case RISCV::BI__builtin_rvv_vrgather_vx_u8mf4_m:
11407case RISCV::BI__builtin_rvv_vrgather_vx_u8mf8_m:
11408case RISCV::BI__builtin_rvv_vrgather_vx_u16m1_m:
11409case RISCV::BI__builtin_rvv_vrgather_vx_u16m2_m:
11410case RISCV::BI__builtin_rvv_vrgather_vx_u16m4_m:
11411case RISCV::BI__builtin_rvv_vrgather_vx_u16m8_m:
11412case RISCV::BI__builtin_rvv_vrgather_vx_u16mf2_m:
11413case RISCV::BI__builtin_rvv_vrgather_vx_u16mf4_m:
11414case RISCV::BI__builtin_rvv_vrgather_vx_u32m1_m:
11415case RISCV::BI__builtin_rvv_vrgather_vx_u32m2_m:
11416case RISCV::BI__builtin_rvv_vrgather_vx_u32m4_m:
11417case RISCV::BI__builtin_rvv_vrgather_vx_u32m8_m:
11418case RISCV::BI__builtin_rvv_vrgather_vx_u32mf2_m:
11419case RISCV::BI__builtin_rvv_vrgather_vx_u64m1_m:
11420case RISCV::BI__builtin_rvv_vrgather_vx_u64m2_m:
11421case RISCV::BI__builtin_rvv_vrgather_vx_u64m4_m:
11422case RISCV::BI__builtin_rvv_vrgather_vx_u64m8_m:
11423 ID = Intrinsic::riscv_vrgather_vx_mask;
11424 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
11425 IntrinsicTypes = {ResultType, Ops.back()->getType()};
11426 break;
11427case RISCV::BI__builtin_rvv_vrgatherei16_vv_i8m1:
11428case RISCV::BI__builtin_rvv_vrgatherei16_vv_i8m2:
11429case RISCV::BI__builtin_rvv_vrgatherei16_vv_i8m4:
11430case RISCV::BI__builtin_rvv_vrgatherei16_vv_i8mf2:
11431case RISCV::BI__builtin_rvv_vrgatherei16_vv_i8mf4:
11432case RISCV::BI__builtin_rvv_vrgatherei16_vv_i8mf8:
11433case RISCV::BI__builtin_rvv_vrgatherei16_vv_i16m1:
11434case RISCV::BI__builtin_rvv_vrgatherei16_vv_i16m2:
11435case RISCV::BI__builtin_rvv_vrgatherei16_vv_i16m4:
11436case RISCV::BI__builtin_rvv_vrgatherei16_vv_i16m8:
11437case RISCV::BI__builtin_rvv_vrgatherei16_vv_i16mf2:
11438case RISCV::BI__builtin_rvv_vrgatherei16_vv_i16mf4:
11439case RISCV::BI__builtin_rvv_vrgatherei16_vv_i32m1:
11440case RISCV::BI__builtin_rvv_vrgatherei16_vv_i32m2:
11441case RISCV::BI__builtin_rvv_vrgatherei16_vv_i32m4:
11442case RISCV::BI__builtin_rvv_vrgatherei16_vv_i32m8:
11443case RISCV::BI__builtin_rvv_vrgatherei16_vv_i32mf2:
11444case RISCV::BI__builtin_rvv_vrgatherei16_vv_i64m1:
11445case RISCV::BI__builtin_rvv_vrgatherei16_vv_i64m2:
11446case RISCV::BI__builtin_rvv_vrgatherei16_vv_i64m4:
11447case RISCV::BI__builtin_rvv_vrgatherei16_vv_i64m8:
11448case RISCV::BI__builtin_rvv_vrgatherei16_vv_f32m1:
11449case RISCV::BI__builtin_rvv_vrgatherei16_vv_f32m2:
11450case RISCV::BI__builtin_rvv_vrgatherei16_vv_f32m4:
11451case RISCV::BI__builtin_rvv_vrgatherei16_vv_f32m8:
11452case RISCV::BI__builtin_rvv_vrgatherei16_vv_f32mf2:
11453case RISCV::BI__builtin_rvv_vrgatherei16_vv_f64m1:
11454case RISCV::BI__builtin_rvv_vrgatherei16_vv_f64m2:
11455case RISCV::BI__builtin_rvv_vrgatherei16_vv_f64m4:
11456case RISCV::BI__builtin_rvv_vrgatherei16_vv_f64m8:
11457case RISCV::BI__builtin_rvv_vrgatherei16_vv_u8m1:
11458case RISCV::BI__builtin_rvv_vrgatherei16_vv_u8m2:
11459case RISCV::BI__builtin_rvv_vrgatherei16_vv_u8m4:
11460case RISCV::BI__builtin_rvv_vrgatherei16_vv_u8mf2:
11461case RISCV::BI__builtin_rvv_vrgatherei16_vv_u8mf4:
11462case RISCV::BI__builtin_rvv_vrgatherei16_vv_u8mf8:
11463case RISCV::BI__builtin_rvv_vrgatherei16_vv_u16m1:
11464case RISCV::BI__builtin_rvv_vrgatherei16_vv_u16m2:
11465case RISCV::BI__builtin_rvv_vrgatherei16_vv_u16m4:
11466case RISCV::BI__builtin_rvv_vrgatherei16_vv_u16m8:
11467case RISCV::BI__builtin_rvv_vrgatherei16_vv_u16mf2:
11468case RISCV::BI__builtin_rvv_vrgatherei16_vv_u16mf4:
11469case RISCV::BI__builtin_rvv_vrgatherei16_vv_u32m1:
11470case RISCV::BI__builtin_rvv_vrgatherei16_vv_u32m2:
11471case RISCV::BI__builtin_rvv_vrgatherei16_vv_u32m4:
11472case RISCV::BI__builtin_rvv_vrgatherei16_vv_u32m8:
11473case RISCV::BI__builtin_rvv_vrgatherei16_vv_u32mf2:
11474case RISCV::BI__builtin_rvv_vrgatherei16_vv_u64m1:
11475case RISCV::BI__builtin_rvv_vrgatherei16_vv_u64m2:
11476case RISCV::BI__builtin_rvv_vrgatherei16_vv_u64m4:
11477case RISCV::BI__builtin_rvv_vrgatherei16_vv_u64m8:
11478 ID = Intrinsic::riscv_vrgatherei16_vv;
11479 IntrinsicTypes = {ResultType, Ops.back()->getType()};
11480 break;
11481case RISCV::BI__builtin_rvv_vrgatherei16_vv_i8m1_m:
11482case RISCV::BI__builtin_rvv_vrgatherei16_vv_i8m2_m:
11483case RISCV::BI__builtin_rvv_vrgatherei16_vv_i8m4_m:
11484case RISCV::BI__builtin_rvv_vrgatherei16_vv_i8mf2_m:
11485case RISCV::BI__builtin_rvv_vrgatherei16_vv_i8mf4_m:
11486case RISCV::BI__builtin_rvv_vrgatherei16_vv_i8mf8_m:
11487case RISCV::BI__builtin_rvv_vrgatherei16_vv_i16m1_m:
11488case RISCV::BI__builtin_rvv_vrgatherei16_vv_i16m2_m:
11489case RISCV::BI__builtin_rvv_vrgatherei16_vv_i16m4_m:
11490case RISCV::BI__builtin_rvv_vrgatherei16_vv_i16m8_m:
11491case RISCV::BI__builtin_rvv_vrgatherei16_vv_i16mf2_m:
11492case RISCV::BI__builtin_rvv_vrgatherei16_vv_i16mf4_m:
11493case RISCV::BI__builtin_rvv_vrgatherei16_vv_i32m1_m:
11494case RISCV::BI__builtin_rvv_vrgatherei16_vv_i32m2_m:
11495case RISCV::BI__builtin_rvv_vrgatherei16_vv_i32m4_m:
11496case RISCV::BI__builtin_rvv_vrgatherei16_vv_i32m8_m:
11497case RISCV::BI__builtin_rvv_vrgatherei16_vv_i32mf2_m:
11498case RISCV::BI__builtin_rvv_vrgatherei16_vv_i64m1_m:
11499case RISCV::BI__builtin_rvv_vrgatherei16_vv_i64m2_m:
11500case RISCV::BI__builtin_rvv_vrgatherei16_vv_i64m4_m:
11501case RISCV::BI__builtin_rvv_vrgatherei16_vv_i64m8_m:
11502case RISCV::BI__builtin_rvv_vrgatherei16_vv_f32m1_m:
11503case RISCV::BI__builtin_rvv_vrgatherei16_vv_f32m2_m:
11504case RISCV::BI__builtin_rvv_vrgatherei16_vv_f32m4_m:
11505case RISCV::BI__builtin_rvv_vrgatherei16_vv_f32m8_m:
11506case RISCV::BI__builtin_rvv_vrgatherei16_vv_f32mf2_m:
11507case RISCV::BI__builtin_rvv_vrgatherei16_vv_f64m1_m:
11508case RISCV::BI__builtin_rvv_vrgatherei16_vv_f64m2_m:
11509case RISCV::BI__builtin_rvv_vrgatherei16_vv_f64m4_m:
11510case RISCV::BI__builtin_rvv_vrgatherei16_vv_f64m8_m:
11511case RISCV::BI__builtin_rvv_vrgatherei16_vv_u8m1_m:
11512case RISCV::BI__builtin_rvv_vrgatherei16_vv_u8m2_m:
11513case RISCV::BI__builtin_rvv_vrgatherei16_vv_u8m4_m:
11514case RISCV::BI__builtin_rvv_vrgatherei16_vv_u8mf2_m:
11515case RISCV::BI__builtin_rvv_vrgatherei16_vv_u8mf4_m:
11516case RISCV::BI__builtin_rvv_vrgatherei16_vv_u8mf8_m:
11517case RISCV::BI__builtin_rvv_vrgatherei16_vv_u16m1_m:
11518case RISCV::BI__builtin_rvv_vrgatherei16_vv_u16m2_m:
11519case RISCV::BI__builtin_rvv_vrgatherei16_vv_u16m4_m:
11520case RISCV::BI__builtin_rvv_vrgatherei16_vv_u16m8_m:
11521case RISCV::BI__builtin_rvv_vrgatherei16_vv_u16mf2_m:
11522case RISCV::BI__builtin_rvv_vrgatherei16_vv_u16mf4_m:
11523case RISCV::BI__builtin_rvv_vrgatherei16_vv_u32m1_m:
11524case RISCV::BI__builtin_rvv_vrgatherei16_vv_u32m2_m:
11525case RISCV::BI__builtin_rvv_vrgatherei16_vv_u32m4_m:
11526case RISCV::BI__builtin_rvv_vrgatherei16_vv_u32m8_m:
11527case RISCV::BI__builtin_rvv_vrgatherei16_vv_u32mf2_m:
11528case RISCV::BI__builtin_rvv_vrgatherei16_vv_u64m1_m:
11529case RISCV::BI__builtin_rvv_vrgatherei16_vv_u64m2_m:
11530case RISCV::BI__builtin_rvv_vrgatherei16_vv_u64m4_m:
11531case RISCV::BI__builtin_rvv_vrgatherei16_vv_u64m8_m:
11532 ID = Intrinsic::riscv_vrgatherei16_vv_mask;
11533 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
11534 IntrinsicTypes = {ResultType, Ops.back()->getType()};
11535 break;
11536case RISCV::BI__builtin_rvv_vneg_v_i8m1:
11537case RISCV::BI__builtin_rvv_vneg_v_i8m2:
11538case RISCV::BI__builtin_rvv_vneg_v_i8m4:
11539case RISCV::BI__builtin_rvv_vneg_v_i8m8:
11540case RISCV::BI__builtin_rvv_vneg_v_i8mf2:
11541case RISCV::BI__builtin_rvv_vneg_v_i8mf4:
11542case RISCV::BI__builtin_rvv_vneg_v_i8mf8:
11543case RISCV::BI__builtin_rvv_vneg_v_i16m1:
11544case RISCV::BI__builtin_rvv_vneg_v_i16m2:
11545case RISCV::BI__builtin_rvv_vneg_v_i16m4:
11546case RISCV::BI__builtin_rvv_vneg_v_i16m8:
11547case RISCV::BI__builtin_rvv_vneg_v_i16mf2:
11548case RISCV::BI__builtin_rvv_vneg_v_i16mf4:
11549case RISCV::BI__builtin_rvv_vneg_v_i32m1:
11550case RISCV::BI__builtin_rvv_vneg_v_i32m2:
11551case RISCV::BI__builtin_rvv_vneg_v_i32m4:
11552case RISCV::BI__builtin_rvv_vneg_v_i32m8:
11553case RISCV::BI__builtin_rvv_vneg_v_i32mf2:
11554case RISCV::BI__builtin_rvv_vneg_v_i64m1:
11555case RISCV::BI__builtin_rvv_vneg_v_i64m2:
11556case RISCV::BI__builtin_rvv_vneg_v_i64m4:
11557case RISCV::BI__builtin_rvv_vneg_v_i64m8:
11558 ID = Intrinsic::riscv_vrsub;
11559
11560 {
11561 // op1, vl
11562 IntrinsicTypes = {ResultType,
11563 cast<llvm::VectorType>(ResultType)->getElementType(),
11564 Ops[1]->getType()};
11565 Ops.insert(Ops.begin() + 1, llvm::Constant::getNullValue(IntrinsicTypes[1]));
11566 break;
11567 }
11568 break;
11569case RISCV::BI__builtin_rvv_vrsub_vx_i8m1:
11570case RISCV::BI__builtin_rvv_vrsub_vx_i8m2:
11571case RISCV::BI__builtin_rvv_vrsub_vx_i8m4:
11572case RISCV::BI__builtin_rvv_vrsub_vx_i8m8:
11573case RISCV::BI__builtin_rvv_vrsub_vx_i8mf2:
11574case RISCV::BI__builtin_rvv_vrsub_vx_i8mf4:
11575case RISCV::BI__builtin_rvv_vrsub_vx_i8mf8:
11576case RISCV::BI__builtin_rvv_vrsub_vx_i16m1:
11577case RISCV::BI__builtin_rvv_vrsub_vx_i16m2:
11578case RISCV::BI__builtin_rvv_vrsub_vx_i16m4:
11579case RISCV::BI__builtin_rvv_vrsub_vx_i16m8:
11580case RISCV::BI__builtin_rvv_vrsub_vx_i16mf2:
11581case RISCV::BI__builtin_rvv_vrsub_vx_i16mf4:
11582case RISCV::BI__builtin_rvv_vrsub_vx_i32m1:
11583case RISCV::BI__builtin_rvv_vrsub_vx_i32m2:
11584case RISCV::BI__builtin_rvv_vrsub_vx_i32m4:
11585case RISCV::BI__builtin_rvv_vrsub_vx_i32m8:
11586case RISCV::BI__builtin_rvv_vrsub_vx_i32mf2:
11587case RISCV::BI__builtin_rvv_vrsub_vx_i64m1:
11588case RISCV::BI__builtin_rvv_vrsub_vx_i64m2:
11589case RISCV::BI__builtin_rvv_vrsub_vx_i64m4:
11590case RISCV::BI__builtin_rvv_vrsub_vx_i64m8:
11591case RISCV::BI__builtin_rvv_vrsub_vx_u8m1:
11592case RISCV::BI__builtin_rvv_vrsub_vx_u8m2:
11593case RISCV::BI__builtin_rvv_vrsub_vx_u8m4:
11594case RISCV::BI__builtin_rvv_vrsub_vx_u8m8:
11595case RISCV::BI__builtin_rvv_vrsub_vx_u8mf2:
11596case RISCV::BI__builtin_rvv_vrsub_vx_u8mf4:
11597case RISCV::BI__builtin_rvv_vrsub_vx_u8mf8:
11598case RISCV::BI__builtin_rvv_vrsub_vx_u16m1:
11599case RISCV::BI__builtin_rvv_vrsub_vx_u16m2:
11600case RISCV::BI__builtin_rvv_vrsub_vx_u16m4:
11601case RISCV::BI__builtin_rvv_vrsub_vx_u16m8:
11602case RISCV::BI__builtin_rvv_vrsub_vx_u16mf2:
11603case RISCV::BI__builtin_rvv_vrsub_vx_u16mf4:
11604case RISCV::BI__builtin_rvv_vrsub_vx_u32m1:
11605case RISCV::BI__builtin_rvv_vrsub_vx_u32m2:
11606case RISCV::BI__builtin_rvv_vrsub_vx_u32m4:
11607case RISCV::BI__builtin_rvv_vrsub_vx_u32m8:
11608case RISCV::BI__builtin_rvv_vrsub_vx_u32mf2:
11609case RISCV::BI__builtin_rvv_vrsub_vx_u64m1:
11610case RISCV::BI__builtin_rvv_vrsub_vx_u64m2:
11611case RISCV::BI__builtin_rvv_vrsub_vx_u64m4:
11612case RISCV::BI__builtin_rvv_vrsub_vx_u64m8:
11613 ID = Intrinsic::riscv_vrsub;
11614 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
11615 break;
11616case RISCV::BI__builtin_rvv_vneg_v_i8m1_m:
11617case RISCV::BI__builtin_rvv_vneg_v_i8m2_m:
11618case RISCV::BI__builtin_rvv_vneg_v_i8m4_m:
11619case RISCV::BI__builtin_rvv_vneg_v_i8m8_m:
11620case RISCV::BI__builtin_rvv_vneg_v_i8mf2_m:
11621case RISCV::BI__builtin_rvv_vneg_v_i8mf4_m:
11622case RISCV::BI__builtin_rvv_vneg_v_i8mf8_m:
11623case RISCV::BI__builtin_rvv_vneg_v_i16m1_m:
11624case RISCV::BI__builtin_rvv_vneg_v_i16m2_m:
11625case RISCV::BI__builtin_rvv_vneg_v_i16m4_m:
11626case RISCV::BI__builtin_rvv_vneg_v_i16m8_m:
11627case RISCV::BI__builtin_rvv_vneg_v_i16mf2_m:
11628case RISCV::BI__builtin_rvv_vneg_v_i16mf4_m:
11629case RISCV::BI__builtin_rvv_vneg_v_i32m1_m:
11630case RISCV::BI__builtin_rvv_vneg_v_i32m2_m:
11631case RISCV::BI__builtin_rvv_vneg_v_i32m4_m:
11632case RISCV::BI__builtin_rvv_vneg_v_i32m8_m:
11633case RISCV::BI__builtin_rvv_vneg_v_i32mf2_m:
11634case RISCV::BI__builtin_rvv_vneg_v_i64m1_m:
11635case RISCV::BI__builtin_rvv_vneg_v_i64m2_m:
11636case RISCV::BI__builtin_rvv_vneg_v_i64m4_m:
11637case RISCV::BI__builtin_rvv_vneg_v_i64m8_m:
11638 ID = Intrinsic::riscv_vrsub_mask;
11639
11640 {
11641 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
11642 // maskedoff, op1, mask, vl
11643 IntrinsicTypes = {ResultType,
11644 cast<llvm::VectorType>(ResultType)->getElementType(),
11645 Ops[3]->getType()};
11646 Ops.insert(Ops.begin() + 2, llvm::Constant::getNullValue(IntrinsicTypes[1]));
11647 break;
11648 }
11649 break;
11650case RISCV::BI__builtin_rvv_vrsub_vx_i8m1_m:
11651case RISCV::BI__builtin_rvv_vrsub_vx_i8m2_m:
11652case RISCV::BI__builtin_rvv_vrsub_vx_i8m4_m:
11653case RISCV::BI__builtin_rvv_vrsub_vx_i8m8_m:
11654case RISCV::BI__builtin_rvv_vrsub_vx_i8mf2_m:
11655case RISCV::BI__builtin_rvv_vrsub_vx_i8mf4_m:
11656case RISCV::BI__builtin_rvv_vrsub_vx_i8mf8_m:
11657case RISCV::BI__builtin_rvv_vrsub_vx_i16m1_m:
11658case RISCV::BI__builtin_rvv_vrsub_vx_i16m2_m:
11659case RISCV::BI__builtin_rvv_vrsub_vx_i16m4_m:
11660case RISCV::BI__builtin_rvv_vrsub_vx_i16m8_m:
11661case RISCV::BI__builtin_rvv_vrsub_vx_i16mf2_m:
11662case RISCV::BI__builtin_rvv_vrsub_vx_i16mf4_m:
11663case RISCV::BI__builtin_rvv_vrsub_vx_i32m1_m:
11664case RISCV::BI__builtin_rvv_vrsub_vx_i32m2_m:
11665case RISCV::BI__builtin_rvv_vrsub_vx_i32m4_m:
11666case RISCV::BI__builtin_rvv_vrsub_vx_i32m8_m:
11667case RISCV::BI__builtin_rvv_vrsub_vx_i32mf2_m:
11668case RISCV::BI__builtin_rvv_vrsub_vx_i64m1_m:
11669case RISCV::BI__builtin_rvv_vrsub_vx_i64m2_m:
11670case RISCV::BI__builtin_rvv_vrsub_vx_i64m4_m:
11671case RISCV::BI__builtin_rvv_vrsub_vx_i64m8_m:
11672case RISCV::BI__builtin_rvv_vrsub_vx_u8m1_m:
11673case RISCV::BI__builtin_rvv_vrsub_vx_u8m2_m:
11674case RISCV::BI__builtin_rvv_vrsub_vx_u8m4_m:
11675case RISCV::BI__builtin_rvv_vrsub_vx_u8m8_m:
11676case RISCV::BI__builtin_rvv_vrsub_vx_u8mf2_m:
11677case RISCV::BI__builtin_rvv_vrsub_vx_u8mf4_m:
11678case RISCV::BI__builtin_rvv_vrsub_vx_u8mf8_m:
11679case RISCV::BI__builtin_rvv_vrsub_vx_u16m1_m:
11680case RISCV::BI__builtin_rvv_vrsub_vx_u16m2_m:
11681case RISCV::BI__builtin_rvv_vrsub_vx_u16m4_m:
11682case RISCV::BI__builtin_rvv_vrsub_vx_u16m8_m:
11683case RISCV::BI__builtin_rvv_vrsub_vx_u16mf2_m:
11684case RISCV::BI__builtin_rvv_vrsub_vx_u16mf4_m:
11685case RISCV::BI__builtin_rvv_vrsub_vx_u32m1_m:
11686case RISCV::BI__builtin_rvv_vrsub_vx_u32m2_m:
11687case RISCV::BI__builtin_rvv_vrsub_vx_u32m4_m:
11688case RISCV::BI__builtin_rvv_vrsub_vx_u32m8_m:
11689case RISCV::BI__builtin_rvv_vrsub_vx_u32mf2_m:
11690case RISCV::BI__builtin_rvv_vrsub_vx_u64m1_m:
11691case RISCV::BI__builtin_rvv_vrsub_vx_u64m2_m:
11692case RISCV::BI__builtin_rvv_vrsub_vx_u64m4_m:
11693case RISCV::BI__builtin_rvv_vrsub_vx_u64m8_m:
11694 ID = Intrinsic::riscv_vrsub_mask;
11695 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
11696 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
11697 break;
11698case RISCV::BI__builtin_rvv_vsadd_vv_i8m1:
11699case RISCV::BI__builtin_rvv_vsadd_vv_i8m2:
11700case RISCV::BI__builtin_rvv_vsadd_vv_i8m4:
11701case RISCV::BI__builtin_rvv_vsadd_vv_i8m8:
11702case RISCV::BI__builtin_rvv_vsadd_vv_i8mf2:
11703case RISCV::BI__builtin_rvv_vsadd_vv_i8mf4:
11704case RISCV::BI__builtin_rvv_vsadd_vv_i8mf8:
11705case RISCV::BI__builtin_rvv_vsadd_vv_i16m1:
11706case RISCV::BI__builtin_rvv_vsadd_vv_i16m2:
11707case RISCV::BI__builtin_rvv_vsadd_vv_i16m4:
11708case RISCV::BI__builtin_rvv_vsadd_vv_i16m8:
11709case RISCV::BI__builtin_rvv_vsadd_vv_i16mf2:
11710case RISCV::BI__builtin_rvv_vsadd_vv_i16mf4:
11711case RISCV::BI__builtin_rvv_vsadd_vv_i32m1:
11712case RISCV::BI__builtin_rvv_vsadd_vv_i32m2:
11713case RISCV::BI__builtin_rvv_vsadd_vv_i32m4:
11714case RISCV::BI__builtin_rvv_vsadd_vv_i32m8:
11715case RISCV::BI__builtin_rvv_vsadd_vv_i32mf2:
11716case RISCV::BI__builtin_rvv_vsadd_vv_i64m1:
11717case RISCV::BI__builtin_rvv_vsadd_vv_i64m2:
11718case RISCV::BI__builtin_rvv_vsadd_vv_i64m4:
11719case RISCV::BI__builtin_rvv_vsadd_vv_i64m8:
11720case RISCV::BI__builtin_rvv_vsadd_vx_i8m1:
11721case RISCV::BI__builtin_rvv_vsadd_vx_i8m2:
11722case RISCV::BI__builtin_rvv_vsadd_vx_i8m4:
11723case RISCV::BI__builtin_rvv_vsadd_vx_i8m8:
11724case RISCV::BI__builtin_rvv_vsadd_vx_i8mf2:
11725case RISCV::BI__builtin_rvv_vsadd_vx_i8mf4:
11726case RISCV::BI__builtin_rvv_vsadd_vx_i8mf8:
11727case RISCV::BI__builtin_rvv_vsadd_vx_i16m1:
11728case RISCV::BI__builtin_rvv_vsadd_vx_i16m2:
11729case RISCV::BI__builtin_rvv_vsadd_vx_i16m4:
11730case RISCV::BI__builtin_rvv_vsadd_vx_i16m8:
11731case RISCV::BI__builtin_rvv_vsadd_vx_i16mf2:
11732case RISCV::BI__builtin_rvv_vsadd_vx_i16mf4:
11733case RISCV::BI__builtin_rvv_vsadd_vx_i32m1:
11734case RISCV::BI__builtin_rvv_vsadd_vx_i32m2:
11735case RISCV::BI__builtin_rvv_vsadd_vx_i32m4:
11736case RISCV::BI__builtin_rvv_vsadd_vx_i32m8:
11737case RISCV::BI__builtin_rvv_vsadd_vx_i32mf2:
11738case RISCV::BI__builtin_rvv_vsadd_vx_i64m1:
11739case RISCV::BI__builtin_rvv_vsadd_vx_i64m2:
11740case RISCV::BI__builtin_rvv_vsadd_vx_i64m4:
11741case RISCV::BI__builtin_rvv_vsadd_vx_i64m8:
11742 ID = Intrinsic::riscv_vsadd;
11743 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
11744 break;
11745case RISCV::BI__builtin_rvv_vsadd_vv_i8m1_m:
11746case RISCV::BI__builtin_rvv_vsadd_vv_i8m2_m:
11747case RISCV::BI__builtin_rvv_vsadd_vv_i8m4_m:
11748case RISCV::BI__builtin_rvv_vsadd_vv_i8m8_m:
11749case RISCV::BI__builtin_rvv_vsadd_vv_i8mf2_m:
11750case RISCV::BI__builtin_rvv_vsadd_vv_i8mf4_m:
11751case RISCV::BI__builtin_rvv_vsadd_vv_i8mf8_m:
11752case RISCV::BI__builtin_rvv_vsadd_vv_i16m1_m:
11753case RISCV::BI__builtin_rvv_vsadd_vv_i16m2_m:
11754case RISCV::BI__builtin_rvv_vsadd_vv_i16m4_m:
11755case RISCV::BI__builtin_rvv_vsadd_vv_i16m8_m:
11756case RISCV::BI__builtin_rvv_vsadd_vv_i16mf2_m:
11757case RISCV::BI__builtin_rvv_vsadd_vv_i16mf4_m:
11758case RISCV::BI__builtin_rvv_vsadd_vv_i32m1_m:
11759case RISCV::BI__builtin_rvv_vsadd_vv_i32m2_m:
11760case RISCV::BI__builtin_rvv_vsadd_vv_i32m4_m:
11761case RISCV::BI__builtin_rvv_vsadd_vv_i32m8_m:
11762case RISCV::BI__builtin_rvv_vsadd_vv_i32mf2_m:
11763case RISCV::BI__builtin_rvv_vsadd_vv_i64m1_m:
11764case RISCV::BI__builtin_rvv_vsadd_vv_i64m2_m:
11765case RISCV::BI__builtin_rvv_vsadd_vv_i64m4_m:
11766case RISCV::BI__builtin_rvv_vsadd_vv_i64m8_m:
11767case RISCV::BI__builtin_rvv_vsadd_vx_i8m1_m:
11768case RISCV::BI__builtin_rvv_vsadd_vx_i8m2_m:
11769case RISCV::BI__builtin_rvv_vsadd_vx_i8m4_m:
11770case RISCV::BI__builtin_rvv_vsadd_vx_i8m8_m:
11771case RISCV::BI__builtin_rvv_vsadd_vx_i8mf2_m:
11772case RISCV::BI__builtin_rvv_vsadd_vx_i8mf4_m:
11773case RISCV::BI__builtin_rvv_vsadd_vx_i8mf8_m:
11774case RISCV::BI__builtin_rvv_vsadd_vx_i16m1_m:
11775case RISCV::BI__builtin_rvv_vsadd_vx_i16m2_m:
11776case RISCV::BI__builtin_rvv_vsadd_vx_i16m4_m:
11777case RISCV::BI__builtin_rvv_vsadd_vx_i16m8_m:
11778case RISCV::BI__builtin_rvv_vsadd_vx_i16mf2_m:
11779case RISCV::BI__builtin_rvv_vsadd_vx_i16mf4_m:
11780case RISCV::BI__builtin_rvv_vsadd_vx_i32m1_m:
11781case RISCV::BI__builtin_rvv_vsadd_vx_i32m2_m:
11782case RISCV::BI__builtin_rvv_vsadd_vx_i32m4_m:
11783case RISCV::BI__builtin_rvv_vsadd_vx_i32m8_m:
11784case RISCV::BI__builtin_rvv_vsadd_vx_i32mf2_m:
11785case RISCV::BI__builtin_rvv_vsadd_vx_i64m1_m:
11786case RISCV::BI__builtin_rvv_vsadd_vx_i64m2_m:
11787case RISCV::BI__builtin_rvv_vsadd_vx_i64m4_m:
11788case RISCV::BI__builtin_rvv_vsadd_vx_i64m8_m:
11789 ID = Intrinsic::riscv_vsadd_mask;
11790 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
11791 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
11792 break;
11793case RISCV::BI__builtin_rvv_vsaddu_vv_u8m1:
11794case RISCV::BI__builtin_rvv_vsaddu_vv_u8m2:
11795case RISCV::BI__builtin_rvv_vsaddu_vv_u8m4:
11796case RISCV::BI__builtin_rvv_vsaddu_vv_u8m8:
11797case RISCV::BI__builtin_rvv_vsaddu_vv_u8mf2:
11798case RISCV::BI__builtin_rvv_vsaddu_vv_u8mf4:
11799case RISCV::BI__builtin_rvv_vsaddu_vv_u8mf8:
11800case RISCV::BI__builtin_rvv_vsaddu_vv_u16m1:
11801case RISCV::BI__builtin_rvv_vsaddu_vv_u16m2:
11802case RISCV::BI__builtin_rvv_vsaddu_vv_u16m4:
11803case RISCV::BI__builtin_rvv_vsaddu_vv_u16m8:
11804case RISCV::BI__builtin_rvv_vsaddu_vv_u16mf2:
11805case RISCV::BI__builtin_rvv_vsaddu_vv_u16mf4:
11806case RISCV::BI__builtin_rvv_vsaddu_vv_u32m1:
11807case RISCV::BI__builtin_rvv_vsaddu_vv_u32m2:
11808case RISCV::BI__builtin_rvv_vsaddu_vv_u32m4:
11809case RISCV::BI__builtin_rvv_vsaddu_vv_u32m8:
11810case RISCV::BI__builtin_rvv_vsaddu_vv_u32mf2:
11811case RISCV::BI__builtin_rvv_vsaddu_vv_u64m1:
11812case RISCV::BI__builtin_rvv_vsaddu_vv_u64m2:
11813case RISCV::BI__builtin_rvv_vsaddu_vv_u64m4:
11814case RISCV::BI__builtin_rvv_vsaddu_vv_u64m8:
11815case RISCV::BI__builtin_rvv_vsaddu_vx_u8m1:
11816case RISCV::BI__builtin_rvv_vsaddu_vx_u8m2:
11817case RISCV::BI__builtin_rvv_vsaddu_vx_u8m4:
11818case RISCV::BI__builtin_rvv_vsaddu_vx_u8m8:
11819case RISCV::BI__builtin_rvv_vsaddu_vx_u8mf2:
11820case RISCV::BI__builtin_rvv_vsaddu_vx_u8mf4:
11821case RISCV::BI__builtin_rvv_vsaddu_vx_u8mf8:
11822case RISCV::BI__builtin_rvv_vsaddu_vx_u16m1:
11823case RISCV::BI__builtin_rvv_vsaddu_vx_u16m2:
11824case RISCV::BI__builtin_rvv_vsaddu_vx_u16m4:
11825case RISCV::BI__builtin_rvv_vsaddu_vx_u16m8:
11826case RISCV::BI__builtin_rvv_vsaddu_vx_u16mf2:
11827case RISCV::BI__builtin_rvv_vsaddu_vx_u16mf4:
11828case RISCV::BI__builtin_rvv_vsaddu_vx_u32m1:
11829case RISCV::BI__builtin_rvv_vsaddu_vx_u32m2:
11830case RISCV::BI__builtin_rvv_vsaddu_vx_u32m4:
11831case RISCV::BI__builtin_rvv_vsaddu_vx_u32m8:
11832case RISCV::BI__builtin_rvv_vsaddu_vx_u32mf2:
11833case RISCV::BI__builtin_rvv_vsaddu_vx_u64m1:
11834case RISCV::BI__builtin_rvv_vsaddu_vx_u64m2:
11835case RISCV::BI__builtin_rvv_vsaddu_vx_u64m4:
11836case RISCV::BI__builtin_rvv_vsaddu_vx_u64m8:
11837 ID = Intrinsic::riscv_vsaddu;
11838 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
11839 break;
11840case RISCV::BI__builtin_rvv_vsaddu_vv_u8m1_m:
11841case RISCV::BI__builtin_rvv_vsaddu_vv_u8m2_m:
11842case RISCV::BI__builtin_rvv_vsaddu_vv_u8m4_m:
11843case RISCV::BI__builtin_rvv_vsaddu_vv_u8m8_m:
11844case RISCV::BI__builtin_rvv_vsaddu_vv_u8mf2_m:
11845case RISCV::BI__builtin_rvv_vsaddu_vv_u8mf4_m:
11846case RISCV::BI__builtin_rvv_vsaddu_vv_u8mf8_m:
11847case RISCV::BI__builtin_rvv_vsaddu_vv_u16m1_m:
11848case RISCV::BI__builtin_rvv_vsaddu_vv_u16m2_m:
11849case RISCV::BI__builtin_rvv_vsaddu_vv_u16m4_m:
11850case RISCV::BI__builtin_rvv_vsaddu_vv_u16m8_m:
11851case RISCV::BI__builtin_rvv_vsaddu_vv_u16mf2_m:
11852case RISCV::BI__builtin_rvv_vsaddu_vv_u16mf4_m:
11853case RISCV::BI__builtin_rvv_vsaddu_vv_u32m1_m:
11854case RISCV::BI__builtin_rvv_vsaddu_vv_u32m2_m:
11855case RISCV::BI__builtin_rvv_vsaddu_vv_u32m4_m:
11856case RISCV::BI__builtin_rvv_vsaddu_vv_u32m8_m:
11857case RISCV::BI__builtin_rvv_vsaddu_vv_u32mf2_m:
11858case RISCV::BI__builtin_rvv_vsaddu_vv_u64m1_m:
11859case RISCV::BI__builtin_rvv_vsaddu_vv_u64m2_m:
11860case RISCV::BI__builtin_rvv_vsaddu_vv_u64m4_m:
11861case RISCV::BI__builtin_rvv_vsaddu_vv_u64m8_m:
11862case RISCV::BI__builtin_rvv_vsaddu_vx_u8m1_m:
11863case RISCV::BI__builtin_rvv_vsaddu_vx_u8m2_m:
11864case RISCV::BI__builtin_rvv_vsaddu_vx_u8m4_m:
11865case RISCV::BI__builtin_rvv_vsaddu_vx_u8m8_m:
11866case RISCV::BI__builtin_rvv_vsaddu_vx_u8mf2_m:
11867case RISCV::BI__builtin_rvv_vsaddu_vx_u8mf4_m:
11868case RISCV::BI__builtin_rvv_vsaddu_vx_u8mf8_m:
11869case RISCV::BI__builtin_rvv_vsaddu_vx_u16m1_m:
11870case RISCV::BI__builtin_rvv_vsaddu_vx_u16m2_m:
11871case RISCV::BI__builtin_rvv_vsaddu_vx_u16m4_m:
11872case RISCV::BI__builtin_rvv_vsaddu_vx_u16m8_m:
11873case RISCV::BI__builtin_rvv_vsaddu_vx_u16mf2_m:
11874case RISCV::BI__builtin_rvv_vsaddu_vx_u16mf4_m:
11875case RISCV::BI__builtin_rvv_vsaddu_vx_u32m1_m:
11876case RISCV::BI__builtin_rvv_vsaddu_vx_u32m2_m:
11877case RISCV::BI__builtin_rvv_vsaddu_vx_u32m4_m:
11878case RISCV::BI__builtin_rvv_vsaddu_vx_u32m8_m:
11879case RISCV::BI__builtin_rvv_vsaddu_vx_u32mf2_m:
11880case RISCV::BI__builtin_rvv_vsaddu_vx_u64m1_m:
11881case RISCV::BI__builtin_rvv_vsaddu_vx_u64m2_m:
11882case RISCV::BI__builtin_rvv_vsaddu_vx_u64m4_m:
11883case RISCV::BI__builtin_rvv_vsaddu_vx_u64m8_m:
11884 ID = Intrinsic::riscv_vsaddu_mask;
11885 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
11886 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
11887 break;
11888case RISCV::BI__builtin_rvv_vsbc_vvm_i8m1:
11889case RISCV::BI__builtin_rvv_vsbc_vvm_i8m2:
11890case RISCV::BI__builtin_rvv_vsbc_vvm_i8m4:
11891case RISCV::BI__builtin_rvv_vsbc_vvm_i8m8:
11892case RISCV::BI__builtin_rvv_vsbc_vvm_i8mf2:
11893case RISCV::BI__builtin_rvv_vsbc_vvm_i8mf4:
11894case RISCV::BI__builtin_rvv_vsbc_vvm_i8mf8:
11895case RISCV::BI__builtin_rvv_vsbc_vvm_i16m1:
11896case RISCV::BI__builtin_rvv_vsbc_vvm_i16m2:
11897case RISCV::BI__builtin_rvv_vsbc_vvm_i16m4:
11898case RISCV::BI__builtin_rvv_vsbc_vvm_i16m8:
11899case RISCV::BI__builtin_rvv_vsbc_vvm_i16mf2:
11900case RISCV::BI__builtin_rvv_vsbc_vvm_i16mf4:
11901case RISCV::BI__builtin_rvv_vsbc_vvm_i32m1:
11902case RISCV::BI__builtin_rvv_vsbc_vvm_i32m2:
11903case RISCV::BI__builtin_rvv_vsbc_vvm_i32m4:
11904case RISCV::BI__builtin_rvv_vsbc_vvm_i32m8:
11905case RISCV::BI__builtin_rvv_vsbc_vvm_i32mf2:
11906case RISCV::BI__builtin_rvv_vsbc_vvm_i64m1:
11907case RISCV::BI__builtin_rvv_vsbc_vvm_i64m2:
11908case RISCV::BI__builtin_rvv_vsbc_vvm_i64m4:
11909case RISCV::BI__builtin_rvv_vsbc_vvm_i64m8:
11910case RISCV::BI__builtin_rvv_vsbc_vxm_i8m1:
11911case RISCV::BI__builtin_rvv_vsbc_vxm_i8m2:
11912case RISCV::BI__builtin_rvv_vsbc_vxm_i8m4:
11913case RISCV::BI__builtin_rvv_vsbc_vxm_i8m8:
11914case RISCV::BI__builtin_rvv_vsbc_vxm_i8mf2:
11915case RISCV::BI__builtin_rvv_vsbc_vxm_i8mf4:
11916case RISCV::BI__builtin_rvv_vsbc_vxm_i8mf8:
11917case RISCV::BI__builtin_rvv_vsbc_vxm_i16m1:
11918case RISCV::BI__builtin_rvv_vsbc_vxm_i16m2:
11919case RISCV::BI__builtin_rvv_vsbc_vxm_i16m4:
11920case RISCV::BI__builtin_rvv_vsbc_vxm_i16m8:
11921case RISCV::BI__builtin_rvv_vsbc_vxm_i16mf2:
11922case RISCV::BI__builtin_rvv_vsbc_vxm_i16mf4:
11923case RISCV::BI__builtin_rvv_vsbc_vxm_i32m1:
11924case RISCV::BI__builtin_rvv_vsbc_vxm_i32m2:
11925case RISCV::BI__builtin_rvv_vsbc_vxm_i32m4:
11926case RISCV::BI__builtin_rvv_vsbc_vxm_i32m8:
11927case RISCV::BI__builtin_rvv_vsbc_vxm_i32mf2:
11928case RISCV::BI__builtin_rvv_vsbc_vxm_i64m1:
11929case RISCV::BI__builtin_rvv_vsbc_vxm_i64m2:
11930case RISCV::BI__builtin_rvv_vsbc_vxm_i64m4:
11931case RISCV::BI__builtin_rvv_vsbc_vxm_i64m8:
11932case RISCV::BI__builtin_rvv_vsbc_vvm_u8m1:
11933case RISCV::BI__builtin_rvv_vsbc_vvm_u8m2:
11934case RISCV::BI__builtin_rvv_vsbc_vvm_u8m4:
11935case RISCV::BI__builtin_rvv_vsbc_vvm_u8m8:
11936case RISCV::BI__builtin_rvv_vsbc_vvm_u8mf2:
11937case RISCV::BI__builtin_rvv_vsbc_vvm_u8mf4:
11938case RISCV::BI__builtin_rvv_vsbc_vvm_u8mf8:
11939case RISCV::BI__builtin_rvv_vsbc_vvm_u16m1:
11940case RISCV::BI__builtin_rvv_vsbc_vvm_u16m2:
11941case RISCV::BI__builtin_rvv_vsbc_vvm_u16m4:
11942case RISCV::BI__builtin_rvv_vsbc_vvm_u16m8:
11943case RISCV::BI__builtin_rvv_vsbc_vvm_u16mf2:
11944case RISCV::BI__builtin_rvv_vsbc_vvm_u16mf4:
11945case RISCV::BI__builtin_rvv_vsbc_vvm_u32m1:
11946case RISCV::BI__builtin_rvv_vsbc_vvm_u32m2:
11947case RISCV::BI__builtin_rvv_vsbc_vvm_u32m4:
11948case RISCV::BI__builtin_rvv_vsbc_vvm_u32m8:
11949case RISCV::BI__builtin_rvv_vsbc_vvm_u32mf2:
11950case RISCV::BI__builtin_rvv_vsbc_vvm_u64m1:
11951case RISCV::BI__builtin_rvv_vsbc_vvm_u64m2:
11952case RISCV::BI__builtin_rvv_vsbc_vvm_u64m4:
11953case RISCV::BI__builtin_rvv_vsbc_vvm_u64m8:
11954case RISCV::BI__builtin_rvv_vsbc_vxm_u8m1:
11955case RISCV::BI__builtin_rvv_vsbc_vxm_u8m2:
11956case RISCV::BI__builtin_rvv_vsbc_vxm_u8m4:
11957case RISCV::BI__builtin_rvv_vsbc_vxm_u8m8:
11958case RISCV::BI__builtin_rvv_vsbc_vxm_u8mf2:
11959case RISCV::BI__builtin_rvv_vsbc_vxm_u8mf4:
11960case RISCV::BI__builtin_rvv_vsbc_vxm_u8mf8:
11961case RISCV::BI__builtin_rvv_vsbc_vxm_u16m1:
11962case RISCV::BI__builtin_rvv_vsbc_vxm_u16m2:
11963case RISCV::BI__builtin_rvv_vsbc_vxm_u16m4:
11964case RISCV::BI__builtin_rvv_vsbc_vxm_u16m8:
11965case RISCV::BI__builtin_rvv_vsbc_vxm_u16mf2:
11966case RISCV::BI__builtin_rvv_vsbc_vxm_u16mf4:
11967case RISCV::BI__builtin_rvv_vsbc_vxm_u32m1:
11968case RISCV::BI__builtin_rvv_vsbc_vxm_u32m2:
11969case RISCV::BI__builtin_rvv_vsbc_vxm_u32m4:
11970case RISCV::BI__builtin_rvv_vsbc_vxm_u32m8:
11971case RISCV::BI__builtin_rvv_vsbc_vxm_u32mf2:
11972case RISCV::BI__builtin_rvv_vsbc_vxm_u64m1:
11973case RISCV::BI__builtin_rvv_vsbc_vxm_u64m2:
11974case RISCV::BI__builtin_rvv_vsbc_vxm_u64m4:
11975case RISCV::BI__builtin_rvv_vsbc_vxm_u64m8:
11976 ID = Intrinsic::riscv_vsbc;
11977 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
11978 break;
11979case RISCV::BI__builtin_rvv_vse8_v_i8m1:
11980case RISCV::BI__builtin_rvv_vse8_v_i8m2:
11981case RISCV::BI__builtin_rvv_vse8_v_i8m4:
11982case RISCV::BI__builtin_rvv_vse8_v_i8m8:
11983case RISCV::BI__builtin_rvv_vse8_v_i8mf2:
11984case RISCV::BI__builtin_rvv_vse8_v_i8mf4:
11985case RISCV::BI__builtin_rvv_vse8_v_i8mf8:
11986case RISCV::BI__builtin_rvv_vse8_v_u8m1:
11987case RISCV::BI__builtin_rvv_vse8_v_u8m2:
11988case RISCV::BI__builtin_rvv_vse8_v_u8m4:
11989case RISCV::BI__builtin_rvv_vse8_v_u8m8:
11990case RISCV::BI__builtin_rvv_vse8_v_u8mf2:
11991case RISCV::BI__builtin_rvv_vse8_v_u8mf4:
11992case RISCV::BI__builtin_rvv_vse8_v_u8mf8:
11993case RISCV::BI__builtin_rvv_vse16_v_i16m1:
11994case RISCV::BI__builtin_rvv_vse16_v_i16m2:
11995case RISCV::BI__builtin_rvv_vse16_v_i16m4:
11996case RISCV::BI__builtin_rvv_vse16_v_i16m8:
11997case RISCV::BI__builtin_rvv_vse16_v_i16mf2:
11998case RISCV::BI__builtin_rvv_vse16_v_i16mf4:
11999case RISCV::BI__builtin_rvv_vse16_v_u16m1:
12000case RISCV::BI__builtin_rvv_vse16_v_u16m2:
12001case RISCV::BI__builtin_rvv_vse16_v_u16m4:
12002case RISCV::BI__builtin_rvv_vse16_v_u16m8:
12003case RISCV::BI__builtin_rvv_vse16_v_u16mf2:
12004case RISCV::BI__builtin_rvv_vse16_v_u16mf4:
12005case RISCV::BI__builtin_rvv_vse32_v_i32m1:
12006case RISCV::BI__builtin_rvv_vse32_v_i32m2:
12007case RISCV::BI__builtin_rvv_vse32_v_i32m4:
12008case RISCV::BI__builtin_rvv_vse32_v_i32m8:
12009case RISCV::BI__builtin_rvv_vse32_v_i32mf2:
12010case RISCV::BI__builtin_rvv_vse32_v_u32m1:
12011case RISCV::BI__builtin_rvv_vse32_v_u32m2:
12012case RISCV::BI__builtin_rvv_vse32_v_u32m4:
12013case RISCV::BI__builtin_rvv_vse32_v_u32m8:
12014case RISCV::BI__builtin_rvv_vse32_v_u32mf2:
12015case RISCV::BI__builtin_rvv_vse32_v_f32m1:
12016case RISCV::BI__builtin_rvv_vse32_v_f32m2:
12017case RISCV::BI__builtin_rvv_vse32_v_f32m4:
12018case RISCV::BI__builtin_rvv_vse32_v_f32m8:
12019case RISCV::BI__builtin_rvv_vse32_v_f32mf2:
12020case RISCV::BI__builtin_rvv_vse64_v_i64m1:
12021case RISCV::BI__builtin_rvv_vse64_v_i64m2:
12022case RISCV::BI__builtin_rvv_vse64_v_i64m4:
12023case RISCV::BI__builtin_rvv_vse64_v_i64m8:
12024case RISCV::BI__builtin_rvv_vse64_v_u64m1:
12025case RISCV::BI__builtin_rvv_vse64_v_u64m2:
12026case RISCV::BI__builtin_rvv_vse64_v_u64m4:
12027case RISCV::BI__builtin_rvv_vse64_v_u64m8:
12028case RISCV::BI__builtin_rvv_vse64_v_f64m1:
12029case RISCV::BI__builtin_rvv_vse64_v_f64m2:
12030case RISCV::BI__builtin_rvv_vse64_v_f64m4:
12031case RISCV::BI__builtin_rvv_vse64_v_f64m8:
12032 ID = Intrinsic::riscv_vse;
12033
12034 // Builtin: (ptr, value, vl). Intrinsic: (value, ptr, vl)
12035 std::swap(Ops[0], Ops[1]);
12036 Ops[1] = Builder.CreateBitCast(Ops[1], Ops[0]->getType()->getPointerTo());
12037 IntrinsicTypes = {Ops[0]->getType(), Ops[2]->getType()};
12038 break;
12039case RISCV::BI__builtin_rvv_vse1_v_b8:
12040case RISCV::BI__builtin_rvv_vse1_v_b4:
12041case RISCV::BI__builtin_rvv_vse1_v_b2:
12042case RISCV::BI__builtin_rvv_vse1_v_b1:
12043case RISCV::BI__builtin_rvv_vse1_v_b16:
12044case RISCV::BI__builtin_rvv_vse1_v_b32:
12045case RISCV::BI__builtin_rvv_vse1_v_b64:
12046 ID = Intrinsic::riscv_vse1;
12047
12048 // Builtin: (ptr, value, vl). Intrinsic: (value, ptr, vl)
12049 std::swap(Ops[0], Ops[1]);
12050 Ops[1] = Builder.CreateBitCast(Ops[1], Ops[0]->getType()->getPointerTo());
12051 IntrinsicTypes = {Ops[0]->getType(), Ops[2]->getType()};
12052 break;
12053case RISCV::BI__builtin_rvv_vse8_v_i8m1_m:
12054case RISCV::BI__builtin_rvv_vse8_v_i8m2_m:
12055case RISCV::BI__builtin_rvv_vse8_v_i8m4_m:
12056case RISCV::BI__builtin_rvv_vse8_v_i8m8_m:
12057case RISCV::BI__builtin_rvv_vse8_v_i8mf2_m:
12058case RISCV::BI__builtin_rvv_vse8_v_i8mf4_m:
12059case RISCV::BI__builtin_rvv_vse8_v_i8mf8_m:
12060case RISCV::BI__builtin_rvv_vse8_v_u8m1_m:
12061case RISCV::BI__builtin_rvv_vse8_v_u8m2_m:
12062case RISCV::BI__builtin_rvv_vse8_v_u8m4_m:
12063case RISCV::BI__builtin_rvv_vse8_v_u8m8_m:
12064case RISCV::BI__builtin_rvv_vse8_v_u8mf2_m:
12065case RISCV::BI__builtin_rvv_vse8_v_u8mf4_m:
12066case RISCV::BI__builtin_rvv_vse8_v_u8mf8_m:
12067case RISCV::BI__builtin_rvv_vse16_v_i16m1_m:
12068case RISCV::BI__builtin_rvv_vse16_v_i16m2_m:
12069case RISCV::BI__builtin_rvv_vse16_v_i16m4_m:
12070case RISCV::BI__builtin_rvv_vse16_v_i16m8_m:
12071case RISCV::BI__builtin_rvv_vse16_v_i16mf2_m:
12072case RISCV::BI__builtin_rvv_vse16_v_i16mf4_m:
12073case RISCV::BI__builtin_rvv_vse16_v_u16m1_m:
12074case RISCV::BI__builtin_rvv_vse16_v_u16m2_m:
12075case RISCV::BI__builtin_rvv_vse16_v_u16m4_m:
12076case RISCV::BI__builtin_rvv_vse16_v_u16m8_m:
12077case RISCV::BI__builtin_rvv_vse16_v_u16mf2_m:
12078case RISCV::BI__builtin_rvv_vse16_v_u16mf4_m:
12079case RISCV::BI__builtin_rvv_vse32_v_i32m1_m:
12080case RISCV::BI__builtin_rvv_vse32_v_i32m2_m:
12081case RISCV::BI__builtin_rvv_vse32_v_i32m4_m:
12082case RISCV::BI__builtin_rvv_vse32_v_i32m8_m:
12083case RISCV::BI__builtin_rvv_vse32_v_i32mf2_m:
12084case RISCV::BI__builtin_rvv_vse32_v_u32m1_m:
12085case RISCV::BI__builtin_rvv_vse32_v_u32m2_m:
12086case RISCV::BI__builtin_rvv_vse32_v_u32m4_m:
12087case RISCV::BI__builtin_rvv_vse32_v_u32m8_m:
12088case RISCV::BI__builtin_rvv_vse32_v_u32mf2_m:
12089case RISCV::BI__builtin_rvv_vse32_v_f32m1_m:
12090case RISCV::BI__builtin_rvv_vse32_v_f32m2_m:
12091case RISCV::BI__builtin_rvv_vse32_v_f32m4_m:
12092case RISCV::BI__builtin_rvv_vse32_v_f32m8_m:
12093case RISCV::BI__builtin_rvv_vse32_v_f32mf2_m:
12094case RISCV::BI__builtin_rvv_vse64_v_i64m1_m:
12095case RISCV::BI__builtin_rvv_vse64_v_i64m2_m:
12096case RISCV::BI__builtin_rvv_vse64_v_i64m4_m:
12097case RISCV::BI__builtin_rvv_vse64_v_i64m8_m:
12098case RISCV::BI__builtin_rvv_vse64_v_u64m1_m:
12099case RISCV::BI__builtin_rvv_vse64_v_u64m2_m:
12100case RISCV::BI__builtin_rvv_vse64_v_u64m4_m:
12101case RISCV::BI__builtin_rvv_vse64_v_u64m8_m:
12102case RISCV::BI__builtin_rvv_vse64_v_f64m1_m:
12103case RISCV::BI__builtin_rvv_vse64_v_f64m2_m:
12104case RISCV::BI__builtin_rvv_vse64_v_f64m4_m:
12105case RISCV::BI__builtin_rvv_vse64_v_f64m8_m:
12106 ID = Intrinsic::riscv_vse_mask;
12107
12108 // Builtin: (mask, ptr, value, vl). Intrinsic: (value, ptr, mask, vl)
12109 std::swap(Ops[0], Ops[2]);
12110 Ops[1] = Builder.CreateBitCast(Ops[1], Ops[0]->getType()->getPointerTo());
12111 IntrinsicTypes = {Ops[0]->getType(), Ops[3]->getType()};
12112 break;
12113case RISCV::BI__builtin_rvv_vsetvli:
12114 ID = Intrinsic::riscv_vsetvli;
12115IntrinsicTypes = {ResultType};break;
12116case RISCV::BI__builtin_rvv_vsetvlimax:
12117 ID = Intrinsic::riscv_vsetvlimax;
12118IntrinsicTypes = {ResultType};break;
12119case RISCV::BI__builtin_rvv_vsext_vf2_i16mf4:
12120case RISCV::BI__builtin_rvv_vsext_vf2_i16mf2:
12121case RISCV::BI__builtin_rvv_vsext_vf2_i16m1:
12122case RISCV::BI__builtin_rvv_vsext_vf2_i16m2:
12123case RISCV::BI__builtin_rvv_vsext_vf2_i16m4:
12124case RISCV::BI__builtin_rvv_vsext_vf2_i16m8:
12125case RISCV::BI__builtin_rvv_vsext_vf2_i32mf2:
12126case RISCV::BI__builtin_rvv_vsext_vf2_i32m1:
12127case RISCV::BI__builtin_rvv_vsext_vf2_i32m2:
12128case RISCV::BI__builtin_rvv_vsext_vf2_i32m4:
12129case RISCV::BI__builtin_rvv_vsext_vf2_i32m8:
12130case RISCV::BI__builtin_rvv_vsext_vf2_i64m1:
12131case RISCV::BI__builtin_rvv_vsext_vf2_i64m2:
12132case RISCV::BI__builtin_rvv_vsext_vf2_i64m4:
12133case RISCV::BI__builtin_rvv_vsext_vf2_i64m8:
12134case RISCV::BI__builtin_rvv_vsext_vf4_i32mf2:
12135case RISCV::BI__builtin_rvv_vsext_vf4_i32m1:
12136case RISCV::BI__builtin_rvv_vsext_vf4_i32m2:
12137case RISCV::BI__builtin_rvv_vsext_vf4_i32m4:
12138case RISCV::BI__builtin_rvv_vsext_vf4_i32m8:
12139case RISCV::BI__builtin_rvv_vsext_vf4_i64m1:
12140case RISCV::BI__builtin_rvv_vsext_vf4_i64m2:
12141case RISCV::BI__builtin_rvv_vsext_vf4_i64m4:
12142case RISCV::BI__builtin_rvv_vsext_vf4_i64m8:
12143case RISCV::BI__builtin_rvv_vsext_vf8_i64m1:
12144case RISCV::BI__builtin_rvv_vsext_vf8_i64m2:
12145case RISCV::BI__builtin_rvv_vsext_vf8_i64m4:
12146case RISCV::BI__builtin_rvv_vsext_vf8_i64m8:
12147 ID = Intrinsic::riscv_vsext;
12148 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
12149 break;
12150case RISCV::BI__builtin_rvv_vsext_vf2_i16mf4_m:
12151case RISCV::BI__builtin_rvv_vsext_vf2_i16mf2_m:
12152case RISCV::BI__builtin_rvv_vsext_vf2_i16m1_m:
12153case RISCV::BI__builtin_rvv_vsext_vf2_i16m2_m:
12154case RISCV::BI__builtin_rvv_vsext_vf2_i16m4_m:
12155case RISCV::BI__builtin_rvv_vsext_vf2_i16m8_m:
12156case RISCV::BI__builtin_rvv_vsext_vf2_i32mf2_m:
12157case RISCV::BI__builtin_rvv_vsext_vf2_i32m1_m:
12158case RISCV::BI__builtin_rvv_vsext_vf2_i32m2_m:
12159case RISCV::BI__builtin_rvv_vsext_vf2_i32m4_m:
12160case RISCV::BI__builtin_rvv_vsext_vf2_i32m8_m:
12161case RISCV::BI__builtin_rvv_vsext_vf2_i64m1_m:
12162case RISCV::BI__builtin_rvv_vsext_vf2_i64m2_m:
12163case RISCV::BI__builtin_rvv_vsext_vf2_i64m4_m:
12164case RISCV::BI__builtin_rvv_vsext_vf2_i64m8_m:
12165case RISCV::BI__builtin_rvv_vsext_vf4_i32mf2_m:
12166case RISCV::BI__builtin_rvv_vsext_vf4_i32m1_m:
12167case RISCV::BI__builtin_rvv_vsext_vf4_i32m2_m:
12168case RISCV::BI__builtin_rvv_vsext_vf4_i32m4_m:
12169case RISCV::BI__builtin_rvv_vsext_vf4_i32m8_m:
12170case RISCV::BI__builtin_rvv_vsext_vf4_i64m1_m:
12171case RISCV::BI__builtin_rvv_vsext_vf4_i64m2_m:
12172case RISCV::BI__builtin_rvv_vsext_vf4_i64m4_m:
12173case RISCV::BI__builtin_rvv_vsext_vf4_i64m8_m:
12174case RISCV::BI__builtin_rvv_vsext_vf8_i64m1_m:
12175case RISCV::BI__builtin_rvv_vsext_vf8_i64m2_m:
12176case RISCV::BI__builtin_rvv_vsext_vf8_i64m4_m:
12177case RISCV::BI__builtin_rvv_vsext_vf8_i64m8_m:
12178 ID = Intrinsic::riscv_vsext_mask;
12179 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
12180 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
12181 break;
12182case RISCV::BI__builtin_rvv_vslide1down_vx_i8m1:
12183case RISCV::BI__builtin_rvv_vslide1down_vx_i8m2:
12184case RISCV::BI__builtin_rvv_vslide1down_vx_i8m4:
12185case RISCV::BI__builtin_rvv_vslide1down_vx_i8m8:
12186case RISCV::BI__builtin_rvv_vslide1down_vx_i8mf2:
12187case RISCV::BI__builtin_rvv_vslide1down_vx_i8mf4:
12188case RISCV::BI__builtin_rvv_vslide1down_vx_i8mf8:
12189case RISCV::BI__builtin_rvv_vslide1down_vx_i16m1:
12190case RISCV::BI__builtin_rvv_vslide1down_vx_i16m2:
12191case RISCV::BI__builtin_rvv_vslide1down_vx_i16m4:
12192case RISCV::BI__builtin_rvv_vslide1down_vx_i16m8:
12193case RISCV::BI__builtin_rvv_vslide1down_vx_i16mf2:
12194case RISCV::BI__builtin_rvv_vslide1down_vx_i16mf4:
12195case RISCV::BI__builtin_rvv_vslide1down_vx_i32m1:
12196case RISCV::BI__builtin_rvv_vslide1down_vx_i32m2:
12197case RISCV::BI__builtin_rvv_vslide1down_vx_i32m4:
12198case RISCV::BI__builtin_rvv_vslide1down_vx_i32m8:
12199case RISCV::BI__builtin_rvv_vslide1down_vx_i32mf2:
12200case RISCV::BI__builtin_rvv_vslide1down_vx_i64m1:
12201case RISCV::BI__builtin_rvv_vslide1down_vx_i64m2:
12202case RISCV::BI__builtin_rvv_vslide1down_vx_i64m4:
12203case RISCV::BI__builtin_rvv_vslide1down_vx_i64m8:
12204case RISCV::BI__builtin_rvv_vslide1down_vx_u8m1:
12205case RISCV::BI__builtin_rvv_vslide1down_vx_u8m2:
12206case RISCV::BI__builtin_rvv_vslide1down_vx_u8m4:
12207case RISCV::BI__builtin_rvv_vslide1down_vx_u8m8:
12208case RISCV::BI__builtin_rvv_vslide1down_vx_u8mf2:
12209case RISCV::BI__builtin_rvv_vslide1down_vx_u8mf4:
12210case RISCV::BI__builtin_rvv_vslide1down_vx_u8mf8:
12211case RISCV::BI__builtin_rvv_vslide1down_vx_u16m1:
12212case RISCV::BI__builtin_rvv_vslide1down_vx_u16m2:
12213case RISCV::BI__builtin_rvv_vslide1down_vx_u16m4:
12214case RISCV::BI__builtin_rvv_vslide1down_vx_u16m8:
12215case RISCV::BI__builtin_rvv_vslide1down_vx_u16mf2:
12216case RISCV::BI__builtin_rvv_vslide1down_vx_u16mf4:
12217case RISCV::BI__builtin_rvv_vslide1down_vx_u32m1:
12218case RISCV::BI__builtin_rvv_vslide1down_vx_u32m2:
12219case RISCV::BI__builtin_rvv_vslide1down_vx_u32m4:
12220case RISCV::BI__builtin_rvv_vslide1down_vx_u32m8:
12221case RISCV::BI__builtin_rvv_vslide1down_vx_u32mf2:
12222case RISCV::BI__builtin_rvv_vslide1down_vx_u64m1:
12223case RISCV::BI__builtin_rvv_vslide1down_vx_u64m2:
12224case RISCV::BI__builtin_rvv_vslide1down_vx_u64m4:
12225case RISCV::BI__builtin_rvv_vslide1down_vx_u64m8:
12226 ID = Intrinsic::riscv_vslide1down;
12227 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
12228 break;
12229case RISCV::BI__builtin_rvv_vslide1down_vx_i8m1_m:
12230case RISCV::BI__builtin_rvv_vslide1down_vx_i8m2_m:
12231case RISCV::BI__builtin_rvv_vslide1down_vx_i8m4_m:
12232case RISCV::BI__builtin_rvv_vslide1down_vx_i8m8_m:
12233case RISCV::BI__builtin_rvv_vslide1down_vx_i8mf2_m:
12234case RISCV::BI__builtin_rvv_vslide1down_vx_i8mf4_m:
12235case RISCV::BI__builtin_rvv_vslide1down_vx_i8mf8_m:
12236case RISCV::BI__builtin_rvv_vslide1down_vx_i16m1_m:
12237case RISCV::BI__builtin_rvv_vslide1down_vx_i16m2_m:
12238case RISCV::BI__builtin_rvv_vslide1down_vx_i16m4_m:
12239case RISCV::BI__builtin_rvv_vslide1down_vx_i16m8_m:
12240case RISCV::BI__builtin_rvv_vslide1down_vx_i16mf2_m:
12241case RISCV::BI__builtin_rvv_vslide1down_vx_i16mf4_m:
12242case RISCV::BI__builtin_rvv_vslide1down_vx_i32m1_m:
12243case RISCV::BI__builtin_rvv_vslide1down_vx_i32m2_m:
12244case RISCV::BI__builtin_rvv_vslide1down_vx_i32m4_m:
12245case RISCV::BI__builtin_rvv_vslide1down_vx_i32m8_m:
12246case RISCV::BI__builtin_rvv_vslide1down_vx_i32mf2_m:
12247case RISCV::BI__builtin_rvv_vslide1down_vx_i64m1_m:
12248case RISCV::BI__builtin_rvv_vslide1down_vx_i64m2_m:
12249case RISCV::BI__builtin_rvv_vslide1down_vx_i64m4_m:
12250case RISCV::BI__builtin_rvv_vslide1down_vx_i64m8_m:
12251case RISCV::BI__builtin_rvv_vslide1down_vx_u8m1_m:
12252case RISCV::BI__builtin_rvv_vslide1down_vx_u8m2_m:
12253case RISCV::BI__builtin_rvv_vslide1down_vx_u8m4_m:
12254case RISCV::BI__builtin_rvv_vslide1down_vx_u8m8_m:
12255case RISCV::BI__builtin_rvv_vslide1down_vx_u8mf2_m:
12256case RISCV::BI__builtin_rvv_vslide1down_vx_u8mf4_m:
12257case RISCV::BI__builtin_rvv_vslide1down_vx_u8mf8_m:
12258case RISCV::BI__builtin_rvv_vslide1down_vx_u16m1_m:
12259case RISCV::BI__builtin_rvv_vslide1down_vx_u16m2_m:
12260case RISCV::BI__builtin_rvv_vslide1down_vx_u16m4_m:
12261case RISCV::BI__builtin_rvv_vslide1down_vx_u16m8_m:
12262case RISCV::BI__builtin_rvv_vslide1down_vx_u16mf2_m:
12263case RISCV::BI__builtin_rvv_vslide1down_vx_u16mf4_m:
12264case RISCV::BI__builtin_rvv_vslide1down_vx_u32m1_m:
12265case RISCV::BI__builtin_rvv_vslide1down_vx_u32m2_m:
12266case RISCV::BI__builtin_rvv_vslide1down_vx_u32m4_m:
12267case RISCV::BI__builtin_rvv_vslide1down_vx_u32m8_m:
12268case RISCV::BI__builtin_rvv_vslide1down_vx_u32mf2_m:
12269case RISCV::BI__builtin_rvv_vslide1down_vx_u64m1_m:
12270case RISCV::BI__builtin_rvv_vslide1down_vx_u64m2_m:
12271case RISCV::BI__builtin_rvv_vslide1down_vx_u64m4_m:
12272case RISCV::BI__builtin_rvv_vslide1down_vx_u64m8_m:
12273 ID = Intrinsic::riscv_vslide1down_mask;
12274 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
12275 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
12276 break;
12277case RISCV::BI__builtin_rvv_vslide1up_vx_i8m1:
12278case RISCV::BI__builtin_rvv_vslide1up_vx_i8m2:
12279case RISCV::BI__builtin_rvv_vslide1up_vx_i8m4:
12280case RISCV::BI__builtin_rvv_vslide1up_vx_i8m8:
12281case RISCV::BI__builtin_rvv_vslide1up_vx_i8mf2:
12282case RISCV::BI__builtin_rvv_vslide1up_vx_i8mf4:
12283case RISCV::BI__builtin_rvv_vslide1up_vx_i8mf8:
12284case RISCV::BI__builtin_rvv_vslide1up_vx_i16m1:
12285case RISCV::BI__builtin_rvv_vslide1up_vx_i16m2:
12286case RISCV::BI__builtin_rvv_vslide1up_vx_i16m4:
12287case RISCV::BI__builtin_rvv_vslide1up_vx_i16m8:
12288case RISCV::BI__builtin_rvv_vslide1up_vx_i16mf2:
12289case RISCV::BI__builtin_rvv_vslide1up_vx_i16mf4:
12290case RISCV::BI__builtin_rvv_vslide1up_vx_i32m1:
12291case RISCV::BI__builtin_rvv_vslide1up_vx_i32m2:
12292case RISCV::BI__builtin_rvv_vslide1up_vx_i32m4:
12293case RISCV::BI__builtin_rvv_vslide1up_vx_i32m8:
12294case RISCV::BI__builtin_rvv_vslide1up_vx_i32mf2:
12295case RISCV::BI__builtin_rvv_vslide1up_vx_i64m1:
12296case RISCV::BI__builtin_rvv_vslide1up_vx_i64m2:
12297case RISCV::BI__builtin_rvv_vslide1up_vx_i64m4:
12298case RISCV::BI__builtin_rvv_vslide1up_vx_i64m8:
12299case RISCV::BI__builtin_rvv_vslide1up_vx_u8m1:
12300case RISCV::BI__builtin_rvv_vslide1up_vx_u8m2:
12301case RISCV::BI__builtin_rvv_vslide1up_vx_u8m4:
12302case RISCV::BI__builtin_rvv_vslide1up_vx_u8m8:
12303case RISCV::BI__builtin_rvv_vslide1up_vx_u8mf2:
12304case RISCV::BI__builtin_rvv_vslide1up_vx_u8mf4:
12305case RISCV::BI__builtin_rvv_vslide1up_vx_u8mf8:
12306case RISCV::BI__builtin_rvv_vslide1up_vx_u16m1:
12307case RISCV::BI__builtin_rvv_vslide1up_vx_u16m2:
12308case RISCV::BI__builtin_rvv_vslide1up_vx_u16m4:
12309case RISCV::BI__builtin_rvv_vslide1up_vx_u16m8:
12310case RISCV::BI__builtin_rvv_vslide1up_vx_u16mf2:
12311case RISCV::BI__builtin_rvv_vslide1up_vx_u16mf4:
12312case RISCV::BI__builtin_rvv_vslide1up_vx_u32m1:
12313case RISCV::BI__builtin_rvv_vslide1up_vx_u32m2:
12314case RISCV::BI__builtin_rvv_vslide1up_vx_u32m4:
12315case RISCV::BI__builtin_rvv_vslide1up_vx_u32m8:
12316case RISCV::BI__builtin_rvv_vslide1up_vx_u32mf2:
12317case RISCV::BI__builtin_rvv_vslide1up_vx_u64m1:
12318case RISCV::BI__builtin_rvv_vslide1up_vx_u64m2:
12319case RISCV::BI__builtin_rvv_vslide1up_vx_u64m4:
12320case RISCV::BI__builtin_rvv_vslide1up_vx_u64m8:
12321 ID = Intrinsic::riscv_vslide1up;
12322 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
12323 break;
12324case RISCV::BI__builtin_rvv_vslide1up_vx_i8m1_m:
12325case RISCV::BI__builtin_rvv_vslide1up_vx_i8m2_m:
12326case RISCV::BI__builtin_rvv_vslide1up_vx_i8m4_m:
12327case RISCV::BI__builtin_rvv_vslide1up_vx_i8m8_m:
12328case RISCV::BI__builtin_rvv_vslide1up_vx_i8mf2_m:
12329case RISCV::BI__builtin_rvv_vslide1up_vx_i8mf4_m:
12330case RISCV::BI__builtin_rvv_vslide1up_vx_i8mf8_m:
12331case RISCV::BI__builtin_rvv_vslide1up_vx_i16m1_m:
12332case RISCV::BI__builtin_rvv_vslide1up_vx_i16m2_m:
12333case RISCV::BI__builtin_rvv_vslide1up_vx_i16m4_m:
12334case RISCV::BI__builtin_rvv_vslide1up_vx_i16m8_m:
12335case RISCV::BI__builtin_rvv_vslide1up_vx_i16mf2_m:
12336case RISCV::BI__builtin_rvv_vslide1up_vx_i16mf4_m:
12337case RISCV::BI__builtin_rvv_vslide1up_vx_i32m1_m:
12338case RISCV::BI__builtin_rvv_vslide1up_vx_i32m2_m:
12339case RISCV::BI__builtin_rvv_vslide1up_vx_i32m4_m:
12340case RISCV::BI__builtin_rvv_vslide1up_vx_i32m8_m:
12341case RISCV::BI__builtin_rvv_vslide1up_vx_i32mf2_m:
12342case RISCV::BI__builtin_rvv_vslide1up_vx_i64m1_m:
12343case RISCV::BI__builtin_rvv_vslide1up_vx_i64m2_m:
12344case RISCV::BI__builtin_rvv_vslide1up_vx_i64m4_m:
12345case RISCV::BI__builtin_rvv_vslide1up_vx_i64m8_m:
12346case RISCV::BI__builtin_rvv_vslide1up_vx_u8m1_m:
12347case RISCV::BI__builtin_rvv_vslide1up_vx_u8m2_m:
12348case RISCV::BI__builtin_rvv_vslide1up_vx_u8m4_m:
12349case RISCV::BI__builtin_rvv_vslide1up_vx_u8m8_m:
12350case RISCV::BI__builtin_rvv_vslide1up_vx_u8mf2_m:
12351case RISCV::BI__builtin_rvv_vslide1up_vx_u8mf4_m:
12352case RISCV::BI__builtin_rvv_vslide1up_vx_u8mf8_m:
12353case RISCV::BI__builtin_rvv_vslide1up_vx_u16m1_m:
12354case RISCV::BI__builtin_rvv_vslide1up_vx_u16m2_m:
12355case RISCV::BI__builtin_rvv_vslide1up_vx_u16m4_m:
12356case RISCV::BI__builtin_rvv_vslide1up_vx_u16m8_m:
12357case RISCV::BI__builtin_rvv_vslide1up_vx_u16mf2_m:
12358case RISCV::BI__builtin_rvv_vslide1up_vx_u16mf4_m:
12359case RISCV::BI__builtin_rvv_vslide1up_vx_u32m1_m:
12360case RISCV::BI__builtin_rvv_vslide1up_vx_u32m2_m:
12361case RISCV::BI__builtin_rvv_vslide1up_vx_u32m4_m:
12362case RISCV::BI__builtin_rvv_vslide1up_vx_u32m8_m:
12363case RISCV::BI__builtin_rvv_vslide1up_vx_u32mf2_m:
12364case RISCV::BI__builtin_rvv_vslide1up_vx_u64m1_m:
12365case RISCV::BI__builtin_rvv_vslide1up_vx_u64m2_m:
12366case RISCV::BI__builtin_rvv_vslide1up_vx_u64m4_m:
12367case RISCV::BI__builtin_rvv_vslide1up_vx_u64m8_m:
12368 ID = Intrinsic::riscv_vslide1up_mask;
12369 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
12370 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
12371 break;
12372case RISCV::BI__builtin_rvv_vslidedown_vx_i8m1:
12373case RISCV::BI__builtin_rvv_vslidedown_vx_i8m2:
12374case RISCV::BI__builtin_rvv_vslidedown_vx_i8m4:
12375case RISCV::BI__builtin_rvv_vslidedown_vx_i8m8:
12376case RISCV::BI__builtin_rvv_vslidedown_vx_i8mf2:
12377case RISCV::BI__builtin_rvv_vslidedown_vx_i8mf4:
12378case RISCV::BI__builtin_rvv_vslidedown_vx_i8mf8:
12379case RISCV::BI__builtin_rvv_vslidedown_vx_i16m1:
12380case RISCV::BI__builtin_rvv_vslidedown_vx_i16m2:
12381case RISCV::BI__builtin_rvv_vslidedown_vx_i16m4:
12382case RISCV::BI__builtin_rvv_vslidedown_vx_i16m8:
12383case RISCV::BI__builtin_rvv_vslidedown_vx_i16mf2:
12384case RISCV::BI__builtin_rvv_vslidedown_vx_i16mf4:
12385case RISCV::BI__builtin_rvv_vslidedown_vx_i32m1:
12386case RISCV::BI__builtin_rvv_vslidedown_vx_i32m2:
12387case RISCV::BI__builtin_rvv_vslidedown_vx_i32m4:
12388case RISCV::BI__builtin_rvv_vslidedown_vx_i32m8:
12389case RISCV::BI__builtin_rvv_vslidedown_vx_i32mf2:
12390case RISCV::BI__builtin_rvv_vslidedown_vx_i64m1:
12391case RISCV::BI__builtin_rvv_vslidedown_vx_i64m2:
12392case RISCV::BI__builtin_rvv_vslidedown_vx_i64m4:
12393case RISCV::BI__builtin_rvv_vslidedown_vx_i64m8:
12394case RISCV::BI__builtin_rvv_vslidedown_vx_f32m1:
12395case RISCV::BI__builtin_rvv_vslidedown_vx_f32m2:
12396case RISCV::BI__builtin_rvv_vslidedown_vx_f32m4:
12397case RISCV::BI__builtin_rvv_vslidedown_vx_f32m8:
12398case RISCV::BI__builtin_rvv_vslidedown_vx_f32mf2:
12399case RISCV::BI__builtin_rvv_vslidedown_vx_f64m1:
12400case RISCV::BI__builtin_rvv_vslidedown_vx_f64m2:
12401case RISCV::BI__builtin_rvv_vslidedown_vx_f64m4:
12402case RISCV::BI__builtin_rvv_vslidedown_vx_f64m8:
12403case RISCV::BI__builtin_rvv_vslidedown_vx_u8m1:
12404case RISCV::BI__builtin_rvv_vslidedown_vx_u8m2:
12405case RISCV::BI__builtin_rvv_vslidedown_vx_u8m4:
12406case RISCV::BI__builtin_rvv_vslidedown_vx_u8m8:
12407case RISCV::BI__builtin_rvv_vslidedown_vx_u8mf2:
12408case RISCV::BI__builtin_rvv_vslidedown_vx_u8mf4:
12409case RISCV::BI__builtin_rvv_vslidedown_vx_u8mf8:
12410case RISCV::BI__builtin_rvv_vslidedown_vx_u16m1:
12411case RISCV::BI__builtin_rvv_vslidedown_vx_u16m2:
12412case RISCV::BI__builtin_rvv_vslidedown_vx_u16m4:
12413case RISCV::BI__builtin_rvv_vslidedown_vx_u16m8:
12414case RISCV::BI__builtin_rvv_vslidedown_vx_u16mf2:
12415case RISCV::BI__builtin_rvv_vslidedown_vx_u16mf4:
12416case RISCV::BI__builtin_rvv_vslidedown_vx_u32m1:
12417case RISCV::BI__builtin_rvv_vslidedown_vx_u32m2:
12418case RISCV::BI__builtin_rvv_vslidedown_vx_u32m4:
12419case RISCV::BI__builtin_rvv_vslidedown_vx_u32m8:
12420case RISCV::BI__builtin_rvv_vslidedown_vx_u32mf2:
12421case RISCV::BI__builtin_rvv_vslidedown_vx_u64m1:
12422case RISCV::BI__builtin_rvv_vslidedown_vx_u64m2:
12423case RISCV::BI__builtin_rvv_vslidedown_vx_u64m4:
12424case RISCV::BI__builtin_rvv_vslidedown_vx_u64m8:
12425 ID = Intrinsic::riscv_vslidedown;
12426 IntrinsicTypes = {ResultType, Ops.back()->getType()};
12427 break;
12428case RISCV::BI__builtin_rvv_vslidedown_vx_i8m1_m:
12429case RISCV::BI__builtin_rvv_vslidedown_vx_i8m2_m:
12430case RISCV::BI__builtin_rvv_vslidedown_vx_i8m4_m:
12431case RISCV::BI__builtin_rvv_vslidedown_vx_i8m8_m:
12432case RISCV::BI__builtin_rvv_vslidedown_vx_i8mf2_m:
12433case RISCV::BI__builtin_rvv_vslidedown_vx_i8mf4_m:
12434case RISCV::BI__builtin_rvv_vslidedown_vx_i8mf8_m:
12435case RISCV::BI__builtin_rvv_vslidedown_vx_i16m1_m:
12436case RISCV::BI__builtin_rvv_vslidedown_vx_i16m2_m:
12437case RISCV::BI__builtin_rvv_vslidedown_vx_i16m4_m:
12438case RISCV::BI__builtin_rvv_vslidedown_vx_i16m8_m:
12439case RISCV::BI__builtin_rvv_vslidedown_vx_i16mf2_m:
12440case RISCV::BI__builtin_rvv_vslidedown_vx_i16mf4_m:
12441case RISCV::BI__builtin_rvv_vslidedown_vx_i32m1_m:
12442case RISCV::BI__builtin_rvv_vslidedown_vx_i32m2_m:
12443case RISCV::BI__builtin_rvv_vslidedown_vx_i32m4_m:
12444case RISCV::BI__builtin_rvv_vslidedown_vx_i32m8_m:
12445case RISCV::BI__builtin_rvv_vslidedown_vx_i32mf2_m:
12446case RISCV::BI__builtin_rvv_vslidedown_vx_i64m1_m:
12447case RISCV::BI__builtin_rvv_vslidedown_vx_i64m2_m:
12448case RISCV::BI__builtin_rvv_vslidedown_vx_i64m4_m:
12449case RISCV::BI__builtin_rvv_vslidedown_vx_i64m8_m:
12450case RISCV::BI__builtin_rvv_vslidedown_vx_f32m1_m:
12451case RISCV::BI__builtin_rvv_vslidedown_vx_f32m2_m:
12452case RISCV::BI__builtin_rvv_vslidedown_vx_f32m4_m:
12453case RISCV::BI__builtin_rvv_vslidedown_vx_f32m8_m:
12454case RISCV::BI__builtin_rvv_vslidedown_vx_f32mf2_m:
12455case RISCV::BI__builtin_rvv_vslidedown_vx_f64m1_m:
12456case RISCV::BI__builtin_rvv_vslidedown_vx_f64m2_m:
12457case RISCV::BI__builtin_rvv_vslidedown_vx_f64m4_m:
12458case RISCV::BI__builtin_rvv_vslidedown_vx_f64m8_m:
12459case RISCV::BI__builtin_rvv_vslidedown_vx_u8m1_m:
12460case RISCV::BI__builtin_rvv_vslidedown_vx_u8m2_m:
12461case RISCV::BI__builtin_rvv_vslidedown_vx_u8m4_m:
12462case RISCV::BI__builtin_rvv_vslidedown_vx_u8m8_m:
12463case RISCV::BI__builtin_rvv_vslidedown_vx_u8mf2_m:
12464case RISCV::BI__builtin_rvv_vslidedown_vx_u8mf4_m:
12465case RISCV::BI__builtin_rvv_vslidedown_vx_u8mf8_m:
12466case RISCV::BI__builtin_rvv_vslidedown_vx_u16m1_m:
12467case RISCV::BI__builtin_rvv_vslidedown_vx_u16m2_m:
12468case RISCV::BI__builtin_rvv_vslidedown_vx_u16m4_m:
12469case RISCV::BI__builtin_rvv_vslidedown_vx_u16m8_m:
12470case RISCV::BI__builtin_rvv_vslidedown_vx_u16mf2_m:
12471case RISCV::BI__builtin_rvv_vslidedown_vx_u16mf4_m:
12472case RISCV::BI__builtin_rvv_vslidedown_vx_u32m1_m:
12473case RISCV::BI__builtin_rvv_vslidedown_vx_u32m2_m:
12474case RISCV::BI__builtin_rvv_vslidedown_vx_u32m4_m:
12475case RISCV::BI__builtin_rvv_vslidedown_vx_u32m8_m:
12476case RISCV::BI__builtin_rvv_vslidedown_vx_u32mf2_m:
12477case RISCV::BI__builtin_rvv_vslidedown_vx_u64m1_m:
12478case RISCV::BI__builtin_rvv_vslidedown_vx_u64m2_m:
12479case RISCV::BI__builtin_rvv_vslidedown_vx_u64m4_m:
12480case RISCV::BI__builtin_rvv_vslidedown_vx_u64m8_m:
12481 ID = Intrinsic::riscv_vslidedown_mask;
12482 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
12483 IntrinsicTypes = {ResultType, Ops.back()->getType()};
12484 break;
12485case RISCV::BI__builtin_rvv_vslideup_vx_i8m1:
12486case RISCV::BI__builtin_rvv_vslideup_vx_i8m2:
12487case RISCV::BI__builtin_rvv_vslideup_vx_i8m4:
12488case RISCV::BI__builtin_rvv_vslideup_vx_i8m8:
12489case RISCV::BI__builtin_rvv_vslideup_vx_i8mf2:
12490case RISCV::BI__builtin_rvv_vslideup_vx_i8mf4:
12491case RISCV::BI__builtin_rvv_vslideup_vx_i8mf8:
12492case RISCV::BI__builtin_rvv_vslideup_vx_i16m1:
12493case RISCV::BI__builtin_rvv_vslideup_vx_i16m2:
12494case RISCV::BI__builtin_rvv_vslideup_vx_i16m4:
12495case RISCV::BI__builtin_rvv_vslideup_vx_i16m8:
12496case RISCV::BI__builtin_rvv_vslideup_vx_i16mf2:
12497case RISCV::BI__builtin_rvv_vslideup_vx_i16mf4:
12498case RISCV::BI__builtin_rvv_vslideup_vx_i32m1:
12499case RISCV::BI__builtin_rvv_vslideup_vx_i32m2:
12500case RISCV::BI__builtin_rvv_vslideup_vx_i32m4:
12501case RISCV::BI__builtin_rvv_vslideup_vx_i32m8:
12502case RISCV::BI__builtin_rvv_vslideup_vx_i32mf2:
12503case RISCV::BI__builtin_rvv_vslideup_vx_i64m1:
12504case RISCV::BI__builtin_rvv_vslideup_vx_i64m2:
12505case RISCV::BI__builtin_rvv_vslideup_vx_i64m4:
12506case RISCV::BI__builtin_rvv_vslideup_vx_i64m8:
12507case RISCV::BI__builtin_rvv_vslideup_vx_f32m1:
12508case RISCV::BI__builtin_rvv_vslideup_vx_f32m2:
12509case RISCV::BI__builtin_rvv_vslideup_vx_f32m4:
12510case RISCV::BI__builtin_rvv_vslideup_vx_f32m8:
12511case RISCV::BI__builtin_rvv_vslideup_vx_f32mf2:
12512case RISCV::BI__builtin_rvv_vslideup_vx_f64m1:
12513case RISCV::BI__builtin_rvv_vslideup_vx_f64m2:
12514case RISCV::BI__builtin_rvv_vslideup_vx_f64m4:
12515case RISCV::BI__builtin_rvv_vslideup_vx_f64m8:
12516case RISCV::BI__builtin_rvv_vslideup_vx_u8m1:
12517case RISCV::BI__builtin_rvv_vslideup_vx_u8m2:
12518case RISCV::BI__builtin_rvv_vslideup_vx_u8m4:
12519case RISCV::BI__builtin_rvv_vslideup_vx_u8m8:
12520case RISCV::BI__builtin_rvv_vslideup_vx_u8mf2:
12521case RISCV::BI__builtin_rvv_vslideup_vx_u8mf4:
12522case RISCV::BI__builtin_rvv_vslideup_vx_u8mf8:
12523case RISCV::BI__builtin_rvv_vslideup_vx_u16m1:
12524case RISCV::BI__builtin_rvv_vslideup_vx_u16m2:
12525case RISCV::BI__builtin_rvv_vslideup_vx_u16m4:
12526case RISCV::BI__builtin_rvv_vslideup_vx_u16m8:
12527case RISCV::BI__builtin_rvv_vslideup_vx_u16mf2:
12528case RISCV::BI__builtin_rvv_vslideup_vx_u16mf4:
12529case RISCV::BI__builtin_rvv_vslideup_vx_u32m1:
12530case RISCV::BI__builtin_rvv_vslideup_vx_u32m2:
12531case RISCV::BI__builtin_rvv_vslideup_vx_u32m4:
12532case RISCV::BI__builtin_rvv_vslideup_vx_u32m8:
12533case RISCV::BI__builtin_rvv_vslideup_vx_u32mf2:
12534case RISCV::BI__builtin_rvv_vslideup_vx_u64m1:
12535case RISCV::BI__builtin_rvv_vslideup_vx_u64m2:
12536case RISCV::BI__builtin_rvv_vslideup_vx_u64m4:
12537case RISCV::BI__builtin_rvv_vslideup_vx_u64m8:
12538 ID = Intrinsic::riscv_vslideup;
12539 IntrinsicTypes = {ResultType, Ops.back()->getType()};
12540 break;
12541case RISCV::BI__builtin_rvv_vslideup_vx_i8m1_m:
12542case RISCV::BI__builtin_rvv_vslideup_vx_i8m2_m:
12543case RISCV::BI__builtin_rvv_vslideup_vx_i8m4_m:
12544case RISCV::BI__builtin_rvv_vslideup_vx_i8m8_m:
12545case RISCV::BI__builtin_rvv_vslideup_vx_i8mf2_m:
12546case RISCV::BI__builtin_rvv_vslideup_vx_i8mf4_m:
12547case RISCV::BI__builtin_rvv_vslideup_vx_i8mf8_m:
12548case RISCV::BI__builtin_rvv_vslideup_vx_i16m1_m:
12549case RISCV::BI__builtin_rvv_vslideup_vx_i16m2_m:
12550case RISCV::BI__builtin_rvv_vslideup_vx_i16m4_m:
12551case RISCV::BI__builtin_rvv_vslideup_vx_i16m8_m:
12552case RISCV::BI__builtin_rvv_vslideup_vx_i16mf2_m:
12553case RISCV::BI__builtin_rvv_vslideup_vx_i16mf4_m:
12554case RISCV::BI__builtin_rvv_vslideup_vx_i32m1_m:
12555case RISCV::BI__builtin_rvv_vslideup_vx_i32m2_m:
12556case RISCV::BI__builtin_rvv_vslideup_vx_i32m4_m:
12557case RISCV::BI__builtin_rvv_vslideup_vx_i32m8_m:
12558case RISCV::BI__builtin_rvv_vslideup_vx_i32mf2_m:
12559case RISCV::BI__builtin_rvv_vslideup_vx_i64m1_m:
12560case RISCV::BI__builtin_rvv_vslideup_vx_i64m2_m:
12561case RISCV::BI__builtin_rvv_vslideup_vx_i64m4_m:
12562case RISCV::BI__builtin_rvv_vslideup_vx_i64m8_m:
12563case RISCV::BI__builtin_rvv_vslideup_vx_f32m1_m:
12564case RISCV::BI__builtin_rvv_vslideup_vx_f32m2_m:
12565case RISCV::BI__builtin_rvv_vslideup_vx_f32m4_m:
12566case RISCV::BI__builtin_rvv_vslideup_vx_f32m8_m:
12567case RISCV::BI__builtin_rvv_vslideup_vx_f32mf2_m:
12568case RISCV::BI__builtin_rvv_vslideup_vx_f64m1_m:
12569case RISCV::BI__builtin_rvv_vslideup_vx_f64m2_m:
12570case RISCV::BI__builtin_rvv_vslideup_vx_f64m4_m:
12571case RISCV::BI__builtin_rvv_vslideup_vx_f64m8_m:
12572case RISCV::BI__builtin_rvv_vslideup_vx_u8m1_m:
12573case RISCV::BI__builtin_rvv_vslideup_vx_u8m2_m:
12574case RISCV::BI__builtin_rvv_vslideup_vx_u8m4_m:
12575case RISCV::BI__builtin_rvv_vslideup_vx_u8m8_m:
12576case RISCV::BI__builtin_rvv_vslideup_vx_u8mf2_m:
12577case RISCV::BI__builtin_rvv_vslideup_vx_u8mf4_m:
12578case RISCV::BI__builtin_rvv_vslideup_vx_u8mf8_m:
12579case RISCV::BI__builtin_rvv_vslideup_vx_u16m1_m:
12580case RISCV::BI__builtin_rvv_vslideup_vx_u16m2_m:
12581case RISCV::BI__builtin_rvv_vslideup_vx_u16m4_m:
12582case RISCV::BI__builtin_rvv_vslideup_vx_u16m8_m:
12583case RISCV::BI__builtin_rvv_vslideup_vx_u16mf2_m:
12584case RISCV::BI__builtin_rvv_vslideup_vx_u16mf4_m:
12585case RISCV::BI__builtin_rvv_vslideup_vx_u32m1_m:
12586case RISCV::BI__builtin_rvv_vslideup_vx_u32m2_m:
12587case RISCV::BI__builtin_rvv_vslideup_vx_u32m4_m:
12588case RISCV::BI__builtin_rvv_vslideup_vx_u32m8_m:
12589case RISCV::BI__builtin_rvv_vslideup_vx_u32mf2_m:
12590case RISCV::BI__builtin_rvv_vslideup_vx_u64m1_m:
12591case RISCV::BI__builtin_rvv_vslideup_vx_u64m2_m:
12592case RISCV::BI__builtin_rvv_vslideup_vx_u64m4_m:
12593case RISCV::BI__builtin_rvv_vslideup_vx_u64m8_m:
12594 ID = Intrinsic::riscv_vslideup_mask;
12595 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
12596 IntrinsicTypes = {ResultType, Ops.back()->getType()};
12597 break;
12598case RISCV::BI__builtin_rvv_vsll_vv_i8m1:
12599case RISCV::BI__builtin_rvv_vsll_vv_i8m2:
12600case RISCV::BI__builtin_rvv_vsll_vv_i8m4:
12601case RISCV::BI__builtin_rvv_vsll_vv_i8m8:
12602case RISCV::BI__builtin_rvv_vsll_vv_i8mf2:
12603case RISCV::BI__builtin_rvv_vsll_vv_i8mf4:
12604case RISCV::BI__builtin_rvv_vsll_vv_i8mf8:
12605case RISCV::BI__builtin_rvv_vsll_vv_i16m1:
12606case RISCV::BI__builtin_rvv_vsll_vv_i16m2:
12607case RISCV::BI__builtin_rvv_vsll_vv_i16m4:
12608case RISCV::BI__builtin_rvv_vsll_vv_i16m8:
12609case RISCV::BI__builtin_rvv_vsll_vv_i16mf2:
12610case RISCV::BI__builtin_rvv_vsll_vv_i16mf4:
12611case RISCV::BI__builtin_rvv_vsll_vv_i32m1:
12612case RISCV::BI__builtin_rvv_vsll_vv_i32m2:
12613case RISCV::BI__builtin_rvv_vsll_vv_i32m4:
12614case RISCV::BI__builtin_rvv_vsll_vv_i32m8:
12615case RISCV::BI__builtin_rvv_vsll_vv_i32mf2:
12616case RISCV::BI__builtin_rvv_vsll_vv_i64m1:
12617case RISCV::BI__builtin_rvv_vsll_vv_i64m2:
12618case RISCV::BI__builtin_rvv_vsll_vv_i64m4:
12619case RISCV::BI__builtin_rvv_vsll_vv_i64m8:
12620case RISCV::BI__builtin_rvv_vsll_vx_i8m1:
12621case RISCV::BI__builtin_rvv_vsll_vx_i8m2:
12622case RISCV::BI__builtin_rvv_vsll_vx_i8m4:
12623case RISCV::BI__builtin_rvv_vsll_vx_i8m8:
12624case RISCV::BI__builtin_rvv_vsll_vx_i8mf2:
12625case RISCV::BI__builtin_rvv_vsll_vx_i8mf4:
12626case RISCV::BI__builtin_rvv_vsll_vx_i8mf8:
12627case RISCV::BI__builtin_rvv_vsll_vx_i16m1:
12628case RISCV::BI__builtin_rvv_vsll_vx_i16m2:
12629case RISCV::BI__builtin_rvv_vsll_vx_i16m4:
12630case RISCV::BI__builtin_rvv_vsll_vx_i16m8:
12631case RISCV::BI__builtin_rvv_vsll_vx_i16mf2:
12632case RISCV::BI__builtin_rvv_vsll_vx_i16mf4:
12633case RISCV::BI__builtin_rvv_vsll_vx_i32m1:
12634case RISCV::BI__builtin_rvv_vsll_vx_i32m2:
12635case RISCV::BI__builtin_rvv_vsll_vx_i32m4:
12636case RISCV::BI__builtin_rvv_vsll_vx_i32m8:
12637case RISCV::BI__builtin_rvv_vsll_vx_i32mf2:
12638case RISCV::BI__builtin_rvv_vsll_vx_i64m1:
12639case RISCV::BI__builtin_rvv_vsll_vx_i64m2:
12640case RISCV::BI__builtin_rvv_vsll_vx_i64m4:
12641case RISCV::BI__builtin_rvv_vsll_vx_i64m8:
12642case RISCV::BI__builtin_rvv_vsll_vv_u8m1:
12643case RISCV::BI__builtin_rvv_vsll_vv_u8m2:
12644case RISCV::BI__builtin_rvv_vsll_vv_u8m4:
12645case RISCV::BI__builtin_rvv_vsll_vv_u8m8:
12646case RISCV::BI__builtin_rvv_vsll_vv_u8mf2:
12647case RISCV::BI__builtin_rvv_vsll_vv_u8mf4:
12648case RISCV::BI__builtin_rvv_vsll_vv_u8mf8:
12649case RISCV::BI__builtin_rvv_vsll_vv_u16m1:
12650case RISCV::BI__builtin_rvv_vsll_vv_u16m2:
12651case RISCV::BI__builtin_rvv_vsll_vv_u16m4:
12652case RISCV::BI__builtin_rvv_vsll_vv_u16m8:
12653case RISCV::BI__builtin_rvv_vsll_vv_u16mf2:
12654case RISCV::BI__builtin_rvv_vsll_vv_u16mf4:
12655case RISCV::BI__builtin_rvv_vsll_vv_u32m1:
12656case RISCV::BI__builtin_rvv_vsll_vv_u32m2:
12657case RISCV::BI__builtin_rvv_vsll_vv_u32m4:
12658case RISCV::BI__builtin_rvv_vsll_vv_u32m8:
12659case RISCV::BI__builtin_rvv_vsll_vv_u32mf2:
12660case RISCV::BI__builtin_rvv_vsll_vv_u64m1:
12661case RISCV::BI__builtin_rvv_vsll_vv_u64m2:
12662case RISCV::BI__builtin_rvv_vsll_vv_u64m4:
12663case RISCV::BI__builtin_rvv_vsll_vv_u64m8:
12664case RISCV::BI__builtin_rvv_vsll_vx_u8m1:
12665case RISCV::BI__builtin_rvv_vsll_vx_u8m2:
12666case RISCV::BI__builtin_rvv_vsll_vx_u8m4:
12667case RISCV::BI__builtin_rvv_vsll_vx_u8m8:
12668case RISCV::BI__builtin_rvv_vsll_vx_u8mf2:
12669case RISCV::BI__builtin_rvv_vsll_vx_u8mf4:
12670case RISCV::BI__builtin_rvv_vsll_vx_u8mf8:
12671case RISCV::BI__builtin_rvv_vsll_vx_u16m1:
12672case RISCV::BI__builtin_rvv_vsll_vx_u16m2:
12673case RISCV::BI__builtin_rvv_vsll_vx_u16m4:
12674case RISCV::BI__builtin_rvv_vsll_vx_u16m8:
12675case RISCV::BI__builtin_rvv_vsll_vx_u16mf2:
12676case RISCV::BI__builtin_rvv_vsll_vx_u16mf4:
12677case RISCV::BI__builtin_rvv_vsll_vx_u32m1:
12678case RISCV::BI__builtin_rvv_vsll_vx_u32m2:
12679case RISCV::BI__builtin_rvv_vsll_vx_u32m4:
12680case RISCV::BI__builtin_rvv_vsll_vx_u32m8:
12681case RISCV::BI__builtin_rvv_vsll_vx_u32mf2:
12682case RISCV::BI__builtin_rvv_vsll_vx_u64m1:
12683case RISCV::BI__builtin_rvv_vsll_vx_u64m2:
12684case RISCV::BI__builtin_rvv_vsll_vx_u64m4:
12685case RISCV::BI__builtin_rvv_vsll_vx_u64m8:
12686 ID = Intrinsic::riscv_vsll;
12687 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
12688 break;
12689case RISCV::BI__builtin_rvv_vsll_vv_i8m1_m:
12690case RISCV::BI__builtin_rvv_vsll_vv_i8m2_m:
12691case RISCV::BI__builtin_rvv_vsll_vv_i8m4_m:
12692case RISCV::BI__builtin_rvv_vsll_vv_i8m8_m:
12693case RISCV::BI__builtin_rvv_vsll_vv_i8mf2_m:
12694case RISCV::BI__builtin_rvv_vsll_vv_i8mf4_m:
12695case RISCV::BI__builtin_rvv_vsll_vv_i8mf8_m:
12696case RISCV::BI__builtin_rvv_vsll_vv_i16m1_m:
12697case RISCV::BI__builtin_rvv_vsll_vv_i16m2_m:
12698case RISCV::BI__builtin_rvv_vsll_vv_i16m4_m:
12699case RISCV::BI__builtin_rvv_vsll_vv_i16m8_m:
12700case RISCV::BI__builtin_rvv_vsll_vv_i16mf2_m:
12701case RISCV::BI__builtin_rvv_vsll_vv_i16mf4_m:
12702case RISCV::BI__builtin_rvv_vsll_vv_i32m1_m:
12703case RISCV::BI__builtin_rvv_vsll_vv_i32m2_m:
12704case RISCV::BI__builtin_rvv_vsll_vv_i32m4_m:
12705case RISCV::BI__builtin_rvv_vsll_vv_i32m8_m:
12706case RISCV::BI__builtin_rvv_vsll_vv_i32mf2_m:
12707case RISCV::BI__builtin_rvv_vsll_vv_i64m1_m:
12708case RISCV::BI__builtin_rvv_vsll_vv_i64m2_m:
12709case RISCV::BI__builtin_rvv_vsll_vv_i64m4_m:
12710case RISCV::BI__builtin_rvv_vsll_vv_i64m8_m:
12711case RISCV::BI__builtin_rvv_vsll_vx_i8m1_m:
12712case RISCV::BI__builtin_rvv_vsll_vx_i8m2_m:
12713case RISCV::BI__builtin_rvv_vsll_vx_i8m4_m:
12714case RISCV::BI__builtin_rvv_vsll_vx_i8m8_m:
12715case RISCV::BI__builtin_rvv_vsll_vx_i8mf2_m:
12716case RISCV::BI__builtin_rvv_vsll_vx_i8mf4_m:
12717case RISCV::BI__builtin_rvv_vsll_vx_i8mf8_m:
12718case RISCV::BI__builtin_rvv_vsll_vx_i16m1_m:
12719case RISCV::BI__builtin_rvv_vsll_vx_i16m2_m:
12720case RISCV::BI__builtin_rvv_vsll_vx_i16m4_m:
12721case RISCV::BI__builtin_rvv_vsll_vx_i16m8_m:
12722case RISCV::BI__builtin_rvv_vsll_vx_i16mf2_m:
12723case RISCV::BI__builtin_rvv_vsll_vx_i16mf4_m:
12724case RISCV::BI__builtin_rvv_vsll_vx_i32m1_m:
12725case RISCV::BI__builtin_rvv_vsll_vx_i32m2_m:
12726case RISCV::BI__builtin_rvv_vsll_vx_i32m4_m:
12727case RISCV::BI__builtin_rvv_vsll_vx_i32m8_m:
12728case RISCV::BI__builtin_rvv_vsll_vx_i32mf2_m:
12729case RISCV::BI__builtin_rvv_vsll_vx_i64m1_m:
12730case RISCV::BI__builtin_rvv_vsll_vx_i64m2_m:
12731case RISCV::BI__builtin_rvv_vsll_vx_i64m4_m:
12732case RISCV::BI__builtin_rvv_vsll_vx_i64m8_m:
12733case RISCV::BI__builtin_rvv_vsll_vv_u8m1_m:
12734case RISCV::BI__builtin_rvv_vsll_vv_u8m2_m:
12735case RISCV::BI__builtin_rvv_vsll_vv_u8m4_m:
12736case RISCV::BI__builtin_rvv_vsll_vv_u8m8_m:
12737case RISCV::BI__builtin_rvv_vsll_vv_u8mf2_m:
12738case RISCV::BI__builtin_rvv_vsll_vv_u8mf4_m:
12739case RISCV::BI__builtin_rvv_vsll_vv_u8mf8_m:
12740case RISCV::BI__builtin_rvv_vsll_vv_u16m1_m:
12741case RISCV::BI__builtin_rvv_vsll_vv_u16m2_m:
12742case RISCV::BI__builtin_rvv_vsll_vv_u16m4_m:
12743case RISCV::BI__builtin_rvv_vsll_vv_u16m8_m:
12744case RISCV::BI__builtin_rvv_vsll_vv_u16mf2_m:
12745case RISCV::BI__builtin_rvv_vsll_vv_u16mf4_m:
12746case RISCV::BI__builtin_rvv_vsll_vv_u32m1_m:
12747case RISCV::BI__builtin_rvv_vsll_vv_u32m2_m:
12748case RISCV::BI__builtin_rvv_vsll_vv_u32m4_m:
12749case RISCV::BI__builtin_rvv_vsll_vv_u32m8_m:
12750case RISCV::BI__builtin_rvv_vsll_vv_u32mf2_m:
12751case RISCV::BI__builtin_rvv_vsll_vv_u64m1_m:
12752case RISCV::BI__builtin_rvv_vsll_vv_u64m2_m:
12753case RISCV::BI__builtin_rvv_vsll_vv_u64m4_m:
12754case RISCV::BI__builtin_rvv_vsll_vv_u64m8_m:
12755case RISCV::BI__builtin_rvv_vsll_vx_u8m1_m:
12756case RISCV::BI__builtin_rvv_vsll_vx_u8m2_m:
12757case RISCV::BI__builtin_rvv_vsll_vx_u8m4_m:
12758case RISCV::BI__builtin_rvv_vsll_vx_u8m8_m:
12759case RISCV::BI__builtin_rvv_vsll_vx_u8mf2_m:
12760case RISCV::BI__builtin_rvv_vsll_vx_u8mf4_m:
12761case RISCV::BI__builtin_rvv_vsll_vx_u8mf8_m:
12762case RISCV::BI__builtin_rvv_vsll_vx_u16m1_m:
12763case RISCV::BI__builtin_rvv_vsll_vx_u16m2_m:
12764case RISCV::BI__builtin_rvv_vsll_vx_u16m4_m:
12765case RISCV::BI__builtin_rvv_vsll_vx_u16m8_m:
12766case RISCV::BI__builtin_rvv_vsll_vx_u16mf2_m:
12767case RISCV::BI__builtin_rvv_vsll_vx_u16mf4_m:
12768case RISCV::BI__builtin_rvv_vsll_vx_u32m1_m:
12769case RISCV::BI__builtin_rvv_vsll_vx_u32m2_m:
12770case RISCV::BI__builtin_rvv_vsll_vx_u32m4_m:
12771case RISCV::BI__builtin_rvv_vsll_vx_u32m8_m:
12772case RISCV::BI__builtin_rvv_vsll_vx_u32mf2_m:
12773case RISCV::BI__builtin_rvv_vsll_vx_u64m1_m:
12774case RISCV::BI__builtin_rvv_vsll_vx_u64m2_m:
12775case RISCV::BI__builtin_rvv_vsll_vx_u64m4_m:
12776case RISCV::BI__builtin_rvv_vsll_vx_u64m8_m:
12777 ID = Intrinsic::riscv_vsll_mask;
12778 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
12779 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
12780 break;
12781case RISCV::BI__builtin_rvv_vsmul_vv_i8m1:
12782case RISCV::BI__builtin_rvv_vsmul_vv_i8m2:
12783case RISCV::BI__builtin_rvv_vsmul_vv_i8m4:
12784case RISCV::BI__builtin_rvv_vsmul_vv_i8m8:
12785case RISCV::BI__builtin_rvv_vsmul_vv_i8mf2:
12786case RISCV::BI__builtin_rvv_vsmul_vv_i8mf4:
12787case RISCV::BI__builtin_rvv_vsmul_vv_i8mf8:
12788case RISCV::BI__builtin_rvv_vsmul_vv_i16m1:
12789case RISCV::BI__builtin_rvv_vsmul_vv_i16m2:
12790case RISCV::BI__builtin_rvv_vsmul_vv_i16m4:
12791case RISCV::BI__builtin_rvv_vsmul_vv_i16m8:
12792case RISCV::BI__builtin_rvv_vsmul_vv_i16mf2:
12793case RISCV::BI__builtin_rvv_vsmul_vv_i16mf4:
12794case RISCV::BI__builtin_rvv_vsmul_vv_i32m1:
12795case RISCV::BI__builtin_rvv_vsmul_vv_i32m2:
12796case RISCV::BI__builtin_rvv_vsmul_vv_i32m4:
12797case RISCV::BI__builtin_rvv_vsmul_vv_i32m8:
12798case RISCV::BI__builtin_rvv_vsmul_vv_i32mf2:
12799case RISCV::BI__builtin_rvv_vsmul_vv_i64m1:
12800case RISCV::BI__builtin_rvv_vsmul_vv_i64m2:
12801case RISCV::BI__builtin_rvv_vsmul_vv_i64m4:
12802case RISCV::BI__builtin_rvv_vsmul_vv_i64m8:
12803case RISCV::BI__builtin_rvv_vsmul_vx_i8m1:
12804case RISCV::BI__builtin_rvv_vsmul_vx_i8m2:
12805case RISCV::BI__builtin_rvv_vsmul_vx_i8m4:
12806case RISCV::BI__builtin_rvv_vsmul_vx_i8m8:
12807case RISCV::BI__builtin_rvv_vsmul_vx_i8mf2:
12808case RISCV::BI__builtin_rvv_vsmul_vx_i8mf4:
12809case RISCV::BI__builtin_rvv_vsmul_vx_i8mf8:
12810case RISCV::BI__builtin_rvv_vsmul_vx_i16m1:
12811case RISCV::BI__builtin_rvv_vsmul_vx_i16m2:
12812case RISCV::BI__builtin_rvv_vsmul_vx_i16m4:
12813case RISCV::BI__builtin_rvv_vsmul_vx_i16m8:
12814case RISCV::BI__builtin_rvv_vsmul_vx_i16mf2:
12815case RISCV::BI__builtin_rvv_vsmul_vx_i16mf4:
12816case RISCV::BI__builtin_rvv_vsmul_vx_i32m1:
12817case RISCV::BI__builtin_rvv_vsmul_vx_i32m2:
12818case RISCV::BI__builtin_rvv_vsmul_vx_i32m4:
12819case RISCV::BI__builtin_rvv_vsmul_vx_i32m8:
12820case RISCV::BI__builtin_rvv_vsmul_vx_i32mf2:
12821case RISCV::BI__builtin_rvv_vsmul_vx_i64m1:
12822case RISCV::BI__builtin_rvv_vsmul_vx_i64m2:
12823case RISCV::BI__builtin_rvv_vsmul_vx_i64m4:
12824case RISCV::BI__builtin_rvv_vsmul_vx_i64m8:
12825 ID = Intrinsic::riscv_vsmul;
12826 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
12827 break;
12828case RISCV::BI__builtin_rvv_vsmul_vv_i8m1_m:
12829case RISCV::BI__builtin_rvv_vsmul_vv_i8m2_m:
12830case RISCV::BI__builtin_rvv_vsmul_vv_i8m4_m:
12831case RISCV::BI__builtin_rvv_vsmul_vv_i8m8_m:
12832case RISCV::BI__builtin_rvv_vsmul_vv_i8mf2_m:
12833case RISCV::BI__builtin_rvv_vsmul_vv_i8mf4_m:
12834case RISCV::BI__builtin_rvv_vsmul_vv_i8mf8_m:
12835case RISCV::BI__builtin_rvv_vsmul_vv_i16m1_m:
12836case RISCV::BI__builtin_rvv_vsmul_vv_i16m2_m:
12837case RISCV::BI__builtin_rvv_vsmul_vv_i16m4_m:
12838case RISCV::BI__builtin_rvv_vsmul_vv_i16m8_m:
12839case RISCV::BI__builtin_rvv_vsmul_vv_i16mf2_m:
12840case RISCV::BI__builtin_rvv_vsmul_vv_i16mf4_m:
12841case RISCV::BI__builtin_rvv_vsmul_vv_i32m1_m:
12842case RISCV::BI__builtin_rvv_vsmul_vv_i32m2_m:
12843case RISCV::BI__builtin_rvv_vsmul_vv_i32m4_m:
12844case RISCV::BI__builtin_rvv_vsmul_vv_i32m8_m:
12845case RISCV::BI__builtin_rvv_vsmul_vv_i32mf2_m:
12846case RISCV::BI__builtin_rvv_vsmul_vv_i64m1_m:
12847case RISCV::BI__builtin_rvv_vsmul_vv_i64m2_m:
12848case RISCV::BI__builtin_rvv_vsmul_vv_i64m4_m:
12849case RISCV::BI__builtin_rvv_vsmul_vv_i64m8_m:
12850case RISCV::BI__builtin_rvv_vsmul_vx_i8m1_m:
12851case RISCV::BI__builtin_rvv_vsmul_vx_i8m2_m:
12852case RISCV::BI__builtin_rvv_vsmul_vx_i8m4_m:
12853case RISCV::BI__builtin_rvv_vsmul_vx_i8m8_m:
12854case RISCV::BI__builtin_rvv_vsmul_vx_i8mf2_m:
12855case RISCV::BI__builtin_rvv_vsmul_vx_i8mf4_m:
12856case RISCV::BI__builtin_rvv_vsmul_vx_i8mf8_m:
12857case RISCV::BI__builtin_rvv_vsmul_vx_i16m1_m:
12858case RISCV::BI__builtin_rvv_vsmul_vx_i16m2_m:
12859case RISCV::BI__builtin_rvv_vsmul_vx_i16m4_m:
12860case RISCV::BI__builtin_rvv_vsmul_vx_i16m8_m:
12861case RISCV::BI__builtin_rvv_vsmul_vx_i16mf2_m:
12862case RISCV::BI__builtin_rvv_vsmul_vx_i16mf4_m:
12863case RISCV::BI__builtin_rvv_vsmul_vx_i32m1_m:
12864case RISCV::BI__builtin_rvv_vsmul_vx_i32m2_m:
12865case RISCV::BI__builtin_rvv_vsmul_vx_i32m4_m:
12866case RISCV::BI__builtin_rvv_vsmul_vx_i32m8_m:
12867case RISCV::BI__builtin_rvv_vsmul_vx_i32mf2_m:
12868case RISCV::BI__builtin_rvv_vsmul_vx_i64m1_m:
12869case RISCV::BI__builtin_rvv_vsmul_vx_i64m2_m:
12870case RISCV::BI__builtin_rvv_vsmul_vx_i64m4_m:
12871case RISCV::BI__builtin_rvv_vsmul_vx_i64m8_m:
12872 ID = Intrinsic::riscv_vsmul_mask;
12873 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
12874 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
12875 break;
12876case RISCV::BI__builtin_rvv_vsoxei8_v_i8m1:
12877case RISCV::BI__builtin_rvv_vsoxei8_v_i8m2:
12878case RISCV::BI__builtin_rvv_vsoxei8_v_i8m4:
12879case RISCV::BI__builtin_rvv_vsoxei8_v_i8m8:
12880case RISCV::BI__builtin_rvv_vsoxei8_v_i8mf2:
12881case RISCV::BI__builtin_rvv_vsoxei8_v_i8mf4:
12882case RISCV::BI__builtin_rvv_vsoxei8_v_i8mf8:
12883case RISCV::BI__builtin_rvv_vsoxei8_v_u8m1:
12884case RISCV::BI__builtin_rvv_vsoxei8_v_u8m2:
12885case RISCV::BI__builtin_rvv_vsoxei8_v_u8m4:
12886case RISCV::BI__builtin_rvv_vsoxei8_v_u8m8:
12887case RISCV::BI__builtin_rvv_vsoxei8_v_u8mf2:
12888case RISCV::BI__builtin_rvv_vsoxei8_v_u8mf4:
12889case RISCV::BI__builtin_rvv_vsoxei8_v_u8mf8:
12890case RISCV::BI__builtin_rvv_vsoxei16_v_i8m1:
12891case RISCV::BI__builtin_rvv_vsoxei16_v_i8m2:
12892case RISCV::BI__builtin_rvv_vsoxei16_v_i8m4:
12893case RISCV::BI__builtin_rvv_vsoxei16_v_i8mf2:
12894case RISCV::BI__builtin_rvv_vsoxei16_v_i8mf4:
12895case RISCV::BI__builtin_rvv_vsoxei16_v_i8mf8:
12896case RISCV::BI__builtin_rvv_vsoxei16_v_u8m1:
12897case RISCV::BI__builtin_rvv_vsoxei16_v_u8m2:
12898case RISCV::BI__builtin_rvv_vsoxei16_v_u8m4:
12899case RISCV::BI__builtin_rvv_vsoxei16_v_u8mf2:
12900case RISCV::BI__builtin_rvv_vsoxei16_v_u8mf4:
12901case RISCV::BI__builtin_rvv_vsoxei16_v_u8mf8:
12902case RISCV::BI__builtin_rvv_vsoxei32_v_i8m1:
12903case RISCV::BI__builtin_rvv_vsoxei32_v_i8m2:
12904case RISCV::BI__builtin_rvv_vsoxei32_v_i8mf2:
12905case RISCV::BI__builtin_rvv_vsoxei32_v_i8mf4:
12906case RISCV::BI__builtin_rvv_vsoxei32_v_i8mf8:
12907case RISCV::BI__builtin_rvv_vsoxei32_v_u8m1:
12908case RISCV::BI__builtin_rvv_vsoxei32_v_u8m2:
12909case RISCV::BI__builtin_rvv_vsoxei32_v_u8mf2:
12910case RISCV::BI__builtin_rvv_vsoxei32_v_u8mf4:
12911case RISCV::BI__builtin_rvv_vsoxei32_v_u8mf8:
12912case RISCV::BI__builtin_rvv_vsoxei64_v_i8m1:
12913case RISCV::BI__builtin_rvv_vsoxei64_v_i8mf2:
12914case RISCV::BI__builtin_rvv_vsoxei64_v_i8mf4:
12915case RISCV::BI__builtin_rvv_vsoxei64_v_i8mf8:
12916case RISCV::BI__builtin_rvv_vsoxei64_v_u8m1:
12917case RISCV::BI__builtin_rvv_vsoxei64_v_u8mf2:
12918case RISCV::BI__builtin_rvv_vsoxei64_v_u8mf4:
12919case RISCV::BI__builtin_rvv_vsoxei64_v_u8mf8:
12920case RISCV::BI__builtin_rvv_vsoxei8_v_i16m1:
12921case RISCV::BI__builtin_rvv_vsoxei8_v_i16m2:
12922case RISCV::BI__builtin_rvv_vsoxei8_v_i16m4:
12923case RISCV::BI__builtin_rvv_vsoxei8_v_i16m8:
12924case RISCV::BI__builtin_rvv_vsoxei8_v_i16mf2:
12925case RISCV::BI__builtin_rvv_vsoxei8_v_i16mf4:
12926case RISCV::BI__builtin_rvv_vsoxei8_v_u16m1:
12927case RISCV::BI__builtin_rvv_vsoxei8_v_u16m2:
12928case RISCV::BI__builtin_rvv_vsoxei8_v_u16m4:
12929case RISCV::BI__builtin_rvv_vsoxei8_v_u16m8:
12930case RISCV::BI__builtin_rvv_vsoxei8_v_u16mf2:
12931case RISCV::BI__builtin_rvv_vsoxei8_v_u16mf4:
12932case RISCV::BI__builtin_rvv_vsoxei16_v_i16m1:
12933case RISCV::BI__builtin_rvv_vsoxei16_v_i16m2:
12934case RISCV::BI__builtin_rvv_vsoxei16_v_i16m4:
12935case RISCV::BI__builtin_rvv_vsoxei16_v_i16m8:
12936case RISCV::BI__builtin_rvv_vsoxei16_v_i16mf2:
12937case RISCV::BI__builtin_rvv_vsoxei16_v_i16mf4:
12938case RISCV::BI__builtin_rvv_vsoxei16_v_u16m1:
12939case RISCV::BI__builtin_rvv_vsoxei16_v_u16m2:
12940case RISCV::BI__builtin_rvv_vsoxei16_v_u16m4:
12941case RISCV::BI__builtin_rvv_vsoxei16_v_u16m8:
12942case RISCV::BI__builtin_rvv_vsoxei16_v_u16mf2:
12943case RISCV::BI__builtin_rvv_vsoxei16_v_u16mf4:
12944case RISCV::BI__builtin_rvv_vsoxei32_v_i16m1:
12945case RISCV::BI__builtin_rvv_vsoxei32_v_i16m2:
12946case RISCV::BI__builtin_rvv_vsoxei32_v_i16m4:
12947case RISCV::BI__builtin_rvv_vsoxei32_v_i16mf2:
12948case RISCV::BI__builtin_rvv_vsoxei32_v_i16mf4:
12949case RISCV::BI__builtin_rvv_vsoxei32_v_u16m1:
12950case RISCV::BI__builtin_rvv_vsoxei32_v_u16m2:
12951case RISCV::BI__builtin_rvv_vsoxei32_v_u16m4:
12952case RISCV::BI__builtin_rvv_vsoxei32_v_u16mf2:
12953case RISCV::BI__builtin_rvv_vsoxei32_v_u16mf4:
12954case RISCV::BI__builtin_rvv_vsoxei64_v_i16m1:
12955case RISCV::BI__builtin_rvv_vsoxei64_v_i16m2:
12956case RISCV::BI__builtin_rvv_vsoxei64_v_i16mf2:
12957case RISCV::BI__builtin_rvv_vsoxei64_v_i16mf4:
12958case RISCV::BI__builtin_rvv_vsoxei64_v_u16m1:
12959case RISCV::BI__builtin_rvv_vsoxei64_v_u16m2:
12960case RISCV::BI__builtin_rvv_vsoxei64_v_u16mf2:
12961case RISCV::BI__builtin_rvv_vsoxei64_v_u16mf4:
12962case RISCV::BI__builtin_rvv_vsoxei8_v_i32m1:
12963case RISCV::BI__builtin_rvv_vsoxei8_v_i32m2:
12964case RISCV::BI__builtin_rvv_vsoxei8_v_i32m4:
12965case RISCV::BI__builtin_rvv_vsoxei8_v_i32m8:
12966case RISCV::BI__builtin_rvv_vsoxei8_v_i32mf2:
12967case RISCV::BI__builtin_rvv_vsoxei8_v_u32m1:
12968case RISCV::BI__builtin_rvv_vsoxei8_v_u32m2:
12969case RISCV::BI__builtin_rvv_vsoxei8_v_u32m4:
12970case RISCV::BI__builtin_rvv_vsoxei8_v_u32m8:
12971case RISCV::BI__builtin_rvv_vsoxei8_v_u32mf2:
12972case RISCV::BI__builtin_rvv_vsoxei16_v_i32m1:
12973case RISCV::BI__builtin_rvv_vsoxei16_v_i32m2:
12974case RISCV::BI__builtin_rvv_vsoxei16_v_i32m4:
12975case RISCV::BI__builtin_rvv_vsoxei16_v_i32m8:
12976case RISCV::BI__builtin_rvv_vsoxei16_v_i32mf2:
12977case RISCV::BI__builtin_rvv_vsoxei16_v_u32m1:
12978case RISCV::BI__builtin_rvv_vsoxei16_v_u32m2:
12979case RISCV::BI__builtin_rvv_vsoxei16_v_u32m4:
12980case RISCV::BI__builtin_rvv_vsoxei16_v_u32m8:
12981case RISCV::BI__builtin_rvv_vsoxei16_v_u32mf2:
12982case RISCV::BI__builtin_rvv_vsoxei32_v_i32m1:
12983case RISCV::BI__builtin_rvv_vsoxei32_v_i32m2:
12984case RISCV::BI__builtin_rvv_vsoxei32_v_i32m4:
12985case RISCV::BI__builtin_rvv_vsoxei32_v_i32m8:
12986case RISCV::BI__builtin_rvv_vsoxei32_v_i32mf2:
12987case RISCV::BI__builtin_rvv_vsoxei32_v_u32m1:
12988case RISCV::BI__builtin_rvv_vsoxei32_v_u32m2:
12989case RISCV::BI__builtin_rvv_vsoxei32_v_u32m4:
12990case RISCV::BI__builtin_rvv_vsoxei32_v_u32m8:
12991case RISCV::BI__builtin_rvv_vsoxei32_v_u32mf2:
12992case RISCV::BI__builtin_rvv_vsoxei64_v_i32m1:
12993case RISCV::BI__builtin_rvv_vsoxei64_v_i32m2:
12994case RISCV::BI__builtin_rvv_vsoxei64_v_i32m4:
12995case RISCV::BI__builtin_rvv_vsoxei64_v_i32mf2:
12996case RISCV::BI__builtin_rvv_vsoxei64_v_u32m1:
12997case RISCV::BI__builtin_rvv_vsoxei64_v_u32m2:
12998case RISCV::BI__builtin_rvv_vsoxei64_v_u32m4:
12999case RISCV::BI__builtin_rvv_vsoxei64_v_u32mf2:
13000case RISCV::BI__builtin_rvv_vsoxei8_v_i64m1:
13001case RISCV::BI__builtin_rvv_vsoxei8_v_i64m2:
13002case RISCV::BI__builtin_rvv_vsoxei8_v_i64m4:
13003case RISCV::BI__builtin_rvv_vsoxei8_v_i64m8:
13004case RISCV::BI__builtin_rvv_vsoxei8_v_u64m1:
13005case RISCV::BI__builtin_rvv_vsoxei8_v_u64m2:
13006case RISCV::BI__builtin_rvv_vsoxei8_v_u64m4:
13007case RISCV::BI__builtin_rvv_vsoxei8_v_u64m8:
13008case RISCV::BI__builtin_rvv_vsoxei16_v_i64m1:
13009case RISCV::BI__builtin_rvv_vsoxei16_v_i64m2:
13010case RISCV::BI__builtin_rvv_vsoxei16_v_i64m4:
13011case RISCV::BI__builtin_rvv_vsoxei16_v_i64m8:
13012case RISCV::BI__builtin_rvv_vsoxei16_v_u64m1:
13013case RISCV::BI__builtin_rvv_vsoxei16_v_u64m2:
13014case RISCV::BI__builtin_rvv_vsoxei16_v_u64m4:
13015case RISCV::BI__builtin_rvv_vsoxei16_v_u64m8:
13016case RISCV::BI__builtin_rvv_vsoxei32_v_i64m1:
13017case RISCV::BI__builtin_rvv_vsoxei32_v_i64m2:
13018case RISCV::BI__builtin_rvv_vsoxei32_v_i64m4:
13019case RISCV::BI__builtin_rvv_vsoxei32_v_i64m8:
13020case RISCV::BI__builtin_rvv_vsoxei32_v_u64m1:
13021case RISCV::BI__builtin_rvv_vsoxei32_v_u64m2:
13022case RISCV::BI__builtin_rvv_vsoxei32_v_u64m4:
13023case RISCV::BI__builtin_rvv_vsoxei32_v_u64m8:
13024case RISCV::BI__builtin_rvv_vsoxei64_v_i64m1:
13025case RISCV::BI__builtin_rvv_vsoxei64_v_i64m2:
13026case RISCV::BI__builtin_rvv_vsoxei64_v_i64m4:
13027case RISCV::BI__builtin_rvv_vsoxei64_v_i64m8:
13028case RISCV::BI__builtin_rvv_vsoxei64_v_u64m1:
13029case RISCV::BI__builtin_rvv_vsoxei64_v_u64m2:
13030case RISCV::BI__builtin_rvv_vsoxei64_v_u64m4:
13031case RISCV::BI__builtin_rvv_vsoxei64_v_u64m8:
13032case RISCV::BI__builtin_rvv_vsoxei8_v_f32m1:
13033case RISCV::BI__builtin_rvv_vsoxei8_v_f32m2:
13034case RISCV::BI__builtin_rvv_vsoxei8_v_f32m4:
13035case RISCV::BI__builtin_rvv_vsoxei8_v_f32m8:
13036case RISCV::BI__builtin_rvv_vsoxei8_v_f32mf2:
13037case RISCV::BI__builtin_rvv_vsoxei16_v_f32m1:
13038case RISCV::BI__builtin_rvv_vsoxei16_v_f32m2:
13039case RISCV::BI__builtin_rvv_vsoxei16_v_f32m4:
13040case RISCV::BI__builtin_rvv_vsoxei16_v_f32m8:
13041case RISCV::BI__builtin_rvv_vsoxei16_v_f32mf2:
13042case RISCV::BI__builtin_rvv_vsoxei32_v_f32m1:
13043case RISCV::BI__builtin_rvv_vsoxei32_v_f32m2:
13044case RISCV::BI__builtin_rvv_vsoxei32_v_f32m4:
13045case RISCV::BI__builtin_rvv_vsoxei32_v_f32m8:
13046case RISCV::BI__builtin_rvv_vsoxei32_v_f32mf2:
13047case RISCV::BI__builtin_rvv_vsoxei64_v_f32m1:
13048case RISCV::BI__builtin_rvv_vsoxei64_v_f32m2:
13049case RISCV::BI__builtin_rvv_vsoxei64_v_f32m4:
13050case RISCV::BI__builtin_rvv_vsoxei64_v_f32mf2:
13051case RISCV::BI__builtin_rvv_vsoxei8_v_f64m1:
13052case RISCV::BI__builtin_rvv_vsoxei8_v_f64m2:
13053case RISCV::BI__builtin_rvv_vsoxei8_v_f64m4:
13054case RISCV::BI__builtin_rvv_vsoxei8_v_f64m8:
13055case RISCV::BI__builtin_rvv_vsoxei16_v_f64m1:
13056case RISCV::BI__builtin_rvv_vsoxei16_v_f64m2:
13057case RISCV::BI__builtin_rvv_vsoxei16_v_f64m4:
13058case RISCV::BI__builtin_rvv_vsoxei16_v_f64m8:
13059case RISCV::BI__builtin_rvv_vsoxei32_v_f64m1:
13060case RISCV::BI__builtin_rvv_vsoxei32_v_f64m2:
13061case RISCV::BI__builtin_rvv_vsoxei32_v_f64m4:
13062case RISCV::BI__builtin_rvv_vsoxei32_v_f64m8:
13063case RISCV::BI__builtin_rvv_vsoxei64_v_f64m1:
13064case RISCV::BI__builtin_rvv_vsoxei64_v_f64m2:
13065case RISCV::BI__builtin_rvv_vsoxei64_v_f64m4:
13066case RISCV::BI__builtin_rvv_vsoxei64_v_f64m8:
13067 ID = Intrinsic::riscv_vsoxei;
13068
13069 // Builtin: (ptr, index, value, vl). Intrinsic: (value, ptr, index, vl)
13070 std::rotate(Ops.begin(), Ops.begin() + 2, Ops.begin() + 3);
13071 Ops[1] = Builder.CreateBitCast(Ops[1],Ops[0]->getType()->getPointerTo());
13072 IntrinsicTypes = {Ops[0]->getType(), Ops[2]->getType(), Ops[3]->getType()};
13073 break;
13074case RISCV::BI__builtin_rvv_vsoxei8_v_i8m1_m:
13075case RISCV::BI__builtin_rvv_vsoxei8_v_i8m2_m:
13076case RISCV::BI__builtin_rvv_vsoxei8_v_i8m4_m:
13077case RISCV::BI__builtin_rvv_vsoxei8_v_i8m8_m:
13078case RISCV::BI__builtin_rvv_vsoxei8_v_i8mf2_m:
13079case RISCV::BI__builtin_rvv_vsoxei8_v_i8mf4_m:
13080case RISCV::BI__builtin_rvv_vsoxei8_v_i8mf8_m:
13081case RISCV::BI__builtin_rvv_vsoxei8_v_u8m1_m:
13082case RISCV::BI__builtin_rvv_vsoxei8_v_u8m2_m:
13083case RISCV::BI__builtin_rvv_vsoxei8_v_u8m4_m:
13084case RISCV::BI__builtin_rvv_vsoxei8_v_u8m8_m:
13085case RISCV::BI__builtin_rvv_vsoxei8_v_u8mf2_m:
13086case RISCV::BI__builtin_rvv_vsoxei8_v_u8mf4_m:
13087case RISCV::BI__builtin_rvv_vsoxei8_v_u8mf8_m:
13088case RISCV::BI__builtin_rvv_vsoxei16_v_i8m1_m:
13089case RISCV::BI__builtin_rvv_vsoxei16_v_i8m2_m:
13090case RISCV::BI__builtin_rvv_vsoxei16_v_i8m4_m:
13091case RISCV::BI__builtin_rvv_vsoxei16_v_i8mf2_m:
13092case RISCV::BI__builtin_rvv_vsoxei16_v_i8mf4_m:
13093case RISCV::BI__builtin_rvv_vsoxei16_v_i8mf8_m:
13094case RISCV::BI__builtin_rvv_vsoxei16_v_u8m1_m:
13095case RISCV::BI__builtin_rvv_vsoxei16_v_u8m2_m:
13096case RISCV::BI__builtin_rvv_vsoxei16_v_u8m4_m:
13097case RISCV::BI__builtin_rvv_vsoxei16_v_u8mf2_m:
13098case RISCV::BI__builtin_rvv_vsoxei16_v_u8mf4_m:
13099case RISCV::BI__builtin_rvv_vsoxei16_v_u8mf8_m:
13100case RISCV::BI__builtin_rvv_vsoxei32_v_i8m1_m:
13101case RISCV::BI__builtin_rvv_vsoxei32_v_i8m2_m:
13102case RISCV::BI__builtin_rvv_vsoxei32_v_i8mf2_m:
13103case RISCV::BI__builtin_rvv_vsoxei32_v_i8mf4_m:
13104case RISCV::BI__builtin_rvv_vsoxei32_v_i8mf8_m:
13105case RISCV::BI__builtin_rvv_vsoxei32_v_u8m1_m:
13106case RISCV::BI__builtin_rvv_vsoxei32_v_u8m2_m:
13107case RISCV::BI__builtin_rvv_vsoxei32_v_u8mf2_m:
13108case RISCV::BI__builtin_rvv_vsoxei32_v_u8mf4_m:
13109case RISCV::BI__builtin_rvv_vsoxei32_v_u8mf8_m:
13110case RISCV::BI__builtin_rvv_vsoxei64_v_i8m1_m:
13111case RISCV::BI__builtin_rvv_vsoxei64_v_i8mf2_m:
13112case RISCV::BI__builtin_rvv_vsoxei64_v_i8mf4_m:
13113case RISCV::BI__builtin_rvv_vsoxei64_v_i8mf8_m:
13114case RISCV::BI__builtin_rvv_vsoxei64_v_u8m1_m:
13115case RISCV::BI__builtin_rvv_vsoxei64_v_u8mf2_m:
13116case RISCV::BI__builtin_rvv_vsoxei64_v_u8mf4_m:
13117case RISCV::BI__builtin_rvv_vsoxei64_v_u8mf8_m:
13118case RISCV::BI__builtin_rvv_vsoxei8_v_i16m1_m:
13119case RISCV::BI__builtin_rvv_vsoxei8_v_i16m2_m:
13120case RISCV::BI__builtin_rvv_vsoxei8_v_i16m4_m:
13121case RISCV::BI__builtin_rvv_vsoxei8_v_i16m8_m:
13122case RISCV::BI__builtin_rvv_vsoxei8_v_i16mf2_m:
13123case RISCV::BI__builtin_rvv_vsoxei8_v_i16mf4_m:
13124case RISCV::BI__builtin_rvv_vsoxei8_v_u16m1_m:
13125case RISCV::BI__builtin_rvv_vsoxei8_v_u16m2_m:
13126case RISCV::BI__builtin_rvv_vsoxei8_v_u16m4_m:
13127case RISCV::BI__builtin_rvv_vsoxei8_v_u16m8_m:
13128case RISCV::BI__builtin_rvv_vsoxei8_v_u16mf2_m:
13129case RISCV::BI__builtin_rvv_vsoxei8_v_u16mf4_m:
13130case RISCV::BI__builtin_rvv_vsoxei16_v_i16m1_m:
13131case RISCV::BI__builtin_rvv_vsoxei16_v_i16m2_m:
13132case RISCV::BI__builtin_rvv_vsoxei16_v_i16m4_m:
13133case RISCV::BI__builtin_rvv_vsoxei16_v_i16m8_m:
13134case RISCV::BI__builtin_rvv_vsoxei16_v_i16mf2_m:
13135case RISCV::BI__builtin_rvv_vsoxei16_v_i16mf4_m:
13136case RISCV::BI__builtin_rvv_vsoxei16_v_u16m1_m:
13137case RISCV::BI__builtin_rvv_vsoxei16_v_u16m2_m:
13138case RISCV::BI__builtin_rvv_vsoxei16_v_u16m4_m:
13139case RISCV::BI__builtin_rvv_vsoxei16_v_u16m8_m:
13140case RISCV::BI__builtin_rvv_vsoxei16_v_u16mf2_m:
13141case RISCV::BI__builtin_rvv_vsoxei16_v_u16mf4_m:
13142case RISCV::BI__builtin_rvv_vsoxei32_v_i16m1_m:
13143case RISCV::BI__builtin_rvv_vsoxei32_v_i16m2_m:
13144case RISCV::BI__builtin_rvv_vsoxei32_v_i16m4_m:
13145case RISCV::BI__builtin_rvv_vsoxei32_v_i16mf2_m:
13146case RISCV::BI__builtin_rvv_vsoxei32_v_i16mf4_m:
13147case RISCV::BI__builtin_rvv_vsoxei32_v_u16m1_m:
13148case RISCV::BI__builtin_rvv_vsoxei32_v_u16m2_m:
13149case RISCV::BI__builtin_rvv_vsoxei32_v_u16m4_m:
13150case RISCV::BI__builtin_rvv_vsoxei32_v_u16mf2_m:
13151case RISCV::BI__builtin_rvv_vsoxei32_v_u16mf4_m:
13152case RISCV::BI__builtin_rvv_vsoxei64_v_i16m1_m:
13153case RISCV::BI__builtin_rvv_vsoxei64_v_i16m2_m:
13154case RISCV::BI__builtin_rvv_vsoxei64_v_i16mf2_m:
13155case RISCV::BI__builtin_rvv_vsoxei64_v_i16mf4_m:
13156case RISCV::BI__builtin_rvv_vsoxei64_v_u16m1_m:
13157case RISCV::BI__builtin_rvv_vsoxei64_v_u16m2_m:
13158case RISCV::BI__builtin_rvv_vsoxei64_v_u16mf2_m:
13159case RISCV::BI__builtin_rvv_vsoxei64_v_u16mf4_m:
13160case RISCV::BI__builtin_rvv_vsoxei8_v_i32m1_m:
13161case RISCV::BI__builtin_rvv_vsoxei8_v_i32m2_m:
13162case RISCV::BI__builtin_rvv_vsoxei8_v_i32m4_m:
13163case RISCV::BI__builtin_rvv_vsoxei8_v_i32m8_m:
13164case RISCV::BI__builtin_rvv_vsoxei8_v_i32mf2_m:
13165case RISCV::BI__builtin_rvv_vsoxei8_v_u32m1_m:
13166case RISCV::BI__builtin_rvv_vsoxei8_v_u32m2_m:
13167case RISCV::BI__builtin_rvv_vsoxei8_v_u32m4_m:
13168case RISCV::BI__builtin_rvv_vsoxei8_v_u32m8_m:
13169case RISCV::BI__builtin_rvv_vsoxei8_v_u32mf2_m:
13170case RISCV::BI__builtin_rvv_vsoxei16_v_i32m1_m:
13171case RISCV::BI__builtin_rvv_vsoxei16_v_i32m2_m:
13172case RISCV::BI__builtin_rvv_vsoxei16_v_i32m4_m:
13173case RISCV::BI__builtin_rvv_vsoxei16_v_i32m8_m:
13174case RISCV::BI__builtin_rvv_vsoxei16_v_i32mf2_m:
13175case RISCV::BI__builtin_rvv_vsoxei16_v_u32m1_m:
13176case RISCV::BI__builtin_rvv_vsoxei16_v_u32m2_m:
13177case RISCV::BI__builtin_rvv_vsoxei16_v_u32m4_m:
13178case RISCV::BI__builtin_rvv_vsoxei16_v_u32m8_m:
13179case RISCV::BI__builtin_rvv_vsoxei16_v_u32mf2_m:
13180case RISCV::BI__builtin_rvv_vsoxei32_v_i32m1_m:
13181case RISCV::BI__builtin_rvv_vsoxei32_v_i32m2_m:
13182case RISCV::BI__builtin_rvv_vsoxei32_v_i32m4_m:
13183case RISCV::BI__builtin_rvv_vsoxei32_v_i32m8_m:
13184case RISCV::BI__builtin_rvv_vsoxei32_v_i32mf2_m:
13185case RISCV::BI__builtin_rvv_vsoxei32_v_u32m1_m:
13186case RISCV::BI__builtin_rvv_vsoxei32_v_u32m2_m:
13187case RISCV::BI__builtin_rvv_vsoxei32_v_u32m4_m:
13188case RISCV::BI__builtin_rvv_vsoxei32_v_u32m8_m:
13189case RISCV::BI__builtin_rvv_vsoxei32_v_u32mf2_m:
13190case RISCV::BI__builtin_rvv_vsoxei64_v_i32m1_m:
13191case RISCV::BI__builtin_rvv_vsoxei64_v_i32m2_m:
13192case RISCV::BI__builtin_rvv_vsoxei64_v_i32m4_m:
13193case RISCV::BI__builtin_rvv_vsoxei64_v_i32mf2_m:
13194case RISCV::BI__builtin_rvv_vsoxei64_v_u32m1_m:
13195case RISCV::BI__builtin_rvv_vsoxei64_v_u32m2_m:
13196case RISCV::BI__builtin_rvv_vsoxei64_v_u32m4_m:
13197case RISCV::BI__builtin_rvv_vsoxei64_v_u32mf2_m:
13198case RISCV::BI__builtin_rvv_vsoxei8_v_i64m1_m:
13199case RISCV::BI__builtin_rvv_vsoxei8_v_i64m2_m:
13200case RISCV::BI__builtin_rvv_vsoxei8_v_i64m4_m:
13201case RISCV::BI__builtin_rvv_vsoxei8_v_i64m8_m:
13202case RISCV::BI__builtin_rvv_vsoxei8_v_u64m1_m:
13203case RISCV::BI__builtin_rvv_vsoxei8_v_u64m2_m:
13204case RISCV::BI__builtin_rvv_vsoxei8_v_u64m4_m:
13205case RISCV::BI__builtin_rvv_vsoxei8_v_u64m8_m:
13206case RISCV::BI__builtin_rvv_vsoxei16_v_i64m1_m:
13207case RISCV::BI__builtin_rvv_vsoxei16_v_i64m2_m:
13208case RISCV::BI__builtin_rvv_vsoxei16_v_i64m4_m:
13209case RISCV::BI__builtin_rvv_vsoxei16_v_i64m8_m:
13210case RISCV::BI__builtin_rvv_vsoxei16_v_u64m1_m:
13211case RISCV::BI__builtin_rvv_vsoxei16_v_u64m2_m:
13212case RISCV::BI__builtin_rvv_vsoxei16_v_u64m4_m:
13213case RISCV::BI__builtin_rvv_vsoxei16_v_u64m8_m:
13214case RISCV::BI__builtin_rvv_vsoxei32_v_i64m1_m:
13215case RISCV::BI__builtin_rvv_vsoxei32_v_i64m2_m:
13216case RISCV::BI__builtin_rvv_vsoxei32_v_i64m4_m:
13217case RISCV::BI__builtin_rvv_vsoxei32_v_i64m8_m:
13218case RISCV::BI__builtin_rvv_vsoxei32_v_u64m1_m:
13219case RISCV::BI__builtin_rvv_vsoxei32_v_u64m2_m:
13220case RISCV::BI__builtin_rvv_vsoxei32_v_u64m4_m:
13221case RISCV::BI__builtin_rvv_vsoxei32_v_u64m8_m:
13222case RISCV::BI__builtin_rvv_vsoxei64_v_i64m1_m:
13223case RISCV::BI__builtin_rvv_vsoxei64_v_i64m2_m:
13224case RISCV::BI__builtin_rvv_vsoxei64_v_i64m4_m:
13225case RISCV::BI__builtin_rvv_vsoxei64_v_i64m8_m:
13226case RISCV::BI__builtin_rvv_vsoxei64_v_u64m1_m:
13227case RISCV::BI__builtin_rvv_vsoxei64_v_u64m2_m:
13228case RISCV::BI__builtin_rvv_vsoxei64_v_u64m4_m:
13229case RISCV::BI__builtin_rvv_vsoxei64_v_u64m8_m:
13230case RISCV::BI__builtin_rvv_vsoxei8_v_f32m1_m:
13231case RISCV::BI__builtin_rvv_vsoxei8_v_f32m2_m:
13232case RISCV::BI__builtin_rvv_vsoxei8_v_f32m4_m:
13233case RISCV::BI__builtin_rvv_vsoxei8_v_f32m8_m:
13234case RISCV::BI__builtin_rvv_vsoxei8_v_f32mf2_m:
13235case RISCV::BI__builtin_rvv_vsoxei16_v_f32m1_m:
13236case RISCV::BI__builtin_rvv_vsoxei16_v_f32m2_m:
13237case RISCV::BI__builtin_rvv_vsoxei16_v_f32m4_m:
13238case RISCV::BI__builtin_rvv_vsoxei16_v_f32m8_m:
13239case RISCV::BI__builtin_rvv_vsoxei16_v_f32mf2_m:
13240case RISCV::BI__builtin_rvv_vsoxei32_v_f32m1_m:
13241case RISCV::BI__builtin_rvv_vsoxei32_v_f32m2_m:
13242case RISCV::BI__builtin_rvv_vsoxei32_v_f32m4_m:
13243case RISCV::BI__builtin_rvv_vsoxei32_v_f32m8_m:
13244case RISCV::BI__builtin_rvv_vsoxei32_v_f32mf2_m:
13245case RISCV::BI__builtin_rvv_vsoxei64_v_f32m1_m:
13246case RISCV::BI__builtin_rvv_vsoxei64_v_f32m2_m:
13247case RISCV::BI__builtin_rvv_vsoxei64_v_f32m4_m:
13248case RISCV::BI__builtin_rvv_vsoxei64_v_f32mf2_m:
13249case RISCV::BI__builtin_rvv_vsoxei8_v_f64m1_m:
13250case RISCV::BI__builtin_rvv_vsoxei8_v_f64m2_m:
13251case RISCV::BI__builtin_rvv_vsoxei8_v_f64m4_m:
13252case RISCV::BI__builtin_rvv_vsoxei8_v_f64m8_m:
13253case RISCV::BI__builtin_rvv_vsoxei16_v_f64m1_m:
13254case RISCV::BI__builtin_rvv_vsoxei16_v_f64m2_m:
13255case RISCV::BI__builtin_rvv_vsoxei16_v_f64m4_m:
13256case RISCV::BI__builtin_rvv_vsoxei16_v_f64m8_m:
13257case RISCV::BI__builtin_rvv_vsoxei32_v_f64m1_m:
13258case RISCV::BI__builtin_rvv_vsoxei32_v_f64m2_m:
13259case RISCV::BI__builtin_rvv_vsoxei32_v_f64m4_m:
13260case RISCV::BI__builtin_rvv_vsoxei32_v_f64m8_m:
13261case RISCV::BI__builtin_rvv_vsoxei64_v_f64m1_m:
13262case RISCV::BI__builtin_rvv_vsoxei64_v_f64m2_m:
13263case RISCV::BI__builtin_rvv_vsoxei64_v_f64m4_m:
13264case RISCV::BI__builtin_rvv_vsoxei64_v_f64m8_m:
13265 ID = Intrinsic::riscv_vsoxei_mask;
13266
13267 // Builtin: (mask, ptr, index, value, vl). Intrinsic: (value, ptr, index, mask, vl)
13268 std::swap(Ops[0], Ops[3]);
13269 Ops[1] = Builder.CreateBitCast(Ops[1], Ops[0]->getType()->getPointerTo());
13270 IntrinsicTypes = {Ops[0]->getType(), Ops[2]->getType(), Ops[4]->getType()};
13271 break;
13272case RISCV::BI__builtin_rvv_vsra_vv_i8m1:
13273case RISCV::BI__builtin_rvv_vsra_vv_i8m2:
13274case RISCV::BI__builtin_rvv_vsra_vv_i8m4:
13275case RISCV::BI__builtin_rvv_vsra_vv_i8m8:
13276case RISCV::BI__builtin_rvv_vsra_vv_i8mf2:
13277case RISCV::BI__builtin_rvv_vsra_vv_i8mf4:
13278case RISCV::BI__builtin_rvv_vsra_vv_i8mf8:
13279case RISCV::BI__builtin_rvv_vsra_vv_i16m1:
13280case RISCV::BI__builtin_rvv_vsra_vv_i16m2:
13281case RISCV::BI__builtin_rvv_vsra_vv_i16m4:
13282case RISCV::BI__builtin_rvv_vsra_vv_i16m8:
13283case RISCV::BI__builtin_rvv_vsra_vv_i16mf2:
13284case RISCV::BI__builtin_rvv_vsra_vv_i16mf4:
13285case RISCV::BI__builtin_rvv_vsra_vv_i32m1:
13286case RISCV::BI__builtin_rvv_vsra_vv_i32m2:
13287case RISCV::BI__builtin_rvv_vsra_vv_i32m4:
13288case RISCV::BI__builtin_rvv_vsra_vv_i32m8:
13289case RISCV::BI__builtin_rvv_vsra_vv_i32mf2:
13290case RISCV::BI__builtin_rvv_vsra_vv_i64m1:
13291case RISCV::BI__builtin_rvv_vsra_vv_i64m2:
13292case RISCV::BI__builtin_rvv_vsra_vv_i64m4:
13293case RISCV::BI__builtin_rvv_vsra_vv_i64m8:
13294case RISCV::BI__builtin_rvv_vsra_vx_i8m1:
13295case RISCV::BI__builtin_rvv_vsra_vx_i8m2:
13296case RISCV::BI__builtin_rvv_vsra_vx_i8m4:
13297case RISCV::BI__builtin_rvv_vsra_vx_i8m8:
13298case RISCV::BI__builtin_rvv_vsra_vx_i8mf2:
13299case RISCV::BI__builtin_rvv_vsra_vx_i8mf4:
13300case RISCV::BI__builtin_rvv_vsra_vx_i8mf8:
13301case RISCV::BI__builtin_rvv_vsra_vx_i16m1:
13302case RISCV::BI__builtin_rvv_vsra_vx_i16m2:
13303case RISCV::BI__builtin_rvv_vsra_vx_i16m4:
13304case RISCV::BI__builtin_rvv_vsra_vx_i16m8:
13305case RISCV::BI__builtin_rvv_vsra_vx_i16mf2:
13306case RISCV::BI__builtin_rvv_vsra_vx_i16mf4:
13307case RISCV::BI__builtin_rvv_vsra_vx_i32m1:
13308case RISCV::BI__builtin_rvv_vsra_vx_i32m2:
13309case RISCV::BI__builtin_rvv_vsra_vx_i32m4:
13310case RISCV::BI__builtin_rvv_vsra_vx_i32m8:
13311case RISCV::BI__builtin_rvv_vsra_vx_i32mf2:
13312case RISCV::BI__builtin_rvv_vsra_vx_i64m1:
13313case RISCV::BI__builtin_rvv_vsra_vx_i64m2:
13314case RISCV::BI__builtin_rvv_vsra_vx_i64m4:
13315case RISCV::BI__builtin_rvv_vsra_vx_i64m8:
13316 ID = Intrinsic::riscv_vsra;
13317 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
13318 break;
13319case RISCV::BI__builtin_rvv_vsra_vv_i8m1_m:
13320case RISCV::BI__builtin_rvv_vsra_vv_i8m2_m:
13321case RISCV::BI__builtin_rvv_vsra_vv_i8m4_m:
13322case RISCV::BI__builtin_rvv_vsra_vv_i8m8_m:
13323case RISCV::BI__builtin_rvv_vsra_vv_i8mf2_m:
13324case RISCV::BI__builtin_rvv_vsra_vv_i8mf4_m:
13325case RISCV::BI__builtin_rvv_vsra_vv_i8mf8_m:
13326case RISCV::BI__builtin_rvv_vsra_vv_i16m1_m:
13327case RISCV::BI__builtin_rvv_vsra_vv_i16m2_m:
13328case RISCV::BI__builtin_rvv_vsra_vv_i16m4_m:
13329case RISCV::BI__builtin_rvv_vsra_vv_i16m8_m:
13330case RISCV::BI__builtin_rvv_vsra_vv_i16mf2_m:
13331case RISCV::BI__builtin_rvv_vsra_vv_i16mf4_m:
13332case RISCV::BI__builtin_rvv_vsra_vv_i32m1_m:
13333case RISCV::BI__builtin_rvv_vsra_vv_i32m2_m:
13334case RISCV::BI__builtin_rvv_vsra_vv_i32m4_m:
13335case RISCV::BI__builtin_rvv_vsra_vv_i32m8_m:
13336case RISCV::BI__builtin_rvv_vsra_vv_i32mf2_m:
13337case RISCV::BI__builtin_rvv_vsra_vv_i64m1_m:
13338case RISCV::BI__builtin_rvv_vsra_vv_i64m2_m:
13339case RISCV::BI__builtin_rvv_vsra_vv_i64m4_m:
13340case RISCV::BI__builtin_rvv_vsra_vv_i64m8_m:
13341case RISCV::BI__builtin_rvv_vsra_vx_i8m1_m:
13342case RISCV::BI__builtin_rvv_vsra_vx_i8m2_m:
13343case RISCV::BI__builtin_rvv_vsra_vx_i8m4_m:
13344case RISCV::BI__builtin_rvv_vsra_vx_i8m8_m:
13345case RISCV::BI__builtin_rvv_vsra_vx_i8mf2_m:
13346case RISCV::BI__builtin_rvv_vsra_vx_i8mf4_m:
13347case RISCV::BI__builtin_rvv_vsra_vx_i8mf8_m:
13348case RISCV::BI__builtin_rvv_vsra_vx_i16m1_m:
13349case RISCV::BI__builtin_rvv_vsra_vx_i16m2_m:
13350case RISCV::BI__builtin_rvv_vsra_vx_i16m4_m:
13351case RISCV::BI__builtin_rvv_vsra_vx_i16m8_m:
13352case RISCV::BI__builtin_rvv_vsra_vx_i16mf2_m:
13353case RISCV::BI__builtin_rvv_vsra_vx_i16mf4_m:
13354case RISCV::BI__builtin_rvv_vsra_vx_i32m1_m:
13355case RISCV::BI__builtin_rvv_vsra_vx_i32m2_m:
13356case RISCV::BI__builtin_rvv_vsra_vx_i32m4_m:
13357case RISCV::BI__builtin_rvv_vsra_vx_i32m8_m:
13358case RISCV::BI__builtin_rvv_vsra_vx_i32mf2_m:
13359case RISCV::BI__builtin_rvv_vsra_vx_i64m1_m:
13360case RISCV::BI__builtin_rvv_vsra_vx_i64m2_m:
13361case RISCV::BI__builtin_rvv_vsra_vx_i64m4_m:
13362case RISCV::BI__builtin_rvv_vsra_vx_i64m8_m:
13363 ID = Intrinsic::riscv_vsra_mask;
13364 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
13365 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
13366 break;
13367case RISCV::BI__builtin_rvv_vsrl_vv_u8m1:
13368case RISCV::BI__builtin_rvv_vsrl_vv_u8m2:
13369case RISCV::BI__builtin_rvv_vsrl_vv_u8m4:
13370case RISCV::BI__builtin_rvv_vsrl_vv_u8m8:
13371case RISCV::BI__builtin_rvv_vsrl_vv_u8mf2:
13372case RISCV::BI__builtin_rvv_vsrl_vv_u8mf4:
13373case RISCV::BI__builtin_rvv_vsrl_vv_u8mf8:
13374case RISCV::BI__builtin_rvv_vsrl_vv_u16m1:
13375case RISCV::BI__builtin_rvv_vsrl_vv_u16m2:
13376case RISCV::BI__builtin_rvv_vsrl_vv_u16m4:
13377case RISCV::BI__builtin_rvv_vsrl_vv_u16m8:
13378case RISCV::BI__builtin_rvv_vsrl_vv_u16mf2:
13379case RISCV::BI__builtin_rvv_vsrl_vv_u16mf4:
13380case RISCV::BI__builtin_rvv_vsrl_vv_u32m1:
13381case RISCV::BI__builtin_rvv_vsrl_vv_u32m2:
13382case RISCV::BI__builtin_rvv_vsrl_vv_u32m4:
13383case RISCV::BI__builtin_rvv_vsrl_vv_u32m8:
13384case RISCV::BI__builtin_rvv_vsrl_vv_u32mf2:
13385case RISCV::BI__builtin_rvv_vsrl_vv_u64m1:
13386case RISCV::BI__builtin_rvv_vsrl_vv_u64m2:
13387case RISCV::BI__builtin_rvv_vsrl_vv_u64m4:
13388case RISCV::BI__builtin_rvv_vsrl_vv_u64m8:
13389case RISCV::BI__builtin_rvv_vsrl_vx_u8m1:
13390case RISCV::BI__builtin_rvv_vsrl_vx_u8m2:
13391case RISCV::BI__builtin_rvv_vsrl_vx_u8m4:
13392case RISCV::BI__builtin_rvv_vsrl_vx_u8m8:
13393case RISCV::BI__builtin_rvv_vsrl_vx_u8mf2:
13394case RISCV::BI__builtin_rvv_vsrl_vx_u8mf4:
13395case RISCV::BI__builtin_rvv_vsrl_vx_u8mf8:
13396case RISCV::BI__builtin_rvv_vsrl_vx_u16m1:
13397case RISCV::BI__builtin_rvv_vsrl_vx_u16m2:
13398case RISCV::BI__builtin_rvv_vsrl_vx_u16m4:
13399case RISCV::BI__builtin_rvv_vsrl_vx_u16m8:
13400case RISCV::BI__builtin_rvv_vsrl_vx_u16mf2:
13401case RISCV::BI__builtin_rvv_vsrl_vx_u16mf4:
13402case RISCV::BI__builtin_rvv_vsrl_vx_u32m1:
13403case RISCV::BI__builtin_rvv_vsrl_vx_u32m2:
13404case RISCV::BI__builtin_rvv_vsrl_vx_u32m4:
13405case RISCV::BI__builtin_rvv_vsrl_vx_u32m8:
13406case RISCV::BI__builtin_rvv_vsrl_vx_u32mf2:
13407case RISCV::BI__builtin_rvv_vsrl_vx_u64m1:
13408case RISCV::BI__builtin_rvv_vsrl_vx_u64m2:
13409case RISCV::BI__builtin_rvv_vsrl_vx_u64m4:
13410case RISCV::BI__builtin_rvv_vsrl_vx_u64m8:
13411 ID = Intrinsic::riscv_vsrl;
13412 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
13413 break;
13414case RISCV::BI__builtin_rvv_vsrl_vv_u8m1_m:
13415case RISCV::BI__builtin_rvv_vsrl_vv_u8m2_m:
13416case RISCV::BI__builtin_rvv_vsrl_vv_u8m4_m:
13417case RISCV::BI__builtin_rvv_vsrl_vv_u8m8_m:
13418case RISCV::BI__builtin_rvv_vsrl_vv_u8mf2_m:
13419case RISCV::BI__builtin_rvv_vsrl_vv_u8mf4_m:
13420case RISCV::BI__builtin_rvv_vsrl_vv_u8mf8_m:
13421case RISCV::BI__builtin_rvv_vsrl_vv_u16m1_m:
13422case RISCV::BI__builtin_rvv_vsrl_vv_u16m2_m:
13423case RISCV::BI__builtin_rvv_vsrl_vv_u16m4_m:
13424case RISCV::BI__builtin_rvv_vsrl_vv_u16m8_m:
13425case RISCV::BI__builtin_rvv_vsrl_vv_u16mf2_m:
13426case RISCV::BI__builtin_rvv_vsrl_vv_u16mf4_m:
13427case RISCV::BI__builtin_rvv_vsrl_vv_u32m1_m:
13428case RISCV::BI__builtin_rvv_vsrl_vv_u32m2_m:
13429case RISCV::BI__builtin_rvv_vsrl_vv_u32m4_m:
13430case RISCV::BI__builtin_rvv_vsrl_vv_u32m8_m:
13431case RISCV::BI__builtin_rvv_vsrl_vv_u32mf2_m:
13432case RISCV::BI__builtin_rvv_vsrl_vv_u64m1_m:
13433case RISCV::BI__builtin_rvv_vsrl_vv_u64m2_m:
13434case RISCV::BI__builtin_rvv_vsrl_vv_u64m4_m:
13435case RISCV::BI__builtin_rvv_vsrl_vv_u64m8_m:
13436case RISCV::BI__builtin_rvv_vsrl_vx_u8m1_m:
13437case RISCV::BI__builtin_rvv_vsrl_vx_u8m2_m:
13438case RISCV::BI__builtin_rvv_vsrl_vx_u8m4_m:
13439case RISCV::BI__builtin_rvv_vsrl_vx_u8m8_m:
13440case RISCV::BI__builtin_rvv_vsrl_vx_u8mf2_m:
13441case RISCV::BI__builtin_rvv_vsrl_vx_u8mf4_m:
13442case RISCV::BI__builtin_rvv_vsrl_vx_u8mf8_m:
13443case RISCV::BI__builtin_rvv_vsrl_vx_u16m1_m:
13444case RISCV::BI__builtin_rvv_vsrl_vx_u16m2_m:
13445case RISCV::BI__builtin_rvv_vsrl_vx_u16m4_m:
13446case RISCV::BI__builtin_rvv_vsrl_vx_u16m8_m:
13447case RISCV::BI__builtin_rvv_vsrl_vx_u16mf2_m:
13448case RISCV::BI__builtin_rvv_vsrl_vx_u16mf4_m:
13449case RISCV::BI__builtin_rvv_vsrl_vx_u32m1_m:
13450case RISCV::BI__builtin_rvv_vsrl_vx_u32m2_m:
13451case RISCV::BI__builtin_rvv_vsrl_vx_u32m4_m:
13452case RISCV::BI__builtin_rvv_vsrl_vx_u32m8_m:
13453case RISCV::BI__builtin_rvv_vsrl_vx_u32mf2_m:
13454case RISCV::BI__builtin_rvv_vsrl_vx_u64m1_m:
13455case RISCV::BI__builtin_rvv_vsrl_vx_u64m2_m:
13456case RISCV::BI__builtin_rvv_vsrl_vx_u64m4_m:
13457case RISCV::BI__builtin_rvv_vsrl_vx_u64m8_m:
13458 ID = Intrinsic::riscv_vsrl_mask;
13459 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
13460 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
13461 break;
13462case RISCV::BI__builtin_rvv_vsse8_v_i8m1:
13463case RISCV::BI__builtin_rvv_vsse8_v_i8m2:
13464case RISCV::BI__builtin_rvv_vsse8_v_i8m4:
13465case RISCV::BI__builtin_rvv_vsse8_v_i8m8:
13466case RISCV::BI__builtin_rvv_vsse8_v_i8mf2:
13467case RISCV::BI__builtin_rvv_vsse8_v_i8mf4:
13468case RISCV::BI__builtin_rvv_vsse8_v_i8mf8:
13469case RISCV::BI__builtin_rvv_vsse8_v_u8m1:
13470case RISCV::BI__builtin_rvv_vsse8_v_u8m2:
13471case RISCV::BI__builtin_rvv_vsse8_v_u8m4:
13472case RISCV::BI__builtin_rvv_vsse8_v_u8m8:
13473case RISCV::BI__builtin_rvv_vsse8_v_u8mf2:
13474case RISCV::BI__builtin_rvv_vsse8_v_u8mf4:
13475case RISCV::BI__builtin_rvv_vsse8_v_u8mf8:
13476case RISCV::BI__builtin_rvv_vsse16_v_i16m1:
13477case RISCV::BI__builtin_rvv_vsse16_v_i16m2:
13478case RISCV::BI__builtin_rvv_vsse16_v_i16m4:
13479case RISCV::BI__builtin_rvv_vsse16_v_i16m8:
13480case RISCV::BI__builtin_rvv_vsse16_v_i16mf2:
13481case RISCV::BI__builtin_rvv_vsse16_v_i16mf4:
13482case RISCV::BI__builtin_rvv_vsse16_v_u16m1:
13483case RISCV::BI__builtin_rvv_vsse16_v_u16m2:
13484case RISCV::BI__builtin_rvv_vsse16_v_u16m4:
13485case RISCV::BI__builtin_rvv_vsse16_v_u16m8:
13486case RISCV::BI__builtin_rvv_vsse16_v_u16mf2:
13487case RISCV::BI__builtin_rvv_vsse16_v_u16mf4:
13488case RISCV::BI__builtin_rvv_vsse32_v_i32m1:
13489case RISCV::BI__builtin_rvv_vsse32_v_i32m2:
13490case RISCV::BI__builtin_rvv_vsse32_v_i32m4:
13491case RISCV::BI__builtin_rvv_vsse32_v_i32m8:
13492case RISCV::BI__builtin_rvv_vsse32_v_i32mf2:
13493case RISCV::BI__builtin_rvv_vsse32_v_u32m1:
13494case RISCV::BI__builtin_rvv_vsse32_v_u32m2:
13495case RISCV::BI__builtin_rvv_vsse32_v_u32m4:
13496case RISCV::BI__builtin_rvv_vsse32_v_u32m8:
13497case RISCV::BI__builtin_rvv_vsse32_v_u32mf2:
13498case RISCV::BI__builtin_rvv_vsse32_v_f32m1:
13499case RISCV::BI__builtin_rvv_vsse32_v_f32m2:
13500case RISCV::BI__builtin_rvv_vsse32_v_f32m4:
13501case RISCV::BI__builtin_rvv_vsse32_v_f32m8:
13502case RISCV::BI__builtin_rvv_vsse32_v_f32mf2:
13503case RISCV::BI__builtin_rvv_vsse64_v_i64m1:
13504case RISCV::BI__builtin_rvv_vsse64_v_i64m2:
13505case RISCV::BI__builtin_rvv_vsse64_v_i64m4:
13506case RISCV::BI__builtin_rvv_vsse64_v_i64m8:
13507case RISCV::BI__builtin_rvv_vsse64_v_u64m1:
13508case RISCV::BI__builtin_rvv_vsse64_v_u64m2:
13509case RISCV::BI__builtin_rvv_vsse64_v_u64m4:
13510case RISCV::BI__builtin_rvv_vsse64_v_u64m8:
13511case RISCV::BI__builtin_rvv_vsse64_v_f64m1:
13512case RISCV::BI__builtin_rvv_vsse64_v_f64m2:
13513case RISCV::BI__builtin_rvv_vsse64_v_f64m4:
13514case RISCV::BI__builtin_rvv_vsse64_v_f64m8:
13515 ID = Intrinsic::riscv_vsse;
13516
13517 // Builtin: (ptr, stride, value, vl). Intrinsic: (value, ptr, stride, vl)
13518 std::rotate(Ops.begin(), Ops.begin() + 2, Ops.begin() + 3);
13519 Ops[1] = Builder.CreateBitCast(Ops[1], Ops[0]->getType()->getPointerTo());
13520 IntrinsicTypes = {Ops[0]->getType(), Ops[3]->getType()};
13521 break;
13522case RISCV::BI__builtin_rvv_vsse8_v_i8m1_m:
13523case RISCV::BI__builtin_rvv_vsse8_v_i8m2_m:
13524case RISCV::BI__builtin_rvv_vsse8_v_i8m4_m:
13525case RISCV::BI__builtin_rvv_vsse8_v_i8m8_m:
13526case RISCV::BI__builtin_rvv_vsse8_v_i8mf2_m:
13527case RISCV::BI__builtin_rvv_vsse8_v_i8mf4_m:
13528case RISCV::BI__builtin_rvv_vsse8_v_i8mf8_m:
13529case RISCV::BI__builtin_rvv_vsse8_v_u8m1_m:
13530case RISCV::BI__builtin_rvv_vsse8_v_u8m2_m:
13531case RISCV::BI__builtin_rvv_vsse8_v_u8m4_m:
13532case RISCV::BI__builtin_rvv_vsse8_v_u8m8_m:
13533case RISCV::BI__builtin_rvv_vsse8_v_u8mf2_m:
13534case RISCV::BI__builtin_rvv_vsse8_v_u8mf4_m:
13535case RISCV::BI__builtin_rvv_vsse8_v_u8mf8_m:
13536case RISCV::BI__builtin_rvv_vsse16_v_i16m1_m:
13537case RISCV::BI__builtin_rvv_vsse16_v_i16m2_m:
13538case RISCV::BI__builtin_rvv_vsse16_v_i16m4_m:
13539case RISCV::BI__builtin_rvv_vsse16_v_i16m8_m:
13540case RISCV::BI__builtin_rvv_vsse16_v_i16mf2_m:
13541case RISCV::BI__builtin_rvv_vsse16_v_i16mf4_m:
13542case RISCV::BI__builtin_rvv_vsse16_v_u16m1_m:
13543case RISCV::BI__builtin_rvv_vsse16_v_u16m2_m:
13544case RISCV::BI__builtin_rvv_vsse16_v_u16m4_m:
13545case RISCV::BI__builtin_rvv_vsse16_v_u16m8_m:
13546case RISCV::BI__builtin_rvv_vsse16_v_u16mf2_m:
13547case RISCV::BI__builtin_rvv_vsse16_v_u16mf4_m:
13548case RISCV::BI__builtin_rvv_vsse32_v_i32m1_m:
13549case RISCV::BI__builtin_rvv_vsse32_v_i32m2_m:
13550case RISCV::BI__builtin_rvv_vsse32_v_i32m4_m:
13551case RISCV::BI__builtin_rvv_vsse32_v_i32m8_m:
13552case RISCV::BI__builtin_rvv_vsse32_v_i32mf2_m:
13553case RISCV::BI__builtin_rvv_vsse32_v_u32m1_m:
13554case RISCV::BI__builtin_rvv_vsse32_v_u32m2_m:
13555case RISCV::BI__builtin_rvv_vsse32_v_u32m4_m:
13556case RISCV::BI__builtin_rvv_vsse32_v_u32m8_m:
13557case RISCV::BI__builtin_rvv_vsse32_v_u32mf2_m:
13558case RISCV::BI__builtin_rvv_vsse32_v_f32m1_m:
13559case RISCV::BI__builtin_rvv_vsse32_v_f32m2_m:
13560case RISCV::BI__builtin_rvv_vsse32_v_f32m4_m:
13561case RISCV::BI__builtin_rvv_vsse32_v_f32m8_m:
13562case RISCV::BI__builtin_rvv_vsse32_v_f32mf2_m:
13563case RISCV::BI__builtin_rvv_vsse64_v_i64m1_m:
13564case RISCV::BI__builtin_rvv_vsse64_v_i64m2_m:
13565case RISCV::BI__builtin_rvv_vsse64_v_i64m4_m:
13566case RISCV::BI__builtin_rvv_vsse64_v_i64m8_m:
13567case RISCV::BI__builtin_rvv_vsse64_v_u64m1_m:
13568case RISCV::BI__builtin_rvv_vsse64_v_u64m2_m:
13569case RISCV::BI__builtin_rvv_vsse64_v_u64m4_m:
13570case RISCV::BI__builtin_rvv_vsse64_v_u64m8_m:
13571case RISCV::BI__builtin_rvv_vsse64_v_f64m1_m:
13572case RISCV::BI__builtin_rvv_vsse64_v_f64m2_m:
13573case RISCV::BI__builtin_rvv_vsse64_v_f64m4_m:
13574case RISCV::BI__builtin_rvv_vsse64_v_f64m8_m:
13575 ID = Intrinsic::riscv_vsse_mask;
13576
13577 // Builtin: (mask, ptr, stride, value, vl). Intrinsic: (value, ptr, stride, mask, vl)
13578 std::swap(Ops[0], Ops[3]);
13579 Ops[1] = Builder.CreateBitCast(Ops[1], Ops[0]->getType()->getPointerTo());
13580 IntrinsicTypes = {Ops[0]->getType(), Ops[4]->getType()};
13581 break;
13582case RISCV::BI__builtin_rvv_vssra_vv_i8m1:
13583case RISCV::BI__builtin_rvv_vssra_vv_i8m2:
13584case RISCV::BI__builtin_rvv_vssra_vv_i8m4:
13585case RISCV::BI__builtin_rvv_vssra_vv_i8m8:
13586case RISCV::BI__builtin_rvv_vssra_vv_i8mf2:
13587case RISCV::BI__builtin_rvv_vssra_vv_i8mf4:
13588case RISCV::BI__builtin_rvv_vssra_vv_i8mf8:
13589case RISCV::BI__builtin_rvv_vssra_vv_i16m1:
13590case RISCV::BI__builtin_rvv_vssra_vv_i16m2:
13591case RISCV::BI__builtin_rvv_vssra_vv_i16m4:
13592case RISCV::BI__builtin_rvv_vssra_vv_i16m8:
13593case RISCV::BI__builtin_rvv_vssra_vv_i16mf2:
13594case RISCV::BI__builtin_rvv_vssra_vv_i16mf4:
13595case RISCV::BI__builtin_rvv_vssra_vv_i32m1:
13596case RISCV::BI__builtin_rvv_vssra_vv_i32m2:
13597case RISCV::BI__builtin_rvv_vssra_vv_i32m4:
13598case RISCV::BI__builtin_rvv_vssra_vv_i32m8:
13599case RISCV::BI__builtin_rvv_vssra_vv_i32mf2:
13600case RISCV::BI__builtin_rvv_vssra_vv_i64m1:
13601case RISCV::BI__builtin_rvv_vssra_vv_i64m2:
13602case RISCV::BI__builtin_rvv_vssra_vv_i64m4:
13603case RISCV::BI__builtin_rvv_vssra_vv_i64m8:
13604case RISCV::BI__builtin_rvv_vssra_vx_i8m1:
13605case RISCV::BI__builtin_rvv_vssra_vx_i8m2:
13606case RISCV::BI__builtin_rvv_vssra_vx_i8m4:
13607case RISCV::BI__builtin_rvv_vssra_vx_i8m8:
13608case RISCV::BI__builtin_rvv_vssra_vx_i8mf2:
13609case RISCV::BI__builtin_rvv_vssra_vx_i8mf4:
13610case RISCV::BI__builtin_rvv_vssra_vx_i8mf8:
13611case RISCV::BI__builtin_rvv_vssra_vx_i16m1:
13612case RISCV::BI__builtin_rvv_vssra_vx_i16m2:
13613case RISCV::BI__builtin_rvv_vssra_vx_i16m4:
13614case RISCV::BI__builtin_rvv_vssra_vx_i16m8:
13615case RISCV::BI__builtin_rvv_vssra_vx_i16mf2:
13616case RISCV::BI__builtin_rvv_vssra_vx_i16mf4:
13617case RISCV::BI__builtin_rvv_vssra_vx_i32m1:
13618case RISCV::BI__builtin_rvv_vssra_vx_i32m2:
13619case RISCV::BI__builtin_rvv_vssra_vx_i32m4:
13620case RISCV::BI__builtin_rvv_vssra_vx_i32m8:
13621case RISCV::BI__builtin_rvv_vssra_vx_i32mf2:
13622case RISCV::BI__builtin_rvv_vssra_vx_i64m1:
13623case RISCV::BI__builtin_rvv_vssra_vx_i64m2:
13624case RISCV::BI__builtin_rvv_vssra_vx_i64m4:
13625case RISCV::BI__builtin_rvv_vssra_vx_i64m8:
13626 ID = Intrinsic::riscv_vssra;
13627 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
13628 break;
13629case RISCV::BI__builtin_rvv_vssra_vv_i8m1_m:
13630case RISCV::BI__builtin_rvv_vssra_vv_i8m2_m:
13631case RISCV::BI__builtin_rvv_vssra_vv_i8m4_m:
13632case RISCV::BI__builtin_rvv_vssra_vv_i8m8_m:
13633case RISCV::BI__builtin_rvv_vssra_vv_i8mf2_m:
13634case RISCV::BI__builtin_rvv_vssra_vv_i8mf4_m:
13635case RISCV::BI__builtin_rvv_vssra_vv_i8mf8_m:
13636case RISCV::BI__builtin_rvv_vssra_vv_i16m1_m:
13637case RISCV::BI__builtin_rvv_vssra_vv_i16m2_m:
13638case RISCV::BI__builtin_rvv_vssra_vv_i16m4_m:
13639case RISCV::BI__builtin_rvv_vssra_vv_i16m8_m:
13640case RISCV::BI__builtin_rvv_vssra_vv_i16mf2_m:
13641case RISCV::BI__builtin_rvv_vssra_vv_i16mf4_m:
13642case RISCV::BI__builtin_rvv_vssra_vv_i32m1_m:
13643case RISCV::BI__builtin_rvv_vssra_vv_i32m2_m:
13644case RISCV::BI__builtin_rvv_vssra_vv_i32m4_m:
13645case RISCV::BI__builtin_rvv_vssra_vv_i32m8_m:
13646case RISCV::BI__builtin_rvv_vssra_vv_i32mf2_m:
13647case RISCV::BI__builtin_rvv_vssra_vv_i64m1_m:
13648case RISCV::BI__builtin_rvv_vssra_vv_i64m2_m:
13649case RISCV::BI__builtin_rvv_vssra_vv_i64m4_m:
13650case RISCV::BI__builtin_rvv_vssra_vv_i64m8_m:
13651case RISCV::BI__builtin_rvv_vssra_vx_i8m1_m:
13652case RISCV::BI__builtin_rvv_vssra_vx_i8m2_m:
13653case RISCV::BI__builtin_rvv_vssra_vx_i8m4_m:
13654case RISCV::BI__builtin_rvv_vssra_vx_i8m8_m:
13655case RISCV::BI__builtin_rvv_vssra_vx_i8mf2_m:
13656case RISCV::BI__builtin_rvv_vssra_vx_i8mf4_m:
13657case RISCV::BI__builtin_rvv_vssra_vx_i8mf8_m:
13658case RISCV::BI__builtin_rvv_vssra_vx_i16m1_m:
13659case RISCV::BI__builtin_rvv_vssra_vx_i16m2_m:
13660case RISCV::BI__builtin_rvv_vssra_vx_i16m4_m:
13661case RISCV::BI__builtin_rvv_vssra_vx_i16m8_m:
13662case RISCV::BI__builtin_rvv_vssra_vx_i16mf2_m:
13663case RISCV::BI__builtin_rvv_vssra_vx_i16mf4_m:
13664case RISCV::BI__builtin_rvv_vssra_vx_i32m1_m:
13665case RISCV::BI__builtin_rvv_vssra_vx_i32m2_m:
13666case RISCV::BI__builtin_rvv_vssra_vx_i32m4_m:
13667case RISCV::BI__builtin_rvv_vssra_vx_i32m8_m:
13668case RISCV::BI__builtin_rvv_vssra_vx_i32mf2_m:
13669case RISCV::BI__builtin_rvv_vssra_vx_i64m1_m:
13670case RISCV::BI__builtin_rvv_vssra_vx_i64m2_m:
13671case RISCV::BI__builtin_rvv_vssra_vx_i64m4_m:
13672case RISCV::BI__builtin_rvv_vssra_vx_i64m8_m:
13673 ID = Intrinsic::riscv_vssra_mask;
13674 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
13675 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
13676 break;
13677case RISCV::BI__builtin_rvv_vssrl_vv_u8m1:
13678case RISCV::BI__builtin_rvv_vssrl_vv_u8m2:
13679case RISCV::BI__builtin_rvv_vssrl_vv_u8m4:
13680case RISCV::BI__builtin_rvv_vssrl_vv_u8m8:
13681case RISCV::BI__builtin_rvv_vssrl_vv_u8mf2:
13682case RISCV::BI__builtin_rvv_vssrl_vv_u8mf4:
13683case RISCV::BI__builtin_rvv_vssrl_vv_u8mf8:
13684case RISCV::BI__builtin_rvv_vssrl_vv_u16m1:
13685case RISCV::BI__builtin_rvv_vssrl_vv_u16m2:
13686case RISCV::BI__builtin_rvv_vssrl_vv_u16m4:
13687case RISCV::BI__builtin_rvv_vssrl_vv_u16m8:
13688case RISCV::BI__builtin_rvv_vssrl_vv_u16mf2:
13689case RISCV::BI__builtin_rvv_vssrl_vv_u16mf4:
13690case RISCV::BI__builtin_rvv_vssrl_vv_u32m1:
13691case RISCV::BI__builtin_rvv_vssrl_vv_u32m2:
13692case RISCV::BI__builtin_rvv_vssrl_vv_u32m4:
13693case RISCV::BI__builtin_rvv_vssrl_vv_u32m8:
13694case RISCV::BI__builtin_rvv_vssrl_vv_u32mf2:
13695case RISCV::BI__builtin_rvv_vssrl_vv_u64m1:
13696case RISCV::BI__builtin_rvv_vssrl_vv_u64m2:
13697case RISCV::BI__builtin_rvv_vssrl_vv_u64m4:
13698case RISCV::BI__builtin_rvv_vssrl_vv_u64m8:
13699case RISCV::BI__builtin_rvv_vssrl_vx_u8m1:
13700case RISCV::BI__builtin_rvv_vssrl_vx_u8m2:
13701case RISCV::BI__builtin_rvv_vssrl_vx_u8m4:
13702case RISCV::BI__builtin_rvv_vssrl_vx_u8m8:
13703case RISCV::BI__builtin_rvv_vssrl_vx_u8mf2:
13704case RISCV::BI__builtin_rvv_vssrl_vx_u8mf4:
13705case RISCV::BI__builtin_rvv_vssrl_vx_u8mf8:
13706case RISCV::BI__builtin_rvv_vssrl_vx_u16m1:
13707case RISCV::BI__builtin_rvv_vssrl_vx_u16m2:
13708case RISCV::BI__builtin_rvv_vssrl_vx_u16m4:
13709case RISCV::BI__builtin_rvv_vssrl_vx_u16m8:
13710case RISCV::BI__builtin_rvv_vssrl_vx_u16mf2:
13711case RISCV::BI__builtin_rvv_vssrl_vx_u16mf4:
13712case RISCV::BI__builtin_rvv_vssrl_vx_u32m1:
13713case RISCV::BI__builtin_rvv_vssrl_vx_u32m2:
13714case RISCV::BI__builtin_rvv_vssrl_vx_u32m4:
13715case RISCV::BI__builtin_rvv_vssrl_vx_u32m8:
13716case RISCV::BI__builtin_rvv_vssrl_vx_u32mf2:
13717case RISCV::BI__builtin_rvv_vssrl_vx_u64m1:
13718case RISCV::BI__builtin_rvv_vssrl_vx_u64m2:
13719case RISCV::BI__builtin_rvv_vssrl_vx_u64m4:
13720case RISCV::BI__builtin_rvv_vssrl_vx_u64m8:
13721 ID = Intrinsic::riscv_vssrl;
13722 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
13723 break;
13724case RISCV::BI__builtin_rvv_vssrl_vv_u8m1_m:
13725case RISCV::BI__builtin_rvv_vssrl_vv_u8m2_m:
13726case RISCV::BI__builtin_rvv_vssrl_vv_u8m4_m:
13727case RISCV::BI__builtin_rvv_vssrl_vv_u8m8_m:
13728case RISCV::BI__builtin_rvv_vssrl_vv_u8mf2_m:
13729case RISCV::BI__builtin_rvv_vssrl_vv_u8mf4_m:
13730case RISCV::BI__builtin_rvv_vssrl_vv_u8mf8_m:
13731case RISCV::BI__builtin_rvv_vssrl_vv_u16m1_m:
13732case RISCV::BI__builtin_rvv_vssrl_vv_u16m2_m:
13733case RISCV::BI__builtin_rvv_vssrl_vv_u16m4_m:
13734case RISCV::BI__builtin_rvv_vssrl_vv_u16m8_m:
13735case RISCV::BI__builtin_rvv_vssrl_vv_u16mf2_m:
13736case RISCV::BI__builtin_rvv_vssrl_vv_u16mf4_m:
13737case RISCV::BI__builtin_rvv_vssrl_vv_u32m1_m:
13738case RISCV::BI__builtin_rvv_vssrl_vv_u32m2_m:
13739case RISCV::BI__builtin_rvv_vssrl_vv_u32m4_m:
13740case RISCV::BI__builtin_rvv_vssrl_vv_u32m8_m:
13741case RISCV::BI__builtin_rvv_vssrl_vv_u32mf2_m:
13742case RISCV::BI__builtin_rvv_vssrl_vv_u64m1_m:
13743case RISCV::BI__builtin_rvv_vssrl_vv_u64m2_m:
13744case RISCV::BI__builtin_rvv_vssrl_vv_u64m4_m:
13745case RISCV::BI__builtin_rvv_vssrl_vv_u64m8_m:
13746case RISCV::BI__builtin_rvv_vssrl_vx_u8m1_m:
13747case RISCV::BI__builtin_rvv_vssrl_vx_u8m2_m:
13748case RISCV::BI__builtin_rvv_vssrl_vx_u8m4_m:
13749case RISCV::BI__builtin_rvv_vssrl_vx_u8m8_m:
13750case RISCV::BI__builtin_rvv_vssrl_vx_u8mf2_m:
13751case RISCV::BI__builtin_rvv_vssrl_vx_u8mf4_m:
13752case RISCV::BI__builtin_rvv_vssrl_vx_u8mf8_m:
13753case RISCV::BI__builtin_rvv_vssrl_vx_u16m1_m:
13754case RISCV::BI__builtin_rvv_vssrl_vx_u16m2_m:
13755case RISCV::BI__builtin_rvv_vssrl_vx_u16m4_m:
13756case RISCV::BI__builtin_rvv_vssrl_vx_u16m8_m:
13757case RISCV::BI__builtin_rvv_vssrl_vx_u16mf2_m:
13758case RISCV::BI__builtin_rvv_vssrl_vx_u16mf4_m:
13759case RISCV::BI__builtin_rvv_vssrl_vx_u32m1_m:
13760case RISCV::BI__builtin_rvv_vssrl_vx_u32m2_m:
13761case RISCV::BI__builtin_rvv_vssrl_vx_u32m4_m:
13762case RISCV::BI__builtin_rvv_vssrl_vx_u32m8_m:
13763case RISCV::BI__builtin_rvv_vssrl_vx_u32mf2_m:
13764case RISCV::BI__builtin_rvv_vssrl_vx_u64m1_m:
13765case RISCV::BI__builtin_rvv_vssrl_vx_u64m2_m:
13766case RISCV::BI__builtin_rvv_vssrl_vx_u64m4_m:
13767case RISCV::BI__builtin_rvv_vssrl_vx_u64m8_m:
13768 ID = Intrinsic::riscv_vssrl_mask;
13769 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
13770 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
13771 break;
13772case RISCV::BI__builtin_rvv_vssub_vv_i8m1:
13773case RISCV::BI__builtin_rvv_vssub_vv_i8m2:
13774case RISCV::BI__builtin_rvv_vssub_vv_i8m4:
13775case RISCV::BI__builtin_rvv_vssub_vv_i8m8:
13776case RISCV::BI__builtin_rvv_vssub_vv_i8mf2:
13777case RISCV::BI__builtin_rvv_vssub_vv_i8mf4:
13778case RISCV::BI__builtin_rvv_vssub_vv_i8mf8:
13779case RISCV::BI__builtin_rvv_vssub_vv_i16m1:
13780case RISCV::BI__builtin_rvv_vssub_vv_i16m2:
13781case RISCV::BI__builtin_rvv_vssub_vv_i16m4:
13782case RISCV::BI__builtin_rvv_vssub_vv_i16m8:
13783case RISCV::BI__builtin_rvv_vssub_vv_i16mf2:
13784case RISCV::BI__builtin_rvv_vssub_vv_i16mf4:
13785case RISCV::BI__builtin_rvv_vssub_vv_i32m1:
13786case RISCV::BI__builtin_rvv_vssub_vv_i32m2:
13787case RISCV::BI__builtin_rvv_vssub_vv_i32m4:
13788case RISCV::BI__builtin_rvv_vssub_vv_i32m8:
13789case RISCV::BI__builtin_rvv_vssub_vv_i32mf2:
13790case RISCV::BI__builtin_rvv_vssub_vv_i64m1:
13791case RISCV::BI__builtin_rvv_vssub_vv_i64m2:
13792case RISCV::BI__builtin_rvv_vssub_vv_i64m4:
13793case RISCV::BI__builtin_rvv_vssub_vv_i64m8:
13794case RISCV::BI__builtin_rvv_vssub_vx_i8m1:
13795case RISCV::BI__builtin_rvv_vssub_vx_i8m2:
13796case RISCV::BI__builtin_rvv_vssub_vx_i8m4:
13797case RISCV::BI__builtin_rvv_vssub_vx_i8m8:
13798case RISCV::BI__builtin_rvv_vssub_vx_i8mf2:
13799case RISCV::BI__builtin_rvv_vssub_vx_i8mf4:
13800case RISCV::BI__builtin_rvv_vssub_vx_i8mf8:
13801case RISCV::BI__builtin_rvv_vssub_vx_i16m1:
13802case RISCV::BI__builtin_rvv_vssub_vx_i16m2:
13803case RISCV::BI__builtin_rvv_vssub_vx_i16m4:
13804case RISCV::BI__builtin_rvv_vssub_vx_i16m8:
13805case RISCV::BI__builtin_rvv_vssub_vx_i16mf2:
13806case RISCV::BI__builtin_rvv_vssub_vx_i16mf4:
13807case RISCV::BI__builtin_rvv_vssub_vx_i32m1:
13808case RISCV::BI__builtin_rvv_vssub_vx_i32m2:
13809case RISCV::BI__builtin_rvv_vssub_vx_i32m4:
13810case RISCV::BI__builtin_rvv_vssub_vx_i32m8:
13811case RISCV::BI__builtin_rvv_vssub_vx_i32mf2:
13812case RISCV::BI__builtin_rvv_vssub_vx_i64m1:
13813case RISCV::BI__builtin_rvv_vssub_vx_i64m2:
13814case RISCV::BI__builtin_rvv_vssub_vx_i64m4:
13815case RISCV::BI__builtin_rvv_vssub_vx_i64m8:
13816 ID = Intrinsic::riscv_vssub;
13817 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
13818 break;
13819case RISCV::BI__builtin_rvv_vssub_vv_i8m1_m:
13820case RISCV::BI__builtin_rvv_vssub_vv_i8m2_m:
13821case RISCV::BI__builtin_rvv_vssub_vv_i8m4_m:
13822case RISCV::BI__builtin_rvv_vssub_vv_i8m8_m:
13823case RISCV::BI__builtin_rvv_vssub_vv_i8mf2_m:
13824case RISCV::BI__builtin_rvv_vssub_vv_i8mf4_m:
13825case RISCV::BI__builtin_rvv_vssub_vv_i8mf8_m:
13826case RISCV::BI__builtin_rvv_vssub_vv_i16m1_m:
13827case RISCV::BI__builtin_rvv_vssub_vv_i16m2_m:
13828case RISCV::BI__builtin_rvv_vssub_vv_i16m4_m:
13829case RISCV::BI__builtin_rvv_vssub_vv_i16m8_m:
13830case RISCV::BI__builtin_rvv_vssub_vv_i16mf2_m:
13831case RISCV::BI__builtin_rvv_vssub_vv_i16mf4_m:
13832case RISCV::BI__builtin_rvv_vssub_vv_i32m1_m:
13833case RISCV::BI__builtin_rvv_vssub_vv_i32m2_m:
13834case RISCV::BI__builtin_rvv_vssub_vv_i32m4_m:
13835case RISCV::BI__builtin_rvv_vssub_vv_i32m8_m:
13836case RISCV::BI__builtin_rvv_vssub_vv_i32mf2_m:
13837case RISCV::BI__builtin_rvv_vssub_vv_i64m1_m:
13838case RISCV::BI__builtin_rvv_vssub_vv_i64m2_m:
13839case RISCV::BI__builtin_rvv_vssub_vv_i64m4_m:
13840case RISCV::BI__builtin_rvv_vssub_vv_i64m8_m:
13841case RISCV::BI__builtin_rvv_vssub_vx_i8m1_m:
13842case RISCV::BI__builtin_rvv_vssub_vx_i8m2_m:
13843case RISCV::BI__builtin_rvv_vssub_vx_i8m4_m:
13844case RISCV::BI__builtin_rvv_vssub_vx_i8m8_m:
13845case RISCV::BI__builtin_rvv_vssub_vx_i8mf2_m:
13846case RISCV::BI__builtin_rvv_vssub_vx_i8mf4_m:
13847case RISCV::BI__builtin_rvv_vssub_vx_i8mf8_m:
13848case RISCV::BI__builtin_rvv_vssub_vx_i16m1_m:
13849case RISCV::BI__builtin_rvv_vssub_vx_i16m2_m:
13850case RISCV::BI__builtin_rvv_vssub_vx_i16m4_m:
13851case RISCV::BI__builtin_rvv_vssub_vx_i16m8_m:
13852case RISCV::BI__builtin_rvv_vssub_vx_i16mf2_m:
13853case RISCV::BI__builtin_rvv_vssub_vx_i16mf4_m:
13854case RISCV::BI__builtin_rvv_vssub_vx_i32m1_m:
13855case RISCV::BI__builtin_rvv_vssub_vx_i32m2_m:
13856case RISCV::BI__builtin_rvv_vssub_vx_i32m4_m:
13857case RISCV::BI__builtin_rvv_vssub_vx_i32m8_m:
13858case RISCV::BI__builtin_rvv_vssub_vx_i32mf2_m:
13859case RISCV::BI__builtin_rvv_vssub_vx_i64m1_m:
13860case RISCV::BI__builtin_rvv_vssub_vx_i64m2_m:
13861case RISCV::BI__builtin_rvv_vssub_vx_i64m4_m:
13862case RISCV::BI__builtin_rvv_vssub_vx_i64m8_m:
13863 ID = Intrinsic::riscv_vssub_mask;
13864 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
13865 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
13866 break;
13867case RISCV::BI__builtin_rvv_vssubu_vv_u8m1:
13868case RISCV::BI__builtin_rvv_vssubu_vv_u8m2:
13869case RISCV::BI__builtin_rvv_vssubu_vv_u8m4:
13870case RISCV::BI__builtin_rvv_vssubu_vv_u8m8:
13871case RISCV::BI__builtin_rvv_vssubu_vv_u8mf2:
13872case RISCV::BI__builtin_rvv_vssubu_vv_u8mf4:
13873case RISCV::BI__builtin_rvv_vssubu_vv_u8mf8:
13874case RISCV::BI__builtin_rvv_vssubu_vv_u16m1:
13875case RISCV::BI__builtin_rvv_vssubu_vv_u16m2:
13876case RISCV::BI__builtin_rvv_vssubu_vv_u16m4:
13877case RISCV::BI__builtin_rvv_vssubu_vv_u16m8:
13878case RISCV::BI__builtin_rvv_vssubu_vv_u16mf2:
13879case RISCV::BI__builtin_rvv_vssubu_vv_u16mf4:
13880case RISCV::BI__builtin_rvv_vssubu_vv_u32m1:
13881case RISCV::BI__builtin_rvv_vssubu_vv_u32m2:
13882case RISCV::BI__builtin_rvv_vssubu_vv_u32m4:
13883case RISCV::BI__builtin_rvv_vssubu_vv_u32m8:
13884case RISCV::BI__builtin_rvv_vssubu_vv_u32mf2:
13885case RISCV::BI__builtin_rvv_vssubu_vv_u64m1:
13886case RISCV::BI__builtin_rvv_vssubu_vv_u64m2:
13887case RISCV::BI__builtin_rvv_vssubu_vv_u64m4:
13888case RISCV::BI__builtin_rvv_vssubu_vv_u64m8:
13889case RISCV::BI__builtin_rvv_vssubu_vx_u8m1:
13890case RISCV::BI__builtin_rvv_vssubu_vx_u8m2:
13891case RISCV::BI__builtin_rvv_vssubu_vx_u8m4:
13892case RISCV::BI__builtin_rvv_vssubu_vx_u8m8:
13893case RISCV::BI__builtin_rvv_vssubu_vx_u8mf2:
13894case RISCV::BI__builtin_rvv_vssubu_vx_u8mf4:
13895case RISCV::BI__builtin_rvv_vssubu_vx_u8mf8:
13896case RISCV::BI__builtin_rvv_vssubu_vx_u16m1:
13897case RISCV::BI__builtin_rvv_vssubu_vx_u16m2:
13898case RISCV::BI__builtin_rvv_vssubu_vx_u16m4:
13899case RISCV::BI__builtin_rvv_vssubu_vx_u16m8:
13900case RISCV::BI__builtin_rvv_vssubu_vx_u16mf2:
13901case RISCV::BI__builtin_rvv_vssubu_vx_u16mf4:
13902case RISCV::BI__builtin_rvv_vssubu_vx_u32m1:
13903case RISCV::BI__builtin_rvv_vssubu_vx_u32m2:
13904case RISCV::BI__builtin_rvv_vssubu_vx_u32m4:
13905case RISCV::BI__builtin_rvv_vssubu_vx_u32m8:
13906case RISCV::BI__builtin_rvv_vssubu_vx_u32mf2:
13907case RISCV::BI__builtin_rvv_vssubu_vx_u64m1:
13908case RISCV::BI__builtin_rvv_vssubu_vx_u64m2:
13909case RISCV::BI__builtin_rvv_vssubu_vx_u64m4:
13910case RISCV::BI__builtin_rvv_vssubu_vx_u64m8:
13911 ID = Intrinsic::riscv_vssubu;
13912 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
13913 break;
13914case RISCV::BI__builtin_rvv_vssubu_vv_u8m1_m:
13915case RISCV::BI__builtin_rvv_vssubu_vv_u8m2_m:
13916case RISCV::BI__builtin_rvv_vssubu_vv_u8m4_m:
13917case RISCV::BI__builtin_rvv_vssubu_vv_u8m8_m:
13918case RISCV::BI__builtin_rvv_vssubu_vv_u8mf2_m:
13919case RISCV::BI__builtin_rvv_vssubu_vv_u8mf4_m:
13920case RISCV::BI__builtin_rvv_vssubu_vv_u8mf8_m:
13921case RISCV::BI__builtin_rvv_vssubu_vv_u16m1_m:
13922case RISCV::BI__builtin_rvv_vssubu_vv_u16m2_m:
13923case RISCV::BI__builtin_rvv_vssubu_vv_u16m4_m:
13924case RISCV::BI__builtin_rvv_vssubu_vv_u16m8_m:
13925case RISCV::BI__builtin_rvv_vssubu_vv_u16mf2_m:
13926case RISCV::BI__builtin_rvv_vssubu_vv_u16mf4_m:
13927case RISCV::BI__builtin_rvv_vssubu_vv_u32m1_m:
13928case RISCV::BI__builtin_rvv_vssubu_vv_u32m2_m:
13929case RISCV::BI__builtin_rvv_vssubu_vv_u32m4_m:
13930case RISCV::BI__builtin_rvv_vssubu_vv_u32m8_m:
13931case RISCV::BI__builtin_rvv_vssubu_vv_u32mf2_m:
13932case RISCV::BI__builtin_rvv_vssubu_vv_u64m1_m:
13933case RISCV::BI__builtin_rvv_vssubu_vv_u64m2_m:
13934case RISCV::BI__builtin_rvv_vssubu_vv_u64m4_m:
13935case RISCV::BI__builtin_rvv_vssubu_vv_u64m8_m:
13936case RISCV::BI__builtin_rvv_vssubu_vx_u8m1_m:
13937case RISCV::BI__builtin_rvv_vssubu_vx_u8m2_m:
13938case RISCV::BI__builtin_rvv_vssubu_vx_u8m4_m:
13939case RISCV::BI__builtin_rvv_vssubu_vx_u8m8_m:
13940case RISCV::BI__builtin_rvv_vssubu_vx_u8mf2_m:
13941case RISCV::BI__builtin_rvv_vssubu_vx_u8mf4_m:
13942case RISCV::BI__builtin_rvv_vssubu_vx_u8mf8_m:
13943case RISCV::BI__builtin_rvv_vssubu_vx_u16m1_m:
13944case RISCV::BI__builtin_rvv_vssubu_vx_u16m2_m:
13945case RISCV::BI__builtin_rvv_vssubu_vx_u16m4_m:
13946case RISCV::BI__builtin_rvv_vssubu_vx_u16m8_m:
13947case RISCV::BI__builtin_rvv_vssubu_vx_u16mf2_m:
13948case RISCV::BI__builtin_rvv_vssubu_vx_u16mf4_m:
13949case RISCV::BI__builtin_rvv_vssubu_vx_u32m1_m:
13950case RISCV::BI__builtin_rvv_vssubu_vx_u32m2_m:
13951case RISCV::BI__builtin_rvv_vssubu_vx_u32m4_m:
13952case RISCV::BI__builtin_rvv_vssubu_vx_u32m8_m:
13953case RISCV::BI__builtin_rvv_vssubu_vx_u32mf2_m:
13954case RISCV::BI__builtin_rvv_vssubu_vx_u64m1_m:
13955case RISCV::BI__builtin_rvv_vssubu_vx_u64m2_m:
13956case RISCV::BI__builtin_rvv_vssubu_vx_u64m4_m:
13957case RISCV::BI__builtin_rvv_vssubu_vx_u64m8_m:
13958 ID = Intrinsic::riscv_vssubu_mask;
13959 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
13960 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
13961 break;
13962case RISCV::BI__builtin_rvv_vsub_vv_i8m1:
13963case RISCV::BI__builtin_rvv_vsub_vv_i8m2:
13964case RISCV::BI__builtin_rvv_vsub_vv_i8m4:
13965case RISCV::BI__builtin_rvv_vsub_vv_i8m8:
13966case RISCV::BI__builtin_rvv_vsub_vv_i8mf2:
13967case RISCV::BI__builtin_rvv_vsub_vv_i8mf4:
13968case RISCV::BI__builtin_rvv_vsub_vv_i8mf8:
13969case RISCV::BI__builtin_rvv_vsub_vv_i16m1:
13970case RISCV::BI__builtin_rvv_vsub_vv_i16m2:
13971case RISCV::BI__builtin_rvv_vsub_vv_i16m4:
13972case RISCV::BI__builtin_rvv_vsub_vv_i16m8:
13973case RISCV::BI__builtin_rvv_vsub_vv_i16mf2:
13974case RISCV::BI__builtin_rvv_vsub_vv_i16mf4:
13975case RISCV::BI__builtin_rvv_vsub_vv_i32m1:
13976case RISCV::BI__builtin_rvv_vsub_vv_i32m2:
13977case RISCV::BI__builtin_rvv_vsub_vv_i32m4:
13978case RISCV::BI__builtin_rvv_vsub_vv_i32m8:
13979case RISCV::BI__builtin_rvv_vsub_vv_i32mf2:
13980case RISCV::BI__builtin_rvv_vsub_vv_i64m1:
13981case RISCV::BI__builtin_rvv_vsub_vv_i64m2:
13982case RISCV::BI__builtin_rvv_vsub_vv_i64m4:
13983case RISCV::BI__builtin_rvv_vsub_vv_i64m8:
13984case RISCV::BI__builtin_rvv_vsub_vx_i8m1:
13985case RISCV::BI__builtin_rvv_vsub_vx_i8m2:
13986case RISCV::BI__builtin_rvv_vsub_vx_i8m4:
13987case RISCV::BI__builtin_rvv_vsub_vx_i8m8:
13988case RISCV::BI__builtin_rvv_vsub_vx_i8mf2:
13989case RISCV::BI__builtin_rvv_vsub_vx_i8mf4:
13990case RISCV::BI__builtin_rvv_vsub_vx_i8mf8:
13991case RISCV::BI__builtin_rvv_vsub_vx_i16m1:
13992case RISCV::BI__builtin_rvv_vsub_vx_i16m2:
13993case RISCV::BI__builtin_rvv_vsub_vx_i16m4:
13994case RISCV::BI__builtin_rvv_vsub_vx_i16m8:
13995case RISCV::BI__builtin_rvv_vsub_vx_i16mf2:
13996case RISCV::BI__builtin_rvv_vsub_vx_i16mf4:
13997case RISCV::BI__builtin_rvv_vsub_vx_i32m1:
13998case RISCV::BI__builtin_rvv_vsub_vx_i32m2:
13999case RISCV::BI__builtin_rvv_vsub_vx_i32m4:
14000case RISCV::BI__builtin_rvv_vsub_vx_i32m8:
14001case RISCV::BI__builtin_rvv_vsub_vx_i32mf2:
14002case RISCV::BI__builtin_rvv_vsub_vx_i64m1:
14003case RISCV::BI__builtin_rvv_vsub_vx_i64m2:
14004case RISCV::BI__builtin_rvv_vsub_vx_i64m4:
14005case RISCV::BI__builtin_rvv_vsub_vx_i64m8:
14006case RISCV::BI__builtin_rvv_vsub_vv_u8m1:
14007case RISCV::BI__builtin_rvv_vsub_vv_u8m2:
14008case RISCV::BI__builtin_rvv_vsub_vv_u8m4:
14009case RISCV::BI__builtin_rvv_vsub_vv_u8m8:
14010case RISCV::BI__builtin_rvv_vsub_vv_u8mf2:
14011case RISCV::BI__builtin_rvv_vsub_vv_u8mf4:
14012case RISCV::BI__builtin_rvv_vsub_vv_u8mf8:
14013case RISCV::BI__builtin_rvv_vsub_vv_u16m1:
14014case RISCV::BI__builtin_rvv_vsub_vv_u16m2:
14015case RISCV::BI__builtin_rvv_vsub_vv_u16m4:
14016case RISCV::BI__builtin_rvv_vsub_vv_u16m8:
14017case RISCV::BI__builtin_rvv_vsub_vv_u16mf2:
14018case RISCV::BI__builtin_rvv_vsub_vv_u16mf4:
14019case RISCV::BI__builtin_rvv_vsub_vv_u32m1:
14020case RISCV::BI__builtin_rvv_vsub_vv_u32m2:
14021case RISCV::BI__builtin_rvv_vsub_vv_u32m4:
14022case RISCV::BI__builtin_rvv_vsub_vv_u32m8:
14023case RISCV::BI__builtin_rvv_vsub_vv_u32mf2:
14024case RISCV::BI__builtin_rvv_vsub_vv_u64m1:
14025case RISCV::BI__builtin_rvv_vsub_vv_u64m2:
14026case RISCV::BI__builtin_rvv_vsub_vv_u64m4:
14027case RISCV::BI__builtin_rvv_vsub_vv_u64m8:
14028case RISCV::BI__builtin_rvv_vsub_vx_u8m1:
14029case RISCV::BI__builtin_rvv_vsub_vx_u8m2:
14030case RISCV::BI__builtin_rvv_vsub_vx_u8m4:
14031case RISCV::BI__builtin_rvv_vsub_vx_u8m8:
14032case RISCV::BI__builtin_rvv_vsub_vx_u8mf2:
14033case RISCV::BI__builtin_rvv_vsub_vx_u8mf4:
14034case RISCV::BI__builtin_rvv_vsub_vx_u8mf8:
14035case RISCV::BI__builtin_rvv_vsub_vx_u16m1:
14036case RISCV::BI__builtin_rvv_vsub_vx_u16m2:
14037case RISCV::BI__builtin_rvv_vsub_vx_u16m4:
14038case RISCV::BI__builtin_rvv_vsub_vx_u16m8:
14039case RISCV::BI__builtin_rvv_vsub_vx_u16mf2:
14040case RISCV::BI__builtin_rvv_vsub_vx_u16mf4:
14041case RISCV::BI__builtin_rvv_vsub_vx_u32m1:
14042case RISCV::BI__builtin_rvv_vsub_vx_u32m2:
14043case RISCV::BI__builtin_rvv_vsub_vx_u32m4:
14044case RISCV::BI__builtin_rvv_vsub_vx_u32m8:
14045case RISCV::BI__builtin_rvv_vsub_vx_u32mf2:
14046case RISCV::BI__builtin_rvv_vsub_vx_u64m1:
14047case RISCV::BI__builtin_rvv_vsub_vx_u64m2:
14048case RISCV::BI__builtin_rvv_vsub_vx_u64m4:
14049case RISCV::BI__builtin_rvv_vsub_vx_u64m8:
14050 ID = Intrinsic::riscv_vsub;
14051 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
14052 break;
14053case RISCV::BI__builtin_rvv_vsub_vv_i8m1_m:
14054case RISCV::BI__builtin_rvv_vsub_vv_i8m2_m:
14055case RISCV::BI__builtin_rvv_vsub_vv_i8m4_m:
14056case RISCV::BI__builtin_rvv_vsub_vv_i8m8_m:
14057case RISCV::BI__builtin_rvv_vsub_vv_i8mf2_m:
14058case RISCV::BI__builtin_rvv_vsub_vv_i8mf4_m:
14059case RISCV::BI__builtin_rvv_vsub_vv_i8mf8_m:
14060case RISCV::BI__builtin_rvv_vsub_vv_i16m1_m:
14061case RISCV::BI__builtin_rvv_vsub_vv_i16m2_m:
14062case RISCV::BI__builtin_rvv_vsub_vv_i16m4_m:
14063case RISCV::BI__builtin_rvv_vsub_vv_i16m8_m:
14064case RISCV::BI__builtin_rvv_vsub_vv_i16mf2_m:
14065case RISCV::BI__builtin_rvv_vsub_vv_i16mf4_m:
14066case RISCV::BI__builtin_rvv_vsub_vv_i32m1_m:
14067case RISCV::BI__builtin_rvv_vsub_vv_i32m2_m:
14068case RISCV::BI__builtin_rvv_vsub_vv_i32m4_m:
14069case RISCV::BI__builtin_rvv_vsub_vv_i32m8_m:
14070case RISCV::BI__builtin_rvv_vsub_vv_i32mf2_m:
14071case RISCV::BI__builtin_rvv_vsub_vv_i64m1_m:
14072case RISCV::BI__builtin_rvv_vsub_vv_i64m2_m:
14073case RISCV::BI__builtin_rvv_vsub_vv_i64m4_m:
14074case RISCV::BI__builtin_rvv_vsub_vv_i64m8_m:
14075case RISCV::BI__builtin_rvv_vsub_vx_i8m1_m:
14076case RISCV::BI__builtin_rvv_vsub_vx_i8m2_m:
14077case RISCV::BI__builtin_rvv_vsub_vx_i8m4_m:
14078case RISCV::BI__builtin_rvv_vsub_vx_i8m8_m:
14079case RISCV::BI__builtin_rvv_vsub_vx_i8mf2_m:
14080case RISCV::BI__builtin_rvv_vsub_vx_i8mf4_m:
14081case RISCV::BI__builtin_rvv_vsub_vx_i8mf8_m:
14082case RISCV::BI__builtin_rvv_vsub_vx_i16m1_m:
14083case RISCV::BI__builtin_rvv_vsub_vx_i16m2_m:
14084case RISCV::BI__builtin_rvv_vsub_vx_i16m4_m:
14085case RISCV::BI__builtin_rvv_vsub_vx_i16m8_m:
14086case RISCV::BI__builtin_rvv_vsub_vx_i16mf2_m:
14087case RISCV::BI__builtin_rvv_vsub_vx_i16mf4_m:
14088case RISCV::BI__builtin_rvv_vsub_vx_i32m1_m:
14089case RISCV::BI__builtin_rvv_vsub_vx_i32m2_m:
14090case RISCV::BI__builtin_rvv_vsub_vx_i32m4_m:
14091case RISCV::BI__builtin_rvv_vsub_vx_i32m8_m:
14092case RISCV::BI__builtin_rvv_vsub_vx_i32mf2_m:
14093case RISCV::BI__builtin_rvv_vsub_vx_i64m1_m:
14094case RISCV::BI__builtin_rvv_vsub_vx_i64m2_m:
14095case RISCV::BI__builtin_rvv_vsub_vx_i64m4_m:
14096case RISCV::BI__builtin_rvv_vsub_vx_i64m8_m:
14097case RISCV::BI__builtin_rvv_vsub_vv_u8m1_m:
14098case RISCV::BI__builtin_rvv_vsub_vv_u8m2_m:
14099case RISCV::BI__builtin_rvv_vsub_vv_u8m4_m:
14100case RISCV::BI__builtin_rvv_vsub_vv_u8m8_m:
14101case RISCV::BI__builtin_rvv_vsub_vv_u8mf2_m:
14102case RISCV::BI__builtin_rvv_vsub_vv_u8mf4_m:
14103case RISCV::BI__builtin_rvv_vsub_vv_u8mf8_m:
14104case RISCV::BI__builtin_rvv_vsub_vv_u16m1_m:
14105case RISCV::BI__builtin_rvv_vsub_vv_u16m2_m:
14106case RISCV::BI__builtin_rvv_vsub_vv_u16m4_m:
14107case RISCV::BI__builtin_rvv_vsub_vv_u16m8_m:
14108case RISCV::BI__builtin_rvv_vsub_vv_u16mf2_m:
14109case RISCV::BI__builtin_rvv_vsub_vv_u16mf4_m:
14110case RISCV::BI__builtin_rvv_vsub_vv_u32m1_m:
14111case RISCV::BI__builtin_rvv_vsub_vv_u32m2_m:
14112case RISCV::BI__builtin_rvv_vsub_vv_u32m4_m:
14113case RISCV::BI__builtin_rvv_vsub_vv_u32m8_m:
14114case RISCV::BI__builtin_rvv_vsub_vv_u32mf2_m:
14115case RISCV::BI__builtin_rvv_vsub_vv_u64m1_m:
14116case RISCV::BI__builtin_rvv_vsub_vv_u64m2_m:
14117case RISCV::BI__builtin_rvv_vsub_vv_u64m4_m:
14118case RISCV::BI__builtin_rvv_vsub_vv_u64m8_m:
14119case RISCV::BI__builtin_rvv_vsub_vx_u8m1_m:
14120case RISCV::BI__builtin_rvv_vsub_vx_u8m2_m:
14121case RISCV::BI__builtin_rvv_vsub_vx_u8m4_m:
14122case RISCV::BI__builtin_rvv_vsub_vx_u8m8_m:
14123case RISCV::BI__builtin_rvv_vsub_vx_u8mf2_m:
14124case RISCV::BI__builtin_rvv_vsub_vx_u8mf4_m:
14125case RISCV::BI__builtin_rvv_vsub_vx_u8mf8_m:
14126case RISCV::BI__builtin_rvv_vsub_vx_u16m1_m:
14127case RISCV::BI__builtin_rvv_vsub_vx_u16m2_m:
14128case RISCV::BI__builtin_rvv_vsub_vx_u16m4_m:
14129case RISCV::BI__builtin_rvv_vsub_vx_u16m8_m:
14130case RISCV::BI__builtin_rvv_vsub_vx_u16mf2_m:
14131case RISCV::BI__builtin_rvv_vsub_vx_u16mf4_m:
14132case RISCV::BI__builtin_rvv_vsub_vx_u32m1_m:
14133case RISCV::BI__builtin_rvv_vsub_vx_u32m2_m:
14134case RISCV::BI__builtin_rvv_vsub_vx_u32m4_m:
14135case RISCV::BI__builtin_rvv_vsub_vx_u32m8_m:
14136case RISCV::BI__builtin_rvv_vsub_vx_u32mf2_m:
14137case RISCV::BI__builtin_rvv_vsub_vx_u64m1_m:
14138case RISCV::BI__builtin_rvv_vsub_vx_u64m2_m:
14139case RISCV::BI__builtin_rvv_vsub_vx_u64m4_m:
14140case RISCV::BI__builtin_rvv_vsub_vx_u64m8_m:
14141 ID = Intrinsic::riscv_vsub_mask;
14142 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
14143 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
14144 break;
14145case RISCV::BI__builtin_rvv_vsuxei16_v_i8m1:
14146case RISCV::BI__builtin_rvv_vsuxei16_v_i8m2:
14147case RISCV::BI__builtin_rvv_vsuxei16_v_i8m4:
14148case RISCV::BI__builtin_rvv_vsuxei16_v_i8mf2:
14149case RISCV::BI__builtin_rvv_vsuxei16_v_i8mf4:
14150case RISCV::BI__builtin_rvv_vsuxei16_v_i8mf8:
14151case RISCV::BI__builtin_rvv_vsuxei16_v_u8m1:
14152case RISCV::BI__builtin_rvv_vsuxei16_v_u8m2:
14153case RISCV::BI__builtin_rvv_vsuxei16_v_u8m4:
14154case RISCV::BI__builtin_rvv_vsuxei16_v_u8mf2:
14155case RISCV::BI__builtin_rvv_vsuxei16_v_u8mf4:
14156case RISCV::BI__builtin_rvv_vsuxei16_v_u8mf8:
14157case RISCV::BI__builtin_rvv_vsuxei32_v_i8m1:
14158case RISCV::BI__builtin_rvv_vsuxei32_v_i8m2:
14159case RISCV::BI__builtin_rvv_vsuxei32_v_i8mf2:
14160case RISCV::BI__builtin_rvv_vsuxei32_v_i8mf4:
14161case RISCV::BI__builtin_rvv_vsuxei32_v_i8mf8:
14162case RISCV::BI__builtin_rvv_vsuxei32_v_u8m1:
14163case RISCV::BI__builtin_rvv_vsuxei32_v_u8m2:
14164case RISCV::BI__builtin_rvv_vsuxei32_v_u8mf2:
14165case RISCV::BI__builtin_rvv_vsuxei32_v_u8mf4:
14166case RISCV::BI__builtin_rvv_vsuxei32_v_u8mf8:
14167case RISCV::BI__builtin_rvv_vsuxei64_v_i8m1:
14168case RISCV::BI__builtin_rvv_vsuxei64_v_i8mf2:
14169case RISCV::BI__builtin_rvv_vsuxei64_v_i8mf4:
14170case RISCV::BI__builtin_rvv_vsuxei64_v_i8mf8:
14171case RISCV::BI__builtin_rvv_vsuxei64_v_u8m1:
14172case RISCV::BI__builtin_rvv_vsuxei64_v_u8mf2:
14173case RISCV::BI__builtin_rvv_vsuxei64_v_u8mf4:
14174case RISCV::BI__builtin_rvv_vsuxei64_v_u8mf8:
14175case RISCV::BI__builtin_rvv_vsuxei8_v_i16m1:
14176case RISCV::BI__builtin_rvv_vsuxei8_v_i16m2:
14177case RISCV::BI__builtin_rvv_vsuxei8_v_i16m4:
14178case RISCV::BI__builtin_rvv_vsuxei8_v_i16m8:
14179case RISCV::BI__builtin_rvv_vsuxei8_v_i16mf2:
14180case RISCV::BI__builtin_rvv_vsuxei8_v_i16mf4:
14181case RISCV::BI__builtin_rvv_vsuxei8_v_u16m1:
14182case RISCV::BI__builtin_rvv_vsuxei8_v_u16m2:
14183case RISCV::BI__builtin_rvv_vsuxei8_v_u16m4:
14184case RISCV::BI__builtin_rvv_vsuxei8_v_u16m8:
14185case RISCV::BI__builtin_rvv_vsuxei8_v_u16mf2:
14186case RISCV::BI__builtin_rvv_vsuxei8_v_u16mf4:
14187case RISCV::BI__builtin_rvv_vsuxei16_v_i16m1:
14188case RISCV::BI__builtin_rvv_vsuxei16_v_i16m2:
14189case RISCV::BI__builtin_rvv_vsuxei16_v_i16m4:
14190case RISCV::BI__builtin_rvv_vsuxei16_v_i16m8:
14191case RISCV::BI__builtin_rvv_vsuxei16_v_i16mf2:
14192case RISCV::BI__builtin_rvv_vsuxei16_v_i16mf4:
14193case RISCV::BI__builtin_rvv_vsuxei16_v_u16m1:
14194case RISCV::BI__builtin_rvv_vsuxei16_v_u16m2:
14195case RISCV::BI__builtin_rvv_vsuxei16_v_u16m4:
14196case RISCV::BI__builtin_rvv_vsuxei16_v_u16m8:
14197case RISCV::BI__builtin_rvv_vsuxei16_v_u16mf2:
14198case RISCV::BI__builtin_rvv_vsuxei16_v_u16mf4:
14199case RISCV::BI__builtin_rvv_vsuxei32_v_i16m1:
14200case RISCV::BI__builtin_rvv_vsuxei32_v_i16m2:
14201case RISCV::BI__builtin_rvv_vsuxei32_v_i16m4:
14202case RISCV::BI__builtin_rvv_vsuxei32_v_i16mf2:
14203case RISCV::BI__builtin_rvv_vsuxei32_v_i16mf4:
14204case RISCV::BI__builtin_rvv_vsuxei32_v_u16m1:
14205case RISCV::BI__builtin_rvv_vsuxei32_v_u16m2:
14206case RISCV::BI__builtin_rvv_vsuxei32_v_u16m4:
14207case RISCV::BI__builtin_rvv_vsuxei32_v_u16mf2:
14208case RISCV::BI__builtin_rvv_vsuxei32_v_u16mf4:
14209case RISCV::BI__builtin_rvv_vsuxei64_v_i16m1:
14210case RISCV::BI__builtin_rvv_vsuxei64_v_i16m2:
14211case RISCV::BI__builtin_rvv_vsuxei64_v_i16mf2:
14212case RISCV::BI__builtin_rvv_vsuxei64_v_i16mf4:
14213case RISCV::BI__builtin_rvv_vsuxei64_v_u16m1:
14214case RISCV::BI__builtin_rvv_vsuxei64_v_u16m2:
14215case RISCV::BI__builtin_rvv_vsuxei64_v_u16mf2:
14216case RISCV::BI__builtin_rvv_vsuxei64_v_u16mf4:
14217case RISCV::BI__builtin_rvv_vsuxei8_v_i32m1:
14218case RISCV::BI__builtin_rvv_vsuxei8_v_i32m2:
14219case RISCV::BI__builtin_rvv_vsuxei8_v_i32m4:
14220case RISCV::BI__builtin_rvv_vsuxei8_v_i32m8:
14221case RISCV::BI__builtin_rvv_vsuxei8_v_i32mf2:
14222case RISCV::BI__builtin_rvv_vsuxei8_v_u32m1:
14223case RISCV::BI__builtin_rvv_vsuxei8_v_u32m2:
14224case RISCV::BI__builtin_rvv_vsuxei8_v_u32m4:
14225case RISCV::BI__builtin_rvv_vsuxei8_v_u32m8:
14226case RISCV::BI__builtin_rvv_vsuxei8_v_u32mf2:
14227case RISCV::BI__builtin_rvv_vsuxei16_v_i32m1:
14228case RISCV::BI__builtin_rvv_vsuxei16_v_i32m2:
14229case RISCV::BI__builtin_rvv_vsuxei16_v_i32m4:
14230case RISCV::BI__builtin_rvv_vsuxei16_v_i32m8:
14231case RISCV::BI__builtin_rvv_vsuxei16_v_i32mf2:
14232case RISCV::BI__builtin_rvv_vsuxei16_v_u32m1:
14233case RISCV::BI__builtin_rvv_vsuxei16_v_u32m2:
14234case RISCV::BI__builtin_rvv_vsuxei16_v_u32m4:
14235case RISCV::BI__builtin_rvv_vsuxei16_v_u32m8:
14236case RISCV::BI__builtin_rvv_vsuxei16_v_u32mf2:
14237case RISCV::BI__builtin_rvv_vsuxei32_v_i32m1:
14238case RISCV::BI__builtin_rvv_vsuxei32_v_i32m2:
14239case RISCV::BI__builtin_rvv_vsuxei32_v_i32m4:
14240case RISCV::BI__builtin_rvv_vsuxei32_v_i32m8:
14241case RISCV::BI__builtin_rvv_vsuxei32_v_i32mf2:
14242case RISCV::BI__builtin_rvv_vsuxei32_v_u32m1:
14243case RISCV::BI__builtin_rvv_vsuxei32_v_u32m2:
14244case RISCV::BI__builtin_rvv_vsuxei32_v_u32m4:
14245case RISCV::BI__builtin_rvv_vsuxei32_v_u32m8:
14246case RISCV::BI__builtin_rvv_vsuxei32_v_u32mf2:
14247case RISCV::BI__builtin_rvv_vsuxei64_v_i32m1:
14248case RISCV::BI__builtin_rvv_vsuxei64_v_i32m2:
14249case RISCV::BI__builtin_rvv_vsuxei64_v_i32m4:
14250case RISCV::BI__builtin_rvv_vsuxei64_v_i32mf2:
14251case RISCV::BI__builtin_rvv_vsuxei64_v_u32m1:
14252case RISCV::BI__builtin_rvv_vsuxei64_v_u32m2:
14253case RISCV::BI__builtin_rvv_vsuxei64_v_u32m4:
14254case RISCV::BI__builtin_rvv_vsuxei64_v_u32mf2:
14255case RISCV::BI__builtin_rvv_vsuxei8_v_i64m1:
14256case RISCV::BI__builtin_rvv_vsuxei8_v_i64m2:
14257case RISCV::BI__builtin_rvv_vsuxei8_v_i64m4:
14258case RISCV::BI__builtin_rvv_vsuxei8_v_i64m8:
14259case RISCV::BI__builtin_rvv_vsuxei8_v_u64m1:
14260case RISCV::BI__builtin_rvv_vsuxei8_v_u64m2:
14261case RISCV::BI__builtin_rvv_vsuxei8_v_u64m4:
14262case RISCV::BI__builtin_rvv_vsuxei8_v_u64m8:
14263case RISCV::BI__builtin_rvv_vsuxei16_v_i64m1:
14264case RISCV::BI__builtin_rvv_vsuxei16_v_i64m2:
14265case RISCV::BI__builtin_rvv_vsuxei16_v_i64m4:
14266case RISCV::BI__builtin_rvv_vsuxei16_v_i64m8:
14267case RISCV::BI__builtin_rvv_vsuxei16_v_u64m1:
14268case RISCV::BI__builtin_rvv_vsuxei16_v_u64m2:
14269case RISCV::BI__builtin_rvv_vsuxei16_v_u64m4:
14270case RISCV::BI__builtin_rvv_vsuxei16_v_u64m8:
14271case RISCV::BI__builtin_rvv_vsuxei32_v_i64m1:
14272case RISCV::BI__builtin_rvv_vsuxei32_v_i64m2:
14273case RISCV::BI__builtin_rvv_vsuxei32_v_i64m4:
14274case RISCV::BI__builtin_rvv_vsuxei32_v_i64m8:
14275case RISCV::BI__builtin_rvv_vsuxei32_v_u64m1:
14276case RISCV::BI__builtin_rvv_vsuxei32_v_u64m2:
14277case RISCV::BI__builtin_rvv_vsuxei32_v_u64m4:
14278case RISCV::BI__builtin_rvv_vsuxei32_v_u64m8:
14279case RISCV::BI__builtin_rvv_vsuxei64_v_i64m1:
14280case RISCV::BI__builtin_rvv_vsuxei64_v_i64m2:
14281case RISCV::BI__builtin_rvv_vsuxei64_v_i64m4:
14282case RISCV::BI__builtin_rvv_vsuxei64_v_i64m8:
14283case RISCV::BI__builtin_rvv_vsuxei64_v_u64m1:
14284case RISCV::BI__builtin_rvv_vsuxei64_v_u64m2:
14285case RISCV::BI__builtin_rvv_vsuxei64_v_u64m4:
14286case RISCV::BI__builtin_rvv_vsuxei64_v_u64m8:
14287case RISCV::BI__builtin_rvv_vsuxei8_v_f32m1:
14288case RISCV::BI__builtin_rvv_vsuxei8_v_f32m2:
14289case RISCV::BI__builtin_rvv_vsuxei8_v_f32m4:
14290case RISCV::BI__builtin_rvv_vsuxei8_v_f32m8:
14291case RISCV::BI__builtin_rvv_vsuxei8_v_f32mf2:
14292case RISCV::BI__builtin_rvv_vsuxei16_v_f32m1:
14293case RISCV::BI__builtin_rvv_vsuxei16_v_f32m2:
14294case RISCV::BI__builtin_rvv_vsuxei16_v_f32m4:
14295case RISCV::BI__builtin_rvv_vsuxei16_v_f32m8:
14296case RISCV::BI__builtin_rvv_vsuxei16_v_f32mf2:
14297case RISCV::BI__builtin_rvv_vsuxei32_v_f32m1:
14298case RISCV::BI__builtin_rvv_vsuxei32_v_f32m2:
14299case RISCV::BI__builtin_rvv_vsuxei32_v_f32m4:
14300case RISCV::BI__builtin_rvv_vsuxei32_v_f32m8:
14301case RISCV::BI__builtin_rvv_vsuxei32_v_f32mf2:
14302case RISCV::BI__builtin_rvv_vsuxei64_v_f32m1:
14303case RISCV::BI__builtin_rvv_vsuxei64_v_f32m2:
14304case RISCV::BI__builtin_rvv_vsuxei64_v_f32m4:
14305case RISCV::BI__builtin_rvv_vsuxei64_v_f32mf2:
14306case RISCV::BI__builtin_rvv_vsuxei8_v_f64m1:
14307case RISCV::BI__builtin_rvv_vsuxei8_v_f64m2:
14308case RISCV::BI__builtin_rvv_vsuxei8_v_f64m4:
14309case RISCV::BI__builtin_rvv_vsuxei8_v_f64m8:
14310case RISCV::BI__builtin_rvv_vsuxei16_v_f64m1:
14311case RISCV::BI__builtin_rvv_vsuxei16_v_f64m2:
14312case RISCV::BI__builtin_rvv_vsuxei16_v_f64m4:
14313case RISCV::BI__builtin_rvv_vsuxei16_v_f64m8:
14314case RISCV::BI__builtin_rvv_vsuxei32_v_f64m1:
14315case RISCV::BI__builtin_rvv_vsuxei32_v_f64m2:
14316case RISCV::BI__builtin_rvv_vsuxei32_v_f64m4:
14317case RISCV::BI__builtin_rvv_vsuxei32_v_f64m8:
14318case RISCV::BI__builtin_rvv_vsuxei64_v_f64m1:
14319case RISCV::BI__builtin_rvv_vsuxei64_v_f64m2:
14320case RISCV::BI__builtin_rvv_vsuxei64_v_f64m4:
14321case RISCV::BI__builtin_rvv_vsuxei64_v_f64m8:
14322case RISCV::BI__builtin_rvv_vsuxei8_v_i8m1:
14323case RISCV::BI__builtin_rvv_vsuxei8_v_i8m2:
14324case RISCV::BI__builtin_rvv_vsuxei8_v_i8m4:
14325case RISCV::BI__builtin_rvv_vsuxei8_v_i8m8:
14326case RISCV::BI__builtin_rvv_vsuxei8_v_i8mf2:
14327case RISCV::BI__builtin_rvv_vsuxei8_v_i8mf4:
14328case RISCV::BI__builtin_rvv_vsuxei8_v_i8mf8:
14329case RISCV::BI__builtin_rvv_vsuxei8_v_u8m1:
14330case RISCV::BI__builtin_rvv_vsuxei8_v_u8m2:
14331case RISCV::BI__builtin_rvv_vsuxei8_v_u8m4:
14332case RISCV::BI__builtin_rvv_vsuxei8_v_u8m8:
14333case RISCV::BI__builtin_rvv_vsuxei8_v_u8mf2:
14334case RISCV::BI__builtin_rvv_vsuxei8_v_u8mf4:
14335case RISCV::BI__builtin_rvv_vsuxei8_v_u8mf8:
14336 ID = Intrinsic::riscv_vsuxei;
14337
14338 // Builtin: (ptr, index, value, vl). Intrinsic: (value, ptr, index, vl)
14339 std::rotate(Ops.begin(), Ops.begin() + 2, Ops.begin() + 3);
14340 Ops[1] = Builder.CreateBitCast(Ops[1],Ops[0]->getType()->getPointerTo());
14341 IntrinsicTypes = {Ops[0]->getType(), Ops[2]->getType(), Ops[3]->getType()};
14342 break;
14343case RISCV::BI__builtin_rvv_vsuxei16_v_i8m1_m:
14344case RISCV::BI__builtin_rvv_vsuxei16_v_i8m2_m:
14345case RISCV::BI__builtin_rvv_vsuxei16_v_i8m4_m:
14346case RISCV::BI__builtin_rvv_vsuxei16_v_i8mf2_m:
14347case RISCV::BI__builtin_rvv_vsuxei16_v_i8mf4_m:
14348case RISCV::BI__builtin_rvv_vsuxei16_v_i8mf8_m:
14349case RISCV::BI__builtin_rvv_vsuxei16_v_u8m1_m:
14350case RISCV::BI__builtin_rvv_vsuxei16_v_u8m2_m:
14351case RISCV::BI__builtin_rvv_vsuxei16_v_u8m4_m:
14352case RISCV::BI__builtin_rvv_vsuxei16_v_u8mf2_m:
14353case RISCV::BI__builtin_rvv_vsuxei16_v_u8mf4_m:
14354case RISCV::BI__builtin_rvv_vsuxei16_v_u8mf8_m:
14355case RISCV::BI__builtin_rvv_vsuxei32_v_i8m1_m:
14356case RISCV::BI__builtin_rvv_vsuxei32_v_i8m2_m:
14357case RISCV::BI__builtin_rvv_vsuxei32_v_i8mf2_m:
14358case RISCV::BI__builtin_rvv_vsuxei32_v_i8mf4_m:
14359case RISCV::BI__builtin_rvv_vsuxei32_v_i8mf8_m:
14360case RISCV::BI__builtin_rvv_vsuxei32_v_u8m1_m:
14361case RISCV::BI__builtin_rvv_vsuxei32_v_u8m2_m:
14362case RISCV::BI__builtin_rvv_vsuxei32_v_u8mf2_m:
14363case RISCV::BI__builtin_rvv_vsuxei32_v_u8mf4_m:
14364case RISCV::BI__builtin_rvv_vsuxei32_v_u8mf8_m:
14365case RISCV::BI__builtin_rvv_vsuxei64_v_i8m1_m:
14366case RISCV::BI__builtin_rvv_vsuxei64_v_i8mf2_m:
14367case RISCV::BI__builtin_rvv_vsuxei64_v_i8mf4_m:
14368case RISCV::BI__builtin_rvv_vsuxei64_v_i8mf8_m:
14369case RISCV::BI__builtin_rvv_vsuxei64_v_u8m1_m:
14370case RISCV::BI__builtin_rvv_vsuxei64_v_u8mf2_m:
14371case RISCV::BI__builtin_rvv_vsuxei64_v_u8mf4_m:
14372case RISCV::BI__builtin_rvv_vsuxei64_v_u8mf8_m:
14373case RISCV::BI__builtin_rvv_vsuxei8_v_i16m1_m:
14374case RISCV::BI__builtin_rvv_vsuxei8_v_i16m2_m:
14375case RISCV::BI__builtin_rvv_vsuxei8_v_i16m4_m:
14376case RISCV::BI__builtin_rvv_vsuxei8_v_i16m8_m:
14377case RISCV::BI__builtin_rvv_vsuxei8_v_i16mf2_m:
14378case RISCV::BI__builtin_rvv_vsuxei8_v_i16mf4_m:
14379case RISCV::BI__builtin_rvv_vsuxei8_v_u16m1_m:
14380case RISCV::BI__builtin_rvv_vsuxei8_v_u16m2_m:
14381case RISCV::BI__builtin_rvv_vsuxei8_v_u16m4_m:
14382case RISCV::BI__builtin_rvv_vsuxei8_v_u16m8_m:
14383case RISCV::BI__builtin_rvv_vsuxei8_v_u16mf2_m:
14384case RISCV::BI__builtin_rvv_vsuxei8_v_u16mf4_m:
14385case RISCV::BI__builtin_rvv_vsuxei16_v_i16m1_m:
14386case RISCV::BI__builtin_rvv_vsuxei16_v_i16m2_m:
14387case RISCV::BI__builtin_rvv_vsuxei16_v_i16m4_m:
14388case RISCV::BI__builtin_rvv_vsuxei16_v_i16m8_m:
14389case RISCV::BI__builtin_rvv_vsuxei16_v_i16mf2_m:
14390case RISCV::BI__builtin_rvv_vsuxei16_v_i16mf4_m:
14391case RISCV::BI__builtin_rvv_vsuxei16_v_u16m1_m:
14392case RISCV::BI__builtin_rvv_vsuxei16_v_u16m2_m:
14393case RISCV::BI__builtin_rvv_vsuxei16_v_u16m4_m:
14394case RISCV::BI__builtin_rvv_vsuxei16_v_u16m8_m:
14395case RISCV::BI__builtin_rvv_vsuxei16_v_u16mf2_m:
14396case RISCV::BI__builtin_rvv_vsuxei16_v_u16mf4_m:
14397case RISCV::BI__builtin_rvv_vsuxei32_v_i16m1_m:
14398case RISCV::BI__builtin_rvv_vsuxei32_v_i16m2_m:
14399case RISCV::BI__builtin_rvv_vsuxei32_v_i16m4_m:
14400case RISCV::BI__builtin_rvv_vsuxei32_v_i16mf2_m:
14401case RISCV::BI__builtin_rvv_vsuxei32_v_i16mf4_m:
14402case RISCV::BI__builtin_rvv_vsuxei32_v_u16m1_m:
14403case RISCV::BI__builtin_rvv_vsuxei32_v_u16m2_m:
14404case RISCV::BI__builtin_rvv_vsuxei32_v_u16m4_m:
14405case RISCV::BI__builtin_rvv_vsuxei32_v_u16mf2_m:
14406case RISCV::BI__builtin_rvv_vsuxei32_v_u16mf4_m:
14407case RISCV::BI__builtin_rvv_vsuxei64_v_i16m1_m:
14408case RISCV::BI__builtin_rvv_vsuxei64_v_i16m2_m:
14409case RISCV::BI__builtin_rvv_vsuxei64_v_i16mf2_m:
14410case RISCV::BI__builtin_rvv_vsuxei64_v_i16mf4_m:
14411case RISCV::BI__builtin_rvv_vsuxei64_v_u16m1_m:
14412case RISCV::BI__builtin_rvv_vsuxei64_v_u16m2_m:
14413case RISCV::BI__builtin_rvv_vsuxei64_v_u16mf2_m:
14414case RISCV::BI__builtin_rvv_vsuxei64_v_u16mf4_m:
14415case RISCV::BI__builtin_rvv_vsuxei8_v_i32m1_m:
14416case RISCV::BI__builtin_rvv_vsuxei8_v_i32m2_m:
14417case RISCV::BI__builtin_rvv_vsuxei8_v_i32m4_m:
14418case RISCV::BI__builtin_rvv_vsuxei8_v_i32m8_m:
14419case RISCV::BI__builtin_rvv_vsuxei8_v_i32mf2_m:
14420case RISCV::BI__builtin_rvv_vsuxei8_v_u32m1_m:
14421case RISCV::BI__builtin_rvv_vsuxei8_v_u32m2_m:
14422case RISCV::BI__builtin_rvv_vsuxei8_v_u32m4_m:
14423case RISCV::BI__builtin_rvv_vsuxei8_v_u32m8_m:
14424case RISCV::BI__builtin_rvv_vsuxei8_v_u32mf2_m:
14425case RISCV::BI__builtin_rvv_vsuxei16_v_i32m1_m:
14426case RISCV::BI__builtin_rvv_vsuxei16_v_i32m2_m:
14427case RISCV::BI__builtin_rvv_vsuxei16_v_i32m4_m:
14428case RISCV::BI__builtin_rvv_vsuxei16_v_i32m8_m:
14429case RISCV::BI__builtin_rvv_vsuxei16_v_i32mf2_m:
14430case RISCV::BI__builtin_rvv_vsuxei16_v_u32m1_m:
14431case RISCV::BI__builtin_rvv_vsuxei16_v_u32m2_m:
14432case RISCV::BI__builtin_rvv_vsuxei16_v_u32m4_m:
14433case RISCV::BI__builtin_rvv_vsuxei16_v_u32m8_m:
14434case RISCV::BI__builtin_rvv_vsuxei16_v_u32mf2_m:
14435case RISCV::BI__builtin_rvv_vsuxei32_v_i32m1_m:
14436case RISCV::BI__builtin_rvv_vsuxei32_v_i32m2_m:
14437case RISCV::BI__builtin_rvv_vsuxei32_v_i32m4_m:
14438case RISCV::BI__builtin_rvv_vsuxei32_v_i32m8_m:
14439case RISCV::BI__builtin_rvv_vsuxei32_v_i32mf2_m:
14440case RISCV::BI__builtin_rvv_vsuxei32_v_u32m1_m:
14441case RISCV::BI__builtin_rvv_vsuxei32_v_u32m2_m:
14442case RISCV::BI__builtin_rvv_vsuxei32_v_u32m4_m:
14443case RISCV::BI__builtin_rvv_vsuxei32_v_u32m8_m:
14444case RISCV::BI__builtin_rvv_vsuxei32_v_u32mf2_m:
14445case RISCV::BI__builtin_rvv_vsuxei64_v_i32m1_m:
14446case RISCV::BI__builtin_rvv_vsuxei64_v_i32m2_m:
14447case RISCV::BI__builtin_rvv_vsuxei64_v_i32m4_m:
14448case RISCV::BI__builtin_rvv_vsuxei64_v_i32mf2_m:
14449case RISCV::BI__builtin_rvv_vsuxei64_v_u32m1_m:
14450case RISCV::BI__builtin_rvv_vsuxei64_v_u32m2_m:
14451case RISCV::BI__builtin_rvv_vsuxei64_v_u32m4_m:
14452case RISCV::BI__builtin_rvv_vsuxei64_v_u32mf2_m:
14453case RISCV::BI__builtin_rvv_vsuxei8_v_i64m1_m:
14454case RISCV::BI__builtin_rvv_vsuxei8_v_i64m2_m:
14455case RISCV::BI__builtin_rvv_vsuxei8_v_i64m4_m:
14456case RISCV::BI__builtin_rvv_vsuxei8_v_i64m8_m:
14457case RISCV::BI__builtin_rvv_vsuxei8_v_u64m1_m:
14458case RISCV::BI__builtin_rvv_vsuxei8_v_u64m2_m:
14459case RISCV::BI__builtin_rvv_vsuxei8_v_u64m4_m:
14460case RISCV::BI__builtin_rvv_vsuxei8_v_u64m8_m:
14461case RISCV::BI__builtin_rvv_vsuxei16_v_i64m1_m:
14462case RISCV::BI__builtin_rvv_vsuxei16_v_i64m2_m:
14463case RISCV::BI__builtin_rvv_vsuxei16_v_i64m4_m:
14464case RISCV::BI__builtin_rvv_vsuxei16_v_i64m8_m:
14465case RISCV::BI__builtin_rvv_vsuxei16_v_u64m1_m:
14466case RISCV::BI__builtin_rvv_vsuxei16_v_u64m2_m:
14467case RISCV::BI__builtin_rvv_vsuxei16_v_u64m4_m:
14468case RISCV::BI__builtin_rvv_vsuxei16_v_u64m8_m:
14469case RISCV::BI__builtin_rvv_vsuxei32_v_i64m1_m:
14470case RISCV::BI__builtin_rvv_vsuxei32_v_i64m2_m:
14471case RISCV::BI__builtin_rvv_vsuxei32_v_i64m4_m:
14472case RISCV::BI__builtin_rvv_vsuxei32_v_i64m8_m:
14473case RISCV::BI__builtin_rvv_vsuxei32_v_u64m1_m:
14474case RISCV::BI__builtin_rvv_vsuxei32_v_u64m2_m:
14475case RISCV::BI__builtin_rvv_vsuxei32_v_u64m4_m:
14476case RISCV::BI__builtin_rvv_vsuxei32_v_u64m8_m:
14477case RISCV::BI__builtin_rvv_vsuxei64_v_i64m1_m:
14478case RISCV::BI__builtin_rvv_vsuxei64_v_i64m2_m:
14479case RISCV::BI__builtin_rvv_vsuxei64_v_i64m4_m:
14480case RISCV::BI__builtin_rvv_vsuxei64_v_i64m8_m:
14481case RISCV::BI__builtin_rvv_vsuxei64_v_u64m1_m:
14482case RISCV::BI__builtin_rvv_vsuxei64_v_u64m2_m:
14483case RISCV::BI__builtin_rvv_vsuxei64_v_u64m4_m:
14484case RISCV::BI__builtin_rvv_vsuxei64_v_u64m8_m:
14485case RISCV::BI__builtin_rvv_vsuxei8_v_f32m1_m:
14486case RISCV::BI__builtin_rvv_vsuxei8_v_f32m2_m:
14487case RISCV::BI__builtin_rvv_vsuxei8_v_f32m4_m:
14488case RISCV::BI__builtin_rvv_vsuxei8_v_f32m8_m:
14489case RISCV::BI__builtin_rvv_vsuxei8_v_f32mf2_m:
14490case RISCV::BI__builtin_rvv_vsuxei16_v_f32m1_m:
14491case RISCV::BI__builtin_rvv_vsuxei16_v_f32m2_m:
14492case RISCV::BI__builtin_rvv_vsuxei16_v_f32m4_m:
14493case RISCV::BI__builtin_rvv_vsuxei16_v_f32m8_m:
14494case RISCV::BI__builtin_rvv_vsuxei16_v_f32mf2_m:
14495case RISCV::BI__builtin_rvv_vsuxei32_v_f32m1_m:
14496case RISCV::BI__builtin_rvv_vsuxei32_v_f32m2_m:
14497case RISCV::BI__builtin_rvv_vsuxei32_v_f32m4_m:
14498case RISCV::BI__builtin_rvv_vsuxei32_v_f32m8_m:
14499case RISCV::BI__builtin_rvv_vsuxei32_v_f32mf2_m:
14500case RISCV::BI__builtin_rvv_vsuxei64_v_f32m1_m:
14501case RISCV::BI__builtin_rvv_vsuxei64_v_f32m2_m:
14502case RISCV::BI__builtin_rvv_vsuxei64_v_f32m4_m:
14503case RISCV::BI__builtin_rvv_vsuxei64_v_f32mf2_m:
14504case RISCV::BI__builtin_rvv_vsuxei8_v_f64m1_m:
14505case RISCV::BI__builtin_rvv_vsuxei8_v_f64m2_m:
14506case RISCV::BI__builtin_rvv_vsuxei8_v_f64m4_m:
14507case RISCV::BI__builtin_rvv_vsuxei8_v_f64m8_m:
14508case RISCV::BI__builtin_rvv_vsuxei16_v_f64m1_m:
14509case RISCV::BI__builtin_rvv_vsuxei16_v_f64m2_m:
14510case RISCV::BI__builtin_rvv_vsuxei16_v_f64m4_m:
14511case RISCV::BI__builtin_rvv_vsuxei16_v_f64m8_m:
14512case RISCV::BI__builtin_rvv_vsuxei32_v_f64m1_m:
14513case RISCV::BI__builtin_rvv_vsuxei32_v_f64m2_m:
14514case RISCV::BI__builtin_rvv_vsuxei32_v_f64m4_m:
14515case RISCV::BI__builtin_rvv_vsuxei32_v_f64m8_m:
14516case RISCV::BI__builtin_rvv_vsuxei64_v_f64m1_m:
14517case RISCV::BI__builtin_rvv_vsuxei64_v_f64m2_m:
14518case RISCV::BI__builtin_rvv_vsuxei64_v_f64m4_m:
14519case RISCV::BI__builtin_rvv_vsuxei64_v_f64m8_m:
14520case RISCV::BI__builtin_rvv_vsuxei8_v_i8m1_m:
14521case RISCV::BI__builtin_rvv_vsuxei8_v_i8m2_m:
14522case RISCV::BI__builtin_rvv_vsuxei8_v_i8m4_m:
14523case RISCV::BI__builtin_rvv_vsuxei8_v_i8m8_m:
14524case RISCV::BI__builtin_rvv_vsuxei8_v_i8mf2_m:
14525case RISCV::BI__builtin_rvv_vsuxei8_v_i8mf4_m:
14526case RISCV::BI__builtin_rvv_vsuxei8_v_i8mf8_m:
14527case RISCV::BI__builtin_rvv_vsuxei8_v_u8m1_m:
14528case RISCV::BI__builtin_rvv_vsuxei8_v_u8m2_m:
14529case RISCV::BI__builtin_rvv_vsuxei8_v_u8m4_m:
14530case RISCV::BI__builtin_rvv_vsuxei8_v_u8m8_m:
14531case RISCV::BI__builtin_rvv_vsuxei8_v_u8mf2_m:
14532case RISCV::BI__builtin_rvv_vsuxei8_v_u8mf4_m:
14533case RISCV::BI__builtin_rvv_vsuxei8_v_u8mf8_m:
14534 ID = Intrinsic::riscv_vsuxei_mask;
14535
14536 // Builtin: (mask, ptr, index, value, vl). Intrinsic: (value, ptr, index, mask, vl)
14537 std::swap(Ops[0], Ops[3]);
14538 Ops[1] = Builder.CreateBitCast(Ops[1], Ops[0]->getType()->getPointerTo());
14539 IntrinsicTypes = {Ops[0]->getType(), Ops[2]->getType(), Ops[4]->getType()};
14540 break;
14541case RISCV::BI__builtin_rvv_vwadd_vv_i16mf4:
14542case RISCV::BI__builtin_rvv_vwadd_vv_i16mf2:
14543case RISCV::BI__builtin_rvv_vwadd_vv_i16m1:
14544case RISCV::BI__builtin_rvv_vwadd_vv_i16m2:
14545case RISCV::BI__builtin_rvv_vwadd_vv_i16m4:
14546case RISCV::BI__builtin_rvv_vwadd_vv_i16m8:
14547case RISCV::BI__builtin_rvv_vwadd_vv_i32mf2:
14548case RISCV::BI__builtin_rvv_vwadd_vv_i32m1:
14549case RISCV::BI__builtin_rvv_vwadd_vv_i32m2:
14550case RISCV::BI__builtin_rvv_vwadd_vv_i32m4:
14551case RISCV::BI__builtin_rvv_vwadd_vv_i32m8:
14552case RISCV::BI__builtin_rvv_vwadd_vv_i64m1:
14553case RISCV::BI__builtin_rvv_vwadd_vv_i64m2:
14554case RISCV::BI__builtin_rvv_vwadd_vv_i64m4:
14555case RISCV::BI__builtin_rvv_vwadd_vv_i64m8:
14556case RISCV::BI__builtin_rvv_vwadd_vx_i16mf4:
14557case RISCV::BI__builtin_rvv_vwadd_vx_i16mf2:
14558case RISCV::BI__builtin_rvv_vwadd_vx_i16m1:
14559case RISCV::BI__builtin_rvv_vwadd_vx_i16m2:
14560case RISCV::BI__builtin_rvv_vwadd_vx_i16m4:
14561case RISCV::BI__builtin_rvv_vwadd_vx_i16m8:
14562case RISCV::BI__builtin_rvv_vwadd_vx_i32mf2:
14563case RISCV::BI__builtin_rvv_vwadd_vx_i32m1:
14564case RISCV::BI__builtin_rvv_vwadd_vx_i32m2:
14565case RISCV::BI__builtin_rvv_vwadd_vx_i32m4:
14566case RISCV::BI__builtin_rvv_vwadd_vx_i32m8:
14567case RISCV::BI__builtin_rvv_vwadd_vx_i64m1:
14568case RISCV::BI__builtin_rvv_vwadd_vx_i64m2:
14569case RISCV::BI__builtin_rvv_vwadd_vx_i64m4:
14570case RISCV::BI__builtin_rvv_vwadd_vx_i64m8:
14571 ID = Intrinsic::riscv_vwadd;
14572 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
14573 break;
14574case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i16m2:
14575case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i16m4:
14576case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i16m8:
14577case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i16m1:
14578case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i16mf2:
14579case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i16mf4:
14580case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i32m2:
14581case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i32m4:
14582case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i32m8:
14583case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i32m1:
14584case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i32mf2:
14585case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i64m2:
14586case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i64m4:
14587case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i64m8:
14588case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i64m1:
14589 ID = Intrinsic::riscv_vwadd;
14590
14591 {
14592 // op1, vl
14593 IntrinsicTypes = {ResultType,
14594 Ops[0]->getType(),
14595 cast<llvm::VectorType>(Ops[0]->getType())->getElementType(),
14596 Ops[1]->getType()};
14597 Ops.insert(Ops.begin() + 1, llvm::Constant::getNullValue(IntrinsicTypes[2]));
14598 break;
14599 }
14600 break;
14601case RISCV::BI__builtin_rvv_vwadd_vv_i16mf4_m:
14602case RISCV::BI__builtin_rvv_vwadd_vv_i16mf2_m:
14603case RISCV::BI__builtin_rvv_vwadd_vv_i16m1_m:
14604case RISCV::BI__builtin_rvv_vwadd_vv_i16m2_m:
14605case RISCV::BI__builtin_rvv_vwadd_vv_i16m4_m:
14606case RISCV::BI__builtin_rvv_vwadd_vv_i16m8_m:
14607case RISCV::BI__builtin_rvv_vwadd_vv_i32mf2_m:
14608case RISCV::BI__builtin_rvv_vwadd_vv_i32m1_m:
14609case RISCV::BI__builtin_rvv_vwadd_vv_i32m2_m:
14610case RISCV::BI__builtin_rvv_vwadd_vv_i32m4_m:
14611case RISCV::BI__builtin_rvv_vwadd_vv_i32m8_m:
14612case RISCV::BI__builtin_rvv_vwadd_vv_i64m1_m:
14613case RISCV::BI__builtin_rvv_vwadd_vv_i64m2_m:
14614case RISCV::BI__builtin_rvv_vwadd_vv_i64m4_m:
14615case RISCV::BI__builtin_rvv_vwadd_vv_i64m8_m:
14616case RISCV::BI__builtin_rvv_vwadd_vx_i16mf4_m:
14617case RISCV::BI__builtin_rvv_vwadd_vx_i16mf2_m:
14618case RISCV::BI__builtin_rvv_vwadd_vx_i16m1_m:
14619case RISCV::BI__builtin_rvv_vwadd_vx_i16m2_m:
14620case RISCV::BI__builtin_rvv_vwadd_vx_i16m4_m:
14621case RISCV::BI__builtin_rvv_vwadd_vx_i16m8_m:
14622case RISCV::BI__builtin_rvv_vwadd_vx_i32mf2_m:
14623case RISCV::BI__builtin_rvv_vwadd_vx_i32m1_m:
14624case RISCV::BI__builtin_rvv_vwadd_vx_i32m2_m:
14625case RISCV::BI__builtin_rvv_vwadd_vx_i32m4_m:
14626case RISCV::BI__builtin_rvv_vwadd_vx_i32m8_m:
14627case RISCV::BI__builtin_rvv_vwadd_vx_i64m1_m:
14628case RISCV::BI__builtin_rvv_vwadd_vx_i64m2_m:
14629case RISCV::BI__builtin_rvv_vwadd_vx_i64m4_m:
14630case RISCV::BI__builtin_rvv_vwadd_vx_i64m8_m:
14631 ID = Intrinsic::riscv_vwadd_mask;
14632 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
14633 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
14634 break;
14635case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i16m2_m:
14636case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i16m4_m:
14637case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i16m8_m:
14638case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i16m1_m:
14639case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i16mf2_m:
14640case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i16mf4_m:
14641case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i32m2_m:
14642case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i32m4_m:
14643case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i32m8_m:
14644case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i32m1_m:
14645case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i32mf2_m:
14646case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i64m2_m:
14647case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i64m4_m:
14648case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i64m8_m:
14649case RISCV::BI__builtin_rvv_vwcvt_x_x_v_i64m1_m:
14650 ID = Intrinsic::riscv_vwadd_mask;
14651
14652 {
14653 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
14654 // maskedoff, op1, mask, vl
14655 IntrinsicTypes = {ResultType,
14656 Ops[1]->getType(),
14657 cast<llvm::VectorType>(Ops[1]->getType())->getElementType(),
14658 Ops[3]->getType()};
14659 Ops.insert(Ops.begin() + 2, llvm::Constant::getNullValue(IntrinsicTypes[2]));
14660 break;
14661 }
14662 break;
14663case RISCV::BI__builtin_rvv_vwadd_wv_i16mf4:
14664case RISCV::BI__builtin_rvv_vwadd_wv_i16mf2:
14665case RISCV::BI__builtin_rvv_vwadd_wv_i16m1:
14666case RISCV::BI__builtin_rvv_vwadd_wv_i16m2:
14667case RISCV::BI__builtin_rvv_vwadd_wv_i16m4:
14668case RISCV::BI__builtin_rvv_vwadd_wv_i16m8:
14669case RISCV::BI__builtin_rvv_vwadd_wv_i32mf2:
14670case RISCV::BI__builtin_rvv_vwadd_wv_i32m1:
14671case RISCV::BI__builtin_rvv_vwadd_wv_i32m2:
14672case RISCV::BI__builtin_rvv_vwadd_wv_i32m4:
14673case RISCV::BI__builtin_rvv_vwadd_wv_i32m8:
14674case RISCV::BI__builtin_rvv_vwadd_wv_i64m1:
14675case RISCV::BI__builtin_rvv_vwadd_wv_i64m2:
14676case RISCV::BI__builtin_rvv_vwadd_wv_i64m4:
14677case RISCV::BI__builtin_rvv_vwadd_wv_i64m8:
14678case RISCV::BI__builtin_rvv_vwadd_wx_i16mf4:
14679case RISCV::BI__builtin_rvv_vwadd_wx_i16mf2:
14680case RISCV::BI__builtin_rvv_vwadd_wx_i16m1:
14681case RISCV::BI__builtin_rvv_vwadd_wx_i16m2:
14682case RISCV::BI__builtin_rvv_vwadd_wx_i16m4:
14683case RISCV::BI__builtin_rvv_vwadd_wx_i16m8:
14684case RISCV::BI__builtin_rvv_vwadd_wx_i32mf2:
14685case RISCV::BI__builtin_rvv_vwadd_wx_i32m1:
14686case RISCV::BI__builtin_rvv_vwadd_wx_i32m2:
14687case RISCV::BI__builtin_rvv_vwadd_wx_i32m4:
14688case RISCV::BI__builtin_rvv_vwadd_wx_i32m8:
14689case RISCV::BI__builtin_rvv_vwadd_wx_i64m1:
14690case RISCV::BI__builtin_rvv_vwadd_wx_i64m2:
14691case RISCV::BI__builtin_rvv_vwadd_wx_i64m4:
14692case RISCV::BI__builtin_rvv_vwadd_wx_i64m8:
14693 ID = Intrinsic::riscv_vwadd_w;
14694 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
14695 break;
14696case RISCV::BI__builtin_rvv_vwadd_wv_i16mf4_m:
14697case RISCV::BI__builtin_rvv_vwadd_wv_i16mf2_m:
14698case RISCV::BI__builtin_rvv_vwadd_wv_i16m1_m:
14699case RISCV::BI__builtin_rvv_vwadd_wv_i16m2_m:
14700case RISCV::BI__builtin_rvv_vwadd_wv_i16m4_m:
14701case RISCV::BI__builtin_rvv_vwadd_wv_i16m8_m:
14702case RISCV::BI__builtin_rvv_vwadd_wv_i32mf2_m:
14703case RISCV::BI__builtin_rvv_vwadd_wv_i32m1_m:
14704case RISCV::BI__builtin_rvv_vwadd_wv_i32m2_m:
14705case RISCV::BI__builtin_rvv_vwadd_wv_i32m4_m:
14706case RISCV::BI__builtin_rvv_vwadd_wv_i32m8_m:
14707case RISCV::BI__builtin_rvv_vwadd_wv_i64m1_m:
14708case RISCV::BI__builtin_rvv_vwadd_wv_i64m2_m:
14709case RISCV::BI__builtin_rvv_vwadd_wv_i64m4_m:
14710case RISCV::BI__builtin_rvv_vwadd_wv_i64m8_m:
14711case RISCV::BI__builtin_rvv_vwadd_wx_i16mf4_m:
14712case RISCV::BI__builtin_rvv_vwadd_wx_i16mf2_m:
14713case RISCV::BI__builtin_rvv_vwadd_wx_i16m1_m:
14714case RISCV::BI__builtin_rvv_vwadd_wx_i16m2_m:
14715case RISCV::BI__builtin_rvv_vwadd_wx_i16m4_m:
14716case RISCV::BI__builtin_rvv_vwadd_wx_i16m8_m:
14717case RISCV::BI__builtin_rvv_vwadd_wx_i32mf2_m:
14718case RISCV::BI__builtin_rvv_vwadd_wx_i32m1_m:
14719case RISCV::BI__builtin_rvv_vwadd_wx_i32m2_m:
14720case RISCV::BI__builtin_rvv_vwadd_wx_i32m4_m:
14721case RISCV::BI__builtin_rvv_vwadd_wx_i32m8_m:
14722case RISCV::BI__builtin_rvv_vwadd_wx_i64m1_m:
14723case RISCV::BI__builtin_rvv_vwadd_wx_i64m2_m:
14724case RISCV::BI__builtin_rvv_vwadd_wx_i64m4_m:
14725case RISCV::BI__builtin_rvv_vwadd_wx_i64m8_m:
14726 ID = Intrinsic::riscv_vwadd_w_mask;
14727 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
14728 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
14729 break;
14730case RISCV::BI__builtin_rvv_vwaddu_vv_u16mf4:
14731case RISCV::BI__builtin_rvv_vwaddu_vv_u16mf2:
14732case RISCV::BI__builtin_rvv_vwaddu_vv_u16m1:
14733case RISCV::BI__builtin_rvv_vwaddu_vv_u16m2:
14734case RISCV::BI__builtin_rvv_vwaddu_vv_u16m4:
14735case RISCV::BI__builtin_rvv_vwaddu_vv_u16m8:
14736case RISCV::BI__builtin_rvv_vwaddu_vv_u32mf2:
14737case RISCV::BI__builtin_rvv_vwaddu_vv_u32m1:
14738case RISCV::BI__builtin_rvv_vwaddu_vv_u32m2:
14739case RISCV::BI__builtin_rvv_vwaddu_vv_u32m4:
14740case RISCV::BI__builtin_rvv_vwaddu_vv_u32m8:
14741case RISCV::BI__builtin_rvv_vwaddu_vv_u64m1:
14742case RISCV::BI__builtin_rvv_vwaddu_vv_u64m2:
14743case RISCV::BI__builtin_rvv_vwaddu_vv_u64m4:
14744case RISCV::BI__builtin_rvv_vwaddu_vv_u64m8:
14745 ID = Intrinsic::riscv_vwaddu;
14746 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
14747 break;
14748case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u16m2:
14749case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u16m4:
14750case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u16m8:
14751case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u16m1:
14752case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u16mf2:
14753case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u16mf4:
14754case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u32m2:
14755case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u32m4:
14756case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u32m8:
14757case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u32m1:
14758case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u32mf2:
14759case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u64m2:
14760case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u64m4:
14761case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u64m8:
14762case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u64m1:
14763 ID = Intrinsic::riscv_vwaddu;
14764
14765 {
14766 // op1, vl
14767 IntrinsicTypes = {ResultType,
14768 Ops[0]->getType(),
14769 cast<llvm::VectorType>(Ops[0]->getType())->getElementType(),
14770 Ops[1]->getType()};
14771 Ops.insert(Ops.begin() + 1, llvm::Constant::getNullValue(IntrinsicTypes[2]));
14772 break;
14773 }
14774 break;
14775case RISCV::BI__builtin_rvv_vwaddu_vx_u16mf4:
14776case RISCV::BI__builtin_rvv_vwaddu_vx_u16mf2:
14777case RISCV::BI__builtin_rvv_vwaddu_vx_u16m1:
14778case RISCV::BI__builtin_rvv_vwaddu_vx_u16m2:
14779case RISCV::BI__builtin_rvv_vwaddu_vx_u16m4:
14780case RISCV::BI__builtin_rvv_vwaddu_vx_u16m8:
14781case RISCV::BI__builtin_rvv_vwaddu_vx_u32mf2:
14782case RISCV::BI__builtin_rvv_vwaddu_vx_u32m1:
14783case RISCV::BI__builtin_rvv_vwaddu_vx_u32m2:
14784case RISCV::BI__builtin_rvv_vwaddu_vx_u32m4:
14785case RISCV::BI__builtin_rvv_vwaddu_vx_u32m8:
14786case RISCV::BI__builtin_rvv_vwaddu_vx_u64m1:
14787case RISCV::BI__builtin_rvv_vwaddu_vx_u64m2:
14788case RISCV::BI__builtin_rvv_vwaddu_vx_u64m4:
14789case RISCV::BI__builtin_rvv_vwaddu_vx_u64m8:
14790 ID = Intrinsic::riscv_vwaddu;
14791 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
14792 break;
14793case RISCV::BI__builtin_rvv_vwaddu_vv_u16mf4_m:
14794case RISCV::BI__builtin_rvv_vwaddu_vv_u16mf2_m:
14795case RISCV::BI__builtin_rvv_vwaddu_vv_u16m1_m:
14796case RISCV::BI__builtin_rvv_vwaddu_vv_u16m2_m:
14797case RISCV::BI__builtin_rvv_vwaddu_vv_u16m4_m:
14798case RISCV::BI__builtin_rvv_vwaddu_vv_u16m8_m:
14799case RISCV::BI__builtin_rvv_vwaddu_vv_u32mf2_m:
14800case RISCV::BI__builtin_rvv_vwaddu_vv_u32m1_m:
14801case RISCV::BI__builtin_rvv_vwaddu_vv_u32m2_m:
14802case RISCV::BI__builtin_rvv_vwaddu_vv_u32m4_m:
14803case RISCV::BI__builtin_rvv_vwaddu_vv_u32m8_m:
14804case RISCV::BI__builtin_rvv_vwaddu_vv_u64m1_m:
14805case RISCV::BI__builtin_rvv_vwaddu_vv_u64m2_m:
14806case RISCV::BI__builtin_rvv_vwaddu_vv_u64m4_m:
14807case RISCV::BI__builtin_rvv_vwaddu_vv_u64m8_m:
14808 ID = Intrinsic::riscv_vwaddu_mask;
14809 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
14810 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
14811 break;
14812case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u16m2_m:
14813case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u16m4_m:
14814case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u16m8_m:
14815case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u16m1_m:
14816case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u16mf2_m:
14817case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u16mf4_m:
14818case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u32m2_m:
14819case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u32m4_m:
14820case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u32m8_m:
14821case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u32m1_m:
14822case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u32mf2_m:
14823case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u64m2_m:
14824case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u64m4_m:
14825case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u64m8_m:
14826case RISCV::BI__builtin_rvv_vwcvtu_x_x_v_u64m1_m:
14827 ID = Intrinsic::riscv_vwaddu_mask;
14828
14829 {
14830 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
14831 // maskedoff, op1, mask, vl
14832 IntrinsicTypes = {ResultType,
14833 Ops[1]->getType(),
14834 cast<llvm::VectorType>(Ops[1]->getType())->getElementType(),
14835 Ops[3]->getType()};
14836 Ops.insert(Ops.begin() + 2, llvm::Constant::getNullValue(IntrinsicTypes[2]));
14837 break;
14838 }
14839 break;
14840case RISCV::BI__builtin_rvv_vwaddu_vx_u16mf4_m:
14841case RISCV::BI__builtin_rvv_vwaddu_vx_u16mf2_m:
14842case RISCV::BI__builtin_rvv_vwaddu_vx_u16m1_m:
14843case RISCV::BI__builtin_rvv_vwaddu_vx_u16m2_m:
14844case RISCV::BI__builtin_rvv_vwaddu_vx_u16m4_m:
14845case RISCV::BI__builtin_rvv_vwaddu_vx_u16m8_m:
14846case RISCV::BI__builtin_rvv_vwaddu_vx_u32mf2_m:
14847case RISCV::BI__builtin_rvv_vwaddu_vx_u32m1_m:
14848case RISCV::BI__builtin_rvv_vwaddu_vx_u32m2_m:
14849case RISCV::BI__builtin_rvv_vwaddu_vx_u32m4_m:
14850case RISCV::BI__builtin_rvv_vwaddu_vx_u32m8_m:
14851case RISCV::BI__builtin_rvv_vwaddu_vx_u64m1_m:
14852case RISCV::BI__builtin_rvv_vwaddu_vx_u64m2_m:
14853case RISCV::BI__builtin_rvv_vwaddu_vx_u64m4_m:
14854case RISCV::BI__builtin_rvv_vwaddu_vx_u64m8_m:
14855 ID = Intrinsic::riscv_vwaddu_mask;
14856 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
14857 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
14858 break;
14859case RISCV::BI__builtin_rvv_vwaddu_wv_u16mf4:
14860case RISCV::BI__builtin_rvv_vwaddu_wv_u16mf2:
14861case RISCV::BI__builtin_rvv_vwaddu_wv_u16m1:
14862case RISCV::BI__builtin_rvv_vwaddu_wv_u16m2:
14863case RISCV::BI__builtin_rvv_vwaddu_wv_u16m4:
14864case RISCV::BI__builtin_rvv_vwaddu_wv_u16m8:
14865case RISCV::BI__builtin_rvv_vwaddu_wv_u32mf2:
14866case RISCV::BI__builtin_rvv_vwaddu_wv_u32m1:
14867case RISCV::BI__builtin_rvv_vwaddu_wv_u32m2:
14868case RISCV::BI__builtin_rvv_vwaddu_wv_u32m4:
14869case RISCV::BI__builtin_rvv_vwaddu_wv_u32m8:
14870case RISCV::BI__builtin_rvv_vwaddu_wv_u64m1:
14871case RISCV::BI__builtin_rvv_vwaddu_wv_u64m2:
14872case RISCV::BI__builtin_rvv_vwaddu_wv_u64m4:
14873case RISCV::BI__builtin_rvv_vwaddu_wv_u64m8:
14874case RISCV::BI__builtin_rvv_vwaddu_wx_u16mf4:
14875case RISCV::BI__builtin_rvv_vwaddu_wx_u16mf2:
14876case RISCV::BI__builtin_rvv_vwaddu_wx_u16m1:
14877case RISCV::BI__builtin_rvv_vwaddu_wx_u16m2:
14878case RISCV::BI__builtin_rvv_vwaddu_wx_u16m4:
14879case RISCV::BI__builtin_rvv_vwaddu_wx_u16m8:
14880case RISCV::BI__builtin_rvv_vwaddu_wx_u32mf2:
14881case RISCV::BI__builtin_rvv_vwaddu_wx_u32m1:
14882case RISCV::BI__builtin_rvv_vwaddu_wx_u32m2:
14883case RISCV::BI__builtin_rvv_vwaddu_wx_u32m4:
14884case RISCV::BI__builtin_rvv_vwaddu_wx_u32m8:
14885case RISCV::BI__builtin_rvv_vwaddu_wx_u64m1:
14886case RISCV::BI__builtin_rvv_vwaddu_wx_u64m2:
14887case RISCV::BI__builtin_rvv_vwaddu_wx_u64m4:
14888case RISCV::BI__builtin_rvv_vwaddu_wx_u64m8:
14889 ID = Intrinsic::riscv_vwaddu_w;
14890 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
14891 break;
14892case RISCV::BI__builtin_rvv_vwaddu_wv_u16mf4_m:
14893case RISCV::BI__builtin_rvv_vwaddu_wv_u16mf2_m:
14894case RISCV::BI__builtin_rvv_vwaddu_wv_u16m1_m:
14895case RISCV::BI__builtin_rvv_vwaddu_wv_u16m2_m:
14896case RISCV::BI__builtin_rvv_vwaddu_wv_u16m4_m:
14897case RISCV::BI__builtin_rvv_vwaddu_wv_u16m8_m:
14898case RISCV::BI__builtin_rvv_vwaddu_wv_u32mf2_m:
14899case RISCV::BI__builtin_rvv_vwaddu_wv_u32m1_m:
14900case RISCV::BI__builtin_rvv_vwaddu_wv_u32m2_m:
14901case RISCV::BI__builtin_rvv_vwaddu_wv_u32m4_m:
14902case RISCV::BI__builtin_rvv_vwaddu_wv_u32m8_m:
14903case RISCV::BI__builtin_rvv_vwaddu_wv_u64m1_m:
14904case RISCV::BI__builtin_rvv_vwaddu_wv_u64m2_m:
14905case RISCV::BI__builtin_rvv_vwaddu_wv_u64m4_m:
14906case RISCV::BI__builtin_rvv_vwaddu_wv_u64m8_m:
14907case RISCV::BI__builtin_rvv_vwaddu_wx_u16mf4_m:
14908case RISCV::BI__builtin_rvv_vwaddu_wx_u16mf2_m:
14909case RISCV::BI__builtin_rvv_vwaddu_wx_u16m1_m:
14910case RISCV::BI__builtin_rvv_vwaddu_wx_u16m2_m:
14911case RISCV::BI__builtin_rvv_vwaddu_wx_u16m4_m:
14912case RISCV::BI__builtin_rvv_vwaddu_wx_u16m8_m:
14913case RISCV::BI__builtin_rvv_vwaddu_wx_u32mf2_m:
14914case RISCV::BI__builtin_rvv_vwaddu_wx_u32m1_m:
14915case RISCV::BI__builtin_rvv_vwaddu_wx_u32m2_m:
14916case RISCV::BI__builtin_rvv_vwaddu_wx_u32m4_m:
14917case RISCV::BI__builtin_rvv_vwaddu_wx_u32m8_m:
14918case RISCV::BI__builtin_rvv_vwaddu_wx_u64m1_m:
14919case RISCV::BI__builtin_rvv_vwaddu_wx_u64m2_m:
14920case RISCV::BI__builtin_rvv_vwaddu_wx_u64m4_m:
14921case RISCV::BI__builtin_rvv_vwaddu_wx_u64m8_m:
14922 ID = Intrinsic::riscv_vwaddu_w_mask;
14923 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
14924 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
14925 break;
14926case RISCV::BI__builtin_rvv_vwmacc_vv_i16mf4:
14927case RISCV::BI__builtin_rvv_vwmacc_vv_i16mf2:
14928case RISCV::BI__builtin_rvv_vwmacc_vv_i16m1:
14929case RISCV::BI__builtin_rvv_vwmacc_vv_i16m2:
14930case RISCV::BI__builtin_rvv_vwmacc_vv_i16m4:
14931case RISCV::BI__builtin_rvv_vwmacc_vv_i16m8:
14932case RISCV::BI__builtin_rvv_vwmacc_vv_i32mf2:
14933case RISCV::BI__builtin_rvv_vwmacc_vv_i32m1:
14934case RISCV::BI__builtin_rvv_vwmacc_vv_i32m2:
14935case RISCV::BI__builtin_rvv_vwmacc_vv_i32m4:
14936case RISCV::BI__builtin_rvv_vwmacc_vv_i32m8:
14937case RISCV::BI__builtin_rvv_vwmacc_vv_i64m1:
14938case RISCV::BI__builtin_rvv_vwmacc_vv_i64m2:
14939case RISCV::BI__builtin_rvv_vwmacc_vv_i64m4:
14940case RISCV::BI__builtin_rvv_vwmacc_vv_i64m8:
14941case RISCV::BI__builtin_rvv_vwmacc_vx_i16mf4:
14942case RISCV::BI__builtin_rvv_vwmacc_vx_i16mf2:
14943case RISCV::BI__builtin_rvv_vwmacc_vx_i16m1:
14944case RISCV::BI__builtin_rvv_vwmacc_vx_i16m2:
14945case RISCV::BI__builtin_rvv_vwmacc_vx_i16m4:
14946case RISCV::BI__builtin_rvv_vwmacc_vx_i16m8:
14947case RISCV::BI__builtin_rvv_vwmacc_vx_i32mf2:
14948case RISCV::BI__builtin_rvv_vwmacc_vx_i32m1:
14949case RISCV::BI__builtin_rvv_vwmacc_vx_i32m2:
14950case RISCV::BI__builtin_rvv_vwmacc_vx_i32m4:
14951case RISCV::BI__builtin_rvv_vwmacc_vx_i32m8:
14952case RISCV::BI__builtin_rvv_vwmacc_vx_i64m1:
14953case RISCV::BI__builtin_rvv_vwmacc_vx_i64m2:
14954case RISCV::BI__builtin_rvv_vwmacc_vx_i64m4:
14955case RISCV::BI__builtin_rvv_vwmacc_vx_i64m8:
14956 ID = Intrinsic::riscv_vwmacc;
14957 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
14958 break;
14959case RISCV::BI__builtin_rvv_vwmacc_vv_i16mf4_m:
14960case RISCV::BI__builtin_rvv_vwmacc_vv_i16mf2_m:
14961case RISCV::BI__builtin_rvv_vwmacc_vv_i16m1_m:
14962case RISCV::BI__builtin_rvv_vwmacc_vv_i16m2_m:
14963case RISCV::BI__builtin_rvv_vwmacc_vv_i16m4_m:
14964case RISCV::BI__builtin_rvv_vwmacc_vv_i16m8_m:
14965case RISCV::BI__builtin_rvv_vwmacc_vv_i32mf2_m:
14966case RISCV::BI__builtin_rvv_vwmacc_vv_i32m1_m:
14967case RISCV::BI__builtin_rvv_vwmacc_vv_i32m2_m:
14968case RISCV::BI__builtin_rvv_vwmacc_vv_i32m4_m:
14969case RISCV::BI__builtin_rvv_vwmacc_vv_i32m8_m:
14970case RISCV::BI__builtin_rvv_vwmacc_vv_i64m1_m:
14971case RISCV::BI__builtin_rvv_vwmacc_vv_i64m2_m:
14972case RISCV::BI__builtin_rvv_vwmacc_vv_i64m4_m:
14973case RISCV::BI__builtin_rvv_vwmacc_vv_i64m8_m:
14974case RISCV::BI__builtin_rvv_vwmacc_vx_i16mf4_m:
14975case RISCV::BI__builtin_rvv_vwmacc_vx_i16mf2_m:
14976case RISCV::BI__builtin_rvv_vwmacc_vx_i16m1_m:
14977case RISCV::BI__builtin_rvv_vwmacc_vx_i16m2_m:
14978case RISCV::BI__builtin_rvv_vwmacc_vx_i16m4_m:
14979case RISCV::BI__builtin_rvv_vwmacc_vx_i16m8_m:
14980case RISCV::BI__builtin_rvv_vwmacc_vx_i32mf2_m:
14981case RISCV::BI__builtin_rvv_vwmacc_vx_i32m1_m:
14982case RISCV::BI__builtin_rvv_vwmacc_vx_i32m2_m:
14983case RISCV::BI__builtin_rvv_vwmacc_vx_i32m4_m:
14984case RISCV::BI__builtin_rvv_vwmacc_vx_i32m8_m:
14985case RISCV::BI__builtin_rvv_vwmacc_vx_i64m1_m:
14986case RISCV::BI__builtin_rvv_vwmacc_vx_i64m2_m:
14987case RISCV::BI__builtin_rvv_vwmacc_vx_i64m4_m:
14988case RISCV::BI__builtin_rvv_vwmacc_vx_i64m8_m:
14989 ID = Intrinsic::riscv_vwmacc_mask;
14990 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
14991 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
14992 break;
14993case RISCV::BI__builtin_rvv_vwmaccsu_vv_i16mf4:
14994case RISCV::BI__builtin_rvv_vwmaccsu_vv_i16mf2:
14995case RISCV::BI__builtin_rvv_vwmaccsu_vv_i16m1:
14996case RISCV::BI__builtin_rvv_vwmaccsu_vv_i16m2:
14997case RISCV::BI__builtin_rvv_vwmaccsu_vv_i16m4:
14998case RISCV::BI__builtin_rvv_vwmaccsu_vv_i16m8:
14999case RISCV::BI__builtin_rvv_vwmaccsu_vv_i32mf2:
15000case RISCV::BI__builtin_rvv_vwmaccsu_vv_i32m1:
15001case RISCV::BI__builtin_rvv_vwmaccsu_vv_i32m2:
15002case RISCV::BI__builtin_rvv_vwmaccsu_vv_i32m4:
15003case RISCV::BI__builtin_rvv_vwmaccsu_vv_i32m8:
15004case RISCV::BI__builtin_rvv_vwmaccsu_vv_i64m1:
15005case RISCV::BI__builtin_rvv_vwmaccsu_vv_i64m2:
15006case RISCV::BI__builtin_rvv_vwmaccsu_vv_i64m4:
15007case RISCV::BI__builtin_rvv_vwmaccsu_vv_i64m8:
15008case RISCV::BI__builtin_rvv_vwmaccsu_vx_i16mf4:
15009case RISCV::BI__builtin_rvv_vwmaccsu_vx_i16mf2:
15010case RISCV::BI__builtin_rvv_vwmaccsu_vx_i16m1:
15011case RISCV::BI__builtin_rvv_vwmaccsu_vx_i16m2:
15012case RISCV::BI__builtin_rvv_vwmaccsu_vx_i16m4:
15013case RISCV::BI__builtin_rvv_vwmaccsu_vx_i16m8:
15014case RISCV::BI__builtin_rvv_vwmaccsu_vx_i32mf2:
15015case RISCV::BI__builtin_rvv_vwmaccsu_vx_i32m1:
15016case RISCV::BI__builtin_rvv_vwmaccsu_vx_i32m2:
15017case RISCV::BI__builtin_rvv_vwmaccsu_vx_i32m4:
15018case RISCV::BI__builtin_rvv_vwmaccsu_vx_i32m8:
15019case RISCV::BI__builtin_rvv_vwmaccsu_vx_i64m1:
15020case RISCV::BI__builtin_rvv_vwmaccsu_vx_i64m2:
15021case RISCV::BI__builtin_rvv_vwmaccsu_vx_i64m4:
15022case RISCV::BI__builtin_rvv_vwmaccsu_vx_i64m8:
15023 ID = Intrinsic::riscv_vwmaccsu;
15024 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
15025 break;
15026case RISCV::BI__builtin_rvv_vwmaccsu_vv_i16mf4_m:
15027case RISCV::BI__builtin_rvv_vwmaccsu_vv_i16mf2_m:
15028case RISCV::BI__builtin_rvv_vwmaccsu_vv_i16m1_m:
15029case RISCV::BI__builtin_rvv_vwmaccsu_vv_i16m2_m:
15030case RISCV::BI__builtin_rvv_vwmaccsu_vv_i16m4_m:
15031case RISCV::BI__builtin_rvv_vwmaccsu_vv_i16m8_m:
15032case RISCV::BI__builtin_rvv_vwmaccsu_vv_i32mf2_m:
15033case RISCV::BI__builtin_rvv_vwmaccsu_vv_i32m1_m:
15034case RISCV::BI__builtin_rvv_vwmaccsu_vv_i32m2_m:
15035case RISCV::BI__builtin_rvv_vwmaccsu_vv_i32m4_m:
15036case RISCV::BI__builtin_rvv_vwmaccsu_vv_i32m8_m:
15037case RISCV::BI__builtin_rvv_vwmaccsu_vv_i64m1_m:
15038case RISCV::BI__builtin_rvv_vwmaccsu_vv_i64m2_m:
15039case RISCV::BI__builtin_rvv_vwmaccsu_vv_i64m4_m:
15040case RISCV::BI__builtin_rvv_vwmaccsu_vv_i64m8_m:
15041case RISCV::BI__builtin_rvv_vwmaccsu_vx_i16mf4_m:
15042case RISCV::BI__builtin_rvv_vwmaccsu_vx_i16mf2_m:
15043case RISCV::BI__builtin_rvv_vwmaccsu_vx_i16m1_m:
15044case RISCV::BI__builtin_rvv_vwmaccsu_vx_i16m2_m:
15045case RISCV::BI__builtin_rvv_vwmaccsu_vx_i16m4_m:
15046case RISCV::BI__builtin_rvv_vwmaccsu_vx_i16m8_m:
15047case RISCV::BI__builtin_rvv_vwmaccsu_vx_i32mf2_m:
15048case RISCV::BI__builtin_rvv_vwmaccsu_vx_i32m1_m:
15049case RISCV::BI__builtin_rvv_vwmaccsu_vx_i32m2_m:
15050case RISCV::BI__builtin_rvv_vwmaccsu_vx_i32m4_m:
15051case RISCV::BI__builtin_rvv_vwmaccsu_vx_i32m8_m:
15052case RISCV::BI__builtin_rvv_vwmaccsu_vx_i64m1_m:
15053case RISCV::BI__builtin_rvv_vwmaccsu_vx_i64m2_m:
15054case RISCV::BI__builtin_rvv_vwmaccsu_vx_i64m4_m:
15055case RISCV::BI__builtin_rvv_vwmaccsu_vx_i64m8_m:
15056 ID = Intrinsic::riscv_vwmaccsu_mask;
15057 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
15058 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
15059 break;
15060case RISCV::BI__builtin_rvv_vwmaccu_vv_u16mf4:
15061case RISCV::BI__builtin_rvv_vwmaccu_vv_u16mf2:
15062case RISCV::BI__builtin_rvv_vwmaccu_vv_u16m1:
15063case RISCV::BI__builtin_rvv_vwmaccu_vv_u16m2:
15064case RISCV::BI__builtin_rvv_vwmaccu_vv_u16m4:
15065case RISCV::BI__builtin_rvv_vwmaccu_vv_u16m8:
15066case RISCV::BI__builtin_rvv_vwmaccu_vv_u32mf2:
15067case RISCV::BI__builtin_rvv_vwmaccu_vv_u32m1:
15068case RISCV::BI__builtin_rvv_vwmaccu_vv_u32m2:
15069case RISCV::BI__builtin_rvv_vwmaccu_vv_u32m4:
15070case RISCV::BI__builtin_rvv_vwmaccu_vv_u32m8:
15071case RISCV::BI__builtin_rvv_vwmaccu_vv_u64m1:
15072case RISCV::BI__builtin_rvv_vwmaccu_vv_u64m2:
15073case RISCV::BI__builtin_rvv_vwmaccu_vv_u64m4:
15074case RISCV::BI__builtin_rvv_vwmaccu_vv_u64m8:
15075case RISCV::BI__builtin_rvv_vwmaccu_vx_u16mf4:
15076case RISCV::BI__builtin_rvv_vwmaccu_vx_u16mf2:
15077case RISCV::BI__builtin_rvv_vwmaccu_vx_u16m1:
15078case RISCV::BI__builtin_rvv_vwmaccu_vx_u16m2:
15079case RISCV::BI__builtin_rvv_vwmaccu_vx_u16m4:
15080case RISCV::BI__builtin_rvv_vwmaccu_vx_u16m8:
15081case RISCV::BI__builtin_rvv_vwmaccu_vx_u32mf2:
15082case RISCV::BI__builtin_rvv_vwmaccu_vx_u32m1:
15083case RISCV::BI__builtin_rvv_vwmaccu_vx_u32m2:
15084case RISCV::BI__builtin_rvv_vwmaccu_vx_u32m4:
15085case RISCV::BI__builtin_rvv_vwmaccu_vx_u32m8:
15086case RISCV::BI__builtin_rvv_vwmaccu_vx_u64m1:
15087case RISCV::BI__builtin_rvv_vwmaccu_vx_u64m2:
15088case RISCV::BI__builtin_rvv_vwmaccu_vx_u64m4:
15089case RISCV::BI__builtin_rvv_vwmaccu_vx_u64m8:
15090 ID = Intrinsic::riscv_vwmaccu;
15091 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
15092 break;
15093case RISCV::BI__builtin_rvv_vwmaccu_vv_u16mf4_m:
15094case RISCV::BI__builtin_rvv_vwmaccu_vv_u16mf2_m:
15095case RISCV::BI__builtin_rvv_vwmaccu_vv_u16m1_m:
15096case RISCV::BI__builtin_rvv_vwmaccu_vv_u16m2_m:
15097case RISCV::BI__builtin_rvv_vwmaccu_vv_u16m4_m:
15098case RISCV::BI__builtin_rvv_vwmaccu_vv_u16m8_m:
15099case RISCV::BI__builtin_rvv_vwmaccu_vv_u32mf2_m:
15100case RISCV::BI__builtin_rvv_vwmaccu_vv_u32m1_m:
15101case RISCV::BI__builtin_rvv_vwmaccu_vv_u32m2_m:
15102case RISCV::BI__builtin_rvv_vwmaccu_vv_u32m4_m:
15103case RISCV::BI__builtin_rvv_vwmaccu_vv_u32m8_m:
15104case RISCV::BI__builtin_rvv_vwmaccu_vv_u64m1_m:
15105case RISCV::BI__builtin_rvv_vwmaccu_vv_u64m2_m:
15106case RISCV::BI__builtin_rvv_vwmaccu_vv_u64m4_m:
15107case RISCV::BI__builtin_rvv_vwmaccu_vv_u64m8_m:
15108case RISCV::BI__builtin_rvv_vwmaccu_vx_u16mf4_m:
15109case RISCV::BI__builtin_rvv_vwmaccu_vx_u16mf2_m:
15110case RISCV::BI__builtin_rvv_vwmaccu_vx_u16m1_m:
15111case RISCV::BI__builtin_rvv_vwmaccu_vx_u16m2_m:
15112case RISCV::BI__builtin_rvv_vwmaccu_vx_u16m4_m:
15113case RISCV::BI__builtin_rvv_vwmaccu_vx_u16m8_m:
15114case RISCV::BI__builtin_rvv_vwmaccu_vx_u32mf2_m:
15115case RISCV::BI__builtin_rvv_vwmaccu_vx_u32m1_m:
15116case RISCV::BI__builtin_rvv_vwmaccu_vx_u32m2_m:
15117case RISCV::BI__builtin_rvv_vwmaccu_vx_u32m4_m:
15118case RISCV::BI__builtin_rvv_vwmaccu_vx_u32m8_m:
15119case RISCV::BI__builtin_rvv_vwmaccu_vx_u64m1_m:
15120case RISCV::BI__builtin_rvv_vwmaccu_vx_u64m2_m:
15121case RISCV::BI__builtin_rvv_vwmaccu_vx_u64m4_m:
15122case RISCV::BI__builtin_rvv_vwmaccu_vx_u64m8_m:
15123 ID = Intrinsic::riscv_vwmaccu_mask;
15124 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
15125 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
15126 break;
15127case RISCV::BI__builtin_rvv_vwmaccus_vx_i16mf4:
15128case RISCV::BI__builtin_rvv_vwmaccus_vx_i16mf2:
15129case RISCV::BI__builtin_rvv_vwmaccus_vx_i16m1:
15130case RISCV::BI__builtin_rvv_vwmaccus_vx_i16m2:
15131case RISCV::BI__builtin_rvv_vwmaccus_vx_i16m4:
15132case RISCV::BI__builtin_rvv_vwmaccus_vx_i16m8:
15133case RISCV::BI__builtin_rvv_vwmaccus_vx_i32mf2:
15134case RISCV::BI__builtin_rvv_vwmaccus_vx_i32m1:
15135case RISCV::BI__builtin_rvv_vwmaccus_vx_i32m2:
15136case RISCV::BI__builtin_rvv_vwmaccus_vx_i32m4:
15137case RISCV::BI__builtin_rvv_vwmaccus_vx_i32m8:
15138case RISCV::BI__builtin_rvv_vwmaccus_vx_i64m1:
15139case RISCV::BI__builtin_rvv_vwmaccus_vx_i64m2:
15140case RISCV::BI__builtin_rvv_vwmaccus_vx_i64m4:
15141case RISCV::BI__builtin_rvv_vwmaccus_vx_i64m8:
15142 ID = Intrinsic::riscv_vwmaccus;
15143 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
15144 break;
15145case RISCV::BI__builtin_rvv_vwmaccus_vx_i16mf4_m:
15146case RISCV::BI__builtin_rvv_vwmaccus_vx_i16mf2_m:
15147case RISCV::BI__builtin_rvv_vwmaccus_vx_i16m1_m:
15148case RISCV::BI__builtin_rvv_vwmaccus_vx_i16m2_m:
15149case RISCV::BI__builtin_rvv_vwmaccus_vx_i16m4_m:
15150case RISCV::BI__builtin_rvv_vwmaccus_vx_i16m8_m:
15151case RISCV::BI__builtin_rvv_vwmaccus_vx_i32mf2_m:
15152case RISCV::BI__builtin_rvv_vwmaccus_vx_i32m1_m:
15153case RISCV::BI__builtin_rvv_vwmaccus_vx_i32m2_m:
15154case RISCV::BI__builtin_rvv_vwmaccus_vx_i32m4_m:
15155case RISCV::BI__builtin_rvv_vwmaccus_vx_i32m8_m:
15156case RISCV::BI__builtin_rvv_vwmaccus_vx_i64m1_m:
15157case RISCV::BI__builtin_rvv_vwmaccus_vx_i64m2_m:
15158case RISCV::BI__builtin_rvv_vwmaccus_vx_i64m4_m:
15159case RISCV::BI__builtin_rvv_vwmaccus_vx_i64m8_m:
15160 ID = Intrinsic::riscv_vwmaccus_mask;
15161 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
15162 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
15163 break;
15164case RISCV::BI__builtin_rvv_vwmul_vv_i16mf4:
15165case RISCV::BI__builtin_rvv_vwmul_vv_i16mf2:
15166case RISCV::BI__builtin_rvv_vwmul_vv_i16m1:
15167case RISCV::BI__builtin_rvv_vwmul_vv_i16m2:
15168case RISCV::BI__builtin_rvv_vwmul_vv_i16m4:
15169case RISCV::BI__builtin_rvv_vwmul_vv_i16m8:
15170case RISCV::BI__builtin_rvv_vwmul_vv_i32mf2:
15171case RISCV::BI__builtin_rvv_vwmul_vv_i32m1:
15172case RISCV::BI__builtin_rvv_vwmul_vv_i32m2:
15173case RISCV::BI__builtin_rvv_vwmul_vv_i32m4:
15174case RISCV::BI__builtin_rvv_vwmul_vv_i32m8:
15175case RISCV::BI__builtin_rvv_vwmul_vv_i64m1:
15176case RISCV::BI__builtin_rvv_vwmul_vv_i64m2:
15177case RISCV::BI__builtin_rvv_vwmul_vv_i64m4:
15178case RISCV::BI__builtin_rvv_vwmul_vv_i64m8:
15179case RISCV::BI__builtin_rvv_vwmul_vx_i16mf4:
15180case RISCV::BI__builtin_rvv_vwmul_vx_i16mf2:
15181case RISCV::BI__builtin_rvv_vwmul_vx_i16m1:
15182case RISCV::BI__builtin_rvv_vwmul_vx_i16m2:
15183case RISCV::BI__builtin_rvv_vwmul_vx_i16m4:
15184case RISCV::BI__builtin_rvv_vwmul_vx_i16m8:
15185case RISCV::BI__builtin_rvv_vwmul_vx_i32mf2:
15186case RISCV::BI__builtin_rvv_vwmul_vx_i32m1:
15187case RISCV::BI__builtin_rvv_vwmul_vx_i32m2:
15188case RISCV::BI__builtin_rvv_vwmul_vx_i32m4:
15189case RISCV::BI__builtin_rvv_vwmul_vx_i32m8:
15190case RISCV::BI__builtin_rvv_vwmul_vx_i64m1:
15191case RISCV::BI__builtin_rvv_vwmul_vx_i64m2:
15192case RISCV::BI__builtin_rvv_vwmul_vx_i64m4:
15193case RISCV::BI__builtin_rvv_vwmul_vx_i64m8:
15194 ID = Intrinsic::riscv_vwmul;
15195 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
15196 break;
15197case RISCV::BI__builtin_rvv_vwmul_vv_i16mf4_m:
15198case RISCV::BI__builtin_rvv_vwmul_vv_i16mf2_m:
15199case RISCV::BI__builtin_rvv_vwmul_vv_i16m1_m:
15200case RISCV::BI__builtin_rvv_vwmul_vv_i16m2_m:
15201case RISCV::BI__builtin_rvv_vwmul_vv_i16m4_m:
15202case RISCV::BI__builtin_rvv_vwmul_vv_i16m8_m:
15203case RISCV::BI__builtin_rvv_vwmul_vv_i32mf2_m:
15204case RISCV::BI__builtin_rvv_vwmul_vv_i32m1_m:
15205case RISCV::BI__builtin_rvv_vwmul_vv_i32m2_m:
15206case RISCV::BI__builtin_rvv_vwmul_vv_i32m4_m:
15207case RISCV::BI__builtin_rvv_vwmul_vv_i32m8_m:
15208case RISCV::BI__builtin_rvv_vwmul_vv_i64m1_m:
15209case RISCV::BI__builtin_rvv_vwmul_vv_i64m2_m:
15210case RISCV::BI__builtin_rvv_vwmul_vv_i64m4_m:
15211case RISCV::BI__builtin_rvv_vwmul_vv_i64m8_m:
15212case RISCV::BI__builtin_rvv_vwmul_vx_i16mf4_m:
15213case RISCV::BI__builtin_rvv_vwmul_vx_i16mf2_m:
15214case RISCV::BI__builtin_rvv_vwmul_vx_i16m1_m:
15215case RISCV::BI__builtin_rvv_vwmul_vx_i16m2_m:
15216case RISCV::BI__builtin_rvv_vwmul_vx_i16m4_m:
15217case RISCV::BI__builtin_rvv_vwmul_vx_i16m8_m:
15218case RISCV::BI__builtin_rvv_vwmul_vx_i32mf2_m:
15219case RISCV::BI__builtin_rvv_vwmul_vx_i32m1_m:
15220case RISCV::BI__builtin_rvv_vwmul_vx_i32m2_m:
15221case RISCV::BI__builtin_rvv_vwmul_vx_i32m4_m:
15222case RISCV::BI__builtin_rvv_vwmul_vx_i32m8_m:
15223case RISCV::BI__builtin_rvv_vwmul_vx_i64m1_m:
15224case RISCV::BI__builtin_rvv_vwmul_vx_i64m2_m:
15225case RISCV::BI__builtin_rvv_vwmul_vx_i64m4_m:
15226case RISCV::BI__builtin_rvv_vwmul_vx_i64m8_m:
15227 ID = Intrinsic::riscv_vwmul_mask;
15228 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
15229 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
15230 break;
15231case RISCV::BI__builtin_rvv_vwmulsu_vv_i16mf4:
15232case RISCV::BI__builtin_rvv_vwmulsu_vv_i16mf2:
15233case RISCV::BI__builtin_rvv_vwmulsu_vv_i16m1:
15234case RISCV::BI__builtin_rvv_vwmulsu_vv_i16m2:
15235case RISCV::BI__builtin_rvv_vwmulsu_vv_i16m4:
15236case RISCV::BI__builtin_rvv_vwmulsu_vv_i16m8:
15237case RISCV::BI__builtin_rvv_vwmulsu_vv_i32mf2:
15238case RISCV::BI__builtin_rvv_vwmulsu_vv_i32m1:
15239case RISCV::BI__builtin_rvv_vwmulsu_vv_i32m2:
15240case RISCV::BI__builtin_rvv_vwmulsu_vv_i32m4:
15241case RISCV::BI__builtin_rvv_vwmulsu_vv_i32m8:
15242case RISCV::BI__builtin_rvv_vwmulsu_vv_i64m1:
15243case RISCV::BI__builtin_rvv_vwmulsu_vv_i64m2:
15244case RISCV::BI__builtin_rvv_vwmulsu_vv_i64m4:
15245case RISCV::BI__builtin_rvv_vwmulsu_vv_i64m8:
15246case RISCV::BI__builtin_rvv_vwmulsu_vx_i16mf4:
15247case RISCV::BI__builtin_rvv_vwmulsu_vx_i16mf2:
15248case RISCV::BI__builtin_rvv_vwmulsu_vx_i16m1:
15249case RISCV::BI__builtin_rvv_vwmulsu_vx_i16m2:
15250case RISCV::BI__builtin_rvv_vwmulsu_vx_i16m4:
15251case RISCV::BI__builtin_rvv_vwmulsu_vx_i16m8:
15252case RISCV::BI__builtin_rvv_vwmulsu_vx_i32mf2:
15253case RISCV::BI__builtin_rvv_vwmulsu_vx_i32m1:
15254case RISCV::BI__builtin_rvv_vwmulsu_vx_i32m2:
15255case RISCV::BI__builtin_rvv_vwmulsu_vx_i32m4:
15256case RISCV::BI__builtin_rvv_vwmulsu_vx_i32m8:
15257case RISCV::BI__builtin_rvv_vwmulsu_vx_i64m1:
15258case RISCV::BI__builtin_rvv_vwmulsu_vx_i64m2:
15259case RISCV::BI__builtin_rvv_vwmulsu_vx_i64m4:
15260case RISCV::BI__builtin_rvv_vwmulsu_vx_i64m8:
15261 ID = Intrinsic::riscv_vwmulsu;
15262 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
15263 break;
15264case RISCV::BI__builtin_rvv_vwmulsu_vv_i16mf4_m:
15265case RISCV::BI__builtin_rvv_vwmulsu_vv_i16mf2_m:
15266case RISCV::BI__builtin_rvv_vwmulsu_vv_i16m1_m:
15267case RISCV::BI__builtin_rvv_vwmulsu_vv_i16m2_m:
15268case RISCV::BI__builtin_rvv_vwmulsu_vv_i16m4_m:
15269case RISCV::BI__builtin_rvv_vwmulsu_vv_i16m8_m:
15270case RISCV::BI__builtin_rvv_vwmulsu_vv_i32mf2_m:
15271case RISCV::BI__builtin_rvv_vwmulsu_vv_i32m1_m:
15272case RISCV::BI__builtin_rvv_vwmulsu_vv_i32m2_m:
15273case RISCV::BI__builtin_rvv_vwmulsu_vv_i32m4_m:
15274case RISCV::BI__builtin_rvv_vwmulsu_vv_i32m8_m:
15275case RISCV::BI__builtin_rvv_vwmulsu_vv_i64m1_m:
15276case RISCV::BI__builtin_rvv_vwmulsu_vv_i64m2_m:
15277case RISCV::BI__builtin_rvv_vwmulsu_vv_i64m4_m:
15278case RISCV::BI__builtin_rvv_vwmulsu_vv_i64m8_m:
15279case RISCV::BI__builtin_rvv_vwmulsu_vx_i16mf4_m:
15280case RISCV::BI__builtin_rvv_vwmulsu_vx_i16mf2_m:
15281case RISCV::BI__builtin_rvv_vwmulsu_vx_i16m1_m:
15282case RISCV::BI__builtin_rvv_vwmulsu_vx_i16m2_m:
15283case RISCV::BI__builtin_rvv_vwmulsu_vx_i16m4_m:
15284case RISCV::BI__builtin_rvv_vwmulsu_vx_i16m8_m:
15285case RISCV::BI__builtin_rvv_vwmulsu_vx_i32mf2_m:
15286case RISCV::BI__builtin_rvv_vwmulsu_vx_i32m1_m:
15287case RISCV::BI__builtin_rvv_vwmulsu_vx_i32m2_m:
15288case RISCV::BI__builtin_rvv_vwmulsu_vx_i32m4_m:
15289case RISCV::BI__builtin_rvv_vwmulsu_vx_i32m8_m:
15290case RISCV::BI__builtin_rvv_vwmulsu_vx_i64m1_m:
15291case RISCV::BI__builtin_rvv_vwmulsu_vx_i64m2_m:
15292case RISCV::BI__builtin_rvv_vwmulsu_vx_i64m4_m:
15293case RISCV::BI__builtin_rvv_vwmulsu_vx_i64m8_m:
15294 ID = Intrinsic::riscv_vwmulsu_mask;
15295 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
15296 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
15297 break;
15298case RISCV::BI__builtin_rvv_vwmulu_vv_u16mf4:
15299case RISCV::BI__builtin_rvv_vwmulu_vv_u16mf2:
15300case RISCV::BI__builtin_rvv_vwmulu_vv_u16m1:
15301case RISCV::BI__builtin_rvv_vwmulu_vv_u16m2:
15302case RISCV::BI__builtin_rvv_vwmulu_vv_u16m4:
15303case RISCV::BI__builtin_rvv_vwmulu_vv_u16m8:
15304case RISCV::BI__builtin_rvv_vwmulu_vv_u32mf2:
15305case RISCV::BI__builtin_rvv_vwmulu_vv_u32m1:
15306case RISCV::BI__builtin_rvv_vwmulu_vv_u32m2:
15307case RISCV::BI__builtin_rvv_vwmulu_vv_u32m4:
15308case RISCV::BI__builtin_rvv_vwmulu_vv_u32m8:
15309case RISCV::BI__builtin_rvv_vwmulu_vv_u64m1:
15310case RISCV::BI__builtin_rvv_vwmulu_vv_u64m2:
15311case RISCV::BI__builtin_rvv_vwmulu_vv_u64m4:
15312case RISCV::BI__builtin_rvv_vwmulu_vv_u64m8:
15313case RISCV::BI__builtin_rvv_vwmulu_vx_u16mf4:
15314case RISCV::BI__builtin_rvv_vwmulu_vx_u16mf2:
15315case RISCV::BI__builtin_rvv_vwmulu_vx_u16m1:
15316case RISCV::BI__builtin_rvv_vwmulu_vx_u16m2:
15317case RISCV::BI__builtin_rvv_vwmulu_vx_u16m4:
15318case RISCV::BI__builtin_rvv_vwmulu_vx_u16m8:
15319case RISCV::BI__builtin_rvv_vwmulu_vx_u32mf2:
15320case RISCV::BI__builtin_rvv_vwmulu_vx_u32m1:
15321case RISCV::BI__builtin_rvv_vwmulu_vx_u32m2:
15322case RISCV::BI__builtin_rvv_vwmulu_vx_u32m4:
15323case RISCV::BI__builtin_rvv_vwmulu_vx_u32m8:
15324case RISCV::BI__builtin_rvv_vwmulu_vx_u64m1:
15325case RISCV::BI__builtin_rvv_vwmulu_vx_u64m2:
15326case RISCV::BI__builtin_rvv_vwmulu_vx_u64m4:
15327case RISCV::BI__builtin_rvv_vwmulu_vx_u64m8:
15328 ID = Intrinsic::riscv_vwmulu;
15329 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
15330 break;
15331case RISCV::BI__builtin_rvv_vwmulu_vv_u16mf4_m:
15332case RISCV::BI__builtin_rvv_vwmulu_vv_u16mf2_m:
15333case RISCV::BI__builtin_rvv_vwmulu_vv_u16m1_m:
15334case RISCV::BI__builtin_rvv_vwmulu_vv_u16m2_m:
15335case RISCV::BI__builtin_rvv_vwmulu_vv_u16m4_m:
15336case RISCV::BI__builtin_rvv_vwmulu_vv_u16m8_m:
15337case RISCV::BI__builtin_rvv_vwmulu_vv_u32mf2_m:
15338case RISCV::BI__builtin_rvv_vwmulu_vv_u32m1_m:
15339case RISCV::BI__builtin_rvv_vwmulu_vv_u32m2_m:
15340case RISCV::BI__builtin_rvv_vwmulu_vv_u32m4_m:
15341case RISCV::BI__builtin_rvv_vwmulu_vv_u32m8_m:
15342case RISCV::BI__builtin_rvv_vwmulu_vv_u64m1_m:
15343case RISCV::BI__builtin_rvv_vwmulu_vv_u64m2_m:
15344case RISCV::BI__builtin_rvv_vwmulu_vv_u64m4_m:
15345case RISCV::BI__builtin_rvv_vwmulu_vv_u64m8_m:
15346case RISCV::BI__builtin_rvv_vwmulu_vx_u16mf4_m:
15347case RISCV::BI__builtin_rvv_vwmulu_vx_u16mf2_m:
15348case RISCV::BI__builtin_rvv_vwmulu_vx_u16m1_m:
15349case RISCV::BI__builtin_rvv_vwmulu_vx_u16m2_m:
15350case RISCV::BI__builtin_rvv_vwmulu_vx_u16m4_m:
15351case RISCV::BI__builtin_rvv_vwmulu_vx_u16m8_m:
15352case RISCV::BI__builtin_rvv_vwmulu_vx_u32mf2_m:
15353case RISCV::BI__builtin_rvv_vwmulu_vx_u32m1_m:
15354case RISCV::BI__builtin_rvv_vwmulu_vx_u32m2_m:
15355case RISCV::BI__builtin_rvv_vwmulu_vx_u32m4_m:
15356case RISCV::BI__builtin_rvv_vwmulu_vx_u32m8_m:
15357case RISCV::BI__builtin_rvv_vwmulu_vx_u64m1_m:
15358case RISCV::BI__builtin_rvv_vwmulu_vx_u64m2_m:
15359case RISCV::BI__builtin_rvv_vwmulu_vx_u64m4_m:
15360case RISCV::BI__builtin_rvv_vwmulu_vx_u64m8_m:
15361 ID = Intrinsic::riscv_vwmulu_mask;
15362 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
15363 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
15364 break;
15365case RISCV::BI__builtin_rvv_vwredsum_vs_i8m1_i16m1:
15366case RISCV::BI__builtin_rvv_vwredsum_vs_i8m2_i16m1:
15367case RISCV::BI__builtin_rvv_vwredsum_vs_i8m4_i16m1:
15368case RISCV::BI__builtin_rvv_vwredsum_vs_i8m8_i16m1:
15369case RISCV::BI__builtin_rvv_vwredsum_vs_i8mf2_i16m1:
15370case RISCV::BI__builtin_rvv_vwredsum_vs_i8mf4_i16m1:
15371case RISCV::BI__builtin_rvv_vwredsum_vs_i8mf8_i16m1:
15372case RISCV::BI__builtin_rvv_vwredsum_vs_i16m1_i32m1:
15373case RISCV::BI__builtin_rvv_vwredsum_vs_i16m2_i32m1:
15374case RISCV::BI__builtin_rvv_vwredsum_vs_i16m4_i32m1:
15375case RISCV::BI__builtin_rvv_vwredsum_vs_i16m8_i32m1:
15376case RISCV::BI__builtin_rvv_vwredsum_vs_i16mf2_i32m1:
15377case RISCV::BI__builtin_rvv_vwredsum_vs_i16mf4_i32m1:
15378case RISCV::BI__builtin_rvv_vwredsum_vs_i32m1_i64m1:
15379case RISCV::BI__builtin_rvv_vwredsum_vs_i32m2_i64m1:
15380case RISCV::BI__builtin_rvv_vwredsum_vs_i32m4_i64m1:
15381case RISCV::BI__builtin_rvv_vwredsum_vs_i32m8_i64m1:
15382case RISCV::BI__builtin_rvv_vwredsum_vs_i32mf2_i64m1:
15383 ID = Intrinsic::riscv_vwredsum;
15384 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
15385 break;
15386case RISCV::BI__builtin_rvv_vwredsum_vs_i8m1_i16m1_m:
15387case RISCV::BI__builtin_rvv_vwredsum_vs_i8m2_i16m1_m:
15388case RISCV::BI__builtin_rvv_vwredsum_vs_i8m4_i16m1_m:
15389case RISCV::BI__builtin_rvv_vwredsum_vs_i8m8_i16m1_m:
15390case RISCV::BI__builtin_rvv_vwredsum_vs_i8mf2_i16m1_m:
15391case RISCV::BI__builtin_rvv_vwredsum_vs_i8mf4_i16m1_m:
15392case RISCV::BI__builtin_rvv_vwredsum_vs_i8mf8_i16m1_m:
15393case RISCV::BI__builtin_rvv_vwredsum_vs_i16m1_i32m1_m:
15394case RISCV::BI__builtin_rvv_vwredsum_vs_i16m2_i32m1_m:
15395case RISCV::BI__builtin_rvv_vwredsum_vs_i16m4_i32m1_m:
15396case RISCV::BI__builtin_rvv_vwredsum_vs_i16m8_i32m1_m:
15397case RISCV::BI__builtin_rvv_vwredsum_vs_i16mf2_i32m1_m:
15398case RISCV::BI__builtin_rvv_vwredsum_vs_i16mf4_i32m1_m:
15399case RISCV::BI__builtin_rvv_vwredsum_vs_i32m1_i64m1_m:
15400case RISCV::BI__builtin_rvv_vwredsum_vs_i32m2_i64m1_m:
15401case RISCV::BI__builtin_rvv_vwredsum_vs_i32m4_i64m1_m:
15402case RISCV::BI__builtin_rvv_vwredsum_vs_i32m8_i64m1_m:
15403case RISCV::BI__builtin_rvv_vwredsum_vs_i32mf2_i64m1_m:
15404 ID = Intrinsic::riscv_vwredsum_mask;
15405 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
15406 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
15407 break;
15408case RISCV::BI__builtin_rvv_vwredsumu_vs_u8m1_u16m1:
15409case RISCV::BI__builtin_rvv_vwredsumu_vs_u8m2_u16m1:
15410case RISCV::BI__builtin_rvv_vwredsumu_vs_u8m4_u16m1:
15411case RISCV::BI__builtin_rvv_vwredsumu_vs_u8m8_u16m1:
15412case RISCV::BI__builtin_rvv_vwredsumu_vs_u8mf2_u16m1:
15413case RISCV::BI__builtin_rvv_vwredsumu_vs_u8mf4_u16m1:
15414case RISCV::BI__builtin_rvv_vwredsumu_vs_u8mf8_u16m1:
15415case RISCV::BI__builtin_rvv_vwredsumu_vs_u16m1_u32m1:
15416case RISCV::BI__builtin_rvv_vwredsumu_vs_u16m2_u32m1:
15417case RISCV::BI__builtin_rvv_vwredsumu_vs_u16m4_u32m1:
15418case RISCV::BI__builtin_rvv_vwredsumu_vs_u16m8_u32m1:
15419case RISCV::BI__builtin_rvv_vwredsumu_vs_u16mf2_u32m1:
15420case RISCV::BI__builtin_rvv_vwredsumu_vs_u16mf4_u32m1:
15421case RISCV::BI__builtin_rvv_vwredsumu_vs_u32m1_u64m1:
15422case RISCV::BI__builtin_rvv_vwredsumu_vs_u32m2_u64m1:
15423case RISCV::BI__builtin_rvv_vwredsumu_vs_u32m4_u64m1:
15424case RISCV::BI__builtin_rvv_vwredsumu_vs_u32m8_u64m1:
15425case RISCV::BI__builtin_rvv_vwredsumu_vs_u32mf2_u64m1:
15426 ID = Intrinsic::riscv_vwredsumu;
15427 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
15428 break;
15429case RISCV::BI__builtin_rvv_vwredsumu_vs_u8m1_u16m1_m:
15430case RISCV::BI__builtin_rvv_vwredsumu_vs_u8m2_u16m1_m:
15431case RISCV::BI__builtin_rvv_vwredsumu_vs_u8m4_u16m1_m:
15432case RISCV::BI__builtin_rvv_vwredsumu_vs_u8m8_u16m1_m:
15433case RISCV::BI__builtin_rvv_vwredsumu_vs_u8mf2_u16m1_m:
15434case RISCV::BI__builtin_rvv_vwredsumu_vs_u8mf4_u16m1_m:
15435case RISCV::BI__builtin_rvv_vwredsumu_vs_u8mf8_u16m1_m:
15436case RISCV::BI__builtin_rvv_vwredsumu_vs_u16m1_u32m1_m:
15437case RISCV::BI__builtin_rvv_vwredsumu_vs_u16m2_u32m1_m:
15438case RISCV::BI__builtin_rvv_vwredsumu_vs_u16m4_u32m1_m:
15439case RISCV::BI__builtin_rvv_vwredsumu_vs_u16m8_u32m1_m:
15440case RISCV::BI__builtin_rvv_vwredsumu_vs_u16mf2_u32m1_m:
15441case RISCV::BI__builtin_rvv_vwredsumu_vs_u16mf4_u32m1_m:
15442case RISCV::BI__builtin_rvv_vwredsumu_vs_u32m1_u64m1_m:
15443case RISCV::BI__builtin_rvv_vwredsumu_vs_u32m2_u64m1_m:
15444case RISCV::BI__builtin_rvv_vwredsumu_vs_u32m4_u64m1_m:
15445case RISCV::BI__builtin_rvv_vwredsumu_vs_u32m8_u64m1_m:
15446case RISCV::BI__builtin_rvv_vwredsumu_vs_u32mf2_u64m1_m:
15447 ID = Intrinsic::riscv_vwredsumu_mask;
15448 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
15449 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
15450 break;
15451case RISCV::BI__builtin_rvv_vwsub_vv_i16mf4:
15452case RISCV::BI__builtin_rvv_vwsub_vv_i16mf2:
15453case RISCV::BI__builtin_rvv_vwsub_vv_i16m1:
15454case RISCV::BI__builtin_rvv_vwsub_vv_i16m2:
15455case RISCV::BI__builtin_rvv_vwsub_vv_i16m4:
15456case RISCV::BI__builtin_rvv_vwsub_vv_i16m8:
15457case RISCV::BI__builtin_rvv_vwsub_vv_i32mf2:
15458case RISCV::BI__builtin_rvv_vwsub_vv_i32m1:
15459case RISCV::BI__builtin_rvv_vwsub_vv_i32m2:
15460case RISCV::BI__builtin_rvv_vwsub_vv_i32m4:
15461case RISCV::BI__builtin_rvv_vwsub_vv_i32m8:
15462case RISCV::BI__builtin_rvv_vwsub_vv_i64m1:
15463case RISCV::BI__builtin_rvv_vwsub_vv_i64m2:
15464case RISCV::BI__builtin_rvv_vwsub_vv_i64m4:
15465case RISCV::BI__builtin_rvv_vwsub_vv_i64m8:
15466case RISCV::BI__builtin_rvv_vwsub_vx_i16mf4:
15467case RISCV::BI__builtin_rvv_vwsub_vx_i16mf2:
15468case RISCV::BI__builtin_rvv_vwsub_vx_i16m1:
15469case RISCV::BI__builtin_rvv_vwsub_vx_i16m2:
15470case RISCV::BI__builtin_rvv_vwsub_vx_i16m4:
15471case RISCV::BI__builtin_rvv_vwsub_vx_i16m8:
15472case RISCV::BI__builtin_rvv_vwsub_vx_i32mf2:
15473case RISCV::BI__builtin_rvv_vwsub_vx_i32m1:
15474case RISCV::BI__builtin_rvv_vwsub_vx_i32m2:
15475case RISCV::BI__builtin_rvv_vwsub_vx_i32m4:
15476case RISCV::BI__builtin_rvv_vwsub_vx_i32m8:
15477case RISCV::BI__builtin_rvv_vwsub_vx_i64m1:
15478case RISCV::BI__builtin_rvv_vwsub_vx_i64m2:
15479case RISCV::BI__builtin_rvv_vwsub_vx_i64m4:
15480case RISCV::BI__builtin_rvv_vwsub_vx_i64m8:
15481 ID = Intrinsic::riscv_vwsub;
15482 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
15483 break;
15484case RISCV::BI__builtin_rvv_vwsub_vv_i16mf4_m:
15485case RISCV::BI__builtin_rvv_vwsub_vv_i16mf2_m:
15486case RISCV::BI__builtin_rvv_vwsub_vv_i16m1_m:
15487case RISCV::BI__builtin_rvv_vwsub_vv_i16m2_m:
15488case RISCV::BI__builtin_rvv_vwsub_vv_i16m4_m:
15489case RISCV::BI__builtin_rvv_vwsub_vv_i16m8_m:
15490case RISCV::BI__builtin_rvv_vwsub_vv_i32mf2_m:
15491case RISCV::BI__builtin_rvv_vwsub_vv_i32m1_m:
15492case RISCV::BI__builtin_rvv_vwsub_vv_i32m2_m:
15493case RISCV::BI__builtin_rvv_vwsub_vv_i32m4_m:
15494case RISCV::BI__builtin_rvv_vwsub_vv_i32m8_m:
15495case RISCV::BI__builtin_rvv_vwsub_vv_i64m1_m:
15496case RISCV::BI__builtin_rvv_vwsub_vv_i64m2_m:
15497case RISCV::BI__builtin_rvv_vwsub_vv_i64m4_m:
15498case RISCV::BI__builtin_rvv_vwsub_vv_i64m8_m:
15499case RISCV::BI__builtin_rvv_vwsub_vx_i16mf4_m:
15500case RISCV::BI__builtin_rvv_vwsub_vx_i16mf2_m:
15501case RISCV::BI__builtin_rvv_vwsub_vx_i16m1_m:
15502case RISCV::BI__builtin_rvv_vwsub_vx_i16m2_m:
15503case RISCV::BI__builtin_rvv_vwsub_vx_i16m4_m:
15504case RISCV::BI__builtin_rvv_vwsub_vx_i16m8_m:
15505case RISCV::BI__builtin_rvv_vwsub_vx_i32mf2_m:
15506case RISCV::BI__builtin_rvv_vwsub_vx_i32m1_m:
15507case RISCV::BI__builtin_rvv_vwsub_vx_i32m2_m:
15508case RISCV::BI__builtin_rvv_vwsub_vx_i32m4_m:
15509case RISCV::BI__builtin_rvv_vwsub_vx_i32m8_m:
15510case RISCV::BI__builtin_rvv_vwsub_vx_i64m1_m:
15511case RISCV::BI__builtin_rvv_vwsub_vx_i64m2_m:
15512case RISCV::BI__builtin_rvv_vwsub_vx_i64m4_m:
15513case RISCV::BI__builtin_rvv_vwsub_vx_i64m8_m:
15514 ID = Intrinsic::riscv_vwsub_mask;
15515 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
15516 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
15517 break;
15518case RISCV::BI__builtin_rvv_vwsub_wv_i16mf4:
15519case RISCV::BI__builtin_rvv_vwsub_wv_i16mf2:
15520case RISCV::BI__builtin_rvv_vwsub_wv_i16m1:
15521case RISCV::BI__builtin_rvv_vwsub_wv_i16m2:
15522case RISCV::BI__builtin_rvv_vwsub_wv_i16m4:
15523case RISCV::BI__builtin_rvv_vwsub_wv_i16m8:
15524case RISCV::BI__builtin_rvv_vwsub_wv_i32mf2:
15525case RISCV::BI__builtin_rvv_vwsub_wv_i32m1:
15526case RISCV::BI__builtin_rvv_vwsub_wv_i32m2:
15527case RISCV::BI__builtin_rvv_vwsub_wv_i32m4:
15528case RISCV::BI__builtin_rvv_vwsub_wv_i32m8:
15529case RISCV::BI__builtin_rvv_vwsub_wv_i64m1:
15530case RISCV::BI__builtin_rvv_vwsub_wv_i64m2:
15531case RISCV::BI__builtin_rvv_vwsub_wv_i64m4:
15532case RISCV::BI__builtin_rvv_vwsub_wv_i64m8:
15533case RISCV::BI__builtin_rvv_vwsub_wx_i16mf4:
15534case RISCV::BI__builtin_rvv_vwsub_wx_i16mf2:
15535case RISCV::BI__builtin_rvv_vwsub_wx_i16m1:
15536case RISCV::BI__builtin_rvv_vwsub_wx_i16m2:
15537case RISCV::BI__builtin_rvv_vwsub_wx_i16m4:
15538case RISCV::BI__builtin_rvv_vwsub_wx_i16m8:
15539case RISCV::BI__builtin_rvv_vwsub_wx_i32mf2:
15540case RISCV::BI__builtin_rvv_vwsub_wx_i32m1:
15541case RISCV::BI__builtin_rvv_vwsub_wx_i32m2:
15542case RISCV::BI__builtin_rvv_vwsub_wx_i32m4:
15543case RISCV::BI__builtin_rvv_vwsub_wx_i32m8:
15544case RISCV::BI__builtin_rvv_vwsub_wx_i64m1:
15545case RISCV::BI__builtin_rvv_vwsub_wx_i64m2:
15546case RISCV::BI__builtin_rvv_vwsub_wx_i64m4:
15547case RISCV::BI__builtin_rvv_vwsub_wx_i64m8:
15548 ID = Intrinsic::riscv_vwsub_w;
15549 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
15550 break;
15551case RISCV::BI__builtin_rvv_vwsub_wv_i16mf4_m:
15552case RISCV::BI__builtin_rvv_vwsub_wv_i16mf2_m:
15553case RISCV::BI__builtin_rvv_vwsub_wv_i16m1_m:
15554case RISCV::BI__builtin_rvv_vwsub_wv_i16m2_m:
15555case RISCV::BI__builtin_rvv_vwsub_wv_i16m4_m:
15556case RISCV::BI__builtin_rvv_vwsub_wv_i16m8_m:
15557case RISCV::BI__builtin_rvv_vwsub_wv_i32mf2_m:
15558case RISCV::BI__builtin_rvv_vwsub_wv_i32m1_m:
15559case RISCV::BI__builtin_rvv_vwsub_wv_i32m2_m:
15560case RISCV::BI__builtin_rvv_vwsub_wv_i32m4_m:
15561case RISCV::BI__builtin_rvv_vwsub_wv_i32m8_m:
15562case RISCV::BI__builtin_rvv_vwsub_wv_i64m1_m:
15563case RISCV::BI__builtin_rvv_vwsub_wv_i64m2_m:
15564case RISCV::BI__builtin_rvv_vwsub_wv_i64m4_m:
15565case RISCV::BI__builtin_rvv_vwsub_wv_i64m8_m:
15566case RISCV::BI__builtin_rvv_vwsub_wx_i16mf4_m:
15567case RISCV::BI__builtin_rvv_vwsub_wx_i16mf2_m:
15568case RISCV::BI__builtin_rvv_vwsub_wx_i16m1_m:
15569case RISCV::BI__builtin_rvv_vwsub_wx_i16m2_m:
15570case RISCV::BI__builtin_rvv_vwsub_wx_i16m4_m:
15571case RISCV::BI__builtin_rvv_vwsub_wx_i16m8_m:
15572case RISCV::BI__builtin_rvv_vwsub_wx_i32mf2_m:
15573case RISCV::BI__builtin_rvv_vwsub_wx_i32m1_m:
15574case RISCV::BI__builtin_rvv_vwsub_wx_i32m2_m:
15575case RISCV::BI__builtin_rvv_vwsub_wx_i32m4_m:
15576case RISCV::BI__builtin_rvv_vwsub_wx_i32m8_m:
15577case RISCV::BI__builtin_rvv_vwsub_wx_i64m1_m:
15578case RISCV::BI__builtin_rvv_vwsub_wx_i64m2_m:
15579case RISCV::BI__builtin_rvv_vwsub_wx_i64m4_m:
15580case RISCV::BI__builtin_rvv_vwsub_wx_i64m8_m:
15581 ID = Intrinsic::riscv_vwsub_w_mask;
15582 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
15583 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
15584 break;
15585case RISCV::BI__builtin_rvv_vwsubu_vv_u16mf4:
15586case RISCV::BI__builtin_rvv_vwsubu_vv_u16mf2:
15587case RISCV::BI__builtin_rvv_vwsubu_vv_u16m1:
15588case RISCV::BI__builtin_rvv_vwsubu_vv_u16m2:
15589case RISCV::BI__builtin_rvv_vwsubu_vv_u16m4:
15590case RISCV::BI__builtin_rvv_vwsubu_vv_u16m8:
15591case RISCV::BI__builtin_rvv_vwsubu_vv_u32mf2:
15592case RISCV::BI__builtin_rvv_vwsubu_vv_u32m1:
15593case RISCV::BI__builtin_rvv_vwsubu_vv_u32m2:
15594case RISCV::BI__builtin_rvv_vwsubu_vv_u32m4:
15595case RISCV::BI__builtin_rvv_vwsubu_vv_u32m8:
15596case RISCV::BI__builtin_rvv_vwsubu_vv_u64m1:
15597case RISCV::BI__builtin_rvv_vwsubu_vv_u64m2:
15598case RISCV::BI__builtin_rvv_vwsubu_vv_u64m4:
15599case RISCV::BI__builtin_rvv_vwsubu_vv_u64m8:
15600case RISCV::BI__builtin_rvv_vwsubu_vx_u16mf4:
15601case RISCV::BI__builtin_rvv_vwsubu_vx_u16mf2:
15602case RISCV::BI__builtin_rvv_vwsubu_vx_u16m1:
15603case RISCV::BI__builtin_rvv_vwsubu_vx_u16m2:
15604case RISCV::BI__builtin_rvv_vwsubu_vx_u16m4:
15605case RISCV::BI__builtin_rvv_vwsubu_vx_u16m8:
15606case RISCV::BI__builtin_rvv_vwsubu_vx_u32mf2:
15607case RISCV::BI__builtin_rvv_vwsubu_vx_u32m1:
15608case RISCV::BI__builtin_rvv_vwsubu_vx_u32m2:
15609case RISCV::BI__builtin_rvv_vwsubu_vx_u32m4:
15610case RISCV::BI__builtin_rvv_vwsubu_vx_u32m8:
15611case RISCV::BI__builtin_rvv_vwsubu_vx_u64m1:
15612case RISCV::BI__builtin_rvv_vwsubu_vx_u64m2:
15613case RISCV::BI__builtin_rvv_vwsubu_vx_u64m4:
15614case RISCV::BI__builtin_rvv_vwsubu_vx_u64m8:
15615 ID = Intrinsic::riscv_vwsubu;
15616 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops[1]->getType(), Ops.back()->getType()};
15617 break;
15618case RISCV::BI__builtin_rvv_vwsubu_vv_u16mf4_m:
15619case RISCV::BI__builtin_rvv_vwsubu_vv_u16mf2_m:
15620case RISCV::BI__builtin_rvv_vwsubu_vv_u16m1_m:
15621case RISCV::BI__builtin_rvv_vwsubu_vv_u16m2_m:
15622case RISCV::BI__builtin_rvv_vwsubu_vv_u16m4_m:
15623case RISCV::BI__builtin_rvv_vwsubu_vv_u16m8_m:
15624case RISCV::BI__builtin_rvv_vwsubu_vv_u32mf2_m:
15625case RISCV::BI__builtin_rvv_vwsubu_vv_u32m1_m:
15626case RISCV::BI__builtin_rvv_vwsubu_vv_u32m2_m:
15627case RISCV::BI__builtin_rvv_vwsubu_vv_u32m4_m:
15628case RISCV::BI__builtin_rvv_vwsubu_vv_u32m8_m:
15629case RISCV::BI__builtin_rvv_vwsubu_vv_u64m1_m:
15630case RISCV::BI__builtin_rvv_vwsubu_vv_u64m2_m:
15631case RISCV::BI__builtin_rvv_vwsubu_vv_u64m4_m:
15632case RISCV::BI__builtin_rvv_vwsubu_vv_u64m8_m:
15633case RISCV::BI__builtin_rvv_vwsubu_vx_u16mf4_m:
15634case RISCV::BI__builtin_rvv_vwsubu_vx_u16mf2_m:
15635case RISCV::BI__builtin_rvv_vwsubu_vx_u16m1_m:
15636case RISCV::BI__builtin_rvv_vwsubu_vx_u16m2_m:
15637case RISCV::BI__builtin_rvv_vwsubu_vx_u16m4_m:
15638case RISCV::BI__builtin_rvv_vwsubu_vx_u16m8_m:
15639case RISCV::BI__builtin_rvv_vwsubu_vx_u32mf2_m:
15640case RISCV::BI__builtin_rvv_vwsubu_vx_u32m1_m:
15641case RISCV::BI__builtin_rvv_vwsubu_vx_u32m2_m:
15642case RISCV::BI__builtin_rvv_vwsubu_vx_u32m4_m:
15643case RISCV::BI__builtin_rvv_vwsubu_vx_u32m8_m:
15644case RISCV::BI__builtin_rvv_vwsubu_vx_u64m1_m:
15645case RISCV::BI__builtin_rvv_vwsubu_vx_u64m2_m:
15646case RISCV::BI__builtin_rvv_vwsubu_vx_u64m4_m:
15647case RISCV::BI__builtin_rvv_vwsubu_vx_u64m8_m:
15648 ID = Intrinsic::riscv_vwsubu_mask;
15649 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
15650 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops[2]->getType(), Ops.back()->getType()};
15651 break;
15652case RISCV::BI__builtin_rvv_vwsubu_wv_u16mf4:
15653case RISCV::BI__builtin_rvv_vwsubu_wv_u16mf2:
15654case RISCV::BI__builtin_rvv_vwsubu_wv_u16m1:
15655case RISCV::BI__builtin_rvv_vwsubu_wv_u16m2:
15656case RISCV::BI__builtin_rvv_vwsubu_wv_u16m4:
15657case RISCV::BI__builtin_rvv_vwsubu_wv_u16m8:
15658case RISCV::BI__builtin_rvv_vwsubu_wv_u32mf2:
15659case RISCV::BI__builtin_rvv_vwsubu_wv_u32m1:
15660case RISCV::BI__builtin_rvv_vwsubu_wv_u32m2:
15661case RISCV::BI__builtin_rvv_vwsubu_wv_u32m4:
15662case RISCV::BI__builtin_rvv_vwsubu_wv_u32m8:
15663case RISCV::BI__builtin_rvv_vwsubu_wv_u64m1:
15664case RISCV::BI__builtin_rvv_vwsubu_wv_u64m2:
15665case RISCV::BI__builtin_rvv_vwsubu_wv_u64m4:
15666case RISCV::BI__builtin_rvv_vwsubu_wv_u64m8:
15667case RISCV::BI__builtin_rvv_vwsubu_wx_u16mf4:
15668case RISCV::BI__builtin_rvv_vwsubu_wx_u16mf2:
15669case RISCV::BI__builtin_rvv_vwsubu_wx_u16m1:
15670case RISCV::BI__builtin_rvv_vwsubu_wx_u16m2:
15671case RISCV::BI__builtin_rvv_vwsubu_wx_u16m4:
15672case RISCV::BI__builtin_rvv_vwsubu_wx_u16m8:
15673case RISCV::BI__builtin_rvv_vwsubu_wx_u32mf2:
15674case RISCV::BI__builtin_rvv_vwsubu_wx_u32m1:
15675case RISCV::BI__builtin_rvv_vwsubu_wx_u32m2:
15676case RISCV::BI__builtin_rvv_vwsubu_wx_u32m4:
15677case RISCV::BI__builtin_rvv_vwsubu_wx_u32m8:
15678case RISCV::BI__builtin_rvv_vwsubu_wx_u64m1:
15679case RISCV::BI__builtin_rvv_vwsubu_wx_u64m2:
15680case RISCV::BI__builtin_rvv_vwsubu_wx_u64m4:
15681case RISCV::BI__builtin_rvv_vwsubu_wx_u64m8:
15682 ID = Intrinsic::riscv_vwsubu_w;
15683 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
15684 break;
15685case RISCV::BI__builtin_rvv_vwsubu_wv_u16mf4_m:
15686case RISCV::BI__builtin_rvv_vwsubu_wv_u16mf2_m:
15687case RISCV::BI__builtin_rvv_vwsubu_wv_u16m1_m:
15688case RISCV::BI__builtin_rvv_vwsubu_wv_u16m2_m:
15689case RISCV::BI__builtin_rvv_vwsubu_wv_u16m4_m:
15690case RISCV::BI__builtin_rvv_vwsubu_wv_u16m8_m:
15691case RISCV::BI__builtin_rvv_vwsubu_wv_u32mf2_m:
15692case RISCV::BI__builtin_rvv_vwsubu_wv_u32m1_m:
15693case RISCV::BI__builtin_rvv_vwsubu_wv_u32m2_m:
15694case RISCV::BI__builtin_rvv_vwsubu_wv_u32m4_m:
15695case RISCV::BI__builtin_rvv_vwsubu_wv_u32m8_m:
15696case RISCV::BI__builtin_rvv_vwsubu_wv_u64m1_m:
15697case RISCV::BI__builtin_rvv_vwsubu_wv_u64m2_m:
15698case RISCV::BI__builtin_rvv_vwsubu_wv_u64m4_m:
15699case RISCV::BI__builtin_rvv_vwsubu_wv_u64m8_m:
15700case RISCV::BI__builtin_rvv_vwsubu_wx_u16mf4_m:
15701case RISCV::BI__builtin_rvv_vwsubu_wx_u16mf2_m:
15702case RISCV::BI__builtin_rvv_vwsubu_wx_u16m1_m:
15703case RISCV::BI__builtin_rvv_vwsubu_wx_u16m2_m:
15704case RISCV::BI__builtin_rvv_vwsubu_wx_u16m4_m:
15705case RISCV::BI__builtin_rvv_vwsubu_wx_u16m8_m:
15706case RISCV::BI__builtin_rvv_vwsubu_wx_u32mf2_m:
15707case RISCV::BI__builtin_rvv_vwsubu_wx_u32m1_m:
15708case RISCV::BI__builtin_rvv_vwsubu_wx_u32m2_m:
15709case RISCV::BI__builtin_rvv_vwsubu_wx_u32m4_m:
15710case RISCV::BI__builtin_rvv_vwsubu_wx_u32m8_m:
15711case RISCV::BI__builtin_rvv_vwsubu_wx_u64m1_m:
15712case RISCV::BI__builtin_rvv_vwsubu_wx_u64m2_m:
15713case RISCV::BI__builtin_rvv_vwsubu_wx_u64m4_m:
15714case RISCV::BI__builtin_rvv_vwsubu_wx_u64m8_m:
15715 ID = Intrinsic::riscv_vwsubu_w_mask;
15716 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
15717 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
15718 break;
15719case RISCV::BI__builtin_rvv_vnot_v_i8m1:
15720case RISCV::BI__builtin_rvv_vnot_v_i8m2:
15721case RISCV::BI__builtin_rvv_vnot_v_i8m4:
15722case RISCV::BI__builtin_rvv_vnot_v_i8m8:
15723case RISCV::BI__builtin_rvv_vnot_v_i8mf2:
15724case RISCV::BI__builtin_rvv_vnot_v_i8mf4:
15725case RISCV::BI__builtin_rvv_vnot_v_i8mf8:
15726case RISCV::BI__builtin_rvv_vnot_v_i16m1:
15727case RISCV::BI__builtin_rvv_vnot_v_i16m2:
15728case RISCV::BI__builtin_rvv_vnot_v_i16m4:
15729case RISCV::BI__builtin_rvv_vnot_v_i16m8:
15730case RISCV::BI__builtin_rvv_vnot_v_i16mf2:
15731case RISCV::BI__builtin_rvv_vnot_v_i16mf4:
15732case RISCV::BI__builtin_rvv_vnot_v_i32m1:
15733case RISCV::BI__builtin_rvv_vnot_v_i32m2:
15734case RISCV::BI__builtin_rvv_vnot_v_i32m4:
15735case RISCV::BI__builtin_rvv_vnot_v_i32m8:
15736case RISCV::BI__builtin_rvv_vnot_v_i32mf2:
15737case RISCV::BI__builtin_rvv_vnot_v_i64m1:
15738case RISCV::BI__builtin_rvv_vnot_v_i64m2:
15739case RISCV::BI__builtin_rvv_vnot_v_i64m4:
15740case RISCV::BI__builtin_rvv_vnot_v_i64m8:
15741case RISCV::BI__builtin_rvv_vnot_v_u8m1:
15742case RISCV::BI__builtin_rvv_vnot_v_u8m2:
15743case RISCV::BI__builtin_rvv_vnot_v_u8m4:
15744case RISCV::BI__builtin_rvv_vnot_v_u8m8:
15745case RISCV::BI__builtin_rvv_vnot_v_u8mf2:
15746case RISCV::BI__builtin_rvv_vnot_v_u8mf4:
15747case RISCV::BI__builtin_rvv_vnot_v_u8mf8:
15748case RISCV::BI__builtin_rvv_vnot_v_u16m1:
15749case RISCV::BI__builtin_rvv_vnot_v_u16m2:
15750case RISCV::BI__builtin_rvv_vnot_v_u16m4:
15751case RISCV::BI__builtin_rvv_vnot_v_u16m8:
15752case RISCV::BI__builtin_rvv_vnot_v_u16mf2:
15753case RISCV::BI__builtin_rvv_vnot_v_u16mf4:
15754case RISCV::BI__builtin_rvv_vnot_v_u32m1:
15755case RISCV::BI__builtin_rvv_vnot_v_u32m2:
15756case RISCV::BI__builtin_rvv_vnot_v_u32m4:
15757case RISCV::BI__builtin_rvv_vnot_v_u32m8:
15758case RISCV::BI__builtin_rvv_vnot_v_u32mf2:
15759case RISCV::BI__builtin_rvv_vnot_v_u64m1:
15760case RISCV::BI__builtin_rvv_vnot_v_u64m2:
15761case RISCV::BI__builtin_rvv_vnot_v_u64m4:
15762case RISCV::BI__builtin_rvv_vnot_v_u64m8:
15763 ID = Intrinsic::riscv_vxor;
15764
15765 {
15766 // op1, vl
15767 IntrinsicTypes = {ResultType,
15768 cast<llvm::VectorType>(ResultType)->getElementType(),
15769 Ops[1]->getType()};
15770 Ops.insert(Ops.begin() + 1,
15771 llvm::Constant::getAllOnesValue(IntrinsicTypes[1]));
15772 break;
15773 }
15774 break;
15775case RISCV::BI__builtin_rvv_vxor_vv_i8m1:
15776case RISCV::BI__builtin_rvv_vxor_vv_i8m2:
15777case RISCV::BI__builtin_rvv_vxor_vv_i8m4:
15778case RISCV::BI__builtin_rvv_vxor_vv_i8m8:
15779case RISCV::BI__builtin_rvv_vxor_vv_i8mf2:
15780case RISCV::BI__builtin_rvv_vxor_vv_i8mf4:
15781case RISCV::BI__builtin_rvv_vxor_vv_i8mf8:
15782case RISCV::BI__builtin_rvv_vxor_vv_i16m1:
15783case RISCV::BI__builtin_rvv_vxor_vv_i16m2:
15784case RISCV::BI__builtin_rvv_vxor_vv_i16m4:
15785case RISCV::BI__builtin_rvv_vxor_vv_i16m8:
15786case RISCV::BI__builtin_rvv_vxor_vv_i16mf2:
15787case RISCV::BI__builtin_rvv_vxor_vv_i16mf4:
15788case RISCV::BI__builtin_rvv_vxor_vv_i32m1:
15789case RISCV::BI__builtin_rvv_vxor_vv_i32m2:
15790case RISCV::BI__builtin_rvv_vxor_vv_i32m4:
15791case RISCV::BI__builtin_rvv_vxor_vv_i32m8:
15792case RISCV::BI__builtin_rvv_vxor_vv_i32mf2:
15793case RISCV::BI__builtin_rvv_vxor_vv_i64m1:
15794case RISCV::BI__builtin_rvv_vxor_vv_i64m2:
15795case RISCV::BI__builtin_rvv_vxor_vv_i64m4:
15796case RISCV::BI__builtin_rvv_vxor_vv_i64m8:
15797case RISCV::BI__builtin_rvv_vxor_vx_i8m1:
15798case RISCV::BI__builtin_rvv_vxor_vx_i8m2:
15799case RISCV::BI__builtin_rvv_vxor_vx_i8m4:
15800case RISCV::BI__builtin_rvv_vxor_vx_i8m8:
15801case RISCV::BI__builtin_rvv_vxor_vx_i8mf2:
15802case RISCV::BI__builtin_rvv_vxor_vx_i8mf4:
15803case RISCV::BI__builtin_rvv_vxor_vx_i8mf8:
15804case RISCV::BI__builtin_rvv_vxor_vx_i16m1:
15805case RISCV::BI__builtin_rvv_vxor_vx_i16m2:
15806case RISCV::BI__builtin_rvv_vxor_vx_i16m4:
15807case RISCV::BI__builtin_rvv_vxor_vx_i16m8:
15808case RISCV::BI__builtin_rvv_vxor_vx_i16mf2:
15809case RISCV::BI__builtin_rvv_vxor_vx_i16mf4:
15810case RISCV::BI__builtin_rvv_vxor_vx_i32m1:
15811case RISCV::BI__builtin_rvv_vxor_vx_i32m2:
15812case RISCV::BI__builtin_rvv_vxor_vx_i32m4:
15813case RISCV::BI__builtin_rvv_vxor_vx_i32m8:
15814case RISCV::BI__builtin_rvv_vxor_vx_i32mf2:
15815case RISCV::BI__builtin_rvv_vxor_vx_i64m1:
15816case RISCV::BI__builtin_rvv_vxor_vx_i64m2:
15817case RISCV::BI__builtin_rvv_vxor_vx_i64m4:
15818case RISCV::BI__builtin_rvv_vxor_vx_i64m8:
15819case RISCV::BI__builtin_rvv_vxor_vv_u8m1:
15820case RISCV::BI__builtin_rvv_vxor_vv_u8m2:
15821case RISCV::BI__builtin_rvv_vxor_vv_u8m4:
15822case RISCV::BI__builtin_rvv_vxor_vv_u8m8:
15823case RISCV::BI__builtin_rvv_vxor_vv_u8mf2:
15824case RISCV::BI__builtin_rvv_vxor_vv_u8mf4:
15825case RISCV::BI__builtin_rvv_vxor_vv_u8mf8:
15826case RISCV::BI__builtin_rvv_vxor_vv_u16m1:
15827case RISCV::BI__builtin_rvv_vxor_vv_u16m2:
15828case RISCV::BI__builtin_rvv_vxor_vv_u16m4:
15829case RISCV::BI__builtin_rvv_vxor_vv_u16m8:
15830case RISCV::BI__builtin_rvv_vxor_vv_u16mf2:
15831case RISCV::BI__builtin_rvv_vxor_vv_u16mf4:
15832case RISCV::BI__builtin_rvv_vxor_vv_u32m1:
15833case RISCV::BI__builtin_rvv_vxor_vv_u32m2:
15834case RISCV::BI__builtin_rvv_vxor_vv_u32m4:
15835case RISCV::BI__builtin_rvv_vxor_vv_u32m8:
15836case RISCV::BI__builtin_rvv_vxor_vv_u32mf2:
15837case RISCV::BI__builtin_rvv_vxor_vv_u64m1:
15838case RISCV::BI__builtin_rvv_vxor_vv_u64m2:
15839case RISCV::BI__builtin_rvv_vxor_vv_u64m4:
15840case RISCV::BI__builtin_rvv_vxor_vv_u64m8:
15841case RISCV::BI__builtin_rvv_vxor_vx_u8m1:
15842case RISCV::BI__builtin_rvv_vxor_vx_u8m2:
15843case RISCV::BI__builtin_rvv_vxor_vx_u8m4:
15844case RISCV::BI__builtin_rvv_vxor_vx_u8m8:
15845case RISCV::BI__builtin_rvv_vxor_vx_u8mf2:
15846case RISCV::BI__builtin_rvv_vxor_vx_u8mf4:
15847case RISCV::BI__builtin_rvv_vxor_vx_u8mf8:
15848case RISCV::BI__builtin_rvv_vxor_vx_u16m1:
15849case RISCV::BI__builtin_rvv_vxor_vx_u16m2:
15850case RISCV::BI__builtin_rvv_vxor_vx_u16m4:
15851case RISCV::BI__builtin_rvv_vxor_vx_u16m8:
15852case RISCV::BI__builtin_rvv_vxor_vx_u16mf2:
15853case RISCV::BI__builtin_rvv_vxor_vx_u16mf4:
15854case RISCV::BI__builtin_rvv_vxor_vx_u32m1:
15855case RISCV::BI__builtin_rvv_vxor_vx_u32m2:
15856case RISCV::BI__builtin_rvv_vxor_vx_u32m4:
15857case RISCV::BI__builtin_rvv_vxor_vx_u32m8:
15858case RISCV::BI__builtin_rvv_vxor_vx_u32mf2:
15859case RISCV::BI__builtin_rvv_vxor_vx_u64m1:
15860case RISCV::BI__builtin_rvv_vxor_vx_u64m2:
15861case RISCV::BI__builtin_rvv_vxor_vx_u64m4:
15862case RISCV::BI__builtin_rvv_vxor_vx_u64m8:
15863 ID = Intrinsic::riscv_vxor;
15864 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
15865 break;
15866case RISCV::BI__builtin_rvv_vnot_v_i8m1_m:
15867case RISCV::BI__builtin_rvv_vnot_v_i8m2_m:
15868case RISCV::BI__builtin_rvv_vnot_v_i8m4_m:
15869case RISCV::BI__builtin_rvv_vnot_v_i8m8_m:
15870case RISCV::BI__builtin_rvv_vnot_v_i8mf2_m:
15871case RISCV::BI__builtin_rvv_vnot_v_i8mf4_m:
15872case RISCV::BI__builtin_rvv_vnot_v_i8mf8_m:
15873case RISCV::BI__builtin_rvv_vnot_v_i16m1_m:
15874case RISCV::BI__builtin_rvv_vnot_v_i16m2_m:
15875case RISCV::BI__builtin_rvv_vnot_v_i16m4_m:
15876case RISCV::BI__builtin_rvv_vnot_v_i16m8_m:
15877case RISCV::BI__builtin_rvv_vnot_v_i16mf2_m:
15878case RISCV::BI__builtin_rvv_vnot_v_i16mf4_m:
15879case RISCV::BI__builtin_rvv_vnot_v_i32m1_m:
15880case RISCV::BI__builtin_rvv_vnot_v_i32m2_m:
15881case RISCV::BI__builtin_rvv_vnot_v_i32m4_m:
15882case RISCV::BI__builtin_rvv_vnot_v_i32m8_m:
15883case RISCV::BI__builtin_rvv_vnot_v_i32mf2_m:
15884case RISCV::BI__builtin_rvv_vnot_v_i64m1_m:
15885case RISCV::BI__builtin_rvv_vnot_v_i64m2_m:
15886case RISCV::BI__builtin_rvv_vnot_v_i64m4_m:
15887case RISCV::BI__builtin_rvv_vnot_v_i64m8_m:
15888case RISCV::BI__builtin_rvv_vnot_v_u8m1_m:
15889case RISCV::BI__builtin_rvv_vnot_v_u8m2_m:
15890case RISCV::BI__builtin_rvv_vnot_v_u8m4_m:
15891case RISCV::BI__builtin_rvv_vnot_v_u8m8_m:
15892case RISCV::BI__builtin_rvv_vnot_v_u8mf2_m:
15893case RISCV::BI__builtin_rvv_vnot_v_u8mf4_m:
15894case RISCV::BI__builtin_rvv_vnot_v_u8mf8_m:
15895case RISCV::BI__builtin_rvv_vnot_v_u16m1_m:
15896case RISCV::BI__builtin_rvv_vnot_v_u16m2_m:
15897case RISCV::BI__builtin_rvv_vnot_v_u16m4_m:
15898case RISCV::BI__builtin_rvv_vnot_v_u16m8_m:
15899case RISCV::BI__builtin_rvv_vnot_v_u16mf2_m:
15900case RISCV::BI__builtin_rvv_vnot_v_u16mf4_m:
15901case RISCV::BI__builtin_rvv_vnot_v_u32m1_m:
15902case RISCV::BI__builtin_rvv_vnot_v_u32m2_m:
15903case RISCV::BI__builtin_rvv_vnot_v_u32m4_m:
15904case RISCV::BI__builtin_rvv_vnot_v_u32m8_m:
15905case RISCV::BI__builtin_rvv_vnot_v_u32mf2_m:
15906case RISCV::BI__builtin_rvv_vnot_v_u64m1_m:
15907case RISCV::BI__builtin_rvv_vnot_v_u64m2_m:
15908case RISCV::BI__builtin_rvv_vnot_v_u64m4_m:
15909case RISCV::BI__builtin_rvv_vnot_v_u64m8_m:
15910 ID = Intrinsic::riscv_vxor_mask;
15911
15912 {
15913 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
15914 // maskedoff, op1, mask, vl
15915 IntrinsicTypes = {ResultType,
15916 cast<llvm::VectorType>(ResultType)->getElementType(),
15917 Ops[3]->getType()};
15918 Ops.insert(Ops.begin() + 2,
15919 llvm::Constant::getAllOnesValue(IntrinsicTypes[1]));
15920 break;
15921 }
15922 break;
15923case RISCV::BI__builtin_rvv_vxor_vv_i8m1_m:
15924case RISCV::BI__builtin_rvv_vxor_vv_i8m2_m:
15925case RISCV::BI__builtin_rvv_vxor_vv_i8m4_m:
15926case RISCV::BI__builtin_rvv_vxor_vv_i8m8_m:
15927case RISCV::BI__builtin_rvv_vxor_vv_i8mf2_m:
15928case RISCV::BI__builtin_rvv_vxor_vv_i8mf4_m:
15929case RISCV::BI__builtin_rvv_vxor_vv_i8mf8_m:
15930case RISCV::BI__builtin_rvv_vxor_vv_i16m1_m:
15931case RISCV::BI__builtin_rvv_vxor_vv_i16m2_m:
15932case RISCV::BI__builtin_rvv_vxor_vv_i16m4_m:
15933case RISCV::BI__builtin_rvv_vxor_vv_i16m8_m:
15934case RISCV::BI__builtin_rvv_vxor_vv_i16mf2_m:
15935case RISCV::BI__builtin_rvv_vxor_vv_i16mf4_m:
15936case RISCV::BI__builtin_rvv_vxor_vv_i32m1_m:
15937case RISCV::BI__builtin_rvv_vxor_vv_i32m2_m:
15938case RISCV::BI__builtin_rvv_vxor_vv_i32m4_m:
15939case RISCV::BI__builtin_rvv_vxor_vv_i32m8_m:
15940case RISCV::BI__builtin_rvv_vxor_vv_i32mf2_m:
15941case RISCV::BI__builtin_rvv_vxor_vv_i64m1_m:
15942case RISCV::BI__builtin_rvv_vxor_vv_i64m2_m:
15943case RISCV::BI__builtin_rvv_vxor_vv_i64m4_m:
15944case RISCV::BI__builtin_rvv_vxor_vv_i64m8_m:
15945case RISCV::BI__builtin_rvv_vxor_vx_i8m1_m:
15946case RISCV::BI__builtin_rvv_vxor_vx_i8m2_m:
15947case RISCV::BI__builtin_rvv_vxor_vx_i8m4_m:
15948case RISCV::BI__builtin_rvv_vxor_vx_i8m8_m:
15949case RISCV::BI__builtin_rvv_vxor_vx_i8mf2_m:
15950case RISCV::BI__builtin_rvv_vxor_vx_i8mf4_m:
15951case RISCV::BI__builtin_rvv_vxor_vx_i8mf8_m:
15952case RISCV::BI__builtin_rvv_vxor_vx_i16m1_m:
15953case RISCV::BI__builtin_rvv_vxor_vx_i16m2_m:
15954case RISCV::BI__builtin_rvv_vxor_vx_i16m4_m:
15955case RISCV::BI__builtin_rvv_vxor_vx_i16m8_m:
15956case RISCV::BI__builtin_rvv_vxor_vx_i16mf2_m:
15957case RISCV::BI__builtin_rvv_vxor_vx_i16mf4_m:
15958case RISCV::BI__builtin_rvv_vxor_vx_i32m1_m:
15959case RISCV::BI__builtin_rvv_vxor_vx_i32m2_m:
15960case RISCV::BI__builtin_rvv_vxor_vx_i32m4_m:
15961case RISCV::BI__builtin_rvv_vxor_vx_i32m8_m:
15962case RISCV::BI__builtin_rvv_vxor_vx_i32mf2_m:
15963case RISCV::BI__builtin_rvv_vxor_vx_i64m1_m:
15964case RISCV::BI__builtin_rvv_vxor_vx_i64m2_m:
15965case RISCV::BI__builtin_rvv_vxor_vx_i64m4_m:
15966case RISCV::BI__builtin_rvv_vxor_vx_i64m8_m:
15967case RISCV::BI__builtin_rvv_vxor_vv_u8m1_m:
15968case RISCV::BI__builtin_rvv_vxor_vv_u8m2_m:
15969case RISCV::BI__builtin_rvv_vxor_vv_u8m4_m:
15970case RISCV::BI__builtin_rvv_vxor_vv_u8m8_m:
15971case RISCV::BI__builtin_rvv_vxor_vv_u8mf2_m:
15972case RISCV::BI__builtin_rvv_vxor_vv_u8mf4_m:
15973case RISCV::BI__builtin_rvv_vxor_vv_u8mf8_m:
15974case RISCV::BI__builtin_rvv_vxor_vv_u16m1_m:
15975case RISCV::BI__builtin_rvv_vxor_vv_u16m2_m:
15976case RISCV::BI__builtin_rvv_vxor_vv_u16m4_m:
15977case RISCV::BI__builtin_rvv_vxor_vv_u16m8_m:
15978case RISCV::BI__builtin_rvv_vxor_vv_u16mf2_m:
15979case RISCV::BI__builtin_rvv_vxor_vv_u16mf4_m:
15980case RISCV::BI__builtin_rvv_vxor_vv_u32m1_m:
15981case RISCV::BI__builtin_rvv_vxor_vv_u32m2_m:
15982case RISCV::BI__builtin_rvv_vxor_vv_u32m4_m:
15983case RISCV::BI__builtin_rvv_vxor_vv_u32m8_m:
15984case RISCV::BI__builtin_rvv_vxor_vv_u32mf2_m:
15985case RISCV::BI__builtin_rvv_vxor_vv_u64m1_m:
15986case RISCV::BI__builtin_rvv_vxor_vv_u64m2_m:
15987case RISCV::BI__builtin_rvv_vxor_vv_u64m4_m:
15988case RISCV::BI__builtin_rvv_vxor_vv_u64m8_m:
15989case RISCV::BI__builtin_rvv_vxor_vx_u8m1_m:
15990case RISCV::BI__builtin_rvv_vxor_vx_u8m2_m:
15991case RISCV::BI__builtin_rvv_vxor_vx_u8m4_m:
15992case RISCV::BI__builtin_rvv_vxor_vx_u8m8_m:
15993case RISCV::BI__builtin_rvv_vxor_vx_u8mf2_m:
15994case RISCV::BI__builtin_rvv_vxor_vx_u8mf4_m:
15995case RISCV::BI__builtin_rvv_vxor_vx_u8mf8_m:
15996case RISCV::BI__builtin_rvv_vxor_vx_u16m1_m:
15997case RISCV::BI__builtin_rvv_vxor_vx_u16m2_m:
15998case RISCV::BI__builtin_rvv_vxor_vx_u16m4_m:
15999case RISCV::BI__builtin_rvv_vxor_vx_u16m8_m:
16000case RISCV::BI__builtin_rvv_vxor_vx_u16mf2_m:
16001case RISCV::BI__builtin_rvv_vxor_vx_u16mf4_m:
16002case RISCV::BI__builtin_rvv_vxor_vx_u32m1_m:
16003case RISCV::BI__builtin_rvv_vxor_vx_u32m2_m:
16004case RISCV::BI__builtin_rvv_vxor_vx_u32m4_m:
16005case RISCV::BI__builtin_rvv_vxor_vx_u32m8_m:
16006case RISCV::BI__builtin_rvv_vxor_vx_u32mf2_m:
16007case RISCV::BI__builtin_rvv_vxor_vx_u64m1_m:
16008case RISCV::BI__builtin_rvv_vxor_vx_u64m2_m:
16009case RISCV::BI__builtin_rvv_vxor_vx_u64m4_m:
16010case RISCV::BI__builtin_rvv_vxor_vx_u64m8_m:
16011 ID = Intrinsic::riscv_vxor_mask;
16012 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
16013 IntrinsicTypes = {ResultType, Ops[2]->getType(), Ops.back()->getType()};
16014 break;
16015case RISCV::BI__builtin_rvv_vzext_vf2_u16mf4:
16016case RISCV::BI__builtin_rvv_vzext_vf2_u16mf2:
16017case RISCV::BI__builtin_rvv_vzext_vf2_u16m1:
16018case RISCV::BI__builtin_rvv_vzext_vf2_u16m2:
16019case RISCV::BI__builtin_rvv_vzext_vf2_u16m4:
16020case RISCV::BI__builtin_rvv_vzext_vf2_u16m8:
16021case RISCV::BI__builtin_rvv_vzext_vf2_u32mf2:
16022case RISCV::BI__builtin_rvv_vzext_vf2_u32m1:
16023case RISCV::BI__builtin_rvv_vzext_vf2_u32m2:
16024case RISCV::BI__builtin_rvv_vzext_vf2_u32m4:
16025case RISCV::BI__builtin_rvv_vzext_vf2_u32m8:
16026case RISCV::BI__builtin_rvv_vzext_vf2_u64m1:
16027case RISCV::BI__builtin_rvv_vzext_vf2_u64m2:
16028case RISCV::BI__builtin_rvv_vzext_vf2_u64m4:
16029case RISCV::BI__builtin_rvv_vzext_vf2_u64m8:
16030case RISCV::BI__builtin_rvv_vzext_vf4_u32mf2:
16031case RISCV::BI__builtin_rvv_vzext_vf4_u32m1:
16032case RISCV::BI__builtin_rvv_vzext_vf4_u32m2:
16033case RISCV::BI__builtin_rvv_vzext_vf4_u32m4:
16034case RISCV::BI__builtin_rvv_vzext_vf4_u32m8:
16035case RISCV::BI__builtin_rvv_vzext_vf4_u64m1:
16036case RISCV::BI__builtin_rvv_vzext_vf4_u64m2:
16037case RISCV::BI__builtin_rvv_vzext_vf4_u64m4:
16038case RISCV::BI__builtin_rvv_vzext_vf4_u64m8:
16039case RISCV::BI__builtin_rvv_vzext_vf8_u64m1:
16040case RISCV::BI__builtin_rvv_vzext_vf8_u64m2:
16041case RISCV::BI__builtin_rvv_vzext_vf8_u64m4:
16042case RISCV::BI__builtin_rvv_vzext_vf8_u64m8:
16043 ID = Intrinsic::riscv_vzext;
16044 IntrinsicTypes = {ResultType, Ops[0]->getType(), Ops.back()->getType()};
16045 break;
16046case RISCV::BI__builtin_rvv_vzext_vf2_u16mf4_m:
16047case RISCV::BI__builtin_rvv_vzext_vf2_u16mf2_m:
16048case RISCV::BI__builtin_rvv_vzext_vf2_u16m1_m:
16049case RISCV::BI__builtin_rvv_vzext_vf2_u16m2_m:
16050case RISCV::BI__builtin_rvv_vzext_vf2_u16m4_m:
16051case RISCV::BI__builtin_rvv_vzext_vf2_u16m8_m:
16052case RISCV::BI__builtin_rvv_vzext_vf2_u32mf2_m:
16053case RISCV::BI__builtin_rvv_vzext_vf2_u32m1_m:
16054case RISCV::BI__builtin_rvv_vzext_vf2_u32m2_m:
16055case RISCV::BI__builtin_rvv_vzext_vf2_u32m4_m:
16056case RISCV::BI__builtin_rvv_vzext_vf2_u32m8_m:
16057case RISCV::BI__builtin_rvv_vzext_vf2_u64m1_m:
16058case RISCV::BI__builtin_rvv_vzext_vf2_u64m2_m:
16059case RISCV::BI__builtin_rvv_vzext_vf2_u64m4_m:
16060case RISCV::BI__builtin_rvv_vzext_vf2_u64m8_m:
16061case RISCV::BI__builtin_rvv_vzext_vf4_u32mf2_m:
16062case RISCV::BI__builtin_rvv_vzext_vf4_u32m1_m:
16063case RISCV::BI__builtin_rvv_vzext_vf4_u32m2_m:
16064case RISCV::BI__builtin_rvv_vzext_vf4_u32m4_m:
16065case RISCV::BI__builtin_rvv_vzext_vf4_u32m8_m:
16066case RISCV::BI__builtin_rvv_vzext_vf4_u64m1_m:
16067case RISCV::BI__builtin_rvv_vzext_vf4_u64m2_m:
16068case RISCV::BI__builtin_rvv_vzext_vf4_u64m4_m:
16069case RISCV::BI__builtin_rvv_vzext_vf4_u64m8_m:
16070case RISCV::BI__builtin_rvv_vzext_vf8_u64m1_m:
16071case RISCV::BI__builtin_rvv_vzext_vf8_u64m2_m:
16072case RISCV::BI__builtin_rvv_vzext_vf8_u64m4_m:
16073case RISCV::BI__builtin_rvv_vzext_vf8_u64m8_m:
16074 ID = Intrinsic::riscv_vzext_mask;
16075 std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end() - 1);
16076 IntrinsicTypes = {ResultType, Ops[1]->getType(), Ops.back()->getType()};
16077 break;
16078