1239313Sdim//===-- BuiltinsMips.def - Mips Builtin function database --------*- C++ -*-==//
2239313Sdim//
3239313Sdim//                     The LLVM Compiler Infrastructure
4239313Sdim//
5239313Sdim// This file is distributed under the University of Illinois Open Source
6239313Sdim// License. See LICENSE.TXT for details.
7239313Sdim//
8239313Sdim//===----------------------------------------------------------------------===//
9239313Sdim//
10239313Sdim// This file defines the MIPS-specific builtin function database. Users of
11239313Sdim// this file must define the BUILTIN macro to make use of this information.
12239313Sdim//
13239313Sdim//===----------------------------------------------------------------------===//
14239313Sdim
15239313Sdim// The format of this database matches clang/Basic/Builtins.def.
16239313Sdim
17245431Sdim// MIPS DSP Rev 1
18245431Sdim
19239313Sdim// Add/subtract with optional saturation
20239313SdimBUILTIN(__builtin_mips_addu_qb, "V4ScV4ScV4Sc", "n")
21239313SdimBUILTIN(__builtin_mips_addu_s_qb, "V4ScV4ScV4Sc", "n")
22239313SdimBUILTIN(__builtin_mips_subu_qb, "V4ScV4ScV4Sc", "n")
23239313SdimBUILTIN(__builtin_mips_subu_s_qb, "V4ScV4ScV4Sc", "n")
24239313Sdim
25239313SdimBUILTIN(__builtin_mips_addq_ph, "V2sV2sV2s", "n")
26239313SdimBUILTIN(__builtin_mips_addq_s_ph, "V2sV2sV2s", "n")
27239313SdimBUILTIN(__builtin_mips_subq_ph, "V2sV2sV2s", "n")
28239313SdimBUILTIN(__builtin_mips_subq_s_ph, "V2sV2sV2s", "n")
29239313Sdim
30239313SdimBUILTIN(__builtin_mips_madd, "LLiLLiii", "nc")
31239313SdimBUILTIN(__builtin_mips_maddu, "LLiLLiUiUi", "nc")
32239313SdimBUILTIN(__builtin_mips_msub, "LLiLLiii", "nc")
33239313SdimBUILTIN(__builtin_mips_msubu, "LLiLLiUiUi", "nc")
34239313Sdim
35239313SdimBUILTIN(__builtin_mips_addq_s_w, "iii", "n")
36239313SdimBUILTIN(__builtin_mips_subq_s_w, "iii", "n")
37239313Sdim
38239313SdimBUILTIN(__builtin_mips_addsc, "iii", "n")
39239313SdimBUILTIN(__builtin_mips_addwc, "iii", "n")
40239313Sdim
41239313SdimBUILTIN(__builtin_mips_modsub, "iii", "nc")
42239313Sdim
43239313SdimBUILTIN(__builtin_mips_raddu_w_qb, "iV4Sc", "nc")
44239313Sdim
45239313SdimBUILTIN(__builtin_mips_absq_s_ph, "V2sV2s", "n")
46239313SdimBUILTIN(__builtin_mips_absq_s_w, "ii", "n")
47239313Sdim
48239313SdimBUILTIN(__builtin_mips_precrq_qb_ph, "V4ScV2sV2s", "nc")
49239313SdimBUILTIN(__builtin_mips_precrqu_s_qb_ph, "V4ScV2sV2s", "n")
50239313SdimBUILTIN(__builtin_mips_precrq_ph_w, "V2sii", "nc")
51239313SdimBUILTIN(__builtin_mips_precrq_rs_ph_w, "V2sii", "n")
52239313SdimBUILTIN(__builtin_mips_preceq_w_phl, "iV2s", "nc")
53239313SdimBUILTIN(__builtin_mips_preceq_w_phr, "iV2s", "nc")
54239313SdimBUILTIN(__builtin_mips_precequ_ph_qbl, "V2sV4Sc", "nc")
55239313SdimBUILTIN(__builtin_mips_precequ_ph_qbr, "V2sV4Sc", "nc")
56239313SdimBUILTIN(__builtin_mips_precequ_ph_qbla, "V2sV4Sc", "nc")
57239313SdimBUILTIN(__builtin_mips_precequ_ph_qbra, "V2sV4Sc", "nc")
58239313SdimBUILTIN(__builtin_mips_preceu_ph_qbl, "V2sV4Sc", "nc")
59239313SdimBUILTIN(__builtin_mips_preceu_ph_qbr, "V2sV4Sc", "nc")
60239313SdimBUILTIN(__builtin_mips_preceu_ph_qbla, "V2sV4Sc", "nc")
61239313SdimBUILTIN(__builtin_mips_preceu_ph_qbra, "V2sV4Sc", "nc")
62239313Sdim
63239313SdimBUILTIN(__builtin_mips_shll_qb, "V4ScV4Sci", "n")
64239313SdimBUILTIN(__builtin_mips_shrl_qb, "V4ScV4Sci", "nc")
65239313SdimBUILTIN(__builtin_mips_shll_ph, "V2sV2si", "n")
66239313SdimBUILTIN(__builtin_mips_shll_s_ph, "V2sV2si", "n")
67239313SdimBUILTIN(__builtin_mips_shra_ph, "V2sV2si", "nc")
68239313SdimBUILTIN(__builtin_mips_shra_r_ph, "V2sV2si", "nc")
69239313SdimBUILTIN(__builtin_mips_shll_s_w, "iii", "n")
70239313SdimBUILTIN(__builtin_mips_shra_r_w, "iii", "nc")
71239313SdimBUILTIN(__builtin_mips_shilo, "LLiLLii", "nc")
72239313Sdim
73239313SdimBUILTIN(__builtin_mips_muleu_s_ph_qbl, "V2sV4ScV2s", "n")
74239313SdimBUILTIN(__builtin_mips_muleu_s_ph_qbr, "V2sV4ScV2s", "n")
75239313SdimBUILTIN(__builtin_mips_mulq_rs_ph, "V2sV2sV2s", "n")
76239313SdimBUILTIN(__builtin_mips_muleq_s_w_phl, "iV2sV2s", "n")
77239313SdimBUILTIN(__builtin_mips_muleq_s_w_phr, "iV2sV2s", "n")
78239313SdimBUILTIN(__builtin_mips_mulsaq_s_w_ph, "LLiLLiV2sV2s", "n")
79239313SdimBUILTIN(__builtin_mips_maq_s_w_phl, "LLiLLiV2sV2s", "n")
80239313SdimBUILTIN(__builtin_mips_maq_s_w_phr, "LLiLLiV2sV2s", "n")
81239313SdimBUILTIN(__builtin_mips_maq_sa_w_phl, "LLiLLiV2sV2s", "n")
82239313SdimBUILTIN(__builtin_mips_maq_sa_w_phr, "LLiLLiV2sV2s", "n")
83239313SdimBUILTIN(__builtin_mips_mult, "LLiii", "nc")
84239313SdimBUILTIN(__builtin_mips_multu, "LLiUiUi", "nc")
85239313Sdim
86239313SdimBUILTIN(__builtin_mips_dpau_h_qbl, "LLiLLiV4ScV4Sc", "nc")
87239313SdimBUILTIN(__builtin_mips_dpau_h_qbr, "LLiLLiV4ScV4Sc", "nc")
88239313SdimBUILTIN(__builtin_mips_dpsu_h_qbl, "LLiLLiV4ScV4Sc", "nc")
89239313SdimBUILTIN(__builtin_mips_dpsu_h_qbr, "LLiLLiV4ScV4Sc", "nc")
90239313SdimBUILTIN(__builtin_mips_dpaq_s_w_ph, "LLiLLiV2sV2s", "n")
91239313SdimBUILTIN(__builtin_mips_dpsq_s_w_ph, "LLiLLiV2sV2s", "n")
92239313SdimBUILTIN(__builtin_mips_dpaq_sa_l_w, "LLiLLiii", "n")
93239313SdimBUILTIN(__builtin_mips_dpsq_sa_l_w, "LLiLLiii", "n")
94239313Sdim
95239313SdimBUILTIN(__builtin_mips_cmpu_eq_qb, "vV4ScV4Sc", "n")
96239313SdimBUILTIN(__builtin_mips_cmpu_lt_qb, "vV4ScV4Sc", "n")
97239313SdimBUILTIN(__builtin_mips_cmpu_le_qb, "vV4ScV4Sc", "n")
98239313SdimBUILTIN(__builtin_mips_cmpgu_eq_qb, "iV4ScV4Sc", "n")
99239313SdimBUILTIN(__builtin_mips_cmpgu_lt_qb, "iV4ScV4Sc", "n")
100239313SdimBUILTIN(__builtin_mips_cmpgu_le_qb, "iV4ScV4Sc", "n")
101239313SdimBUILTIN(__builtin_mips_cmp_eq_ph, "vV2sV2s", "n")
102239313SdimBUILTIN(__builtin_mips_cmp_lt_ph, "vV2sV2s", "n")
103239313SdimBUILTIN(__builtin_mips_cmp_le_ph, "vV2sV2s", "n")
104239313Sdim
105239313SdimBUILTIN(__builtin_mips_extr_s_h, "iLLii", "n")
106239313SdimBUILTIN(__builtin_mips_extr_w, "iLLii", "n")
107239313SdimBUILTIN(__builtin_mips_extr_rs_w, "iLLii", "n")
108239313SdimBUILTIN(__builtin_mips_extr_r_w, "iLLii", "n")
109239313SdimBUILTIN(__builtin_mips_extp, "iLLii", "n")
110239313SdimBUILTIN(__builtin_mips_extpdp, "iLLii", "n")
111239313Sdim
112239313SdimBUILTIN(__builtin_mips_wrdsp, "viIi", "n")
113239313SdimBUILTIN(__builtin_mips_rddsp, "iIi", "n")
114239313SdimBUILTIN(__builtin_mips_insv, "iii", "n")
115239313SdimBUILTIN(__builtin_mips_bitrev, "ii", "nc")
116239313SdimBUILTIN(__builtin_mips_packrl_ph, "V2sV2sV2s", "nc")
117239313SdimBUILTIN(__builtin_mips_repl_qb, "V4Sci", "nc")
118239313SdimBUILTIN(__builtin_mips_repl_ph, "V2si", "nc")
119239313SdimBUILTIN(__builtin_mips_pick_qb, "V4ScV4ScV4Sc", "n")
120239313SdimBUILTIN(__builtin_mips_pick_ph, "V2sV2sV2s", "n")
121239313SdimBUILTIN(__builtin_mips_mthlip, "LLiLLii", "n")
122239313SdimBUILTIN(__builtin_mips_bposge32, "i", "n")
123239313SdimBUILTIN(__builtin_mips_lbux, "iv*i", "n")
124239313SdimBUILTIN(__builtin_mips_lhx, "iv*i", "n")
125239313SdimBUILTIN(__builtin_mips_lwx, "iv*i", "n")
126239313Sdim
127245431Sdim// MIPS DSP Rev 2
128245431Sdim
129245431SdimBUILTIN(__builtin_mips_absq_s_qb, "V4ScV4Sc", "n")
130245431Sdim
131245431SdimBUILTIN(__builtin_mips_addqh_ph, "V2sV2sV2s", "nc")
132245431SdimBUILTIN(__builtin_mips_addqh_r_ph, "V2sV2sV2s", "nc")
133245431SdimBUILTIN(__builtin_mips_addqh_w, "iii", "nc")
134245431SdimBUILTIN(__builtin_mips_addqh_r_w, "iii", "nc")
135245431Sdim
136245431SdimBUILTIN(__builtin_mips_addu_ph, "V2sV2sV2s", "n")
137245431SdimBUILTIN(__builtin_mips_addu_s_ph, "V2sV2sV2s", "n")
138245431Sdim
139245431SdimBUILTIN(__builtin_mips_adduh_qb, "V4ScV4ScV4Sc", "nc")
140245431SdimBUILTIN(__builtin_mips_adduh_r_qb, "V4ScV4ScV4Sc", "nc")
141245431Sdim
142245431SdimBUILTIN(__builtin_mips_append, "iiiIi", "nc")
143245431SdimBUILTIN(__builtin_mips_balign, "iiiIi", "nc")
144245431Sdim
145245431SdimBUILTIN(__builtin_mips_cmpgdu_eq_qb, "iV4ScV4Sc", "n")
146245431SdimBUILTIN(__builtin_mips_cmpgdu_lt_qb, "iV4ScV4Sc", "n")
147245431SdimBUILTIN(__builtin_mips_cmpgdu_le_qb, "iV4ScV4Sc", "n")
148245431Sdim
149245431SdimBUILTIN(__builtin_mips_dpa_w_ph, "LLiLLiV2sV2s", "nc")
150245431SdimBUILTIN(__builtin_mips_dps_w_ph, "LLiLLiV2sV2s", "nc")
151245431Sdim
152245431SdimBUILTIN(__builtin_mips_dpaqx_s_w_ph, "LLiLLiV2sV2s", "n")
153245431SdimBUILTIN(__builtin_mips_dpaqx_sa_w_ph, "LLiLLiV2sV2s", "n")
154245431SdimBUILTIN(__builtin_mips_dpax_w_ph, "LLiLLiV2sV2s", "nc")
155245431SdimBUILTIN(__builtin_mips_dpsx_w_ph, "LLiLLiV2sV2s", "nc")
156245431SdimBUILTIN(__builtin_mips_dpsqx_s_w_ph, "LLiLLiV2sV2s", "n")
157245431SdimBUILTIN(__builtin_mips_dpsqx_sa_w_ph, "LLiLLiV2sV2s", "n")
158245431Sdim
159245431SdimBUILTIN(__builtin_mips_mul_ph, "V2sV2sV2s", "n")
160245431SdimBUILTIN(__builtin_mips_mul_s_ph, "V2sV2sV2s", "n")
161245431Sdim
162245431SdimBUILTIN(__builtin_mips_mulq_rs_w, "iii", "n")
163245431SdimBUILTIN(__builtin_mips_mulq_s_ph, "V2sV2sV2s", "n")
164245431SdimBUILTIN(__builtin_mips_mulq_s_w, "iii", "n")
165245431SdimBUILTIN(__builtin_mips_mulsa_w_ph, "LLiLLiV2sV2s", "nc")
166245431Sdim
167245431SdimBUILTIN(__builtin_mips_precr_qb_ph, "V4ScV2sV2s", "n")
168245431SdimBUILTIN(__builtin_mips_precr_sra_ph_w, "V2siiIi", "nc")
169245431SdimBUILTIN(__builtin_mips_precr_sra_r_ph_w, "V2siiIi", "nc")
170245431Sdim
171245431SdimBUILTIN(__builtin_mips_prepend, "iiiIi", "nc")
172245431Sdim
173245431SdimBUILTIN(__builtin_mips_shra_qb, "V4ScV4Sci", "nc")
174245431SdimBUILTIN(__builtin_mips_shra_r_qb, "V4ScV4Sci", "nc")
175245431SdimBUILTIN(__builtin_mips_shrl_ph, "V2sV2si", "nc")
176245431Sdim
177245431SdimBUILTIN(__builtin_mips_subqh_ph, "V2sV2sV2s", "nc")
178245431SdimBUILTIN(__builtin_mips_subqh_r_ph, "V2sV2sV2s", "nc")
179245431SdimBUILTIN(__builtin_mips_subqh_w, "iii", "nc")
180245431SdimBUILTIN(__builtin_mips_subqh_r_w, "iii", "nc")
181245431Sdim
182245431SdimBUILTIN(__builtin_mips_subu_ph, "V2sV2sV2s", "n")
183245431SdimBUILTIN(__builtin_mips_subu_s_ph, "V2sV2sV2s", "n")
184245431Sdim
185245431SdimBUILTIN(__builtin_mips_subuh_qb, "V4ScV4ScV4Sc", "nc")
186245431SdimBUILTIN(__builtin_mips_subuh_r_qb, "V4ScV4ScV4Sc", "nc")
187245431Sdim
188263509Sdim// MIPS MSA
189263509Sdim
190263509SdimBUILTIN(__builtin_msa_add_a_b, "V16ScV16ScV16Sc", "nc")
191263509SdimBUILTIN(__builtin_msa_add_a_h, "V8SsV8SsV8Ss", "nc")
192263509SdimBUILTIN(__builtin_msa_add_a_w, "V4SiV4SiV4Si", "nc")
193263509SdimBUILTIN(__builtin_msa_add_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
194263509Sdim
195263509SdimBUILTIN(__builtin_msa_adds_a_b, "V16ScV16ScV16Sc", "nc")
196263509SdimBUILTIN(__builtin_msa_adds_a_h, "V8SsV8SsV8Ss", "nc")
197263509SdimBUILTIN(__builtin_msa_adds_a_w, "V4SiV4SiV4Si", "nc")
198263509SdimBUILTIN(__builtin_msa_adds_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
199263509Sdim
200263509SdimBUILTIN(__builtin_msa_adds_s_b, "V16ScV16ScV16Sc", "nc")
201263509SdimBUILTIN(__builtin_msa_adds_s_h, "V8SsV8SsV8Ss", "nc")
202263509SdimBUILTIN(__builtin_msa_adds_s_w, "V4SiV4SiV4Si", "nc")
203263509SdimBUILTIN(__builtin_msa_adds_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
204263509Sdim
205263509SdimBUILTIN(__builtin_msa_adds_u_b, "V16UcV16UcV16Uc", "nc")
206263509SdimBUILTIN(__builtin_msa_adds_u_h, "V8UsV8UsV8Us", "nc")
207263509SdimBUILTIN(__builtin_msa_adds_u_w, "V4UiV4UiV4Ui", "nc")
208263509SdimBUILTIN(__builtin_msa_adds_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
209263509Sdim
210263509SdimBUILTIN(__builtin_msa_addv_b, "V16cV16cV16c", "nc")
211263509SdimBUILTIN(__builtin_msa_addv_h, "V8sV8sV8s", "nc")
212263509SdimBUILTIN(__builtin_msa_addv_w, "V4iV4iV4i", "nc")
213263509SdimBUILTIN(__builtin_msa_addv_d, "V2LLiV2LLiV2LLi", "nc")
214263509Sdim
215263509SdimBUILTIN(__builtin_msa_addvi_b, "V16cV16cIUi", "nc")
216263509SdimBUILTIN(__builtin_msa_addvi_h, "V8sV8sIUi", "nc")
217263509SdimBUILTIN(__builtin_msa_addvi_w, "V4iV4iIUi", "nc")
218263509SdimBUILTIN(__builtin_msa_addvi_d, "V2LLiV2LLiIUi", "nc")
219263509Sdim
220263509SdimBUILTIN(__builtin_msa_and_v, "V16UcV16UcV16Uc", "nc")
221263509Sdim
222263509SdimBUILTIN(__builtin_msa_andi_b, "V16UcV16UcIUi", "nc")
223263509Sdim
224263509SdimBUILTIN(__builtin_msa_asub_s_b, "V16ScV16ScV16Sc", "nc")
225263509SdimBUILTIN(__builtin_msa_asub_s_h, "V8SsV8SsV8Ss", "nc")
226263509SdimBUILTIN(__builtin_msa_asub_s_w, "V4SiV4SiV4Si", "nc")
227263509SdimBUILTIN(__builtin_msa_asub_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
228263509Sdim
229263509SdimBUILTIN(__builtin_msa_asub_u_b, "V16UcV16UcV16Uc", "nc")
230263509SdimBUILTIN(__builtin_msa_asub_u_h, "V8UsV8UsV8Us", "nc")
231263509SdimBUILTIN(__builtin_msa_asub_u_w, "V4UiV4UiV4Ui", "nc")
232263509SdimBUILTIN(__builtin_msa_asub_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
233263509Sdim
234263509SdimBUILTIN(__builtin_msa_ave_s_b, "V16ScV16ScV16Sc", "nc")
235263509SdimBUILTIN(__builtin_msa_ave_s_h, "V8SsV8SsV8Ss", "nc")
236263509SdimBUILTIN(__builtin_msa_ave_s_w, "V4SiV4SiV4Si", "nc")
237263509SdimBUILTIN(__builtin_msa_ave_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
238263509Sdim
239263509SdimBUILTIN(__builtin_msa_ave_u_b, "V16UcV16UcV16Uc", "nc")
240263509SdimBUILTIN(__builtin_msa_ave_u_h, "V8UsV8UsV8Us", "nc")
241263509SdimBUILTIN(__builtin_msa_ave_u_w, "V4UiV4UiV4Ui", "nc")
242263509SdimBUILTIN(__builtin_msa_ave_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
243263509Sdim
244263509SdimBUILTIN(__builtin_msa_aver_s_b, "V16ScV16ScV16Sc", "nc")
245263509SdimBUILTIN(__builtin_msa_aver_s_h, "V8SsV8SsV8Ss", "nc")
246263509SdimBUILTIN(__builtin_msa_aver_s_w, "V4SiV4SiV4Si", "nc")
247263509SdimBUILTIN(__builtin_msa_aver_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
248263509Sdim
249263509SdimBUILTIN(__builtin_msa_aver_u_b, "V16UcV16UcV16Uc", "nc")
250263509SdimBUILTIN(__builtin_msa_aver_u_h, "V8UsV8UsV8Us", "nc")
251263509SdimBUILTIN(__builtin_msa_aver_u_w, "V4UiV4UiV4Ui", "nc")
252263509SdimBUILTIN(__builtin_msa_aver_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
253263509Sdim
254263509SdimBUILTIN(__builtin_msa_bclr_b, "V16UcV16UcV16Uc", "nc")
255263509SdimBUILTIN(__builtin_msa_bclr_h, "V8UsV8UsV8Us", "nc")
256263509SdimBUILTIN(__builtin_msa_bclr_w, "V4UiV4UiV4Ui", "nc")
257263509SdimBUILTIN(__builtin_msa_bclr_d, "V2ULLiV2ULLiV2ULLi", "nc")
258263509Sdim
259263509SdimBUILTIN(__builtin_msa_bclri_b, "V16UcV16UcIUi", "nc")
260263509SdimBUILTIN(__builtin_msa_bclri_h, "V8UsV8UsIUi", "nc")
261263509SdimBUILTIN(__builtin_msa_bclri_w, "V4UiV4UiIUi", "nc")
262263509SdimBUILTIN(__builtin_msa_bclri_d, "V2ULLiV2ULLiIUi", "nc")
263263509Sdim
264263509SdimBUILTIN(__builtin_msa_binsl_b, "V16UcV16UcV16UcV16Uc", "nc")
265263509SdimBUILTIN(__builtin_msa_binsl_h, "V8UsV8UsV8UsV8Us", "nc")
266263509SdimBUILTIN(__builtin_msa_binsl_w, "V4UiV4UiV4UiV4Ui", "nc")
267263509SdimBUILTIN(__builtin_msa_binsl_d, "V2ULLiV2ULLiV2ULLiV2ULLi", "nc")
268263509Sdim
269263509SdimBUILTIN(__builtin_msa_binsli_b, "V16UcV16UcV16UcIUi", "nc")
270263509SdimBUILTIN(__builtin_msa_binsli_h, "V8UsV8UsV8UsIUi", "nc")
271263509SdimBUILTIN(__builtin_msa_binsli_w, "V4UiV4UiV4UiIUi", "nc")
272263509SdimBUILTIN(__builtin_msa_binsli_d, "V2ULLiV2ULLiV2ULLiIUi", "nc")
273263509Sdim
274263509SdimBUILTIN(__builtin_msa_binsr_b, "V16UcV16UcV16UcV16Uc", "nc")
275263509SdimBUILTIN(__builtin_msa_binsr_h, "V8UsV8UsV8UsV8Us", "nc")
276263509SdimBUILTIN(__builtin_msa_binsr_w, "V4UiV4UiV4UiV4Ui", "nc")
277263509SdimBUILTIN(__builtin_msa_binsr_d, "V2ULLiV2ULLiV2ULLiV2ULLi", "nc")
278263509Sdim
279263509SdimBUILTIN(__builtin_msa_binsri_b, "V16UcV16UcV16UcIUi", "nc")
280263509SdimBUILTIN(__builtin_msa_binsri_h, "V8UsV8UsV8UsIUi", "nc")
281263509SdimBUILTIN(__builtin_msa_binsri_w, "V4UiV4UiV4UiIUi", "nc")
282263509SdimBUILTIN(__builtin_msa_binsri_d, "V2ULLiV2ULLiV2ULLiIUi", "nc")
283263509Sdim
284263509SdimBUILTIN(__builtin_msa_bmnz_v, "V16UcV16UcV16UcV16Uc", "nc")
285263509Sdim
286263509SdimBUILTIN(__builtin_msa_bmnzi_b, "V16UcV16UcV16UcIUi", "nc")
287263509Sdim
288263509SdimBUILTIN(__builtin_msa_bmz_v, "V16UcV16UcV16UcV16Uc", "nc")
289263509Sdim
290263509SdimBUILTIN(__builtin_msa_bmzi_b, "V16UcV16UcV16UcIUi", "nc")
291263509Sdim
292263509SdimBUILTIN(__builtin_msa_bneg_b, "V16UcV16UcV16Uc", "nc")
293263509SdimBUILTIN(__builtin_msa_bneg_h, "V8UsV8UsV8Us", "nc")
294263509SdimBUILTIN(__builtin_msa_bneg_w, "V4UiV4UiV4Ui", "nc")
295263509SdimBUILTIN(__builtin_msa_bneg_d, "V2ULLiV2ULLiV2ULLi", "nc")
296263509Sdim
297263509SdimBUILTIN(__builtin_msa_bnegi_b, "V16UcV16UcIUi", "nc")
298263509SdimBUILTIN(__builtin_msa_bnegi_h, "V8UsV8UsIUi", "nc")
299263509SdimBUILTIN(__builtin_msa_bnegi_w, "V4UiV4UiIUi", "nc")
300263509SdimBUILTIN(__builtin_msa_bnegi_d, "V2ULLiV2ULLiIUi", "nc")
301263509Sdim
302263509SdimBUILTIN(__builtin_msa_bnz_b, "iV16Uc", "nc")
303263509SdimBUILTIN(__builtin_msa_bnz_h, "iV8Us", "nc")
304263509SdimBUILTIN(__builtin_msa_bnz_w, "iV4Ui", "nc")
305263509SdimBUILTIN(__builtin_msa_bnz_d, "iV2ULLi", "nc")
306263509Sdim
307263509SdimBUILTIN(__builtin_msa_bnz_v, "iV16Uc", "nc")
308263509Sdim
309263509SdimBUILTIN(__builtin_msa_bsel_v, "V16UcV16UcV16UcV16Uc", "nc")
310263509Sdim
311263509SdimBUILTIN(__builtin_msa_bseli_b, "V16UcV16UcV16UcIUi", "nc")
312263509Sdim
313263509SdimBUILTIN(__builtin_msa_bset_b, "V16UcV16UcV16Uc", "nc")
314263509SdimBUILTIN(__builtin_msa_bset_h, "V8UsV8UsV8Us", "nc")
315263509SdimBUILTIN(__builtin_msa_bset_w, "V4UiV4UiV4Ui", "nc")
316263509SdimBUILTIN(__builtin_msa_bset_d, "V2ULLiV2ULLiV2ULLi", "nc")
317263509Sdim
318263509SdimBUILTIN(__builtin_msa_bseti_b, "V16UcV16UcIUi", "nc")
319263509SdimBUILTIN(__builtin_msa_bseti_h, "V8UsV8UsIUi", "nc")
320263509SdimBUILTIN(__builtin_msa_bseti_w, "V4UiV4UiIUi", "nc")
321263509SdimBUILTIN(__builtin_msa_bseti_d, "V2ULLiV2ULLiIUi", "nc")
322263509Sdim
323263509SdimBUILTIN(__builtin_msa_bz_b, "iV16Uc", "nc")
324263509SdimBUILTIN(__builtin_msa_bz_h, "iV8Us", "nc")
325263509SdimBUILTIN(__builtin_msa_bz_w, "iV4Ui", "nc")
326263509SdimBUILTIN(__builtin_msa_bz_d, "iV2ULLi", "nc")
327263509Sdim
328263509SdimBUILTIN(__builtin_msa_bz_v, "iV16Uc", "nc")
329263509Sdim
330263509SdimBUILTIN(__builtin_msa_ceq_b, "V16ScV16ScV16Sc", "nc")
331263509SdimBUILTIN(__builtin_msa_ceq_h, "V8SsV8SsV8Ss", "nc")
332263509SdimBUILTIN(__builtin_msa_ceq_w, "V4SiV4SiV4Si", "nc")
333263509SdimBUILTIN(__builtin_msa_ceq_d, "V2SLLiV2SLLiV2SLLi", "nc")
334263509Sdim
335263509SdimBUILTIN(__builtin_msa_ceqi_b, "V16ScV16ScISi", "nc")
336263509SdimBUILTIN(__builtin_msa_ceqi_h, "V8SsV8SsISi", "nc")
337263509SdimBUILTIN(__builtin_msa_ceqi_w, "V4SiV4SiISi", "nc")
338263509SdimBUILTIN(__builtin_msa_ceqi_d, "V2SLLiV2SLLiISi", "nc")
339263509Sdim
340263509SdimBUILTIN(__builtin_msa_cfcmsa, "iIi", "n")
341263509Sdim
342263509SdimBUILTIN(__builtin_msa_cle_s_b, "V16ScV16ScV16Sc", "nc")
343263509SdimBUILTIN(__builtin_msa_cle_s_h, "V8SsV8SsV8Ss", "nc")
344263509SdimBUILTIN(__builtin_msa_cle_s_w, "V4SiV4SiV4Si", "nc")
345263509SdimBUILTIN(__builtin_msa_cle_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
346263509Sdim
347263509SdimBUILTIN(__builtin_msa_cle_u_b, "V16ScV16UcV16Uc", "nc")
348263509SdimBUILTIN(__builtin_msa_cle_u_h, "V8SsV8UsV8Us", "nc")
349263509SdimBUILTIN(__builtin_msa_cle_u_w, "V4SiV4UiV4Ui", "nc")
350263509SdimBUILTIN(__builtin_msa_cle_u_d, "V2SLLiV2ULLiV2ULLi", "nc")
351263509Sdim
352263509SdimBUILTIN(__builtin_msa_clei_s_b, "V16ScV16ScISi", "nc")
353263509SdimBUILTIN(__builtin_msa_clei_s_h, "V8SsV8SsISi", "nc")
354263509SdimBUILTIN(__builtin_msa_clei_s_w, "V4SiV4SiISi", "nc")
355263509SdimBUILTIN(__builtin_msa_clei_s_d, "V2SLLiV2SLLiISi", "nc")
356263509Sdim
357263509SdimBUILTIN(__builtin_msa_clei_u_b, "V16ScV16UcIUi", "nc")
358263509SdimBUILTIN(__builtin_msa_clei_u_h, "V8SsV8UsIUi", "nc")
359263509SdimBUILTIN(__builtin_msa_clei_u_w, "V4SiV4UiIUi", "nc")
360263509SdimBUILTIN(__builtin_msa_clei_u_d, "V2SLLiV2ULLiIUi", "nc")
361263509Sdim
362263509SdimBUILTIN(__builtin_msa_clt_s_b, "V16ScV16ScV16Sc", "nc")
363263509SdimBUILTIN(__builtin_msa_clt_s_h, "V8SsV8SsV8Ss", "nc")
364263509SdimBUILTIN(__builtin_msa_clt_s_w, "V4SiV4SiV4Si", "nc")
365263509SdimBUILTIN(__builtin_msa_clt_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
366263509Sdim
367263509SdimBUILTIN(__builtin_msa_clt_u_b, "V16ScV16UcV16Uc", "nc")
368263509SdimBUILTIN(__builtin_msa_clt_u_h, "V8SsV8UsV8Us", "nc")
369263509SdimBUILTIN(__builtin_msa_clt_u_w, "V4SiV4UiV4Ui", "nc")
370263509SdimBUILTIN(__builtin_msa_clt_u_d, "V2SLLiV2ULLiV2ULLi", "nc")
371263509Sdim
372263509SdimBUILTIN(__builtin_msa_clti_s_b, "V16ScV16ScISi", "nc")
373263509SdimBUILTIN(__builtin_msa_clti_s_h, "V8SsV8SsISi", "nc")
374263509SdimBUILTIN(__builtin_msa_clti_s_w, "V4SiV4SiISi", "nc")
375263509SdimBUILTIN(__builtin_msa_clti_s_d, "V2SLLiV2SLLiISi", "nc")
376263509Sdim
377263509SdimBUILTIN(__builtin_msa_clti_u_b, "V16ScV16UcIUi", "nc")
378263509SdimBUILTIN(__builtin_msa_clti_u_h, "V8SsV8UsIUi", "nc")
379263509SdimBUILTIN(__builtin_msa_clti_u_w, "V4SiV4UiIUi", "nc")
380263509SdimBUILTIN(__builtin_msa_clti_u_d, "V2SLLiV2ULLiIUi", "nc")
381263509Sdim
382263509SdimBUILTIN(__builtin_msa_copy_s_b, "iV16ScIUi", "nc")
383263509SdimBUILTIN(__builtin_msa_copy_s_h, "iV8SsIUi", "nc")
384263509SdimBUILTIN(__builtin_msa_copy_s_w, "iV4SiIUi", "nc")
385263509SdimBUILTIN(__builtin_msa_copy_s_d, "LLiV2SLLiIUi", "nc")
386263509Sdim
387263509SdimBUILTIN(__builtin_msa_copy_u_b, "iV16UcIUi", "nc")
388263509SdimBUILTIN(__builtin_msa_copy_u_h, "iV8UsIUi", "nc")
389263509SdimBUILTIN(__builtin_msa_copy_u_w, "iV4UiIUi", "nc")
390263509SdimBUILTIN(__builtin_msa_copy_u_d, "LLiV2ULLiIUi", "nc")
391263509Sdim
392263509SdimBUILTIN(__builtin_msa_ctcmsa, "vIii", "n")
393263509Sdim
394263509SdimBUILTIN(__builtin_msa_div_s_b, "V16ScV16ScV16Sc", "nc")
395263509SdimBUILTIN(__builtin_msa_div_s_h, "V8SsV8SsV8Ss", "nc")
396263509SdimBUILTIN(__builtin_msa_div_s_w, "V4SiV4SiV4Si", "nc")
397263509SdimBUILTIN(__builtin_msa_div_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
398263509Sdim
399263509SdimBUILTIN(__builtin_msa_div_u_b, "V16UcV16UcV16Uc", "nc")
400263509SdimBUILTIN(__builtin_msa_div_u_h, "V8UsV8UsV8Us", "nc")
401263509SdimBUILTIN(__builtin_msa_div_u_w, "V4UiV4UiV4Ui", "nc")
402263509SdimBUILTIN(__builtin_msa_div_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
403263509Sdim
404263509SdimBUILTIN(__builtin_msa_dotp_s_h, "V8SsV16ScV16Sc", "nc")
405263509SdimBUILTIN(__builtin_msa_dotp_s_w, "V4SiV8SsV8Ss", "nc")
406263509SdimBUILTIN(__builtin_msa_dotp_s_d, "V2SLLiV4SiV4Si", "nc")
407263509Sdim
408263509SdimBUILTIN(__builtin_msa_dotp_u_h, "V8UsV16UcV16Uc", "nc")
409263509SdimBUILTIN(__builtin_msa_dotp_u_w, "V4UiV8UsV8Us", "nc")
410263509SdimBUILTIN(__builtin_msa_dotp_u_d, "V2ULLiV4UiV4Ui", "nc")
411263509Sdim
412263509SdimBUILTIN(__builtin_msa_dpadd_s_h, "V8SsV8SsV16ScV16Sc", "nc")
413263509SdimBUILTIN(__builtin_msa_dpadd_s_w, "V4SiV4SiV8SsV8Ss", "nc")
414263509SdimBUILTIN(__builtin_msa_dpadd_s_d, "V2SLLiV2SLLiV4SiV4Si", "nc")
415263509Sdim
416263509SdimBUILTIN(__builtin_msa_dpadd_u_h, "V8UsV8UsV16UcV16Uc", "nc")
417263509SdimBUILTIN(__builtin_msa_dpadd_u_w, "V4UiV4UiV8UsV8Us", "nc")
418263509SdimBUILTIN(__builtin_msa_dpadd_u_d, "V2ULLiV2ULLiV4UiV4Ui", "nc")
419263509Sdim
420263509SdimBUILTIN(__builtin_msa_dpsub_s_h, "V8SsV8SsV16ScV16Sc", "nc")
421263509SdimBUILTIN(__builtin_msa_dpsub_s_w, "V4SiV4SiV8SsV8Ss", "nc")
422263509SdimBUILTIN(__builtin_msa_dpsub_s_d, "V2SLLiV2SLLiV4SiV4Si", "nc")
423263509Sdim
424263509SdimBUILTIN(__builtin_msa_dpsub_u_h, "V8UsV8UsV16UcV16Uc", "nc")
425263509SdimBUILTIN(__builtin_msa_dpsub_u_w, "V4UiV4UiV8UsV8Us", "nc")
426263509SdimBUILTIN(__builtin_msa_dpsub_u_d, "V2ULLiV2ULLiV4UiV4Ui", "nc")
427263509Sdim
428263509SdimBUILTIN(__builtin_msa_fadd_w, "V4fV4fV4f", "nc")
429263509SdimBUILTIN(__builtin_msa_fadd_d, "V2dV2dV2d", "nc")
430263509Sdim
431263509SdimBUILTIN(__builtin_msa_fcaf_w, "V4iV4fV4f", "nc")
432263509SdimBUILTIN(__builtin_msa_fcaf_d, "V2LLiV2dV2d", "nc")
433263509Sdim
434263509SdimBUILTIN(__builtin_msa_fceq_w, "V4iV4fV4f", "nc")
435263509SdimBUILTIN(__builtin_msa_fceq_d, "V2LLiV2dV2d", "nc")
436263509Sdim
437263509SdimBUILTIN(__builtin_msa_fclass_w, "V4iV4f", "nc")
438263509SdimBUILTIN(__builtin_msa_fclass_d, "V2LLiV2d", "nc")
439263509Sdim
440263509SdimBUILTIN(__builtin_msa_fcle_w, "V4iV4fV4f", "nc")
441263509SdimBUILTIN(__builtin_msa_fcle_d, "V2LLiV2dV2d", "nc")
442263509Sdim
443263509SdimBUILTIN(__builtin_msa_fclt_w, "V4iV4fV4f", "nc")
444263509SdimBUILTIN(__builtin_msa_fclt_d, "V2LLiV2dV2d", "nc")
445263509Sdim
446263509SdimBUILTIN(__builtin_msa_fcne_w, "V4iV4fV4f", "nc")
447263509SdimBUILTIN(__builtin_msa_fcne_d, "V2LLiV2dV2d", "nc")
448263509Sdim
449263509SdimBUILTIN(__builtin_msa_fcor_w, "V4iV4fV4f", "nc")
450263509SdimBUILTIN(__builtin_msa_fcor_d, "V2LLiV2dV2d", "nc")
451263509Sdim
452263509SdimBUILTIN(__builtin_msa_fcueq_w, "V4iV4fV4f", "nc")
453263509SdimBUILTIN(__builtin_msa_fcueq_d, "V2LLiV2dV2d", "nc")
454263509Sdim
455263509SdimBUILTIN(__builtin_msa_fcule_w, "V4iV4fV4f", "nc")
456263509SdimBUILTIN(__builtin_msa_fcule_d, "V2LLiV2dV2d", "nc")
457263509Sdim
458263509SdimBUILTIN(__builtin_msa_fcult_w, "V4iV4fV4f", "nc")
459263509SdimBUILTIN(__builtin_msa_fcult_d, "V2LLiV2dV2d", "nc")
460263509Sdim
461263509SdimBUILTIN(__builtin_msa_fcun_w, "V4iV4fV4f", "nc")
462263509SdimBUILTIN(__builtin_msa_fcun_d, "V2LLiV2dV2d", "nc")
463263509Sdim
464263509SdimBUILTIN(__builtin_msa_fcune_w, "V4iV4fV4f", "nc")
465263509SdimBUILTIN(__builtin_msa_fcune_d, "V2LLiV2dV2d", "nc")
466263509Sdim
467263509SdimBUILTIN(__builtin_msa_fdiv_w, "V4fV4fV4f", "nc")
468263509SdimBUILTIN(__builtin_msa_fdiv_d, "V2dV2dV2d", "nc")
469263509Sdim
470263509SdimBUILTIN(__builtin_msa_fexdo_h, "V8hV4fV4f", "nc")
471263509SdimBUILTIN(__builtin_msa_fexdo_w, "V4fV2dV2d", "nc")
472263509Sdim
473263509SdimBUILTIN(__builtin_msa_fexp2_w, "V4fV4fV4i", "nc")
474263509SdimBUILTIN(__builtin_msa_fexp2_d, "V2dV2dV2LLi", "nc")
475263509Sdim
476263509SdimBUILTIN(__builtin_msa_fexupl_w, "V4fV8h", "nc")
477263509SdimBUILTIN(__builtin_msa_fexupl_d, "V2dV4f", "nc")
478263509Sdim
479263509SdimBUILTIN(__builtin_msa_fexupr_w, "V4fV8h", "nc")
480263509SdimBUILTIN(__builtin_msa_fexupr_d, "V2dV4f", "nc")
481263509Sdim
482263509SdimBUILTIN(__builtin_msa_ffint_s_w, "V4fV4Si", "nc")
483263509SdimBUILTIN(__builtin_msa_ffint_s_d, "V2dV2SLLi", "nc")
484263509Sdim
485263509SdimBUILTIN(__builtin_msa_ffint_u_w, "V4fV4Ui", "nc")
486263509SdimBUILTIN(__builtin_msa_ffint_u_d, "V2dV2ULLi", "nc")
487263509Sdim
488263509Sdim// ffql uses integers since long _Fract is not implemented
489263509SdimBUILTIN(__builtin_msa_ffql_w, "V4fV8Ss", "nc")
490263509SdimBUILTIN(__builtin_msa_ffql_d, "V2dV4Si", "nc")
491263509Sdim
492263509Sdim// ffqr uses integers since long _Fract is not implemented
493263509SdimBUILTIN(__builtin_msa_ffqr_w, "V4fV8Ss", "nc")
494263509SdimBUILTIN(__builtin_msa_ffqr_d, "V2dV4Si", "nc")
495263509Sdim
496263509SdimBUILTIN(__builtin_msa_fill_b, "V16Sci", "nc")
497263509SdimBUILTIN(__builtin_msa_fill_h, "V8Ssi", "nc")
498263509SdimBUILTIN(__builtin_msa_fill_w, "V4Sii", "nc")
499263509SdimBUILTIN(__builtin_msa_fill_d, "V2SLLiLLi", "nc")
500263509Sdim
501263509SdimBUILTIN(__builtin_msa_flog2_w, "V4fV4f", "nc")
502263509SdimBUILTIN(__builtin_msa_flog2_d, "V2dV2d", "nc")
503263509Sdim
504263509SdimBUILTIN(__builtin_msa_fmadd_w, "V4fV4fV4fV4f", "nc")
505263509SdimBUILTIN(__builtin_msa_fmadd_d, "V2dV2dV2dV2d", "nc")
506263509Sdim
507263509SdimBUILTIN(__builtin_msa_fmax_w, "V4fV4fV4f", "nc")
508263509SdimBUILTIN(__builtin_msa_fmax_d, "V2dV2dV2d", "nc")
509263509Sdim
510263509SdimBUILTIN(__builtin_msa_fmax_a_w, "V4fV4fV4f", "nc")
511263509SdimBUILTIN(__builtin_msa_fmax_a_d, "V2dV2dV2d", "nc")
512263509Sdim
513263509SdimBUILTIN(__builtin_msa_fmin_w, "V4fV4fV4f", "nc")
514263509SdimBUILTIN(__builtin_msa_fmin_d, "V2dV2dV2d", "nc")
515263509Sdim
516263509SdimBUILTIN(__builtin_msa_fmin_a_w, "V4fV4fV4f", "nc")
517263509SdimBUILTIN(__builtin_msa_fmin_a_d, "V2dV2dV2d", "nc")
518263509Sdim
519263509SdimBUILTIN(__builtin_msa_fmsub_w, "V4fV4fV4fV4f", "nc")
520263509SdimBUILTIN(__builtin_msa_fmsub_d, "V2dV2dV2dV2d", "nc")
521263509Sdim
522263509SdimBUILTIN(__builtin_msa_fmul_w, "V4fV4fV4f", "nc")
523263509SdimBUILTIN(__builtin_msa_fmul_d, "V2dV2dV2d", "nc")
524263509Sdim
525263509SdimBUILTIN(__builtin_msa_frint_w, "V4fV4f", "nc")
526263509SdimBUILTIN(__builtin_msa_frint_d, "V2dV2d", "nc")
527263509Sdim
528263509SdimBUILTIN(__builtin_msa_frcp_w, "V4fV4f", "nc")
529263509SdimBUILTIN(__builtin_msa_frcp_d, "V2dV2d", "nc")
530263509Sdim
531263509SdimBUILTIN(__builtin_msa_frsqrt_w, "V4fV4f", "nc")
532263509SdimBUILTIN(__builtin_msa_frsqrt_d, "V2dV2d", "nc")
533263509Sdim
534263509SdimBUILTIN(__builtin_msa_fsaf_w, "V4iV4fV4f", "nc")
535263509SdimBUILTIN(__builtin_msa_fsaf_d, "V2LLiV2dV2d", "nc")
536263509Sdim
537263509SdimBUILTIN(__builtin_msa_fseq_w, "V4iV4fV4f", "nc")
538263509SdimBUILTIN(__builtin_msa_fseq_d, "V2LLiV2dV2d", "nc")
539263509Sdim
540263509SdimBUILTIN(__builtin_msa_fsle_w, "V4iV4fV4f", "nc")
541263509SdimBUILTIN(__builtin_msa_fsle_d, "V2LLiV2dV2d", "nc")
542263509Sdim
543263509SdimBUILTIN(__builtin_msa_fslt_w, "V4iV4fV4f", "nc")
544263509SdimBUILTIN(__builtin_msa_fslt_d, "V2LLiV2dV2d", "nc")
545263509Sdim
546263509SdimBUILTIN(__builtin_msa_fsne_w, "V4iV4fV4f", "nc")
547263509SdimBUILTIN(__builtin_msa_fsne_d, "V2LLiV2dV2d", "nc")
548263509Sdim
549263509SdimBUILTIN(__builtin_msa_fsor_w, "V4iV4fV4f", "nc")
550263509SdimBUILTIN(__builtin_msa_fsor_d, "V2LLiV2dV2d", "nc")
551263509Sdim
552263509SdimBUILTIN(__builtin_msa_fsqrt_w, "V4fV4f", "nc")
553263509SdimBUILTIN(__builtin_msa_fsqrt_d, "V2dV2d", "nc")
554263509Sdim
555263509SdimBUILTIN(__builtin_msa_fsub_w, "V4fV4fV4f", "nc")
556263509SdimBUILTIN(__builtin_msa_fsub_d, "V2dV2dV2d", "nc")
557263509Sdim
558263509SdimBUILTIN(__builtin_msa_fsueq_w, "V4iV4fV4f", "nc")
559263509SdimBUILTIN(__builtin_msa_fsueq_d, "V2LLiV2dV2d", "nc")
560263509Sdim
561263509SdimBUILTIN(__builtin_msa_fsule_w, "V4iV4fV4f", "nc")
562263509SdimBUILTIN(__builtin_msa_fsule_d, "V2LLiV2dV2d", "nc")
563263509Sdim
564263509SdimBUILTIN(__builtin_msa_fsult_w, "V4iV4fV4f", "nc")
565263509SdimBUILTIN(__builtin_msa_fsult_d, "V2LLiV2dV2d", "nc")
566263509Sdim
567263509SdimBUILTIN(__builtin_msa_fsun_w, "V4iV4fV4f", "nc")
568263509SdimBUILTIN(__builtin_msa_fsun_d, "V2LLiV2dV2d", "nc")
569263509Sdim
570263509SdimBUILTIN(__builtin_msa_fsune_w, "V4iV4fV4f", "nc")
571263509SdimBUILTIN(__builtin_msa_fsune_d, "V2LLiV2dV2d", "nc")
572263509Sdim
573263509SdimBUILTIN(__builtin_msa_ftint_s_w, "V4SiV4f", "nc")
574263509SdimBUILTIN(__builtin_msa_ftint_s_d, "V2SLLiV2d", "nc")
575263509Sdim
576263509SdimBUILTIN(__builtin_msa_ftint_u_w, "V4UiV4f", "nc")
577263509SdimBUILTIN(__builtin_msa_ftint_u_d, "V2ULLiV2d", "nc")
578263509Sdim
579263509SdimBUILTIN(__builtin_msa_ftq_h, "V4UiV4fV4f", "nc")
580263509SdimBUILTIN(__builtin_msa_ftq_w, "V2ULLiV2dV2d", "nc")
581263509Sdim
582263509SdimBUILTIN(__builtin_msa_ftrunc_s_w, "V4SiV4f", "nc")
583263509SdimBUILTIN(__builtin_msa_ftrunc_s_d, "V2SLLiV2d", "nc")
584263509Sdim
585263509SdimBUILTIN(__builtin_msa_ftrunc_u_w, "V4UiV4f", "nc")
586263509SdimBUILTIN(__builtin_msa_ftrunc_u_d, "V2ULLiV2d", "nc")
587263509Sdim
588263509SdimBUILTIN(__builtin_msa_hadd_s_h, "V8SsV16ScV16Sc", "nc")
589263509SdimBUILTIN(__builtin_msa_hadd_s_w, "V4SiV8SsV8Ss", "nc")
590263509SdimBUILTIN(__builtin_msa_hadd_s_d, "V2SLLiV4SiV4Si", "nc")
591263509Sdim
592263509SdimBUILTIN(__builtin_msa_hadd_u_h, "V8UsV16UcV16Uc", "nc")
593263509SdimBUILTIN(__builtin_msa_hadd_u_w, "V4UiV8UsV8Us", "nc")
594263509SdimBUILTIN(__builtin_msa_hadd_u_d, "V2ULLiV4UiV4Ui", "nc")
595263509Sdim
596263509SdimBUILTIN(__builtin_msa_hsub_s_h, "V8SsV16ScV16Sc", "nc")
597263509SdimBUILTIN(__builtin_msa_hsub_s_w, "V4SiV8SsV8Ss", "nc")
598263509SdimBUILTIN(__builtin_msa_hsub_s_d, "V2SLLiV4SiV4Si", "nc")
599263509Sdim
600263509SdimBUILTIN(__builtin_msa_hsub_u_h, "V8UsV16UcV16Uc", "nc")
601263509SdimBUILTIN(__builtin_msa_hsub_u_w, "V4UiV8UsV8Us", "nc")
602263509SdimBUILTIN(__builtin_msa_hsub_u_d, "V2ULLiV4UiV4Ui", "nc")
603263509Sdim
604263509SdimBUILTIN(__builtin_msa_ilvev_b, "V16cV16cV16c", "nc")
605263509SdimBUILTIN(__builtin_msa_ilvev_h, "V8sV8sV8s", "nc")
606263509SdimBUILTIN(__builtin_msa_ilvev_w, "V4iV4iV4i", "nc")
607263509SdimBUILTIN(__builtin_msa_ilvev_d, "V2LLiV2LLiV2LLi", "nc")
608263509Sdim
609263509SdimBUILTIN(__builtin_msa_ilvl_b, "V16cV16cV16c", "nc")
610263509SdimBUILTIN(__builtin_msa_ilvl_h, "V8sV8sV8s", "nc")
611263509SdimBUILTIN(__builtin_msa_ilvl_w, "V4iV4iV4i", "nc")
612263509SdimBUILTIN(__builtin_msa_ilvl_d, "V2LLiV2LLiV2LLi", "nc")
613263509Sdim
614263509SdimBUILTIN(__builtin_msa_ilvod_b, "V16cV16cV16c", "nc")
615263509SdimBUILTIN(__builtin_msa_ilvod_h, "V8sV8sV8s", "nc")
616263509SdimBUILTIN(__builtin_msa_ilvod_w, "V4iV4iV4i", "nc")
617263509SdimBUILTIN(__builtin_msa_ilvod_d, "V2LLiV2LLiV2LLi", "nc")
618263509Sdim
619263509SdimBUILTIN(__builtin_msa_ilvr_b, "V16cV16cV16c", "nc")
620263509SdimBUILTIN(__builtin_msa_ilvr_h, "V8sV8sV8s", "nc")
621263509SdimBUILTIN(__builtin_msa_ilvr_w, "V4iV4iV4i", "nc")
622263509SdimBUILTIN(__builtin_msa_ilvr_d, "V2LLiV2LLiV2LLi", "nc")
623263509Sdim
624263509SdimBUILTIN(__builtin_msa_insert_b, "V16ScV16ScIUii", "nc")
625263509SdimBUILTIN(__builtin_msa_insert_h, "V8SsV8SsIUii", "nc")
626263509SdimBUILTIN(__builtin_msa_insert_w, "V4SiV4SiIUii", "nc")
627263509SdimBUILTIN(__builtin_msa_insert_d, "V2SLLiV2SLLiIUiLLi", "nc")
628263509Sdim
629263509SdimBUILTIN(__builtin_msa_insve_b, "V16ScV16ScIUiV16Sc", "nc")
630263509SdimBUILTIN(__builtin_msa_insve_h, "V8SsV8SsIUiV8Ss", "nc")
631263509SdimBUILTIN(__builtin_msa_insve_w, "V4SiV4SiIUiV4Si", "nc")
632263509SdimBUILTIN(__builtin_msa_insve_d, "V2SLLiV2SLLiIUiV2SLLi", "nc")
633263509Sdim
634263509SdimBUILTIN(__builtin_msa_ld_b, "V16Scv*Ii", "nc")
635263509SdimBUILTIN(__builtin_msa_ld_h, "V8Ssv*Ii", "nc")
636263509SdimBUILTIN(__builtin_msa_ld_w, "V4Siv*Ii", "nc")
637263509SdimBUILTIN(__builtin_msa_ld_d, "V2SLLiv*Ii", "nc")
638263509Sdim
639263509SdimBUILTIN(__builtin_msa_ldi_b, "V16cIi", "nc")
640263509SdimBUILTIN(__builtin_msa_ldi_h, "V8sIi", "nc")
641263509SdimBUILTIN(__builtin_msa_ldi_w, "V4iIi", "nc")
642263509SdimBUILTIN(__builtin_msa_ldi_d, "V2LLiIi", "nc")
643263509Sdim
644263509SdimBUILTIN(__builtin_msa_madd_q_h, "V8SsV8SsV8SsV8Ss", "nc")
645263509SdimBUILTIN(__builtin_msa_madd_q_w, "V4SiV4SiV4SiV4Si", "nc")
646263509Sdim
647263509SdimBUILTIN(__builtin_msa_maddr_q_h, "V8SsV8SsV8SsV8Ss", "nc")
648263509SdimBUILTIN(__builtin_msa_maddr_q_w, "V4SiV4SiV4SiV4Si", "nc")
649263509Sdim
650263509SdimBUILTIN(__builtin_msa_maddv_b, "V16ScV16ScV16ScV16Sc", "nc")
651263509SdimBUILTIN(__builtin_msa_maddv_h, "V8SsV8SsV8SsV8Ss", "nc")
652263509SdimBUILTIN(__builtin_msa_maddv_w, "V4SiV4SiV4SiV4Si", "nc")
653263509SdimBUILTIN(__builtin_msa_maddv_d, "V2SLLiV2SLLiV2SLLiV2SLLi", "nc")
654263509Sdim
655263509SdimBUILTIN(__builtin_msa_max_a_b, "V16ScV16ScV16Sc", "nc")
656263509SdimBUILTIN(__builtin_msa_max_a_h, "V8SsV8SsV8Ss", "nc")
657263509SdimBUILTIN(__builtin_msa_max_a_w, "V4SiV4SiV4Si", "nc")
658263509SdimBUILTIN(__builtin_msa_max_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
659263509Sdim
660263509SdimBUILTIN(__builtin_msa_max_s_b, "V16ScV16ScV16Sc", "nc")
661263509SdimBUILTIN(__builtin_msa_max_s_h, "V8SsV8SsV8Ss", "nc")
662263509SdimBUILTIN(__builtin_msa_max_s_w, "V4SiV4SiV4Si", "nc")
663263509SdimBUILTIN(__builtin_msa_max_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
664263509Sdim
665263509SdimBUILTIN(__builtin_msa_max_u_b, "V16UcV16UcV16Uc", "nc")
666263509SdimBUILTIN(__builtin_msa_max_u_h, "V8UsV8UsV8Us", "nc")
667263509SdimBUILTIN(__builtin_msa_max_u_w, "V4UiV4UiV4Ui", "nc")
668263509SdimBUILTIN(__builtin_msa_max_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
669263509Sdim
670263509SdimBUILTIN(__builtin_msa_maxi_s_b, "V16ScV16ScIi", "nc")
671263509SdimBUILTIN(__builtin_msa_maxi_s_h, "V8SsV8SsIi", "nc")
672263509SdimBUILTIN(__builtin_msa_maxi_s_w, "V4SiV4SiIi", "nc")
673263509SdimBUILTIN(__builtin_msa_maxi_s_d, "V2SLLiV2SLLiIi", "nc")
674263509Sdim
675263509SdimBUILTIN(__builtin_msa_maxi_u_b, "V16UcV16UcIi", "nc")
676263509SdimBUILTIN(__builtin_msa_maxi_u_h, "V8UsV8UsIi", "nc")
677263509SdimBUILTIN(__builtin_msa_maxi_u_w, "V4UiV4UiIi", "nc")
678263509SdimBUILTIN(__builtin_msa_maxi_u_d, "V2ULLiV2ULLiIi", "nc")
679263509Sdim
680263509SdimBUILTIN(__builtin_msa_min_a_b, "V16ScV16ScV16Sc", "nc")
681263509SdimBUILTIN(__builtin_msa_min_a_h, "V8SsV8SsV8Ss", "nc")
682263509SdimBUILTIN(__builtin_msa_min_a_w, "V4SiV4SiV4Si", "nc")
683263509SdimBUILTIN(__builtin_msa_min_a_d, "V2SLLiV2SLLiV2SLLi", "nc")
684263509Sdim
685263509SdimBUILTIN(__builtin_msa_min_s_b, "V16ScV16ScV16Sc", "nc")
686263509SdimBUILTIN(__builtin_msa_min_s_h, "V8SsV8SsV8Ss", "nc")
687263509SdimBUILTIN(__builtin_msa_min_s_w, "V4SiV4SiV4Si", "nc")
688263509SdimBUILTIN(__builtin_msa_min_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
689263509Sdim
690263509SdimBUILTIN(__builtin_msa_min_u_b, "V16UcV16UcV16Uc", "nc")
691263509SdimBUILTIN(__builtin_msa_min_u_h, "V8UsV8UsV8Us", "nc")
692263509SdimBUILTIN(__builtin_msa_min_u_w, "V4UiV4UiV4Ui", "nc")
693263509SdimBUILTIN(__builtin_msa_min_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
694263509Sdim
695263509SdimBUILTIN(__builtin_msa_mini_s_b, "V16ScV16ScIi", "nc")
696263509SdimBUILTIN(__builtin_msa_mini_s_h, "V8SsV8SsIi", "nc")
697263509SdimBUILTIN(__builtin_msa_mini_s_w, "V4SiV4SiIi", "nc")
698263509SdimBUILTIN(__builtin_msa_mini_s_d, "V2SLLiV2SLLiIi", "nc")
699263509Sdim
700263509SdimBUILTIN(__builtin_msa_mini_u_b, "V16UcV16UcIi", "nc")
701263509SdimBUILTIN(__builtin_msa_mini_u_h, "V8UsV8UsIi", "nc")
702263509SdimBUILTIN(__builtin_msa_mini_u_w, "V4UiV4UiIi", "nc")
703263509SdimBUILTIN(__builtin_msa_mini_u_d, "V2ULLiV2ULLiIi", "nc")
704263509Sdim
705263509SdimBUILTIN(__builtin_msa_mod_s_b, "V16ScV16ScV16Sc", "nc")
706263509SdimBUILTIN(__builtin_msa_mod_s_h, "V8SsV8SsV8Ss", "nc")
707263509SdimBUILTIN(__builtin_msa_mod_s_w, "V4SiV4SiV4Si", "nc")
708263509SdimBUILTIN(__builtin_msa_mod_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
709263509Sdim
710263509SdimBUILTIN(__builtin_msa_mod_u_b, "V16UcV16UcV16Uc", "nc")
711263509SdimBUILTIN(__builtin_msa_mod_u_h, "V8UsV8UsV8Us", "nc")
712263509SdimBUILTIN(__builtin_msa_mod_u_w, "V4UiV4UiV4Ui", "nc")
713263509SdimBUILTIN(__builtin_msa_mod_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
714263509Sdim
715263509SdimBUILTIN(__builtin_msa_move_v, "V16ScV16Sc", "nc")
716263509Sdim
717263509SdimBUILTIN(__builtin_msa_msub_q_h, "V8SsV8SsV8SsV8Ss", "nc")
718263509SdimBUILTIN(__builtin_msa_msub_q_w, "V4SiV4SiV4SiV4Si", "nc")
719263509Sdim
720263509SdimBUILTIN(__builtin_msa_msubr_q_h, "V8SsV8SsV8SsV8Ss", "nc")
721263509SdimBUILTIN(__builtin_msa_msubr_q_w, "V4SiV4SiV4SiV4Si", "nc")
722263509Sdim
723263509SdimBUILTIN(__builtin_msa_msubv_b, "V16ScV16ScV16ScV16Sc", "nc")
724263509SdimBUILTIN(__builtin_msa_msubv_h, "V8SsV8SsV8SsV8Ss", "nc")
725263509SdimBUILTIN(__builtin_msa_msubv_w, "V4SiV4SiV4SiV4Si", "nc")
726263509SdimBUILTIN(__builtin_msa_msubv_d, "V2SLLiV2SLLiV2SLLiV2SLLi", "nc")
727263509Sdim
728263509SdimBUILTIN(__builtin_msa_mul_q_h, "V8SsV8SsV8Ss", "nc")
729263509SdimBUILTIN(__builtin_msa_mul_q_w, "V4SiV4SiV4Si", "nc")
730263509Sdim
731263509SdimBUILTIN(__builtin_msa_mulr_q_h, "V8SsV8SsV8Ss", "nc")
732263509SdimBUILTIN(__builtin_msa_mulr_q_w, "V4SiV4SiV4Si", "nc")
733263509Sdim
734263509SdimBUILTIN(__builtin_msa_mulv_b, "V16ScV16ScV16Sc", "nc")
735263509SdimBUILTIN(__builtin_msa_mulv_h, "V8SsV8SsV8Ss", "nc")
736263509SdimBUILTIN(__builtin_msa_mulv_w, "V4SiV4SiV4Si", "nc")
737263509SdimBUILTIN(__builtin_msa_mulv_d, "V2SLLiV2SLLiV2SLLi", "nc")
738263509Sdim
739263509SdimBUILTIN(__builtin_msa_nloc_b, "V16ScV16Sc", "nc")
740263509SdimBUILTIN(__builtin_msa_nloc_h, "V8SsV8Ss", "nc")
741263509SdimBUILTIN(__builtin_msa_nloc_w, "V4SiV4Si", "nc")
742263509SdimBUILTIN(__builtin_msa_nloc_d, "V2SLLiV2SLLi", "nc")
743263509Sdim
744263509SdimBUILTIN(__builtin_msa_nlzc_b, "V16ScV16Sc", "nc")
745263509SdimBUILTIN(__builtin_msa_nlzc_h, "V8SsV8Ss", "nc")
746263509SdimBUILTIN(__builtin_msa_nlzc_w, "V4SiV4Si", "nc")
747263509SdimBUILTIN(__builtin_msa_nlzc_d, "V2SLLiV2SLLi", "nc")
748263509Sdim
749263509SdimBUILTIN(__builtin_msa_nor_v, "V16UcV16UcV16Uc", "nc")
750263509Sdim
751263509SdimBUILTIN(__builtin_msa_nori_b, "V16UcV16cIUi", "nc")
752263509Sdim
753263509SdimBUILTIN(__builtin_msa_or_v, "V16UcV16UcV16Uc", "nc")
754263509Sdim
755263509SdimBUILTIN(__builtin_msa_ori_b, "V16UcV16UcIUi", "nc")
756263509Sdim
757263509SdimBUILTIN(__builtin_msa_pckev_b, "V16cV16cV16c", "nc")
758263509SdimBUILTIN(__builtin_msa_pckev_h, "V8sV8sV8s", "nc")
759263509SdimBUILTIN(__builtin_msa_pckev_w, "V4iV4iV4i", "nc")
760263509SdimBUILTIN(__builtin_msa_pckev_d, "V2LLiV2LLiV2LLi", "nc")
761263509Sdim
762263509SdimBUILTIN(__builtin_msa_pckod_b, "V16cV16cV16c", "nc")
763263509SdimBUILTIN(__builtin_msa_pckod_h, "V8sV8sV8s", "nc")
764263509SdimBUILTIN(__builtin_msa_pckod_w, "V4iV4iV4i", "nc")
765263509SdimBUILTIN(__builtin_msa_pckod_d, "V2LLiV2LLiV2LLi", "nc")
766263509Sdim
767263509SdimBUILTIN(__builtin_msa_pcnt_b, "V16ScV16Sc", "nc")
768263509SdimBUILTIN(__builtin_msa_pcnt_h, "V8SsV8Ss", "nc")
769263509SdimBUILTIN(__builtin_msa_pcnt_w, "V4SiV4Si", "nc")
770263509SdimBUILTIN(__builtin_msa_pcnt_d, "V2SLLiV2SLLi", "nc")
771263509Sdim
772263509SdimBUILTIN(__builtin_msa_sat_s_b, "V16ScV16ScIUi", "nc")
773263509SdimBUILTIN(__builtin_msa_sat_s_h, "V8SsV8SsIUi", "nc")
774263509SdimBUILTIN(__builtin_msa_sat_s_w, "V4SiV4SiIUi", "nc")
775263509SdimBUILTIN(__builtin_msa_sat_s_d, "V2SLLiV2SLLiIUi", "nc")
776263509Sdim
777263509SdimBUILTIN(__builtin_msa_sat_u_b, "V16UcV16UcIUi", "nc")
778263509SdimBUILTIN(__builtin_msa_sat_u_h, "V8UsV8UsIUi", "nc")
779263509SdimBUILTIN(__builtin_msa_sat_u_w, "V4UiV4UiIUi", "nc")
780263509SdimBUILTIN(__builtin_msa_sat_u_d, "V2ULLiV2ULLiIUi", "nc")
781263509Sdim
782263509SdimBUILTIN(__builtin_msa_shf_b, "V16cV16cIUi", "nc")
783263509SdimBUILTIN(__builtin_msa_shf_h, "V8sV8sIUi", "nc")
784263509SdimBUILTIN(__builtin_msa_shf_w, "V4iV4iIUi", "nc")
785263509Sdim
786263509SdimBUILTIN(__builtin_msa_sld_b, "V16cV16cUi", "nc")
787263509SdimBUILTIN(__builtin_msa_sld_h, "V8sV8sUi", "nc")
788263509SdimBUILTIN(__builtin_msa_sld_w, "V4iV4iUi", "nc")
789263509SdimBUILTIN(__builtin_msa_sld_d, "V2LLiV2LLiUi", "nc")
790263509Sdim
791263509SdimBUILTIN(__builtin_msa_sldi_b, "V16cV16cIUi", "nc")
792263509SdimBUILTIN(__builtin_msa_sldi_h, "V8sV8sIUi", "nc")
793263509SdimBUILTIN(__builtin_msa_sldi_w, "V4iV4iIUi", "nc")
794263509SdimBUILTIN(__builtin_msa_sldi_d, "V2LLiV2LLiIUi", "nc")
795263509Sdim
796263509SdimBUILTIN(__builtin_msa_sll_b, "V16cV16cV16c", "nc")
797263509SdimBUILTIN(__builtin_msa_sll_h, "V8sV8sV8s", "nc")
798263509SdimBUILTIN(__builtin_msa_sll_w, "V4iV4iV4i", "nc")
799263509SdimBUILTIN(__builtin_msa_sll_d, "V2LLiV2LLiV2LLi", "nc")
800263509Sdim
801263509SdimBUILTIN(__builtin_msa_slli_b, "V16cV16cIUi", "nc")
802263509SdimBUILTIN(__builtin_msa_slli_h, "V8sV8sIUi", "nc")
803263509SdimBUILTIN(__builtin_msa_slli_w, "V4iV4iIUi", "nc")
804263509SdimBUILTIN(__builtin_msa_slli_d, "V2LLiV2LLiIUi", "nc")
805263509Sdim
806263509SdimBUILTIN(__builtin_msa_splat_b, "V16cV16cUi", "nc")
807263509SdimBUILTIN(__builtin_msa_splat_h, "V8sV8sUi", "nc")
808263509SdimBUILTIN(__builtin_msa_splat_w, "V4iV4iUi", "nc")
809263509SdimBUILTIN(__builtin_msa_splat_d, "V2LLiV2LLiUi", "nc")
810263509Sdim
811263509SdimBUILTIN(__builtin_msa_splati_b, "V16cV16cIUi", "nc")
812263509SdimBUILTIN(__builtin_msa_splati_h, "V8sV8sIUi", "nc")
813263509SdimBUILTIN(__builtin_msa_splati_w, "V4iV4iIUi", "nc")
814263509SdimBUILTIN(__builtin_msa_splati_d, "V2LLiV2LLiIUi", "nc")
815263509Sdim
816263509SdimBUILTIN(__builtin_msa_sra_b, "V16cV16cV16c", "nc")
817263509SdimBUILTIN(__builtin_msa_sra_h, "V8sV8sV8s", "nc")
818263509SdimBUILTIN(__builtin_msa_sra_w, "V4iV4iV4i", "nc")
819263509SdimBUILTIN(__builtin_msa_sra_d, "V2LLiV2LLiV2LLi", "nc")
820263509Sdim
821263509SdimBUILTIN(__builtin_msa_srai_b, "V16cV16cIUi", "nc")
822263509SdimBUILTIN(__builtin_msa_srai_h, "V8sV8sIUi", "nc")
823263509SdimBUILTIN(__builtin_msa_srai_w, "V4iV4iIUi", "nc")
824263509SdimBUILTIN(__builtin_msa_srai_d, "V2LLiV2LLiIUi", "nc")
825263509Sdim
826263509SdimBUILTIN(__builtin_msa_srar_b, "V16cV16cV16c", "nc")
827263509SdimBUILTIN(__builtin_msa_srar_h, "V8sV8sV8s", "nc")
828263509SdimBUILTIN(__builtin_msa_srar_w, "V4iV4iV4i", "nc")
829263509SdimBUILTIN(__builtin_msa_srar_d, "V2LLiV2LLiV2LLi", "nc")
830263509Sdim
831263509SdimBUILTIN(__builtin_msa_srari_b, "V16cV16cIUi", "nc")
832263509SdimBUILTIN(__builtin_msa_srari_h, "V8sV8sIUi", "nc")
833263509SdimBUILTIN(__builtin_msa_srari_w, "V4iV4iIUi", "nc")
834263509SdimBUILTIN(__builtin_msa_srari_d, "V2LLiV2LLiIUi", "nc")
835263509Sdim
836263509SdimBUILTIN(__builtin_msa_srl_b, "V16cV16cV16c", "nc")
837263509SdimBUILTIN(__builtin_msa_srl_h, "V8sV8sV8s", "nc")
838263509SdimBUILTIN(__builtin_msa_srl_w, "V4iV4iV4i", "nc")
839263509SdimBUILTIN(__builtin_msa_srl_d, "V2LLiV2LLiV2LLi", "nc")
840263509Sdim
841263509SdimBUILTIN(__builtin_msa_srli_b, "V16cV16cIUi", "nc")
842263509SdimBUILTIN(__builtin_msa_srli_h, "V8sV8sIUi", "nc")
843263509SdimBUILTIN(__builtin_msa_srli_w, "V4iV4iIUi", "nc")
844263509SdimBUILTIN(__builtin_msa_srli_d, "V2LLiV2LLiIUi", "nc")
845263509Sdim
846263509SdimBUILTIN(__builtin_msa_srlr_b, "V16cV16cV16c", "nc")
847263509SdimBUILTIN(__builtin_msa_srlr_h, "V8sV8sV8s", "nc")
848263509SdimBUILTIN(__builtin_msa_srlr_w, "V4iV4iV4i", "nc")
849263509SdimBUILTIN(__builtin_msa_srlr_d, "V2LLiV2LLiV2LLi", "nc")
850263509Sdim
851263509SdimBUILTIN(__builtin_msa_srlri_b, "V16cV16cIUi", "nc")
852263509SdimBUILTIN(__builtin_msa_srlri_h, "V8sV8sIUi", "nc")
853263509SdimBUILTIN(__builtin_msa_srlri_w, "V4iV4iIUi", "nc")
854263509SdimBUILTIN(__builtin_msa_srlri_d, "V2LLiV2LLiIUi", "nc")
855263509Sdim
856263509SdimBUILTIN(__builtin_msa_st_b, "vV16Scv*Ii", "nc")
857263509SdimBUILTIN(__builtin_msa_st_h, "vV8Ssv*Ii", "nc")
858263509SdimBUILTIN(__builtin_msa_st_w, "vV4Siv*Ii", "nc")
859263509SdimBUILTIN(__builtin_msa_st_d, "vV2SLLiv*Ii", "nc")
860263509Sdim
861263509SdimBUILTIN(__builtin_msa_subs_s_b, "V16ScV16ScV16Sc", "nc")
862263509SdimBUILTIN(__builtin_msa_subs_s_h, "V8SsV8SsV8Ss", "nc")
863263509SdimBUILTIN(__builtin_msa_subs_s_w, "V4SiV4SiV4Si", "nc")
864263509SdimBUILTIN(__builtin_msa_subs_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
865263509Sdim
866263509SdimBUILTIN(__builtin_msa_subs_u_b, "V16UcV16UcV16Uc", "nc")
867263509SdimBUILTIN(__builtin_msa_subs_u_h, "V8UsV8UsV8Us", "nc")
868263509SdimBUILTIN(__builtin_msa_subs_u_w, "V4UiV4UiV4Ui", "nc")
869263509SdimBUILTIN(__builtin_msa_subs_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
870263509Sdim
871263509SdimBUILTIN(__builtin_msa_subsus_u_b, "V16UcV16UcV16Sc", "nc")
872263509SdimBUILTIN(__builtin_msa_subsus_u_h, "V8UsV8UsV8Ss", "nc")
873263509SdimBUILTIN(__builtin_msa_subsus_u_w, "V4UiV4UiV4Si", "nc")
874263509SdimBUILTIN(__builtin_msa_subsus_u_d, "V2ULLiV2ULLiV2SLLi", "nc")
875263509Sdim
876263509SdimBUILTIN(__builtin_msa_subsuu_s_b, "V16ScV16UcV16Uc", "nc")
877263509SdimBUILTIN(__builtin_msa_subsuu_s_h, "V8SsV8UsV8Us", "nc")
878263509SdimBUILTIN(__builtin_msa_subsuu_s_w, "V4SiV4UiV4Ui", "nc")
879263509SdimBUILTIN(__builtin_msa_subsuu_s_d, "V2SLLiV2ULLiV2ULLi", "nc")
880263509Sdim
881263509SdimBUILTIN(__builtin_msa_subv_b, "V16cV16cV16c", "nc")
882263509SdimBUILTIN(__builtin_msa_subv_h, "V8sV8sV8s", "nc")
883263509SdimBUILTIN(__builtin_msa_subv_w, "V4iV4iV4i", "nc")
884263509SdimBUILTIN(__builtin_msa_subv_d, "V2LLiV2LLiV2LLi", "nc")
885263509Sdim
886263509SdimBUILTIN(__builtin_msa_subvi_b, "V16cV16cIUi", "nc")
887263509SdimBUILTIN(__builtin_msa_subvi_h, "V8sV8sIUi", "nc")
888263509SdimBUILTIN(__builtin_msa_subvi_w, "V4iV4iIUi", "nc")
889263509SdimBUILTIN(__builtin_msa_subvi_d, "V2LLiV2LLiIUi", "nc")
890263509Sdim
891263509SdimBUILTIN(__builtin_msa_vshf_b, "V16cV16cV16cV16c", "nc")
892263509SdimBUILTIN(__builtin_msa_vshf_h, "V8sV8sV8sV8s", "nc")
893263509SdimBUILTIN(__builtin_msa_vshf_w, "V4iV4iV4iV4i", "nc")
894263509SdimBUILTIN(__builtin_msa_vshf_d, "V2LLiV2LLiV2LLiV2LLi", "nc")
895263509Sdim
896263509SdimBUILTIN(__builtin_msa_xor_v, "V16cV16cV16c", "nc")
897263509Sdim
898263509SdimBUILTIN(__builtin_msa_xori_b, "V16cV16cIUi", "nc")
899263509Sdim
900239313Sdim#undef BUILTIN
901