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