1//===-- BuiltinsMips.def - Mips Builtin function database --------*- C++ -*-==//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file defines the MIPS-specific builtin function database. Users of
10// this file must define the BUILTIN macro to make use of this information.
11//
12//===----------------------------------------------------------------------===//
13
14// The format of this database matches clang/Basic/Builtins.def.
15
16// MIPS DSP Rev 1
17
18// Add/subtract with optional saturation
19BUILTIN(__builtin_mips_addu_qb, "V4ScV4ScV4Sc", "n")
20BUILTIN(__builtin_mips_addu_s_qb, "V4ScV4ScV4Sc", "n")
21BUILTIN(__builtin_mips_subu_qb, "V4ScV4ScV4Sc", "n")
22BUILTIN(__builtin_mips_subu_s_qb, "V4ScV4ScV4Sc", "n")
23
24BUILTIN(__builtin_mips_addq_ph, "V2sV2sV2s", "n")
25BUILTIN(__builtin_mips_addq_s_ph, "V2sV2sV2s", "n")
26BUILTIN(__builtin_mips_subq_ph, "V2sV2sV2s", "n")
27BUILTIN(__builtin_mips_subq_s_ph, "V2sV2sV2s", "n")
28
29BUILTIN(__builtin_mips_madd, "LLiLLiii", "nc")
30BUILTIN(__builtin_mips_maddu, "LLiLLiUiUi", "nc")
31BUILTIN(__builtin_mips_msub, "LLiLLiii", "nc")
32BUILTIN(__builtin_mips_msubu, "LLiLLiUiUi", "nc")
33
34BUILTIN(__builtin_mips_addq_s_w, "iii", "n")
35BUILTIN(__builtin_mips_subq_s_w, "iii", "n")
36
37BUILTIN(__builtin_mips_addsc, "iii", "n")
38BUILTIN(__builtin_mips_addwc, "iii", "n")
39
40BUILTIN(__builtin_mips_modsub, "iii", "nc")
41
42BUILTIN(__builtin_mips_raddu_w_qb, "iV4Sc", "nc")
43
44BUILTIN(__builtin_mips_absq_s_ph, "V2sV2s", "n")
45BUILTIN(__builtin_mips_absq_s_w, "ii", "n")
46
47BUILTIN(__builtin_mips_precrq_qb_ph, "V4ScV2sV2s", "nc")
48BUILTIN(__builtin_mips_precrqu_s_qb_ph, "V4ScV2sV2s", "n")
49BUILTIN(__builtin_mips_precrq_ph_w, "V2sii", "nc")
50BUILTIN(__builtin_mips_precrq_rs_ph_w, "V2sii", "n")
51BUILTIN(__builtin_mips_preceq_w_phl, "iV2s", "nc")
52BUILTIN(__builtin_mips_preceq_w_phr, "iV2s", "nc")
53BUILTIN(__builtin_mips_precequ_ph_qbl, "V2sV4Sc", "nc")
54BUILTIN(__builtin_mips_precequ_ph_qbr, "V2sV4Sc", "nc")
55BUILTIN(__builtin_mips_precequ_ph_qbla, "V2sV4Sc", "nc")
56BUILTIN(__builtin_mips_precequ_ph_qbra, "V2sV4Sc", "nc")
57BUILTIN(__builtin_mips_preceu_ph_qbl, "V2sV4Sc", "nc")
58BUILTIN(__builtin_mips_preceu_ph_qbr, "V2sV4Sc", "nc")
59BUILTIN(__builtin_mips_preceu_ph_qbla, "V2sV4Sc", "nc")
60BUILTIN(__builtin_mips_preceu_ph_qbra, "V2sV4Sc", "nc")
61
62BUILTIN(__builtin_mips_shll_qb, "V4ScV4Sci", "n")
63BUILTIN(__builtin_mips_shrl_qb, "V4ScV4Sci", "nc")
64BUILTIN(__builtin_mips_shll_ph, "V2sV2si", "n")
65BUILTIN(__builtin_mips_shll_s_ph, "V2sV2si", "n")
66BUILTIN(__builtin_mips_shra_ph, "V2sV2si", "nc")
67BUILTIN(__builtin_mips_shra_r_ph, "V2sV2si", "nc")
68BUILTIN(__builtin_mips_shll_s_w, "iii", "n")
69BUILTIN(__builtin_mips_shra_r_w, "iii", "nc")
70BUILTIN(__builtin_mips_shilo, "LLiLLii", "nc")
71
72BUILTIN(__builtin_mips_muleu_s_ph_qbl, "V2sV4ScV2s", "n")
73BUILTIN(__builtin_mips_muleu_s_ph_qbr, "V2sV4ScV2s", "n")
74BUILTIN(__builtin_mips_mulq_rs_ph, "V2sV2sV2s", "n")
75BUILTIN(__builtin_mips_muleq_s_w_phl, "iV2sV2s", "n")
76BUILTIN(__builtin_mips_muleq_s_w_phr, "iV2sV2s", "n")
77BUILTIN(__builtin_mips_mulsaq_s_w_ph, "LLiLLiV2sV2s", "n")
78BUILTIN(__builtin_mips_maq_s_w_phl, "LLiLLiV2sV2s", "n")
79BUILTIN(__builtin_mips_maq_s_w_phr, "LLiLLiV2sV2s", "n")
80BUILTIN(__builtin_mips_maq_sa_w_phl, "LLiLLiV2sV2s", "n")
81BUILTIN(__builtin_mips_maq_sa_w_phr, "LLiLLiV2sV2s", "n")
82BUILTIN(__builtin_mips_mult, "LLiii", "nc")
83BUILTIN(__builtin_mips_multu, "LLiUiUi", "nc")
84
85BUILTIN(__builtin_mips_dpau_h_qbl, "LLiLLiV4ScV4Sc", "nc")
86BUILTIN(__builtin_mips_dpau_h_qbr, "LLiLLiV4ScV4Sc", "nc")
87BUILTIN(__builtin_mips_dpsu_h_qbl, "LLiLLiV4ScV4Sc", "nc")
88BUILTIN(__builtin_mips_dpsu_h_qbr, "LLiLLiV4ScV4Sc", "nc")
89BUILTIN(__builtin_mips_dpaq_s_w_ph, "LLiLLiV2sV2s", "n")
90BUILTIN(__builtin_mips_dpsq_s_w_ph, "LLiLLiV2sV2s", "n")
91BUILTIN(__builtin_mips_dpaq_sa_l_w, "LLiLLiii", "n")
92BUILTIN(__builtin_mips_dpsq_sa_l_w, "LLiLLiii", "n")
93
94BUILTIN(__builtin_mips_cmpu_eq_qb, "vV4ScV4Sc", "n")
95BUILTIN(__builtin_mips_cmpu_lt_qb, "vV4ScV4Sc", "n")
96BUILTIN(__builtin_mips_cmpu_le_qb, "vV4ScV4Sc", "n")
97BUILTIN(__builtin_mips_cmpgu_eq_qb, "iV4ScV4Sc", "n")
98BUILTIN(__builtin_mips_cmpgu_lt_qb, "iV4ScV4Sc", "n")
99BUILTIN(__builtin_mips_cmpgu_le_qb, "iV4ScV4Sc", "n")
100BUILTIN(__builtin_mips_cmp_eq_ph, "vV2sV2s", "n")
101BUILTIN(__builtin_mips_cmp_lt_ph, "vV2sV2s", "n")
102BUILTIN(__builtin_mips_cmp_le_ph, "vV2sV2s", "n")
103
104BUILTIN(__builtin_mips_extr_s_h, "iLLii", "n")
105BUILTIN(__builtin_mips_extr_w, "iLLii", "n")
106BUILTIN(__builtin_mips_extr_rs_w, "iLLii", "n")
107BUILTIN(__builtin_mips_extr_r_w, "iLLii", "n")
108BUILTIN(__builtin_mips_extp, "iLLii", "n")
109BUILTIN(__builtin_mips_extpdp, "iLLii", "n")
110
111BUILTIN(__builtin_mips_wrdsp, "viIi", "n")
112BUILTIN(__builtin_mips_rddsp, "iIi", "n")
113BUILTIN(__builtin_mips_insv, "iii", "n")
114BUILTIN(__builtin_mips_bitrev, "ii", "nc")
115BUILTIN(__builtin_mips_packrl_ph, "V2sV2sV2s", "nc")
116BUILTIN(__builtin_mips_repl_qb, "V4Sci", "nc")
117BUILTIN(__builtin_mips_repl_ph, "V2si", "nc")
118BUILTIN(__builtin_mips_pick_qb, "V4ScV4ScV4Sc", "n")
119BUILTIN(__builtin_mips_pick_ph, "V2sV2sV2s", "n")
120BUILTIN(__builtin_mips_mthlip, "LLiLLii", "n")
121BUILTIN(__builtin_mips_bposge32, "i", "n")
122BUILTIN(__builtin_mips_lbux, "iv*i", "n")
123BUILTIN(__builtin_mips_lhx, "iv*i", "n")
124BUILTIN(__builtin_mips_lwx, "iv*i", "n")
125
126// MIPS DSP Rev 2
127
128BUILTIN(__builtin_mips_absq_s_qb, "V4ScV4Sc", "n")
129
130BUILTIN(__builtin_mips_addqh_ph, "V2sV2sV2s", "nc")
131BUILTIN(__builtin_mips_addqh_r_ph, "V2sV2sV2s", "nc")
132BUILTIN(__builtin_mips_addqh_w, "iii", "nc")
133BUILTIN(__builtin_mips_addqh_r_w, "iii", "nc")
134
135BUILTIN(__builtin_mips_addu_ph, "V2sV2sV2s", "n")
136BUILTIN(__builtin_mips_addu_s_ph, "V2sV2sV2s", "n")
137
138BUILTIN(__builtin_mips_adduh_qb, "V4ScV4ScV4Sc", "nc")
139BUILTIN(__builtin_mips_adduh_r_qb, "V4ScV4ScV4Sc", "nc")
140
141BUILTIN(__builtin_mips_append, "iiiIi", "nc")
142BUILTIN(__builtin_mips_balign, "iiiIi", "nc")
143
144BUILTIN(__builtin_mips_cmpgdu_eq_qb, "iV4ScV4Sc", "n")
145BUILTIN(__builtin_mips_cmpgdu_lt_qb, "iV4ScV4Sc", "n")
146BUILTIN(__builtin_mips_cmpgdu_le_qb, "iV4ScV4Sc", "n")
147
148BUILTIN(__builtin_mips_dpa_w_ph, "LLiLLiV2sV2s", "nc")
149BUILTIN(__builtin_mips_dps_w_ph, "LLiLLiV2sV2s", "nc")
150
151BUILTIN(__builtin_mips_dpaqx_s_w_ph, "LLiLLiV2sV2s", "n")
152BUILTIN(__builtin_mips_dpaqx_sa_w_ph, "LLiLLiV2sV2s", "n")
153BUILTIN(__builtin_mips_dpax_w_ph, "LLiLLiV2sV2s", "nc")
154BUILTIN(__builtin_mips_dpsx_w_ph, "LLiLLiV2sV2s", "nc")
155BUILTIN(__builtin_mips_dpsqx_s_w_ph, "LLiLLiV2sV2s", "n")
156BUILTIN(__builtin_mips_dpsqx_sa_w_ph, "LLiLLiV2sV2s", "n")
157
158BUILTIN(__builtin_mips_mul_ph, "V2sV2sV2s", "n")
159BUILTIN(__builtin_mips_mul_s_ph, "V2sV2sV2s", "n")
160
161BUILTIN(__builtin_mips_mulq_rs_w, "iii", "n")
162BUILTIN(__builtin_mips_mulq_s_ph, "V2sV2sV2s", "n")
163BUILTIN(__builtin_mips_mulq_s_w, "iii", "n")
164BUILTIN(__builtin_mips_mulsa_w_ph, "LLiLLiV2sV2s", "nc")
165
166BUILTIN(__builtin_mips_precr_qb_ph, "V4ScV2sV2s", "n")
167BUILTIN(__builtin_mips_precr_sra_ph_w, "V2siiIi", "nc")
168BUILTIN(__builtin_mips_precr_sra_r_ph_w, "V2siiIi", "nc")
169
170BUILTIN(__builtin_mips_prepend, "iiiIi", "nc")
171
172BUILTIN(__builtin_mips_shra_qb, "V4ScV4Sci", "nc")
173BUILTIN(__builtin_mips_shra_r_qb, "V4ScV4Sci", "nc")
174BUILTIN(__builtin_mips_shrl_ph, "V2sV2si", "nc")
175
176BUILTIN(__builtin_mips_subqh_ph, "V2sV2sV2s", "nc")
177BUILTIN(__builtin_mips_subqh_r_ph, "V2sV2sV2s", "nc")
178BUILTIN(__builtin_mips_subqh_w, "iii", "nc")
179BUILTIN(__builtin_mips_subqh_r_w, "iii", "nc")
180
181BUILTIN(__builtin_mips_subu_ph, "V2sV2sV2s", "n")
182BUILTIN(__builtin_mips_subu_s_ph, "V2sV2sV2s", "n")
183
184BUILTIN(__builtin_mips_subuh_qb, "V4ScV4ScV4Sc", "nc")
185BUILTIN(__builtin_mips_subuh_r_qb, "V4ScV4ScV4Sc", "nc")
186
187// MIPS MSA
188
189BUILTIN(__builtin_msa_add_a_b, "V16ScV16ScV16Sc", "nc")
190BUILTIN(__builtin_msa_add_a_h, "V8SsV8SsV8Ss", "nc")
191BUILTIN(__builtin_msa_add_a_w, "V4SiV4SiV4Si", "nc")
192BUILTIN(__builtin_msa_add_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
193
194BUILTIN(__builtin_msa_adds_a_b, "V16ScV16ScV16Sc", "nc")
195BUILTIN(__builtin_msa_adds_a_h, "V8SsV8SsV8Ss", "nc")
196BUILTIN(__builtin_msa_adds_a_w, "V4SiV4SiV4Si", "nc")
197BUILTIN(__builtin_msa_adds_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
198
199BUILTIN(__builtin_msa_adds_s_b, "V16ScV16ScV16Sc", "nc")
200BUILTIN(__builtin_msa_adds_s_h, "V8SsV8SsV8Ss", "nc")
201BUILTIN(__builtin_msa_adds_s_w, "V4SiV4SiV4Si", "nc")
202BUILTIN(__builtin_msa_adds_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
203
204BUILTIN(__builtin_msa_adds_u_b, "V16UcV16UcV16Uc", "nc")
205BUILTIN(__builtin_msa_adds_u_h, "V8UsV8UsV8Us", "nc")
206BUILTIN(__builtin_msa_adds_u_w, "V4UiV4UiV4Ui", "nc")
207BUILTIN(__builtin_msa_adds_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
208
209BUILTIN(__builtin_msa_addv_b, "V16cV16cV16c", "nc")
210BUILTIN(__builtin_msa_addv_h, "V8sV8sV8s", "nc")
211BUILTIN(__builtin_msa_addv_w, "V4iV4iV4i", "nc")
212BUILTIN(__builtin_msa_addv_d, "V2LLiV2LLiV2LLi", "nc")
213
214BUILTIN(__builtin_msa_addvi_b, "V16cV16cIUi", "nc")
215BUILTIN(__builtin_msa_addvi_h, "V8sV8sIUi", "nc")
216BUILTIN(__builtin_msa_addvi_w, "V4iV4iIUi", "nc")
217BUILTIN(__builtin_msa_addvi_d, "V2LLiV2LLiIUi", "nc")
218
219BUILTIN(__builtin_msa_and_v, "V16UcV16UcV16Uc", "nc")
220
221BUILTIN(__builtin_msa_andi_b, "V16UcV16UcIUi", "nc")
222
223BUILTIN(__builtin_msa_asub_s_b, "V16ScV16ScV16Sc", "nc")
224BUILTIN(__builtin_msa_asub_s_h, "V8SsV8SsV8Ss", "nc")
225BUILTIN(__builtin_msa_asub_s_w, "V4SiV4SiV4Si", "nc")
226BUILTIN(__builtin_msa_asub_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
227
228BUILTIN(__builtin_msa_asub_u_b, "V16UcV16UcV16Uc", "nc")
229BUILTIN(__builtin_msa_asub_u_h, "V8UsV8UsV8Us", "nc")
230BUILTIN(__builtin_msa_asub_u_w, "V4UiV4UiV4Ui", "nc")
231BUILTIN(__builtin_msa_asub_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
232
233BUILTIN(__builtin_msa_ave_s_b, "V16ScV16ScV16Sc", "nc")
234BUILTIN(__builtin_msa_ave_s_h, "V8SsV8SsV8Ss", "nc")
235BUILTIN(__builtin_msa_ave_s_w, "V4SiV4SiV4Si", "nc")
236BUILTIN(__builtin_msa_ave_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
237
238BUILTIN(__builtin_msa_ave_u_b, "V16UcV16UcV16Uc", "nc")
239BUILTIN(__builtin_msa_ave_u_h, "V8UsV8UsV8Us", "nc")
240BUILTIN(__builtin_msa_ave_u_w, "V4UiV4UiV4Ui", "nc")
241BUILTIN(__builtin_msa_ave_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
242
243BUILTIN(__builtin_msa_aver_s_b, "V16ScV16ScV16Sc", "nc")
244BUILTIN(__builtin_msa_aver_s_h, "V8SsV8SsV8Ss", "nc")
245BUILTIN(__builtin_msa_aver_s_w, "V4SiV4SiV4Si", "nc")
246BUILTIN(__builtin_msa_aver_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
247
248BUILTIN(__builtin_msa_aver_u_b, "V16UcV16UcV16Uc", "nc")
249BUILTIN(__builtin_msa_aver_u_h, "V8UsV8UsV8Us", "nc")
250BUILTIN(__builtin_msa_aver_u_w, "V4UiV4UiV4Ui", "nc")
251BUILTIN(__builtin_msa_aver_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
252
253BUILTIN(__builtin_msa_bclr_b, "V16UcV16UcV16Uc", "nc")
254BUILTIN(__builtin_msa_bclr_h, "V8UsV8UsV8Us", "nc")
255BUILTIN(__builtin_msa_bclr_w, "V4UiV4UiV4Ui", "nc")
256BUILTIN(__builtin_msa_bclr_d, "V2ULLiV2ULLiV2ULLi", "nc")
257
258BUILTIN(__builtin_msa_bclri_b, "V16UcV16UcIUi", "nc")
259BUILTIN(__builtin_msa_bclri_h, "V8UsV8UsIUi", "nc")
260BUILTIN(__builtin_msa_bclri_w, "V4UiV4UiIUi", "nc")
261BUILTIN(__builtin_msa_bclri_d, "V2ULLiV2ULLiIUi", "nc")
262
263BUILTIN(__builtin_msa_binsl_b, "V16UcV16UcV16UcV16Uc", "nc")
264BUILTIN(__builtin_msa_binsl_h, "V8UsV8UsV8UsV8Us", "nc")
265BUILTIN(__builtin_msa_binsl_w, "V4UiV4UiV4UiV4Ui", "nc")
266BUILTIN(__builtin_msa_binsl_d, "V2ULLiV2ULLiV2ULLiV2ULLi", "nc")
267
268BUILTIN(__builtin_msa_binsli_b, "V16UcV16UcV16UcIUi", "nc")
269BUILTIN(__builtin_msa_binsli_h, "V8UsV8UsV8UsIUi", "nc")
270BUILTIN(__builtin_msa_binsli_w, "V4UiV4UiV4UiIUi", "nc")
271BUILTIN(__builtin_msa_binsli_d, "V2ULLiV2ULLiV2ULLiIUi", "nc")
272
273BUILTIN(__builtin_msa_binsr_b, "V16UcV16UcV16UcV16Uc", "nc")
274BUILTIN(__builtin_msa_binsr_h, "V8UsV8UsV8UsV8Us", "nc")
275BUILTIN(__builtin_msa_binsr_w, "V4UiV4UiV4UiV4Ui", "nc")
276BUILTIN(__builtin_msa_binsr_d, "V2ULLiV2ULLiV2ULLiV2ULLi", "nc")
277
278BUILTIN(__builtin_msa_binsri_b, "V16UcV16UcV16UcIUi", "nc")
279BUILTIN(__builtin_msa_binsri_h, "V8UsV8UsV8UsIUi", "nc")
280BUILTIN(__builtin_msa_binsri_w, "V4UiV4UiV4UiIUi", "nc")
281BUILTIN(__builtin_msa_binsri_d, "V2ULLiV2ULLiV2ULLiIUi", "nc")
282
283BUILTIN(__builtin_msa_bmnz_v, "V16UcV16UcV16UcV16Uc", "nc")
284
285BUILTIN(__builtin_msa_bmnzi_b, "V16UcV16UcV16UcIUi", "nc")
286
287BUILTIN(__builtin_msa_bmz_v, "V16UcV16UcV16UcV16Uc", "nc")
288
289BUILTIN(__builtin_msa_bmzi_b, "V16UcV16UcV16UcIUi", "nc")
290
291BUILTIN(__builtin_msa_bneg_b, "V16UcV16UcV16Uc", "nc")
292BUILTIN(__builtin_msa_bneg_h, "V8UsV8UsV8Us", "nc")
293BUILTIN(__builtin_msa_bneg_w, "V4UiV4UiV4Ui", "nc")
294BUILTIN(__builtin_msa_bneg_d, "V2ULLiV2ULLiV2ULLi", "nc")
295
296BUILTIN(__builtin_msa_bnegi_b, "V16UcV16UcIUi", "nc")
297BUILTIN(__builtin_msa_bnegi_h, "V8UsV8UsIUi", "nc")
298BUILTIN(__builtin_msa_bnegi_w, "V4UiV4UiIUi", "nc")
299BUILTIN(__builtin_msa_bnegi_d, "V2ULLiV2ULLiIUi", "nc")
300
301BUILTIN(__builtin_msa_bnz_b, "iV16Uc", "nc")
302BUILTIN(__builtin_msa_bnz_h, "iV8Us", "nc")
303BUILTIN(__builtin_msa_bnz_w, "iV4Ui", "nc")
304BUILTIN(__builtin_msa_bnz_d, "iV2ULLi", "nc")
305
306BUILTIN(__builtin_msa_bnz_v, "iV16Uc", "nc")
307
308BUILTIN(__builtin_msa_bsel_v, "V16UcV16UcV16UcV16Uc", "nc")
309
310BUILTIN(__builtin_msa_bseli_b, "V16UcV16UcV16UcIUi", "nc")
311
312BUILTIN(__builtin_msa_bset_b, "V16UcV16UcV16Uc", "nc")
313BUILTIN(__builtin_msa_bset_h, "V8UsV8UsV8Us", "nc")
314BUILTIN(__builtin_msa_bset_w, "V4UiV4UiV4Ui", "nc")
315BUILTIN(__builtin_msa_bset_d, "V2ULLiV2ULLiV2ULLi", "nc")
316
317BUILTIN(__builtin_msa_bseti_b, "V16UcV16UcIUi", "nc")
318BUILTIN(__builtin_msa_bseti_h, "V8UsV8UsIUi", "nc")
319BUILTIN(__builtin_msa_bseti_w, "V4UiV4UiIUi", "nc")
320BUILTIN(__builtin_msa_bseti_d, "V2ULLiV2ULLiIUi", "nc")
321
322BUILTIN(__builtin_msa_bz_b, "iV16Uc", "nc")
323BUILTIN(__builtin_msa_bz_h, "iV8Us", "nc")
324BUILTIN(__builtin_msa_bz_w, "iV4Ui", "nc")
325BUILTIN(__builtin_msa_bz_d, "iV2ULLi", "nc")
326
327BUILTIN(__builtin_msa_bz_v, "iV16Uc", "nc")
328
329BUILTIN(__builtin_msa_ceq_b, "V16ScV16ScV16Sc", "nc")
330BUILTIN(__builtin_msa_ceq_h, "V8SsV8SsV8Ss", "nc")
331BUILTIN(__builtin_msa_ceq_w, "V4SiV4SiV4Si", "nc")
332BUILTIN(__builtin_msa_ceq_d, "V2SLLiV2SLLiV2SLLi", "nc")
333
334BUILTIN(__builtin_msa_ceqi_b, "V16ScV16ScISi", "nc")
335BUILTIN(__builtin_msa_ceqi_h, "V8SsV8SsISi", "nc")
336BUILTIN(__builtin_msa_ceqi_w, "V4SiV4SiISi", "nc")
337BUILTIN(__builtin_msa_ceqi_d, "V2SLLiV2SLLiISi", "nc")
338
339BUILTIN(__builtin_msa_cfcmsa, "iIi", "n")
340
341BUILTIN(__builtin_msa_cle_s_b, "V16ScV16ScV16Sc", "nc")
342BUILTIN(__builtin_msa_cle_s_h, "V8SsV8SsV8Ss", "nc")
343BUILTIN(__builtin_msa_cle_s_w, "V4SiV4SiV4Si", "nc")
344BUILTIN(__builtin_msa_cle_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
345
346BUILTIN(__builtin_msa_cle_u_b, "V16ScV16UcV16Uc", "nc")
347BUILTIN(__builtin_msa_cle_u_h, "V8SsV8UsV8Us", "nc")
348BUILTIN(__builtin_msa_cle_u_w, "V4SiV4UiV4Ui", "nc")
349BUILTIN(__builtin_msa_cle_u_d, "V2SLLiV2ULLiV2ULLi", "nc")
350
351BUILTIN(__builtin_msa_clei_s_b, "V16ScV16ScISi", "nc")
352BUILTIN(__builtin_msa_clei_s_h, "V8SsV8SsISi", "nc")
353BUILTIN(__builtin_msa_clei_s_w, "V4SiV4SiISi", "nc")
354BUILTIN(__builtin_msa_clei_s_d, "V2SLLiV2SLLiISi", "nc")
355
356BUILTIN(__builtin_msa_clei_u_b, "V16ScV16UcIUi", "nc")
357BUILTIN(__builtin_msa_clei_u_h, "V8SsV8UsIUi", "nc")
358BUILTIN(__builtin_msa_clei_u_w, "V4SiV4UiIUi", "nc")
359BUILTIN(__builtin_msa_clei_u_d, "V2SLLiV2ULLiIUi", "nc")
360
361BUILTIN(__builtin_msa_clt_s_b, "V16ScV16ScV16Sc", "nc")
362BUILTIN(__builtin_msa_clt_s_h, "V8SsV8SsV8Ss", "nc")
363BUILTIN(__builtin_msa_clt_s_w, "V4SiV4SiV4Si", "nc")
364BUILTIN(__builtin_msa_clt_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
365
366BUILTIN(__builtin_msa_clt_u_b, "V16ScV16UcV16Uc", "nc")
367BUILTIN(__builtin_msa_clt_u_h, "V8SsV8UsV8Us", "nc")
368BUILTIN(__builtin_msa_clt_u_w, "V4SiV4UiV4Ui", "nc")
369BUILTIN(__builtin_msa_clt_u_d, "V2SLLiV2ULLiV2ULLi", "nc")
370
371BUILTIN(__builtin_msa_clti_s_b, "V16ScV16ScISi", "nc")
372BUILTIN(__builtin_msa_clti_s_h, "V8SsV8SsISi", "nc")
373BUILTIN(__builtin_msa_clti_s_w, "V4SiV4SiISi", "nc")
374BUILTIN(__builtin_msa_clti_s_d, "V2SLLiV2SLLiISi", "nc")
375
376BUILTIN(__builtin_msa_clti_u_b, "V16ScV16UcIUi", "nc")
377BUILTIN(__builtin_msa_clti_u_h, "V8SsV8UsIUi", "nc")
378BUILTIN(__builtin_msa_clti_u_w, "V4SiV4UiIUi", "nc")
379BUILTIN(__builtin_msa_clti_u_d, "V2SLLiV2ULLiIUi", "nc")
380
381BUILTIN(__builtin_msa_copy_s_b, "iV16ScIUi", "nc")
382BUILTIN(__builtin_msa_copy_s_h, "iV8SsIUi", "nc")
383BUILTIN(__builtin_msa_copy_s_w, "iV4SiIUi", "nc")
384BUILTIN(__builtin_msa_copy_s_d, "LLiV2SLLiIUi", "nc")
385
386BUILTIN(__builtin_msa_copy_u_b, "iV16UcIUi", "nc")
387BUILTIN(__builtin_msa_copy_u_h, "iV8UsIUi", "nc")
388BUILTIN(__builtin_msa_copy_u_w, "iV4UiIUi", "nc")
389BUILTIN(__builtin_msa_copy_u_d, "LLiV2ULLiIUi", "nc")
390
391BUILTIN(__builtin_msa_ctcmsa, "vIii", "n")
392
393BUILTIN(__builtin_msa_div_s_b, "V16ScV16ScV16Sc", "nc")
394BUILTIN(__builtin_msa_div_s_h, "V8SsV8SsV8Ss", "nc")
395BUILTIN(__builtin_msa_div_s_w, "V4SiV4SiV4Si", "nc")
396BUILTIN(__builtin_msa_div_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
397
398BUILTIN(__builtin_msa_div_u_b, "V16UcV16UcV16Uc", "nc")
399BUILTIN(__builtin_msa_div_u_h, "V8UsV8UsV8Us", "nc")
400BUILTIN(__builtin_msa_div_u_w, "V4UiV4UiV4Ui", "nc")
401BUILTIN(__builtin_msa_div_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
402
403BUILTIN(__builtin_msa_dotp_s_h, "V8SsV16ScV16Sc", "nc")
404BUILTIN(__builtin_msa_dotp_s_w, "V4SiV8SsV8Ss", "nc")
405BUILTIN(__builtin_msa_dotp_s_d, "V2SLLiV4SiV4Si", "nc")
406
407BUILTIN(__builtin_msa_dotp_u_h, "V8UsV16UcV16Uc", "nc")
408BUILTIN(__builtin_msa_dotp_u_w, "V4UiV8UsV8Us", "nc")
409BUILTIN(__builtin_msa_dotp_u_d, "V2ULLiV4UiV4Ui", "nc")
410
411BUILTIN(__builtin_msa_dpadd_s_h, "V8SsV8SsV16ScV16Sc", "nc")
412BUILTIN(__builtin_msa_dpadd_s_w, "V4SiV4SiV8SsV8Ss", "nc")
413BUILTIN(__builtin_msa_dpadd_s_d, "V2SLLiV2SLLiV4SiV4Si", "nc")
414
415BUILTIN(__builtin_msa_dpadd_u_h, "V8UsV8UsV16UcV16Uc", "nc")
416BUILTIN(__builtin_msa_dpadd_u_w, "V4UiV4UiV8UsV8Us", "nc")
417BUILTIN(__builtin_msa_dpadd_u_d, "V2ULLiV2ULLiV4UiV4Ui", "nc")
418
419BUILTIN(__builtin_msa_dpsub_s_h, "V8SsV8SsV16ScV16Sc", "nc")
420BUILTIN(__builtin_msa_dpsub_s_w, "V4SiV4SiV8SsV8Ss", "nc")
421BUILTIN(__builtin_msa_dpsub_s_d, "V2SLLiV2SLLiV4SiV4Si", "nc")
422
423BUILTIN(__builtin_msa_dpsub_u_h, "V8UsV8UsV16UcV16Uc", "nc")
424BUILTIN(__builtin_msa_dpsub_u_w, "V4UiV4UiV8UsV8Us", "nc")
425BUILTIN(__builtin_msa_dpsub_u_d, "V2ULLiV2ULLiV4UiV4Ui", "nc")
426
427BUILTIN(__builtin_msa_fadd_w, "V4fV4fV4f", "nc")
428BUILTIN(__builtin_msa_fadd_d, "V2dV2dV2d", "nc")
429
430BUILTIN(__builtin_msa_fcaf_w, "V4iV4fV4f", "nc")
431BUILTIN(__builtin_msa_fcaf_d, "V2LLiV2dV2d", "nc")
432
433BUILTIN(__builtin_msa_fceq_w, "V4iV4fV4f", "nc")
434BUILTIN(__builtin_msa_fceq_d, "V2LLiV2dV2d", "nc")
435
436BUILTIN(__builtin_msa_fclass_w, "V4iV4f", "nc")
437BUILTIN(__builtin_msa_fclass_d, "V2LLiV2d", "nc")
438
439BUILTIN(__builtin_msa_fcle_w, "V4iV4fV4f", "nc")
440BUILTIN(__builtin_msa_fcle_d, "V2LLiV2dV2d", "nc")
441
442BUILTIN(__builtin_msa_fclt_w, "V4iV4fV4f", "nc")
443BUILTIN(__builtin_msa_fclt_d, "V2LLiV2dV2d", "nc")
444
445BUILTIN(__builtin_msa_fcne_w, "V4iV4fV4f", "nc")
446BUILTIN(__builtin_msa_fcne_d, "V2LLiV2dV2d", "nc")
447
448BUILTIN(__builtin_msa_fcor_w, "V4iV4fV4f", "nc")
449BUILTIN(__builtin_msa_fcor_d, "V2LLiV2dV2d", "nc")
450
451BUILTIN(__builtin_msa_fcueq_w, "V4iV4fV4f", "nc")
452BUILTIN(__builtin_msa_fcueq_d, "V2LLiV2dV2d", "nc")
453
454BUILTIN(__builtin_msa_fcule_w, "V4iV4fV4f", "nc")
455BUILTIN(__builtin_msa_fcule_d, "V2LLiV2dV2d", "nc")
456
457BUILTIN(__builtin_msa_fcult_w, "V4iV4fV4f", "nc")
458BUILTIN(__builtin_msa_fcult_d, "V2LLiV2dV2d", "nc")
459
460BUILTIN(__builtin_msa_fcun_w, "V4iV4fV4f", "nc")
461BUILTIN(__builtin_msa_fcun_d, "V2LLiV2dV2d", "nc")
462
463BUILTIN(__builtin_msa_fcune_w, "V4iV4fV4f", "nc")
464BUILTIN(__builtin_msa_fcune_d, "V2LLiV2dV2d", "nc")
465
466BUILTIN(__builtin_msa_fdiv_w, "V4fV4fV4f", "nc")
467BUILTIN(__builtin_msa_fdiv_d, "V2dV2dV2d", "nc")
468
469BUILTIN(__builtin_msa_fexdo_h, "V8hV4fV4f", "nc")
470BUILTIN(__builtin_msa_fexdo_w, "V4fV2dV2d", "nc")
471
472BUILTIN(__builtin_msa_fexp2_w, "V4fV4fV4i", "nc")
473BUILTIN(__builtin_msa_fexp2_d, "V2dV2dV2LLi", "nc")
474
475BUILTIN(__builtin_msa_fexupl_w, "V4fV8h", "nc")
476BUILTIN(__builtin_msa_fexupl_d, "V2dV4f", "nc")
477
478BUILTIN(__builtin_msa_fexupr_w, "V4fV8h", "nc")
479BUILTIN(__builtin_msa_fexupr_d, "V2dV4f", "nc")
480
481BUILTIN(__builtin_msa_ffint_s_w, "V4fV4Si", "nc")
482BUILTIN(__builtin_msa_ffint_s_d, "V2dV2SLLi", "nc")
483
484BUILTIN(__builtin_msa_ffint_u_w, "V4fV4Ui", "nc")
485BUILTIN(__builtin_msa_ffint_u_d, "V2dV2ULLi", "nc")
486
487// ffql uses integers since long _Fract is not implemented
488BUILTIN(__builtin_msa_ffql_w, "V4fV8Ss", "nc")
489BUILTIN(__builtin_msa_ffql_d, "V2dV4Si", "nc")
490
491// ffqr uses integers since long _Fract is not implemented
492BUILTIN(__builtin_msa_ffqr_w, "V4fV8Ss", "nc")
493BUILTIN(__builtin_msa_ffqr_d, "V2dV4Si", "nc")
494
495BUILTIN(__builtin_msa_fill_b, "V16Sci", "nc")
496BUILTIN(__builtin_msa_fill_h, "V8Ssi", "nc")
497BUILTIN(__builtin_msa_fill_w, "V4Sii", "nc")
498BUILTIN(__builtin_msa_fill_d, "V2SLLiLLi", "nc")
499
500BUILTIN(__builtin_msa_flog2_w, "V4fV4f", "nc")
501BUILTIN(__builtin_msa_flog2_d, "V2dV2d", "nc")
502
503BUILTIN(__builtin_msa_fmadd_w, "V4fV4fV4fV4f", "nc")
504BUILTIN(__builtin_msa_fmadd_d, "V2dV2dV2dV2d", "nc")
505
506BUILTIN(__builtin_msa_fmax_w, "V4fV4fV4f", "nc")
507BUILTIN(__builtin_msa_fmax_d, "V2dV2dV2d", "nc")
508
509BUILTIN(__builtin_msa_fmax_a_w, "V4fV4fV4f", "nc")
510BUILTIN(__builtin_msa_fmax_a_d, "V2dV2dV2d", "nc")
511
512BUILTIN(__builtin_msa_fmin_w, "V4fV4fV4f", "nc")
513BUILTIN(__builtin_msa_fmin_d, "V2dV2dV2d", "nc")
514
515BUILTIN(__builtin_msa_fmin_a_w, "V4fV4fV4f", "nc")
516BUILTIN(__builtin_msa_fmin_a_d, "V2dV2dV2d", "nc")
517
518BUILTIN(__builtin_msa_fmsub_w, "V4fV4fV4fV4f", "nc")
519BUILTIN(__builtin_msa_fmsub_d, "V2dV2dV2dV2d", "nc")
520
521BUILTIN(__builtin_msa_fmul_w, "V4fV4fV4f", "nc")
522BUILTIN(__builtin_msa_fmul_d, "V2dV2dV2d", "nc")
523
524BUILTIN(__builtin_msa_frint_w, "V4fV4f", "nc")
525BUILTIN(__builtin_msa_frint_d, "V2dV2d", "nc")
526
527BUILTIN(__builtin_msa_frcp_w, "V4fV4f", "nc")
528BUILTIN(__builtin_msa_frcp_d, "V2dV2d", "nc")
529
530BUILTIN(__builtin_msa_frsqrt_w, "V4fV4f", "nc")
531BUILTIN(__builtin_msa_frsqrt_d, "V2dV2d", "nc")
532
533BUILTIN(__builtin_msa_fsaf_w, "V4iV4fV4f", "nc")
534BUILTIN(__builtin_msa_fsaf_d, "V2LLiV2dV2d", "nc")
535
536BUILTIN(__builtin_msa_fseq_w, "V4iV4fV4f", "nc")
537BUILTIN(__builtin_msa_fseq_d, "V2LLiV2dV2d", "nc")
538
539BUILTIN(__builtin_msa_fsle_w, "V4iV4fV4f", "nc")
540BUILTIN(__builtin_msa_fsle_d, "V2LLiV2dV2d", "nc")
541
542BUILTIN(__builtin_msa_fslt_w, "V4iV4fV4f", "nc")
543BUILTIN(__builtin_msa_fslt_d, "V2LLiV2dV2d", "nc")
544
545BUILTIN(__builtin_msa_fsne_w, "V4iV4fV4f", "nc")
546BUILTIN(__builtin_msa_fsne_d, "V2LLiV2dV2d", "nc")
547
548BUILTIN(__builtin_msa_fsor_w, "V4iV4fV4f", "nc")
549BUILTIN(__builtin_msa_fsor_d, "V2LLiV2dV2d", "nc")
550
551BUILTIN(__builtin_msa_fsqrt_w, "V4fV4f", "nc")
552BUILTIN(__builtin_msa_fsqrt_d, "V2dV2d", "nc")
553
554BUILTIN(__builtin_msa_fsub_w, "V4fV4fV4f", "nc")
555BUILTIN(__builtin_msa_fsub_d, "V2dV2dV2d", "nc")
556
557BUILTIN(__builtin_msa_fsueq_w, "V4iV4fV4f", "nc")
558BUILTIN(__builtin_msa_fsueq_d, "V2LLiV2dV2d", "nc")
559
560BUILTIN(__builtin_msa_fsule_w, "V4iV4fV4f", "nc")
561BUILTIN(__builtin_msa_fsule_d, "V2LLiV2dV2d", "nc")
562
563BUILTIN(__builtin_msa_fsult_w, "V4iV4fV4f", "nc")
564BUILTIN(__builtin_msa_fsult_d, "V2LLiV2dV2d", "nc")
565
566BUILTIN(__builtin_msa_fsun_w, "V4iV4fV4f", "nc")
567BUILTIN(__builtin_msa_fsun_d, "V2LLiV2dV2d", "nc")
568
569BUILTIN(__builtin_msa_fsune_w, "V4iV4fV4f", "nc")
570BUILTIN(__builtin_msa_fsune_d, "V2LLiV2dV2d", "nc")
571
572BUILTIN(__builtin_msa_ftint_s_w, "V4SiV4f", "nc")
573BUILTIN(__builtin_msa_ftint_s_d, "V2SLLiV2d", "nc")
574
575BUILTIN(__builtin_msa_ftint_u_w, "V4UiV4f", "nc")
576BUILTIN(__builtin_msa_ftint_u_d, "V2ULLiV2d", "nc")
577
578BUILTIN(__builtin_msa_ftq_h, "V4UiV4fV4f", "nc")
579BUILTIN(__builtin_msa_ftq_w, "V2ULLiV2dV2d", "nc")
580
581BUILTIN(__builtin_msa_ftrunc_s_w, "V4SiV4f", "nc")
582BUILTIN(__builtin_msa_ftrunc_s_d, "V2SLLiV2d", "nc")
583
584BUILTIN(__builtin_msa_ftrunc_u_w, "V4UiV4f", "nc")
585BUILTIN(__builtin_msa_ftrunc_u_d, "V2ULLiV2d", "nc")
586
587BUILTIN(__builtin_msa_hadd_s_h, "V8SsV16ScV16Sc", "nc")
588BUILTIN(__builtin_msa_hadd_s_w, "V4SiV8SsV8Ss", "nc")
589BUILTIN(__builtin_msa_hadd_s_d, "V2SLLiV4SiV4Si", "nc")
590
591BUILTIN(__builtin_msa_hadd_u_h, "V8UsV16UcV16Uc", "nc")
592BUILTIN(__builtin_msa_hadd_u_w, "V4UiV8UsV8Us", "nc")
593BUILTIN(__builtin_msa_hadd_u_d, "V2ULLiV4UiV4Ui", "nc")
594
595BUILTIN(__builtin_msa_hsub_s_h, "V8SsV16ScV16Sc", "nc")
596BUILTIN(__builtin_msa_hsub_s_w, "V4SiV8SsV8Ss", "nc")
597BUILTIN(__builtin_msa_hsub_s_d, "V2SLLiV4SiV4Si", "nc")
598
599BUILTIN(__builtin_msa_hsub_u_h, "V8UsV16UcV16Uc", "nc")
600BUILTIN(__builtin_msa_hsub_u_w, "V4UiV8UsV8Us", "nc")
601BUILTIN(__builtin_msa_hsub_u_d, "V2ULLiV4UiV4Ui", "nc")
602
603BUILTIN(__builtin_msa_ilvev_b, "V16cV16cV16c", "nc")
604BUILTIN(__builtin_msa_ilvev_h, "V8sV8sV8s", "nc")
605BUILTIN(__builtin_msa_ilvev_w, "V4iV4iV4i", "nc")
606BUILTIN(__builtin_msa_ilvev_d, "V2LLiV2LLiV2LLi", "nc")
607
608BUILTIN(__builtin_msa_ilvl_b, "V16cV16cV16c", "nc")
609BUILTIN(__builtin_msa_ilvl_h, "V8sV8sV8s", "nc")
610BUILTIN(__builtin_msa_ilvl_w, "V4iV4iV4i", "nc")
611BUILTIN(__builtin_msa_ilvl_d, "V2LLiV2LLiV2LLi", "nc")
612
613BUILTIN(__builtin_msa_ilvod_b, "V16cV16cV16c", "nc")
614BUILTIN(__builtin_msa_ilvod_h, "V8sV8sV8s", "nc")
615BUILTIN(__builtin_msa_ilvod_w, "V4iV4iV4i", "nc")
616BUILTIN(__builtin_msa_ilvod_d, "V2LLiV2LLiV2LLi", "nc")
617
618BUILTIN(__builtin_msa_ilvr_b, "V16cV16cV16c", "nc")
619BUILTIN(__builtin_msa_ilvr_h, "V8sV8sV8s", "nc")
620BUILTIN(__builtin_msa_ilvr_w, "V4iV4iV4i", "nc")
621BUILTIN(__builtin_msa_ilvr_d, "V2LLiV2LLiV2LLi", "nc")
622
623BUILTIN(__builtin_msa_insert_b, "V16ScV16ScIUii", "nc")
624BUILTIN(__builtin_msa_insert_h, "V8SsV8SsIUii", "nc")
625BUILTIN(__builtin_msa_insert_w, "V4SiV4SiIUii", "nc")
626BUILTIN(__builtin_msa_insert_d, "V2SLLiV2SLLiIUiLLi", "nc")
627
628BUILTIN(__builtin_msa_insve_b, "V16ScV16ScIUiV16Sc", "nc")
629BUILTIN(__builtin_msa_insve_h, "V8SsV8SsIUiV8Ss", "nc")
630BUILTIN(__builtin_msa_insve_w, "V4SiV4SiIUiV4Si", "nc")
631BUILTIN(__builtin_msa_insve_d, "V2SLLiV2SLLiIUiV2SLLi", "nc")
632
633BUILTIN(__builtin_msa_ld_b, "V16Scv*Ii", "nc")
634BUILTIN(__builtin_msa_ld_h, "V8Ssv*Ii", "nc")
635BUILTIN(__builtin_msa_ld_w, "V4Siv*Ii", "nc")
636BUILTIN(__builtin_msa_ld_d, "V2SLLiv*Ii", "nc")
637
638BUILTIN(__builtin_msa_ldr_d, "V2SLLiv*Ii", "nc")
639BUILTIN(__builtin_msa_ldr_w, "V4Siv*Ii", "nc")
640
641BUILTIN(__builtin_msa_ldi_b, "V16cIi", "nc")
642BUILTIN(__builtin_msa_ldi_h, "V8sIi", "nc")
643BUILTIN(__builtin_msa_ldi_w, "V4iIi", "nc")
644BUILTIN(__builtin_msa_ldi_d, "V2LLiIi", "nc")
645
646BUILTIN(__builtin_msa_madd_q_h, "V8SsV8SsV8SsV8Ss", "nc")
647BUILTIN(__builtin_msa_madd_q_w, "V4SiV4SiV4SiV4Si", "nc")
648
649BUILTIN(__builtin_msa_maddr_q_h, "V8SsV8SsV8SsV8Ss", "nc")
650BUILTIN(__builtin_msa_maddr_q_w, "V4SiV4SiV4SiV4Si", "nc")
651
652BUILTIN(__builtin_msa_maddv_b, "V16ScV16ScV16ScV16Sc", "nc")
653BUILTIN(__builtin_msa_maddv_h, "V8SsV8SsV8SsV8Ss", "nc")
654BUILTIN(__builtin_msa_maddv_w, "V4SiV4SiV4SiV4Si", "nc")
655BUILTIN(__builtin_msa_maddv_d, "V2SLLiV2SLLiV2SLLiV2SLLi", "nc")
656
657BUILTIN(__builtin_msa_max_a_b, "V16ScV16ScV16Sc", "nc")
658BUILTIN(__builtin_msa_max_a_h, "V8SsV8SsV8Ss", "nc")
659BUILTIN(__builtin_msa_max_a_w, "V4SiV4SiV4Si", "nc")
660BUILTIN(__builtin_msa_max_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
661
662BUILTIN(__builtin_msa_max_s_b, "V16ScV16ScV16Sc", "nc")
663BUILTIN(__builtin_msa_max_s_h, "V8SsV8SsV8Ss", "nc")
664BUILTIN(__builtin_msa_max_s_w, "V4SiV4SiV4Si", "nc")
665BUILTIN(__builtin_msa_max_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
666
667BUILTIN(__builtin_msa_max_u_b, "V16UcV16UcV16Uc", "nc")
668BUILTIN(__builtin_msa_max_u_h, "V8UsV8UsV8Us", "nc")
669BUILTIN(__builtin_msa_max_u_w, "V4UiV4UiV4Ui", "nc")
670BUILTIN(__builtin_msa_max_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
671
672BUILTIN(__builtin_msa_maxi_s_b, "V16ScV16ScIi", "nc")
673BUILTIN(__builtin_msa_maxi_s_h, "V8SsV8SsIi", "nc")
674BUILTIN(__builtin_msa_maxi_s_w, "V4SiV4SiIi", "nc")
675BUILTIN(__builtin_msa_maxi_s_d, "V2SLLiV2SLLiIi", "nc")
676
677BUILTIN(__builtin_msa_maxi_u_b, "V16UcV16UcIi", "nc")
678BUILTIN(__builtin_msa_maxi_u_h, "V8UsV8UsIi", "nc")
679BUILTIN(__builtin_msa_maxi_u_w, "V4UiV4UiIi", "nc")
680BUILTIN(__builtin_msa_maxi_u_d, "V2ULLiV2ULLiIi", "nc")
681
682BUILTIN(__builtin_msa_min_a_b, "V16ScV16ScV16Sc", "nc")
683BUILTIN(__builtin_msa_min_a_h, "V8SsV8SsV8Ss", "nc")
684BUILTIN(__builtin_msa_min_a_w, "V4SiV4SiV4Si", "nc")
685BUILTIN(__builtin_msa_min_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
686
687BUILTIN(__builtin_msa_min_s_b, "V16ScV16ScV16Sc", "nc")
688BUILTIN(__builtin_msa_min_s_h, "V8SsV8SsV8Ss", "nc")
689BUILTIN(__builtin_msa_min_s_w, "V4SiV4SiV4Si", "nc")
690BUILTIN(__builtin_msa_min_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
691
692BUILTIN(__builtin_msa_min_u_b, "V16UcV16UcV16Uc", "nc")
693BUILTIN(__builtin_msa_min_u_h, "V8UsV8UsV8Us", "nc")
694BUILTIN(__builtin_msa_min_u_w, "V4UiV4UiV4Ui", "nc")
695BUILTIN(__builtin_msa_min_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
696
697BUILTIN(__builtin_msa_mini_s_b, "V16ScV16ScIi", "nc")
698BUILTIN(__builtin_msa_mini_s_h, "V8SsV8SsIi", "nc")
699BUILTIN(__builtin_msa_mini_s_w, "V4SiV4SiIi", "nc")
700BUILTIN(__builtin_msa_mini_s_d, "V2SLLiV2SLLiIi", "nc")
701
702BUILTIN(__builtin_msa_mini_u_b, "V16UcV16UcIi", "nc")
703BUILTIN(__builtin_msa_mini_u_h, "V8UsV8UsIi", "nc")
704BUILTIN(__builtin_msa_mini_u_w, "V4UiV4UiIi", "nc")
705BUILTIN(__builtin_msa_mini_u_d, "V2ULLiV2ULLiIi", "nc")
706
707BUILTIN(__builtin_msa_mod_s_b, "V16ScV16ScV16Sc", "nc")
708BUILTIN(__builtin_msa_mod_s_h, "V8SsV8SsV8Ss", "nc")
709BUILTIN(__builtin_msa_mod_s_w, "V4SiV4SiV4Si", "nc")
710BUILTIN(__builtin_msa_mod_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
711
712BUILTIN(__builtin_msa_mod_u_b, "V16UcV16UcV16Uc", "nc")
713BUILTIN(__builtin_msa_mod_u_h, "V8UsV8UsV8Us", "nc")
714BUILTIN(__builtin_msa_mod_u_w, "V4UiV4UiV4Ui", "nc")
715BUILTIN(__builtin_msa_mod_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
716
717BUILTIN(__builtin_msa_move_v, "V16ScV16Sc", "nc")
718
719BUILTIN(__builtin_msa_msub_q_h, "V8SsV8SsV8SsV8Ss", "nc")
720BUILTIN(__builtin_msa_msub_q_w, "V4SiV4SiV4SiV4Si", "nc")
721
722BUILTIN(__builtin_msa_msubr_q_h, "V8SsV8SsV8SsV8Ss", "nc")
723BUILTIN(__builtin_msa_msubr_q_w, "V4SiV4SiV4SiV4Si", "nc")
724
725BUILTIN(__builtin_msa_msubv_b, "V16ScV16ScV16ScV16Sc", "nc")
726BUILTIN(__builtin_msa_msubv_h, "V8SsV8SsV8SsV8Ss", "nc")
727BUILTIN(__builtin_msa_msubv_w, "V4SiV4SiV4SiV4Si", "nc")
728BUILTIN(__builtin_msa_msubv_d, "V2SLLiV2SLLiV2SLLiV2SLLi", "nc")
729
730BUILTIN(__builtin_msa_mul_q_h, "V8SsV8SsV8Ss", "nc")
731BUILTIN(__builtin_msa_mul_q_w, "V4SiV4SiV4Si", "nc")
732
733BUILTIN(__builtin_msa_mulr_q_h, "V8SsV8SsV8Ss", "nc")
734BUILTIN(__builtin_msa_mulr_q_w, "V4SiV4SiV4Si", "nc")
735
736BUILTIN(__builtin_msa_mulv_b, "V16ScV16ScV16Sc", "nc")
737BUILTIN(__builtin_msa_mulv_h, "V8SsV8SsV8Ss", "nc")
738BUILTIN(__builtin_msa_mulv_w, "V4SiV4SiV4Si", "nc")
739BUILTIN(__builtin_msa_mulv_d, "V2SLLiV2SLLiV2SLLi", "nc")
740
741BUILTIN(__builtin_msa_nloc_b, "V16ScV16Sc", "nc")
742BUILTIN(__builtin_msa_nloc_h, "V8SsV8Ss", "nc")
743BUILTIN(__builtin_msa_nloc_w, "V4SiV4Si", "nc")
744BUILTIN(__builtin_msa_nloc_d, "V2SLLiV2SLLi", "nc")
745
746BUILTIN(__builtin_msa_nlzc_b, "V16ScV16Sc", "nc")
747BUILTIN(__builtin_msa_nlzc_h, "V8SsV8Ss", "nc")
748BUILTIN(__builtin_msa_nlzc_w, "V4SiV4Si", "nc")
749BUILTIN(__builtin_msa_nlzc_d, "V2SLLiV2SLLi", "nc")
750
751BUILTIN(__builtin_msa_nor_v, "V16UcV16UcV16Uc", "nc")
752
753BUILTIN(__builtin_msa_nori_b, "V16UcV16cIUi", "nc")
754
755BUILTIN(__builtin_msa_or_v, "V16UcV16UcV16Uc", "nc")
756
757BUILTIN(__builtin_msa_ori_b, "V16UcV16UcIUi", "nc")
758
759BUILTIN(__builtin_msa_pckev_b, "V16cV16cV16c", "nc")
760BUILTIN(__builtin_msa_pckev_h, "V8sV8sV8s", "nc")
761BUILTIN(__builtin_msa_pckev_w, "V4iV4iV4i", "nc")
762BUILTIN(__builtin_msa_pckev_d, "V2LLiV2LLiV2LLi", "nc")
763
764BUILTIN(__builtin_msa_pckod_b, "V16cV16cV16c", "nc")
765BUILTIN(__builtin_msa_pckod_h, "V8sV8sV8s", "nc")
766BUILTIN(__builtin_msa_pckod_w, "V4iV4iV4i", "nc")
767BUILTIN(__builtin_msa_pckod_d, "V2LLiV2LLiV2LLi", "nc")
768
769BUILTIN(__builtin_msa_pcnt_b, "V16ScV16Sc", "nc")
770BUILTIN(__builtin_msa_pcnt_h, "V8SsV8Ss", "nc")
771BUILTIN(__builtin_msa_pcnt_w, "V4SiV4Si", "nc")
772BUILTIN(__builtin_msa_pcnt_d, "V2SLLiV2SLLi", "nc")
773
774BUILTIN(__builtin_msa_sat_s_b, "V16ScV16ScIUi", "nc")
775BUILTIN(__builtin_msa_sat_s_h, "V8SsV8SsIUi", "nc")
776BUILTIN(__builtin_msa_sat_s_w, "V4SiV4SiIUi", "nc")
777BUILTIN(__builtin_msa_sat_s_d, "V2SLLiV2SLLiIUi", "nc")
778
779BUILTIN(__builtin_msa_sat_u_b, "V16UcV16UcIUi", "nc")
780BUILTIN(__builtin_msa_sat_u_h, "V8UsV8UsIUi", "nc")
781BUILTIN(__builtin_msa_sat_u_w, "V4UiV4UiIUi", "nc")
782BUILTIN(__builtin_msa_sat_u_d, "V2ULLiV2ULLiIUi", "nc")
783
784BUILTIN(__builtin_msa_shf_b, "V16cV16cIUi", "nc")
785BUILTIN(__builtin_msa_shf_h, "V8sV8sIUi", "nc")
786BUILTIN(__builtin_msa_shf_w, "V4iV4iIUi", "nc")
787
788BUILTIN(__builtin_msa_sld_b, "V16cV16cV16cUi", "nc")
789BUILTIN(__builtin_msa_sld_h, "V8sV8sV8sUi", "nc")
790BUILTIN(__builtin_msa_sld_w, "V4iV4iV4iUi", "nc")
791BUILTIN(__builtin_msa_sld_d, "V2LLiV2LLiV2LLiUi", "nc")
792
793BUILTIN(__builtin_msa_sldi_b, "V16cV16cV16cIUi", "nc")
794BUILTIN(__builtin_msa_sldi_h, "V8sV8sV8sIUi", "nc")
795BUILTIN(__builtin_msa_sldi_w, "V4iV4iV4iIUi", "nc")
796BUILTIN(__builtin_msa_sldi_d, "V2LLiV2LLiV2LLiIUi", "nc")
797
798BUILTIN(__builtin_msa_sll_b, "V16cV16cV16c", "nc")
799BUILTIN(__builtin_msa_sll_h, "V8sV8sV8s", "nc")
800BUILTIN(__builtin_msa_sll_w, "V4iV4iV4i", "nc")
801BUILTIN(__builtin_msa_sll_d, "V2LLiV2LLiV2LLi", "nc")
802
803BUILTIN(__builtin_msa_slli_b, "V16cV16cIUi", "nc")
804BUILTIN(__builtin_msa_slli_h, "V8sV8sIUi", "nc")
805BUILTIN(__builtin_msa_slli_w, "V4iV4iIUi", "nc")
806BUILTIN(__builtin_msa_slli_d, "V2LLiV2LLiIUi", "nc")
807
808BUILTIN(__builtin_msa_splat_b, "V16cV16cUi", "nc")
809BUILTIN(__builtin_msa_splat_h, "V8sV8sUi", "nc")
810BUILTIN(__builtin_msa_splat_w, "V4iV4iUi", "nc")
811BUILTIN(__builtin_msa_splat_d, "V2LLiV2LLiUi", "nc")
812
813BUILTIN(__builtin_msa_splati_b, "V16cV16cIUi", "nc")
814BUILTIN(__builtin_msa_splati_h, "V8sV8sIUi", "nc")
815BUILTIN(__builtin_msa_splati_w, "V4iV4iIUi", "nc")
816BUILTIN(__builtin_msa_splati_d, "V2LLiV2LLiIUi", "nc")
817
818BUILTIN(__builtin_msa_sra_b, "V16cV16cV16c", "nc")
819BUILTIN(__builtin_msa_sra_h, "V8sV8sV8s", "nc")
820BUILTIN(__builtin_msa_sra_w, "V4iV4iV4i", "nc")
821BUILTIN(__builtin_msa_sra_d, "V2LLiV2LLiV2LLi", "nc")
822
823BUILTIN(__builtin_msa_srai_b, "V16cV16cIUi", "nc")
824BUILTIN(__builtin_msa_srai_h, "V8sV8sIUi", "nc")
825BUILTIN(__builtin_msa_srai_w, "V4iV4iIUi", "nc")
826BUILTIN(__builtin_msa_srai_d, "V2LLiV2LLiIUi", "nc")
827
828BUILTIN(__builtin_msa_srar_b, "V16cV16cV16c", "nc")
829BUILTIN(__builtin_msa_srar_h, "V8sV8sV8s", "nc")
830BUILTIN(__builtin_msa_srar_w, "V4iV4iV4i", "nc")
831BUILTIN(__builtin_msa_srar_d, "V2LLiV2LLiV2LLi", "nc")
832
833BUILTIN(__builtin_msa_srari_b, "V16cV16cIUi", "nc")
834BUILTIN(__builtin_msa_srari_h, "V8sV8sIUi", "nc")
835BUILTIN(__builtin_msa_srari_w, "V4iV4iIUi", "nc")
836BUILTIN(__builtin_msa_srari_d, "V2LLiV2LLiIUi", "nc")
837
838BUILTIN(__builtin_msa_srl_b, "V16cV16cV16c", "nc")
839BUILTIN(__builtin_msa_srl_h, "V8sV8sV8s", "nc")
840BUILTIN(__builtin_msa_srl_w, "V4iV4iV4i", "nc")
841BUILTIN(__builtin_msa_srl_d, "V2LLiV2LLiV2LLi", "nc")
842
843BUILTIN(__builtin_msa_srli_b, "V16cV16cIUi", "nc")
844BUILTIN(__builtin_msa_srli_h, "V8sV8sIUi", "nc")
845BUILTIN(__builtin_msa_srli_w, "V4iV4iIUi", "nc")
846BUILTIN(__builtin_msa_srli_d, "V2LLiV2LLiIUi", "nc")
847
848BUILTIN(__builtin_msa_srlr_b, "V16cV16cV16c", "nc")
849BUILTIN(__builtin_msa_srlr_h, "V8sV8sV8s", "nc")
850BUILTIN(__builtin_msa_srlr_w, "V4iV4iV4i", "nc")
851BUILTIN(__builtin_msa_srlr_d, "V2LLiV2LLiV2LLi", "nc")
852
853BUILTIN(__builtin_msa_srlri_b, "V16cV16cIUi", "nc")
854BUILTIN(__builtin_msa_srlri_h, "V8sV8sIUi", "nc")
855BUILTIN(__builtin_msa_srlri_w, "V4iV4iIUi", "nc")
856BUILTIN(__builtin_msa_srlri_d, "V2LLiV2LLiIUi", "nc")
857
858BUILTIN(__builtin_msa_st_b, "vV16Scv*Ii", "nc")
859BUILTIN(__builtin_msa_st_h, "vV8Ssv*Ii", "nc")
860BUILTIN(__builtin_msa_st_w, "vV4Siv*Ii", "nc")
861BUILTIN(__builtin_msa_st_d, "vV2SLLiv*Ii", "nc")
862
863BUILTIN(__builtin_msa_str_d, "vV2SLLiv*Ii", "nc")
864BUILTIN(__builtin_msa_str_w, "vV4Siv*Ii", "nc")
865
866BUILTIN(__builtin_msa_subs_s_b, "V16ScV16ScV16Sc", "nc")
867BUILTIN(__builtin_msa_subs_s_h, "V8SsV8SsV8Ss", "nc")
868BUILTIN(__builtin_msa_subs_s_w, "V4SiV4SiV4Si", "nc")
869BUILTIN(__builtin_msa_subs_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
870
871BUILTIN(__builtin_msa_subs_u_b, "V16UcV16UcV16Uc", "nc")
872BUILTIN(__builtin_msa_subs_u_h, "V8UsV8UsV8Us", "nc")
873BUILTIN(__builtin_msa_subs_u_w, "V4UiV4UiV4Ui", "nc")
874BUILTIN(__builtin_msa_subs_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
875
876BUILTIN(__builtin_msa_subsus_u_b, "V16UcV16UcV16Sc", "nc")
877BUILTIN(__builtin_msa_subsus_u_h, "V8UsV8UsV8Ss", "nc")
878BUILTIN(__builtin_msa_subsus_u_w, "V4UiV4UiV4Si", "nc")
879BUILTIN(__builtin_msa_subsus_u_d, "V2ULLiV2ULLiV2SLLi", "nc")
880
881BUILTIN(__builtin_msa_subsuu_s_b, "V16ScV16UcV16Uc", "nc")
882BUILTIN(__builtin_msa_subsuu_s_h, "V8SsV8UsV8Us", "nc")
883BUILTIN(__builtin_msa_subsuu_s_w, "V4SiV4UiV4Ui", "nc")
884BUILTIN(__builtin_msa_subsuu_s_d, "V2SLLiV2ULLiV2ULLi", "nc")
885
886BUILTIN(__builtin_msa_subv_b, "V16cV16cV16c", "nc")
887BUILTIN(__builtin_msa_subv_h, "V8sV8sV8s", "nc")
888BUILTIN(__builtin_msa_subv_w, "V4iV4iV4i", "nc")
889BUILTIN(__builtin_msa_subv_d, "V2LLiV2LLiV2LLi", "nc")
890
891BUILTIN(__builtin_msa_subvi_b, "V16cV16cIUi", "nc")
892BUILTIN(__builtin_msa_subvi_h, "V8sV8sIUi", "nc")
893BUILTIN(__builtin_msa_subvi_w, "V4iV4iIUi", "nc")
894BUILTIN(__builtin_msa_subvi_d, "V2LLiV2LLiIUi", "nc")
895
896BUILTIN(__builtin_msa_vshf_b, "V16cV16cV16cV16c", "nc")
897BUILTIN(__builtin_msa_vshf_h, "V8sV8sV8sV8s", "nc")
898BUILTIN(__builtin_msa_vshf_w, "V4iV4iV4iV4i", "nc")
899BUILTIN(__builtin_msa_vshf_d, "V2LLiV2LLiV2LLiV2LLi", "nc")
900
901BUILTIN(__builtin_msa_xor_v, "V16cV16cV16c", "nc")
902
903BUILTIN(__builtin_msa_xori_b, "V16cV16cIUi", "nc")
904
905#undef BUILTIN
906

source code of clang/include/clang/Basic/BuiltinsMips.def