IntrinsicsMips.td revision 4d835f1cbe5d8c5f6cea4040bea9b180927a1c05
1//===- IntrinsicsMips.td - Defines Mips intrinsics ---------*- tablegen -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file defines all of the MIPS-specific intrinsics. 11// 12//===----------------------------------------------------------------------===// 13 14//===----------------------------------------------------------------------===// 15// MIPS DSP data types 16def mips_v2q15_ty: LLVMType<v2i16>; 17def mips_v4q7_ty: LLVMType<v4i8>; 18def mips_q31_ty: LLVMType<i32>; 19 20let TargetPrefix = "mips" in { // All intrinsics start with "llvm.mips.". 21 22//===----------------------------------------------------------------------===// 23// MIPS DSP Rev 1 24 25//===----------------------------------------------------------------------===// 26// Addition/subtraction 27 28def int_mips_addu_qb : GCCBuiltin<"__builtin_mips_addu_qb">, 29 Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [Commutative]>; 30def int_mips_addu_s_qb : GCCBuiltin<"__builtin_mips_addu_s_qb">, 31 Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [Commutative]>; 32def int_mips_subu_qb : GCCBuiltin<"__builtin_mips_subu_qb">, 33 Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], []>; 34def int_mips_subu_s_qb : GCCBuiltin<"__builtin_mips_subu_s_qb">, 35 Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], []>; 36 37def int_mips_addq_ph : GCCBuiltin<"__builtin_mips_addq_ph">, 38 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>; 39def int_mips_addq_s_ph : GCCBuiltin<"__builtin_mips_addq_s_ph">, 40 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>; 41def int_mips_subq_ph : GCCBuiltin<"__builtin_mips_subq_ph">, 42 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], []>; 43def int_mips_subq_s_ph : GCCBuiltin<"__builtin_mips_subq_s_ph">, 44 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], []>; 45 46def int_mips_madd: GCCBuiltin<"__builtin_mips_madd">, 47 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], 48 [IntrNoMem, Commutative]>; 49def int_mips_maddu: GCCBuiltin<"__builtin_mips_maddu">, 50 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], 51 [IntrNoMem, Commutative]>; 52 53def int_mips_msub: GCCBuiltin<"__builtin_mips_msub">, 54 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], 55 [IntrNoMem]>; 56def int_mips_msubu: GCCBuiltin<"__builtin_mips_msubu">, 57 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty, llvm_i32_ty], 58 [IntrNoMem]>; 59 60def int_mips_addq_s_w: GCCBuiltin<"__builtin_mips_addq_s_w">, 61 Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], [Commutative]>; 62def int_mips_subq_s_w: GCCBuiltin<"__builtin_mips_subq_s_w">, 63 Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], []>; 64 65def int_mips_addsc: GCCBuiltin<"__builtin_mips_addsc">, 66 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [Commutative]>; 67def int_mips_addwc: GCCBuiltin<"__builtin_mips_addwc">, 68 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [Commutative]>; 69 70def int_mips_modsub: GCCBuiltin<"__builtin_mips_modsub">, 71 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; 72 73def int_mips_raddu_w_qb: GCCBuiltin<"__builtin_mips_raddu_w_qb">, 74 Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty], [IntrNoMem]>; 75 76//===----------------------------------------------------------------------===// 77// Absolute value 78 79def int_mips_absq_s_ph: GCCBuiltin<"__builtin_mips_absq_s_ph">, 80 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty], []>; 81def int_mips_absq_s_w: GCCBuiltin<"__builtin_mips_absq_s_w">, 82 Intrinsic<[mips_q31_ty], [mips_q31_ty], []>; 83 84//===----------------------------------------------------------------------===// 85// Precision reduce/expand 86 87def int_mips_precrq_qb_ph: GCCBuiltin<"__builtin_mips_precrq_qb_ph">, 88 Intrinsic<[llvm_v4i8_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrNoMem]>; 89def int_mips_precrqu_s_qb_ph: GCCBuiltin<"__builtin_mips_precrqu_s_qb_ph">, 90 Intrinsic<[llvm_v4i8_ty], [mips_v2q15_ty, mips_v2q15_ty], []>; 91def int_mips_precrq_ph_w: GCCBuiltin<"__builtin_mips_precrq_ph_w">, 92 Intrinsic<[mips_v2q15_ty], [mips_q31_ty, mips_q31_ty], [IntrNoMem]>; 93def int_mips_precrq_rs_ph_w: GCCBuiltin<"__builtin_mips_precrq_rs_ph_w">, 94 Intrinsic<[mips_v2q15_ty], [mips_q31_ty, mips_q31_ty], []>; 95def int_mips_preceq_w_phl: GCCBuiltin<"__builtin_mips_preceq_w_phl">, 96 Intrinsic<[mips_q31_ty], [mips_v2q15_ty], [IntrNoMem]>; 97def int_mips_preceq_w_phr: GCCBuiltin<"__builtin_mips_preceq_w_phr">, 98 Intrinsic<[mips_q31_ty], [mips_v2q15_ty], [IntrNoMem]>; 99def int_mips_precequ_ph_qbl: GCCBuiltin<"__builtin_mips_precequ_ph_qbl">, 100 Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; 101def int_mips_precequ_ph_qbr: GCCBuiltin<"__builtin_mips_precequ_ph_qbr">, 102 Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; 103def int_mips_precequ_ph_qbla: GCCBuiltin<"__builtin_mips_precequ_ph_qbla">, 104 Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; 105def int_mips_precequ_ph_qbra: GCCBuiltin<"__builtin_mips_precequ_ph_qbra">, 106 Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; 107def int_mips_preceu_ph_qbl: GCCBuiltin<"__builtin_mips_preceu_ph_qbl">, 108 Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; 109def int_mips_preceu_ph_qbr: GCCBuiltin<"__builtin_mips_preceu_ph_qbr">, 110 Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; 111def int_mips_preceu_ph_qbla: GCCBuiltin<"__builtin_mips_preceu_ph_qbla">, 112 Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; 113def int_mips_preceu_ph_qbra: GCCBuiltin<"__builtin_mips_preceu_ph_qbra">, 114 Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty], [IntrNoMem]>; 115 116//===----------------------------------------------------------------------===// 117// Shift 118 119def int_mips_shll_qb: GCCBuiltin<"__builtin_mips_shll_qb">, 120 Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_i32_ty], []>; 121def int_mips_shrl_qb: GCCBuiltin<"__builtin_mips_shrl_qb">, 122 Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_i32_ty], [IntrNoMem]>; 123def int_mips_shll_ph: GCCBuiltin<"__builtin_mips_shll_ph">, 124 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, llvm_i32_ty], []>; 125def int_mips_shll_s_ph: GCCBuiltin<"__builtin_mips_shll_s_ph">, 126 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, llvm_i32_ty], []>; 127def int_mips_shra_ph: GCCBuiltin<"__builtin_mips_shra_ph">, 128 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, llvm_i32_ty], [IntrNoMem]>; 129def int_mips_shra_r_ph: GCCBuiltin<"__builtin_mips_shra_r_ph">, 130 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, llvm_i32_ty], [IntrNoMem]>; 131def int_mips_shll_s_w: GCCBuiltin<"__builtin_mips_shll_s_w">, 132 Intrinsic<[mips_q31_ty], [mips_q31_ty, llvm_i32_ty], []>; 133def int_mips_shra_r_w: GCCBuiltin<"__builtin_mips_shra_r_w">, 134 Intrinsic<[mips_q31_ty], [mips_q31_ty, llvm_i32_ty], [IntrNoMem]>; 135def int_mips_shilo: GCCBuiltin<"__builtin_mips_shilo">, 136 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty], [IntrNoMem]>; 137 138//===----------------------------------------------------------------------===// 139// Multiplication 140 141def int_mips_muleu_s_ph_qbl: GCCBuiltin<"__builtin_mips_muleu_s_ph_qbl">, 142 Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty, mips_v2q15_ty], []>; 143def int_mips_muleu_s_ph_qbr: GCCBuiltin<"__builtin_mips_muleu_s_ph_qbr">, 144 Intrinsic<[mips_v2q15_ty], [llvm_v4i8_ty, mips_v2q15_ty], []>; 145def int_mips_mulq_rs_ph: GCCBuiltin<"__builtin_mips_mulq_rs_ph">, 146 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>; 147def int_mips_muleq_s_w_phl: GCCBuiltin<"__builtin_mips_muleq_s_w_phl">, 148 Intrinsic<[mips_q31_ty], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>; 149def int_mips_muleq_s_w_phr: GCCBuiltin<"__builtin_mips_muleq_s_w_phr">, 150 Intrinsic<[mips_q31_ty], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>; 151def int_mips_mulsaq_s_w_ph: GCCBuiltin<"__builtin_mips_mulsaq_s_w_ph">, 152 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; 153def int_mips_maq_s_w_phl: GCCBuiltin<"__builtin_mips_maq_s_w_phl">, 154 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; 155def int_mips_maq_s_w_phr: GCCBuiltin<"__builtin_mips_maq_s_w_phr">, 156 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; 157def int_mips_maq_sa_w_phl: GCCBuiltin<"__builtin_mips_maq_sa_w_phl">, 158 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; 159def int_mips_maq_sa_w_phr: GCCBuiltin<"__builtin_mips_maq_sa_w_phr">, 160 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; 161def int_mips_mult: GCCBuiltin<"__builtin_mips_mult">, 162 Intrinsic<[llvm_i64_ty], [llvm_i32_ty, llvm_i32_ty], 163 [IntrNoMem, Commutative]>; 164def int_mips_multu: GCCBuiltin<"__builtin_mips_multu">, 165 Intrinsic<[llvm_i64_ty], [llvm_i32_ty, llvm_i32_ty], 166 [IntrNoMem, Commutative]>; 167 168//===----------------------------------------------------------------------===// 169// Dot product with accumulate/subtract 170 171def int_mips_dpau_h_qbl: GCCBuiltin<"__builtin_mips_dpau_h_qbl">, 172 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v4i8_ty, llvm_v4i8_ty], 173 [IntrNoMem]>; 174def int_mips_dpau_h_qbr: GCCBuiltin<"__builtin_mips_dpau_h_qbr">, 175 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v4i8_ty, llvm_v4i8_ty], 176 [IntrNoMem]>; 177def int_mips_dpsu_h_qbl: GCCBuiltin<"__builtin_mips_dpsu_h_qbl">, 178 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v4i8_ty, llvm_v4i8_ty], 179 [IntrNoMem]>; 180def int_mips_dpsu_h_qbr: GCCBuiltin<"__builtin_mips_dpsu_h_qbr">, 181 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v4i8_ty, llvm_v4i8_ty], 182 [IntrNoMem]>; 183def int_mips_dpaq_s_w_ph: GCCBuiltin<"__builtin_mips_dpaq_s_w_ph">, 184 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; 185def int_mips_dpsq_s_w_ph: GCCBuiltin<"__builtin_mips_dpsq_s_w_ph">, 186 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; 187def int_mips_dpaq_sa_l_w: GCCBuiltin<"__builtin_mips_dpaq_sa_l_w">, 188 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_q31_ty, mips_q31_ty], []>; 189def int_mips_dpsq_sa_l_w: GCCBuiltin<"__builtin_mips_dpsq_sa_l_w">, 190 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_q31_ty, mips_q31_ty], []>; 191 192//===----------------------------------------------------------------------===// 193// Comparison 194 195def int_mips_cmpu_eq_qb: GCCBuiltin<"__builtin_mips_cmpu_eq_qb">, 196 Intrinsic<[], [llvm_v4i8_ty, llvm_v4i8_ty], [Commutative]>; 197def int_mips_cmpu_lt_qb: GCCBuiltin<"__builtin_mips_cmpu_lt_qb">, 198 Intrinsic<[], [llvm_v4i8_ty, llvm_v4i8_ty], []>; 199def int_mips_cmpu_le_qb: GCCBuiltin<"__builtin_mips_cmpu_le_qb">, 200 Intrinsic<[], [llvm_v4i8_ty, llvm_v4i8_ty], []>; 201def int_mips_cmpgu_eq_qb: GCCBuiltin<"__builtin_mips_cmpgu_eq_qb">, 202 Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [Commutative]>; 203def int_mips_cmpgu_lt_qb: GCCBuiltin<"__builtin_mips_cmpgu_lt_qb">, 204 Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty, llvm_v4i8_ty], []>; 205def int_mips_cmpgu_le_qb: GCCBuiltin<"__builtin_mips_cmpgu_le_qb">, 206 Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty, llvm_v4i8_ty], []>; 207def int_mips_cmp_eq_ph: GCCBuiltin<"__builtin_mips_cmp_eq_ph">, 208 Intrinsic<[], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>; 209def int_mips_cmp_lt_ph: GCCBuiltin<"__builtin_mips_cmp_lt_ph">, 210 Intrinsic<[], [mips_v2q15_ty, mips_v2q15_ty], []>; 211def int_mips_cmp_le_ph: GCCBuiltin<"__builtin_mips_cmp_le_ph">, 212 Intrinsic<[], [mips_v2q15_ty, mips_v2q15_ty], []>; 213 214//===----------------------------------------------------------------------===// 215// Extracting 216 217def int_mips_extr_s_h: GCCBuiltin<"__builtin_mips_extr_s_h">, 218 Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty], []>; 219def int_mips_extr_w: GCCBuiltin<"__builtin_mips_extr_w">, 220 Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty], []>; 221def int_mips_extr_rs_w: GCCBuiltin<"__builtin_mips_extr_rs_w">, 222 Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty], []>; 223def int_mips_extr_r_w: GCCBuiltin<"__builtin_mips_extr_r_w">, 224 Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty], []>; 225def int_mips_extp: GCCBuiltin<"__builtin_mips_extp">, 226 Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty], []>; 227def int_mips_extpdp: GCCBuiltin<"__builtin_mips_extpdp">, 228 Intrinsic<[llvm_i32_ty], [llvm_i64_ty, llvm_i32_ty], []>; 229 230//===----------------------------------------------------------------------===// 231// Misc 232 233def int_mips_wrdsp: GCCBuiltin<"__builtin_mips_wrdsp">, 234 Intrinsic<[], [llvm_i32_ty, llvm_i32_ty], []>; 235def int_mips_rddsp: GCCBuiltin<"__builtin_mips_rddsp">, 236 Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrReadMem]>; 237 238def int_mips_insv: GCCBuiltin<"__builtin_mips_insv">, 239 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrReadMem]>; 240def int_mips_bitrev: GCCBuiltin<"__builtin_mips_bitrev">, 241 Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>; 242 243def int_mips_packrl_ph: GCCBuiltin<"__builtin_mips_packrl_ph">, 244 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrNoMem]>; 245 246def int_mips_repl_qb: GCCBuiltin<"__builtin_mips_repl_qb">, 247 Intrinsic<[llvm_v4i8_ty], [llvm_i32_ty], [IntrNoMem]>; 248def int_mips_repl_ph: GCCBuiltin<"__builtin_mips_repl_ph">, 249 Intrinsic<[mips_v2q15_ty], [llvm_i32_ty], [IntrNoMem]>; 250 251def int_mips_pick_qb: GCCBuiltin<"__builtin_mips_pick_qb">, 252 Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [IntrReadMem]>; 253def int_mips_pick_ph: GCCBuiltin<"__builtin_mips_pick_ph">, 254 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrReadMem]>; 255 256def int_mips_mthlip: GCCBuiltin<"__builtin_mips_mthlip">, 257 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_i32_ty], []>; 258 259def int_mips_bposge32: GCCBuiltin<"__builtin_mips_bposge32">, 260 Intrinsic<[llvm_i32_ty], [], [IntrReadMem]>; 261 262def int_mips_lbux: GCCBuiltin<"__builtin_mips_lbux">, 263 Intrinsic<[llvm_i32_ty], [llvm_ptr_ty, llvm_i32_ty], [IntrReadArgMem]>; 264def int_mips_lhx: GCCBuiltin<"__builtin_mips_lhx">, 265 Intrinsic<[llvm_i32_ty], [llvm_ptr_ty, llvm_i32_ty], [IntrReadArgMem]>; 266def int_mips_lwx: GCCBuiltin<"__builtin_mips_lwx">, 267 Intrinsic<[llvm_i32_ty], [llvm_ptr_ty, llvm_i32_ty], [IntrReadArgMem]>; 268 269//===----------------------------------------------------------------------===// 270// MIPS DSP Rev 2 271 272def int_mips_absq_s_qb: GCCBuiltin<"__builtin_mips_absq_s_qb">, 273 Intrinsic<[mips_v4q7_ty], [mips_v4q7_ty], []>; 274 275def int_mips_addqh_ph: GCCBuiltin<"__builtin_mips_addqh_ph">, 276 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], 277 [IntrNoMem, Commutative]>; 278def int_mips_addqh_r_ph: GCCBuiltin<"__builtin_mips_addqh_r_ph">, 279 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], 280 [IntrNoMem, Commutative]>; 281def int_mips_addqh_w: GCCBuiltin<"__builtin_mips_addqh_w">, 282 Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], 283 [IntrNoMem, Commutative]>; 284def int_mips_addqh_r_w: GCCBuiltin<"__builtin_mips_addqh_r_w">, 285 Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], 286 [IntrNoMem, Commutative]>; 287 288def int_mips_addu_ph: GCCBuiltin<"__builtin_mips_addu_ph">, 289 Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_v2i16_ty], [Commutative]>; 290def int_mips_addu_s_ph: GCCBuiltin<"__builtin_mips_addu_s_ph">, 291 Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_v2i16_ty], [Commutative]>; 292 293def int_mips_adduh_qb: GCCBuiltin<"__builtin_mips_adduh_qb">, 294 Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], 295 [IntrNoMem, Commutative]>; 296def int_mips_adduh_r_qb: GCCBuiltin<"__builtin_mips_adduh_r_qb">, 297 Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], 298 [IntrNoMem, Commutative]>; 299 300def int_mips_append: GCCBuiltin<"__builtin_mips_append">, 301 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 302 [IntrNoMem]>; 303def int_mips_balign: GCCBuiltin<"__builtin_mips_balign">, 304 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 305 [IntrNoMem]>; 306 307def int_mips_cmpgdu_eq_qb: GCCBuiltin<"__builtin_mips_cmpgdu_eq_qb">, 308 Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [Commutative]>; 309def int_mips_cmpgdu_lt_qb: GCCBuiltin<"__builtin_mips_cmpgdu_lt_qb">, 310 Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty, llvm_v4i8_ty], []>; 311def int_mips_cmpgdu_le_qb: GCCBuiltin<"__builtin_mips_cmpgdu_le_qb">, 312 Intrinsic<[llvm_i32_ty], [llvm_v4i8_ty, llvm_v4i8_ty], []>; 313 314def int_mips_dpa_w_ph: GCCBuiltin<"__builtin_mips_dpa_w_ph">, 315 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v2i16_ty, llvm_v2i16_ty], 316 [IntrNoMem]>; 317def int_mips_dps_w_ph: GCCBuiltin<"__builtin_mips_dps_w_ph">, 318 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v2i16_ty, llvm_v2i16_ty], 319 [IntrNoMem]>; 320 321def int_mips_dpaqx_s_w_ph: GCCBuiltin<"__builtin_mips_dpaqx_s_w_ph">, 322 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; 323def int_mips_dpaqx_sa_w_ph: GCCBuiltin<"__builtin_mips_dpaqx_sa_w_ph">, 324 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; 325def int_mips_dpax_w_ph: GCCBuiltin<"__builtin_mips_dpax_w_ph">, 326 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v2i16_ty, llvm_v2i16_ty], 327 [IntrNoMem]>; 328def int_mips_dpsx_w_ph: GCCBuiltin<"__builtin_mips_dpsx_w_ph">, 329 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v2i16_ty, llvm_v2i16_ty], 330 [IntrNoMem]>; 331def int_mips_dpsqx_s_w_ph: GCCBuiltin<"__builtin_mips_dpsqx_s_w_ph">, 332 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; 333def int_mips_dpsqx_sa_w_ph: GCCBuiltin<"__builtin_mips_dpsqx_sa_w_ph">, 334 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, mips_v2q15_ty, mips_v2q15_ty], []>; 335 336def int_mips_mul_ph: GCCBuiltin<"__builtin_mips_mul_ph">, 337 Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_v2i16_ty], [Commutative]>; 338def int_mips_mul_s_ph: GCCBuiltin<"__builtin_mips_mul_s_ph">, 339 Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_v2i16_ty], [Commutative]>; 340 341def int_mips_mulq_rs_w: GCCBuiltin<"__builtin_mips_mulq_rs_w">, 342 Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], [Commutative]>; 343def int_mips_mulq_s_ph: GCCBuiltin<"__builtin_mips_mulq_s_ph">, 344 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [Commutative]>; 345def int_mips_mulq_s_w: GCCBuiltin<"__builtin_mips_mulq_s_w">, 346 Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], [Commutative]>; 347def int_mips_mulsa_w_ph: GCCBuiltin<"__builtin_mips_mulsa_w_ph">, 348 Intrinsic<[llvm_i64_ty], [llvm_i64_ty, llvm_v2i16_ty, llvm_v2i16_ty], 349 [IntrNoMem]>; 350 351def int_mips_precr_qb_ph: GCCBuiltin<"__builtin_mips_precr_qb_ph">, 352 Intrinsic<[llvm_v4i8_ty], [llvm_v2i16_ty, llvm_v2i16_ty], []>; 353def int_mips_precr_sra_ph_w: GCCBuiltin<"__builtin_mips_precr_sra_ph_w">, 354 Intrinsic<[llvm_v2i16_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 355 [IntrNoMem]>; 356def int_mips_precr_sra_r_ph_w: GCCBuiltin<"__builtin_mips_precr_sra_r_ph_w">, 357 Intrinsic<[llvm_v2i16_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 358 [IntrNoMem]>; 359 360def int_mips_prepend: GCCBuiltin<"__builtin_mips_prepend">, 361 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 362 [IntrNoMem]>; 363 364def int_mips_shra_qb: GCCBuiltin<"__builtin_mips_shra_qb">, 365 Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_i32_ty], [IntrNoMem]>; 366def int_mips_shra_r_qb: GCCBuiltin<"__builtin_mips_shra_r_qb">, 367 Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_i32_ty], [IntrNoMem]>; 368def int_mips_shrl_ph: GCCBuiltin<"__builtin_mips_shrl_ph">, 369 Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_i32_ty], [IntrNoMem]>; 370 371def int_mips_subqh_ph: GCCBuiltin<"__builtin_mips_subqh_ph">, 372 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrNoMem]>; 373def int_mips_subqh_r_ph: GCCBuiltin<"__builtin_mips_subqh_r_ph">, 374 Intrinsic<[mips_v2q15_ty], [mips_v2q15_ty, mips_v2q15_ty], [IntrNoMem]>; 375def int_mips_subqh_w: GCCBuiltin<"__builtin_mips_subqh_w">, 376 Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], [IntrNoMem]>; 377def int_mips_subqh_r_w: GCCBuiltin<"__builtin_mips_subqh_r_w">, 378 Intrinsic<[mips_q31_ty], [mips_q31_ty, mips_q31_ty], [IntrNoMem]>; 379 380def int_mips_subu_ph: GCCBuiltin<"__builtin_mips_subu_ph">, 381 Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_v2i16_ty], []>; 382def int_mips_subu_s_ph: GCCBuiltin<"__builtin_mips_subu_s_ph">, 383 Intrinsic<[llvm_v2i16_ty], [llvm_v2i16_ty, llvm_v2i16_ty], []>; 384 385def int_mips_subuh_qb: GCCBuiltin<"__builtin_mips_subuh_qb">, 386 Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [IntrNoMem]>; 387def int_mips_subuh_r_qb: GCCBuiltin<"__builtin_mips_subuh_r_qb">, 388 Intrinsic<[llvm_v4i8_ty], [llvm_v4i8_ty, llvm_v4i8_ty], [IntrNoMem]>; 389 390//===----------------------------------------------------------------------===// 391// MIPS MSA 392 393//===----------------------------------------------------------------------===// 394// Addition/subtraction 395 396def int_mips_add_a_b : GCCBuiltin<"__builtin_msa_add_a_b">, 397 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], 398 [Commutative, IntrNoMem]>; 399def int_mips_add_a_h : GCCBuiltin<"__builtin_msa_add_a_h">, 400 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], 401 [Commutative, IntrNoMem]>; 402def int_mips_add_a_w : GCCBuiltin<"__builtin_msa_add_a_w">, 403 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], 404 [Commutative, IntrNoMem]>; 405def int_mips_add_a_d : GCCBuiltin<"__builtin_msa_add_a_d">, 406 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], 407 [Commutative, IntrNoMem]>; 408 409def int_mips_adds_a_b : GCCBuiltin<"__builtin_msa_adds_a_b">, 410 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], 411 [Commutative, IntrNoMem]>; 412def int_mips_adds_a_h : GCCBuiltin<"__builtin_msa_adds_a_h">, 413 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], 414 [Commutative, IntrNoMem]>; 415def int_mips_adds_a_w : GCCBuiltin<"__builtin_msa_adds_a_w">, 416 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], 417 [Commutative, IntrNoMem]>; 418def int_mips_adds_a_d : GCCBuiltin<"__builtin_msa_adds_a_d">, 419 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], 420 [Commutative, IntrNoMem]>; 421 422def int_mips_adds_s_b : GCCBuiltin<"__builtin_msa_adds_s_b">, 423 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], 424 [Commutative, IntrNoMem]>; 425def int_mips_adds_s_h : GCCBuiltin<"__builtin_msa_adds_s_h">, 426 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], 427 [Commutative, IntrNoMem]>; 428def int_mips_adds_s_w : GCCBuiltin<"__builtin_msa_adds_s_w">, 429 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], 430 [Commutative, IntrNoMem]>; 431def int_mips_adds_s_d : GCCBuiltin<"__builtin_msa_adds_s_d">, 432 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], 433 [Commutative, IntrNoMem]>; 434 435def int_mips_adds_u_b : GCCBuiltin<"__builtin_msa_adds_u_b">, 436 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], 437 [Commutative, IntrNoMem]>; 438def int_mips_adds_u_h : GCCBuiltin<"__builtin_msa_adds_u_h">, 439 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], 440 [Commutative, IntrNoMem]>; 441def int_mips_adds_u_w : GCCBuiltin<"__builtin_msa_adds_u_w">, 442 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], 443 [Commutative, IntrNoMem]>; 444def int_mips_adds_u_d : GCCBuiltin<"__builtin_msa_adds_u_d">, 445 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], 446 [Commutative, IntrNoMem]>; 447 448def int_mips_addv_b : GCCBuiltin<"__builtin_msa_addv_b">, 449 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], 450 [Commutative, IntrNoMem]>; 451def int_mips_addv_h : GCCBuiltin<"__builtin_msa_addv_h">, 452 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], 453 [Commutative, IntrNoMem]>; 454def int_mips_addv_w : GCCBuiltin<"__builtin_msa_addv_w">, 455 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], 456 [Commutative, IntrNoMem]>; 457def int_mips_addv_d : GCCBuiltin<"__builtin_msa_addv_d">, 458 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], 459 [Commutative, IntrNoMem]>; 460 461def int_mips_addvi_b : GCCBuiltin<"__builtin_msa_addvi_b">, 462 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], 463 [Commutative, IntrNoMem]>; 464def int_mips_addvi_h : GCCBuiltin<"__builtin_msa_addvi_h">, 465 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], 466 [Commutative, IntrNoMem]>; 467def int_mips_addvi_w : GCCBuiltin<"__builtin_msa_addvi_w">, 468 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], 469 [Commutative, IntrNoMem]>; 470def int_mips_addvi_d : GCCBuiltin<"__builtin_msa_addvi_d">, 471 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], 472 [Commutative, IntrNoMem]>; 473 474def int_mips_and_v : GCCBuiltin<"__builtin_msa_and_v">, 475 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 476 477def int_mips_andi_b : GCCBuiltin<"__builtin_msa_andi_b">, 478 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 479 480def int_mips_asub_s_b : GCCBuiltin<"__builtin_msa_asub_s_b">, 481 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 482def int_mips_asub_s_h : GCCBuiltin<"__builtin_msa_asub_s_h">, 483 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 484def int_mips_asub_s_w : GCCBuiltin<"__builtin_msa_asub_s_w">, 485 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 486def int_mips_asub_s_d : GCCBuiltin<"__builtin_msa_asub_s_d">, 487 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 488 489def int_mips_asub_u_b : GCCBuiltin<"__builtin_msa_asub_u_b">, 490 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 491def int_mips_asub_u_h : GCCBuiltin<"__builtin_msa_asub_u_h">, 492 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 493def int_mips_asub_u_w : GCCBuiltin<"__builtin_msa_asub_u_w">, 494 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 495def int_mips_asub_u_d : GCCBuiltin<"__builtin_msa_asub_u_d">, 496 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 497 498def int_mips_ave_s_b : GCCBuiltin<"__builtin_msa_ave_s_b">, 499 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], 500 [Commutative, IntrNoMem]>; 501def int_mips_ave_s_h : GCCBuiltin<"__builtin_msa_ave_s_h">, 502 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], 503 [Commutative, IntrNoMem]>; 504def int_mips_ave_s_w : GCCBuiltin<"__builtin_msa_ave_s_w">, 505 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], 506 [Commutative, IntrNoMem]>; 507def int_mips_ave_s_d : GCCBuiltin<"__builtin_msa_ave_s_d">, 508 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], 509 [Commutative, IntrNoMem]>; 510 511def int_mips_ave_u_b : GCCBuiltin<"__builtin_msa_ave_u_b">, 512 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], 513 [Commutative, IntrNoMem]>; 514def int_mips_ave_u_h : GCCBuiltin<"__builtin_msa_ave_u_h">, 515 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], 516 [Commutative, IntrNoMem]>; 517def int_mips_ave_u_w : GCCBuiltin<"__builtin_msa_ave_u_w">, 518 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], 519 [Commutative, IntrNoMem]>; 520def int_mips_ave_u_d : GCCBuiltin<"__builtin_msa_ave_u_d">, 521 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], 522 [Commutative, IntrNoMem]>; 523 524def int_mips_aver_s_b : GCCBuiltin<"__builtin_msa_aver_s_b">, 525 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], 526 [Commutative, IntrNoMem]>; 527def int_mips_aver_s_h : GCCBuiltin<"__builtin_msa_aver_s_h">, 528 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], 529 [Commutative, IntrNoMem]>; 530def int_mips_aver_s_w : GCCBuiltin<"__builtin_msa_aver_s_w">, 531 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], 532 [Commutative, IntrNoMem]>; 533def int_mips_aver_s_d : GCCBuiltin<"__builtin_msa_aver_s_d">, 534 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], 535 [Commutative, IntrNoMem]>; 536 537def int_mips_aver_u_b : GCCBuiltin<"__builtin_msa_aver_u_b">, 538 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], 539 [Commutative, IntrNoMem]>; 540def int_mips_aver_u_h : GCCBuiltin<"__builtin_msa_aver_u_h">, 541 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], 542 [Commutative, IntrNoMem]>; 543def int_mips_aver_u_w : GCCBuiltin<"__builtin_msa_aver_u_w">, 544 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], 545 [Commutative, IntrNoMem]>; 546def int_mips_aver_u_d : GCCBuiltin<"__builtin_msa_aver_u_d">, 547 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], 548 [Commutative, IntrNoMem]>; 549 550def int_mips_bclr_b : GCCBuiltin<"__builtin_msa_bclr_b">, 551 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 552def int_mips_bclr_h : GCCBuiltin<"__builtin_msa_bclr_h">, 553 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 554def int_mips_bclr_w : GCCBuiltin<"__builtin_msa_bclr_w">, 555 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 556def int_mips_bclr_d : GCCBuiltin<"__builtin_msa_bclr_d">, 557 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 558 559def int_mips_bclri_b : GCCBuiltin<"__builtin_msa_bclri_b">, 560 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 561def int_mips_bclri_h : GCCBuiltin<"__builtin_msa_bclri_h">, 562 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 563def int_mips_bclri_w : GCCBuiltin<"__builtin_msa_bclri_w">, 564 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 565def int_mips_bclri_d : GCCBuiltin<"__builtin_msa_bclri_d">, 566 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 567 568def int_mips_binsl_b : GCCBuiltin<"__builtin_msa_binsl_b">, 569 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 570def int_mips_binsl_h : GCCBuiltin<"__builtin_msa_binsl_h">, 571 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 572def int_mips_binsl_w : GCCBuiltin<"__builtin_msa_binsl_w">, 573 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 574def int_mips_binsl_d : GCCBuiltin<"__builtin_msa_binsl_d">, 575 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 576 577def int_mips_binsli_b : GCCBuiltin<"__builtin_msa_binsli_b">, 578 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 579def int_mips_binsli_h : GCCBuiltin<"__builtin_msa_binsli_h">, 580 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 581def int_mips_binsli_w : GCCBuiltin<"__builtin_msa_binsli_w">, 582 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 583def int_mips_binsli_d : GCCBuiltin<"__builtin_msa_binsli_d">, 584 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 585 586def int_mips_binsr_b : GCCBuiltin<"__builtin_msa_binsr_b">, 587 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 588def int_mips_binsr_h : GCCBuiltin<"__builtin_msa_binsr_h">, 589 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 590def int_mips_binsr_w : GCCBuiltin<"__builtin_msa_binsr_w">, 591 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 592def int_mips_binsr_d : GCCBuiltin<"__builtin_msa_binsr_d">, 593 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 594 595def int_mips_binsri_b : GCCBuiltin<"__builtin_msa_binsri_b">, 596 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 597def int_mips_binsri_h : GCCBuiltin<"__builtin_msa_binsri_h">, 598 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 599def int_mips_binsri_w : GCCBuiltin<"__builtin_msa_binsri_w">, 600 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 601def int_mips_binsri_d : GCCBuiltin<"__builtin_msa_binsri_d">, 602 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 603 604def int_mips_bmnz_v : GCCBuiltin<"__builtin_msa_bmnz_v">, 605 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 606 607def int_mips_bmnzi_b : GCCBuiltin<"__builtin_msa_bmnzi_b">, 608 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 609 610def int_mips_bmz_v : GCCBuiltin<"__builtin_msa_bmz_v">, 611 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 612 613def int_mips_bmzi_b : GCCBuiltin<"__builtin_msa_bmzi_b">, 614 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 615 616def int_mips_bneg_b : GCCBuiltin<"__builtin_msa_bneg_b">, 617 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 618def int_mips_bneg_h : GCCBuiltin<"__builtin_msa_bneg_h">, 619 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 620def int_mips_bneg_w : GCCBuiltin<"__builtin_msa_bneg_w">, 621 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 622def int_mips_bneg_d : GCCBuiltin<"__builtin_msa_bneg_d">, 623 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 624 625def int_mips_bnegi_b : GCCBuiltin<"__builtin_msa_bnegi_b">, 626 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 627def int_mips_bnegi_h : GCCBuiltin<"__builtin_msa_bnegi_h">, 628 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 629def int_mips_bnegi_w : GCCBuiltin<"__builtin_msa_bnegi_w">, 630 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 631def int_mips_bnegi_d : GCCBuiltin<"__builtin_msa_bnegi_d">, 632 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 633 634def int_mips_bnz_b : GCCBuiltin<"__builtin_msa_bnz_b">, 635 Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; 636def int_mips_bnz_h : GCCBuiltin<"__builtin_msa_bnz_h">, 637 Intrinsic<[llvm_i32_ty], [llvm_v8i16_ty], [IntrNoMem]>; 638def int_mips_bnz_w : GCCBuiltin<"__builtin_msa_bnz_w">, 639 Intrinsic<[llvm_i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 640def int_mips_bnz_d : GCCBuiltin<"__builtin_msa_bnz_d">, 641 Intrinsic<[llvm_i32_ty], [llvm_v2i64_ty], [IntrNoMem]>; 642 643def int_mips_bnz_v : GCCBuiltin<"__builtin_msa_bnz_v">, 644 Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; 645 646def int_mips_bsel_v : GCCBuiltin<"__builtin_msa_bsel_v">, 647 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], 648 [IntrNoMem]>; 649 650def int_mips_bseli_b : GCCBuiltin<"__builtin_msa_bseli_b">, 651 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], 652 [IntrNoMem]>; 653 654def int_mips_bset_b : GCCBuiltin<"__builtin_msa_bset_b">, 655 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 656def int_mips_bset_h : GCCBuiltin<"__builtin_msa_bset_h">, 657 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 658def int_mips_bset_w : GCCBuiltin<"__builtin_msa_bset_w">, 659 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 660def int_mips_bset_d : GCCBuiltin<"__builtin_msa_bset_d">, 661 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 662 663def int_mips_bseti_b : GCCBuiltin<"__builtin_msa_bseti_b">, 664 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 665def int_mips_bseti_h : GCCBuiltin<"__builtin_msa_bseti_h">, 666 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 667def int_mips_bseti_w : GCCBuiltin<"__builtin_msa_bseti_w">, 668 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 669def int_mips_bseti_d : GCCBuiltin<"__builtin_msa_bseti_d">, 670 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 671 672def int_mips_bz_b : GCCBuiltin<"__builtin_msa_bz_b">, 673 Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; 674def int_mips_bz_h : GCCBuiltin<"__builtin_msa_bz_h">, 675 Intrinsic<[llvm_i32_ty], [llvm_v8i16_ty], [IntrNoMem]>; 676def int_mips_bz_w : GCCBuiltin<"__builtin_msa_bz_w">, 677 Intrinsic<[llvm_i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 678def int_mips_bz_d : GCCBuiltin<"__builtin_msa_bz_d">, 679 Intrinsic<[llvm_i32_ty], [llvm_v2i64_ty], [IntrNoMem]>; 680 681def int_mips_bz_v : GCCBuiltin<"__builtin_msa_bz_v">, 682 Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; 683 684def int_mips_ceq_b : GCCBuiltin<"__builtin_msa_ceq_b">, 685 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 686def int_mips_ceq_h : GCCBuiltin<"__builtin_msa_ceq_h">, 687 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 688def int_mips_ceq_w : GCCBuiltin<"__builtin_msa_ceq_w">, 689 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 690def int_mips_ceq_d : GCCBuiltin<"__builtin_msa_ceq_d">, 691 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 692 693def int_mips_ceqi_b : GCCBuiltin<"__builtin_msa_ceqi_b">, 694 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 695def int_mips_ceqi_h : GCCBuiltin<"__builtin_msa_ceqi_h">, 696 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 697def int_mips_ceqi_w : GCCBuiltin<"__builtin_msa_ceqi_w">, 698 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 699def int_mips_ceqi_d : GCCBuiltin<"__builtin_msa_ceqi_d">, 700 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 701 702def int_mips_cfcmsa : GCCBuiltin<"__builtin_msa_cfcmsa">, 703 Intrinsic<[llvm_i32_ty], [llvm_i32_ty], []>; 704 705def int_mips_cle_s_b : GCCBuiltin<"__builtin_msa_cle_s_b">, 706 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 707def int_mips_cle_s_h : GCCBuiltin<"__builtin_msa_cle_s_h">, 708 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 709def int_mips_cle_s_w : GCCBuiltin<"__builtin_msa_cle_s_w">, 710 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 711def int_mips_cle_s_d : GCCBuiltin<"__builtin_msa_cle_s_d">, 712 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 713 714def int_mips_cle_u_b : GCCBuiltin<"__builtin_msa_cle_u_b">, 715 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 716def int_mips_cle_u_h : GCCBuiltin<"__builtin_msa_cle_u_h">, 717 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 718def int_mips_cle_u_w : GCCBuiltin<"__builtin_msa_cle_u_w">, 719 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 720def int_mips_cle_u_d : GCCBuiltin<"__builtin_msa_cle_u_d">, 721 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 722 723def int_mips_clei_s_b : GCCBuiltin<"__builtin_msa_clei_s_b">, 724 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 725def int_mips_clei_s_h : GCCBuiltin<"__builtin_msa_clei_s_h">, 726 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 727def int_mips_clei_s_w : GCCBuiltin<"__builtin_msa_clei_s_w">, 728 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 729def int_mips_clei_s_d : GCCBuiltin<"__builtin_msa_clei_s_d">, 730 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 731 732def int_mips_clei_u_b : GCCBuiltin<"__builtin_msa_clei_u_b">, 733 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 734def int_mips_clei_u_h : GCCBuiltin<"__builtin_msa_clei_u_h">, 735 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 736def int_mips_clei_u_w : GCCBuiltin<"__builtin_msa_clei_u_w">, 737 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 738def int_mips_clei_u_d : GCCBuiltin<"__builtin_msa_clei_u_d">, 739 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 740 741def int_mips_clt_s_b : GCCBuiltin<"__builtin_msa_clt_s_b">, 742 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 743def int_mips_clt_s_h : GCCBuiltin<"__builtin_msa_clt_s_h">, 744 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 745def int_mips_clt_s_w : GCCBuiltin<"__builtin_msa_clt_s_w">, 746 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 747def int_mips_clt_s_d : GCCBuiltin<"__builtin_msa_clt_s_d">, 748 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 749 750def int_mips_clt_u_b : GCCBuiltin<"__builtin_msa_clt_u_b">, 751 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 752def int_mips_clt_u_h : GCCBuiltin<"__builtin_msa_clt_u_h">, 753 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 754def int_mips_clt_u_w : GCCBuiltin<"__builtin_msa_clt_u_w">, 755 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 756def int_mips_clt_u_d : GCCBuiltin<"__builtin_msa_clt_u_d">, 757 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 758 759def int_mips_clti_s_b : GCCBuiltin<"__builtin_msa_clti_s_b">, 760 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 761def int_mips_clti_s_h : GCCBuiltin<"__builtin_msa_clti_s_h">, 762 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 763def int_mips_clti_s_w : GCCBuiltin<"__builtin_msa_clti_s_w">, 764 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 765def int_mips_clti_s_d : GCCBuiltin<"__builtin_msa_clti_s_d">, 766 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 767 768def int_mips_clti_u_b : GCCBuiltin<"__builtin_msa_clti_u_b">, 769 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 770def int_mips_clti_u_h : GCCBuiltin<"__builtin_msa_clti_u_h">, 771 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 772def int_mips_clti_u_w : GCCBuiltin<"__builtin_msa_clti_u_w">, 773 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 774def int_mips_clti_u_d : GCCBuiltin<"__builtin_msa_clti_u_d">, 775 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 776 777def int_mips_copy_s_b : GCCBuiltin<"__builtin_msa_copy_s_b">, 778 Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 779def int_mips_copy_s_h : GCCBuiltin<"__builtin_msa_copy_s_h">, 780 Intrinsic<[llvm_i32_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 781def int_mips_copy_s_w : GCCBuiltin<"__builtin_msa_copy_s_w">, 782 Intrinsic<[llvm_i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 783def int_mips_copy_s_d : GCCBuiltin<"__builtin_msa_copy_s_d">, 784 Intrinsic<[llvm_i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 785 786def int_mips_copy_u_b : GCCBuiltin<"__builtin_msa_copy_u_b">, 787 Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 788def int_mips_copy_u_h : GCCBuiltin<"__builtin_msa_copy_u_h">, 789 Intrinsic<[llvm_i32_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 790def int_mips_copy_u_w : GCCBuiltin<"__builtin_msa_copy_u_w">, 791 Intrinsic<[llvm_i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 792def int_mips_copy_u_d : GCCBuiltin<"__builtin_msa_copy_u_d">, 793 Intrinsic<[llvm_i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 794 795def int_mips_ctcmsa : GCCBuiltin<"__builtin_msa_ctcmsa">, 796 Intrinsic<[], [llvm_i32_ty, llvm_i32_ty], []>; 797 798def int_mips_div_s_b : GCCBuiltin<"__builtin_msa_div_s_b">, 799 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 800def int_mips_div_s_h : GCCBuiltin<"__builtin_msa_div_s_h">, 801 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 802def int_mips_div_s_w : GCCBuiltin<"__builtin_msa_div_s_w">, 803 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 804def int_mips_div_s_d : GCCBuiltin<"__builtin_msa_div_s_d">, 805 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 806 807def int_mips_div_u_b : GCCBuiltin<"__builtin_msa_div_u_b">, 808 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 809def int_mips_div_u_h : GCCBuiltin<"__builtin_msa_div_u_h">, 810 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 811def int_mips_div_u_w : GCCBuiltin<"__builtin_msa_div_u_w">, 812 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 813def int_mips_div_u_d : GCCBuiltin<"__builtin_msa_div_u_d">, 814 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 815 816def int_mips_dotp_s_h : GCCBuiltin<"__builtin_msa_dotp_s_h">, 817 Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 818def int_mips_dotp_s_w : GCCBuiltin<"__builtin_msa_dotp_s_w">, 819 Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 820def int_mips_dotp_s_d : GCCBuiltin<"__builtin_msa_dotp_s_d">, 821 Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 822 823def int_mips_dotp_u_h : GCCBuiltin<"__builtin_msa_dotp_u_h">, 824 Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 825def int_mips_dotp_u_w : GCCBuiltin<"__builtin_msa_dotp_u_w">, 826 Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 827def int_mips_dotp_u_d : GCCBuiltin<"__builtin_msa_dotp_u_d">, 828 Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 829 830def int_mips_dpadd_s_h : GCCBuiltin<"__builtin_msa_dpadd_s_h">, 831 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v16i8_ty, llvm_v16i8_ty], 832 [IntrNoMem]>; 833def int_mips_dpadd_s_w : GCCBuiltin<"__builtin_msa_dpadd_s_w">, 834 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v8i16_ty, llvm_v8i16_ty], 835 [IntrNoMem]>; 836def int_mips_dpadd_s_d : GCCBuiltin<"__builtin_msa_dpadd_s_d">, 837 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v4i32_ty, llvm_v4i32_ty], 838 [IntrNoMem]>; 839 840def int_mips_dpadd_u_h : GCCBuiltin<"__builtin_msa_dpadd_u_h">, 841 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v16i8_ty, llvm_v16i8_ty], 842 [IntrNoMem]>; 843def int_mips_dpadd_u_w : GCCBuiltin<"__builtin_msa_dpadd_u_w">, 844 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v8i16_ty, llvm_v8i16_ty], 845 [IntrNoMem]>; 846def int_mips_dpadd_u_d : GCCBuiltin<"__builtin_msa_dpadd_u_d">, 847 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v4i32_ty, llvm_v4i32_ty], 848 [IntrNoMem]>; 849 850def int_mips_dpsub_s_h : GCCBuiltin<"__builtin_msa_dpsub_s_h">, 851 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v16i8_ty, llvm_v16i8_ty], 852 [IntrNoMem]>; 853def int_mips_dpsub_s_w : GCCBuiltin<"__builtin_msa_dpsub_s_w">, 854 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v8i16_ty, llvm_v8i16_ty], 855 [IntrNoMem]>; 856def int_mips_dpsub_s_d : GCCBuiltin<"__builtin_msa_dpsub_s_d">, 857 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v4i32_ty, llvm_v4i32_ty], 858 [IntrNoMem]>; 859 860def int_mips_dpsub_u_h : GCCBuiltin<"__builtin_msa_dpsub_u_h">, 861 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v16i8_ty, llvm_v16i8_ty], 862 [IntrNoMem]>; 863def int_mips_dpsub_u_w : GCCBuiltin<"__builtin_msa_dpsub_u_w">, 864 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v8i16_ty, llvm_v8i16_ty], 865 [IntrNoMem]>; 866def int_mips_dpsub_u_d : GCCBuiltin<"__builtin_msa_dpsub_u_d">, 867 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v4i32_ty, llvm_v4i32_ty], 868 [IntrNoMem]>; 869 870def int_mips_fadd_w : GCCBuiltin<"__builtin_msa_fadd_w">, 871 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 872def int_mips_fadd_d : GCCBuiltin<"__builtin_msa_fadd_d">, 873 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 874 875def int_mips_fcaf_w : GCCBuiltin<"__builtin_msa_fcaf_w">, 876 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 877def int_mips_fcaf_d : GCCBuiltin<"__builtin_msa_fcaf_d">, 878 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 879 880def int_mips_fceq_w : GCCBuiltin<"__builtin_msa_fceq_w">, 881 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 882def int_mips_fceq_d : GCCBuiltin<"__builtin_msa_fceq_d">, 883 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 884 885def int_mips_fcle_w : GCCBuiltin<"__builtin_msa_fcle_w">, 886 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 887def int_mips_fcle_d : GCCBuiltin<"__builtin_msa_fcle_d">, 888 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 889 890def int_mips_fclt_w : GCCBuiltin<"__builtin_msa_fclt_w">, 891 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 892def int_mips_fclt_d : GCCBuiltin<"__builtin_msa_fclt_d">, 893 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 894 895def int_mips_fclass_w : GCCBuiltin<"__builtin_msa_fclass_w">, 896 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 897def int_mips_fclass_d : GCCBuiltin<"__builtin_msa_fclass_d">, 898 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 899 900def int_mips_fcne_w : GCCBuiltin<"__builtin_msa_fcne_w">, 901 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 902def int_mips_fcne_d : GCCBuiltin<"__builtin_msa_fcne_d">, 903 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 904 905def int_mips_fcor_w : GCCBuiltin<"__builtin_msa_fcor_w">, 906 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 907def int_mips_fcor_d : GCCBuiltin<"__builtin_msa_fcor_d">, 908 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 909 910def int_mips_fcueq_w : GCCBuiltin<"__builtin_msa_fcueq_w">, 911 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 912def int_mips_fcueq_d : GCCBuiltin<"__builtin_msa_fcueq_d">, 913 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 914 915def int_mips_fcule_w : GCCBuiltin<"__builtin_msa_fcule_w">, 916 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 917def int_mips_fcule_d : GCCBuiltin<"__builtin_msa_fcule_d">, 918 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 919 920def int_mips_fcult_w : GCCBuiltin<"__builtin_msa_fcult_w">, 921 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 922def int_mips_fcult_d : GCCBuiltin<"__builtin_msa_fcult_d">, 923 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 924 925def int_mips_fcun_w : GCCBuiltin<"__builtin_msa_fcun_w">, 926 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 927def int_mips_fcun_d : GCCBuiltin<"__builtin_msa_fcun_d">, 928 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 929 930def int_mips_fcune_w : GCCBuiltin<"__builtin_msa_fcune_w">, 931 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 932def int_mips_fcune_d : GCCBuiltin<"__builtin_msa_fcune_d">, 933 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 934 935def int_mips_fdiv_w : GCCBuiltin<"__builtin_msa_fdiv_w">, 936 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 937def int_mips_fdiv_d : GCCBuiltin<"__builtin_msa_fdiv_d">, 938 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 939 940def int_mips_fexdo_h : GCCBuiltin<"__builtin_msa_fexdo_h">, 941 Intrinsic<[llvm_v8f16_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 942def int_mips_fexdo_w : GCCBuiltin<"__builtin_msa_fexdo_w">, 943 Intrinsic<[llvm_v4f32_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 944 945def int_mips_fexp2_w : GCCBuiltin<"__builtin_msa_fexp2_w">, 946 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4i32_ty], [IntrNoMem]>; 947def int_mips_fexp2_d : GCCBuiltin<"__builtin_msa_fexp2_d">, 948 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2i64_ty], [IntrNoMem]>; 949 950def int_mips_fexupl_w : GCCBuiltin<"__builtin_msa_fexupl_w">, 951 Intrinsic<[llvm_v4f32_ty], [llvm_v8f16_ty], [IntrNoMem]>; 952def int_mips_fexupl_d : GCCBuiltin<"__builtin_msa_fexupl_d">, 953 Intrinsic<[llvm_v2f64_ty], [llvm_v4f32_ty], [IntrNoMem]>; 954 955def int_mips_fexupr_w : GCCBuiltin<"__builtin_msa_fexupr_w">, 956 Intrinsic<[llvm_v4f32_ty], [llvm_v8f16_ty], [IntrNoMem]>; 957def int_mips_fexupr_d : GCCBuiltin<"__builtin_msa_fexupr_d">, 958 Intrinsic<[llvm_v2f64_ty], [llvm_v4f32_ty], [IntrNoMem]>; 959 960def int_mips_ffint_s_w : GCCBuiltin<"__builtin_msa_ffint_s_w">, 961 Intrinsic<[llvm_v4f32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 962def int_mips_ffint_s_d : GCCBuiltin<"__builtin_msa_ffint_s_d">, 963 Intrinsic<[llvm_v2f64_ty], [llvm_v2i64_ty], [IntrNoMem]>; 964 965def int_mips_ffint_u_w : GCCBuiltin<"__builtin_msa_ffint_u_w">, 966 Intrinsic<[llvm_v4f32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 967def int_mips_ffint_u_d : GCCBuiltin<"__builtin_msa_ffint_u_d">, 968 Intrinsic<[llvm_v2f64_ty], [llvm_v2i64_ty], [IntrNoMem]>; 969 970def int_mips_ffql_w : GCCBuiltin<"__builtin_msa_ffql_w">, 971 Intrinsic<[llvm_v4f32_ty], [llvm_v8i16_ty], [IntrNoMem]>; 972def int_mips_ffql_d : GCCBuiltin<"__builtin_msa_ffql_d">, 973 Intrinsic<[llvm_v2f64_ty], [llvm_v4i32_ty], [IntrNoMem]>; 974 975def int_mips_ffqr_w : GCCBuiltin<"__builtin_msa_ffqr_w">, 976 Intrinsic<[llvm_v4f32_ty], [llvm_v8i16_ty], [IntrNoMem]>; 977def int_mips_ffqr_d : GCCBuiltin<"__builtin_msa_ffqr_d">, 978 Intrinsic<[llvm_v2f64_ty], [llvm_v4i32_ty], [IntrNoMem]>; 979 980def int_mips_fill_b : GCCBuiltin<"__builtin_msa_fill_b">, 981 Intrinsic<[llvm_v16i8_ty], [llvm_i32_ty], [IntrNoMem]>; 982def int_mips_fill_h : GCCBuiltin<"__builtin_msa_fill_h">, 983 Intrinsic<[llvm_v8i16_ty], [llvm_i32_ty], [IntrNoMem]>; 984def int_mips_fill_w : GCCBuiltin<"__builtin_msa_fill_w">, 985 Intrinsic<[llvm_v4i32_ty], [llvm_i32_ty], [IntrNoMem]>; 986def int_mips_fill_d : GCCBuiltin<"__builtin_msa_fill_d">, 987 Intrinsic<[llvm_v2i64_ty], [llvm_i64_ty], [IntrNoMem]>; 988 989def int_mips_flog2_w : GCCBuiltin<"__builtin_msa_flog2_w">, 990 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 991def int_mips_flog2_d : GCCBuiltin<"__builtin_msa_flog2_d">, 992 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 993 994def int_mips_fmadd_w : GCCBuiltin<"__builtin_msa_fmadd_w">, 995 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], 996 [IntrNoMem]>; 997def int_mips_fmadd_d : GCCBuiltin<"__builtin_msa_fmadd_d">, 998 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], 999 [IntrNoMem]>; 1000 1001def int_mips_fmax_w : GCCBuiltin<"__builtin_msa_fmax_w">, 1002 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1003def int_mips_fmax_d : GCCBuiltin<"__builtin_msa_fmax_d">, 1004 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1005 1006def int_mips_fmax_a_w : GCCBuiltin<"__builtin_msa_fmax_a_w">, 1007 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1008def int_mips_fmax_a_d : GCCBuiltin<"__builtin_msa_fmax_a_d">, 1009 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1010 1011def int_mips_fmin_w : GCCBuiltin<"__builtin_msa_fmin_w">, 1012 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1013def int_mips_fmin_d : GCCBuiltin<"__builtin_msa_fmin_d">, 1014 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1015 1016def int_mips_fmin_a_w : GCCBuiltin<"__builtin_msa_fmin_a_w">, 1017 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1018def int_mips_fmin_a_d : GCCBuiltin<"__builtin_msa_fmin_a_d">, 1019 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1020 1021def int_mips_fmsub_w : GCCBuiltin<"__builtin_msa_fmsub_w">, 1022 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], 1023 [IntrNoMem]>; 1024def int_mips_fmsub_d : GCCBuiltin<"__builtin_msa_fmsub_d">, 1025 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], 1026 [IntrNoMem]>; 1027 1028def int_mips_fmul_w : GCCBuiltin<"__builtin_msa_fmul_w">, 1029 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1030def int_mips_fmul_d : GCCBuiltin<"__builtin_msa_fmul_d">, 1031 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1032 1033def int_mips_frint_w : GCCBuiltin<"__builtin_msa_frint_w">, 1034 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1035def int_mips_frint_d : GCCBuiltin<"__builtin_msa_frint_d">, 1036 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1037 1038def int_mips_frcp_w : GCCBuiltin<"__builtin_msa_frcp_w">, 1039 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1040def int_mips_frcp_d : GCCBuiltin<"__builtin_msa_frcp_d">, 1041 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1042 1043def int_mips_frsqrt_w : GCCBuiltin<"__builtin_msa_frsqrt_w">, 1044 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1045def int_mips_frsqrt_d : GCCBuiltin<"__builtin_msa_frsqrt_d">, 1046 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1047 1048def int_mips_fsaf_w : GCCBuiltin<"__builtin_msa_fsaf_w">, 1049 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1050def int_mips_fsaf_d : GCCBuiltin<"__builtin_msa_fsaf_d">, 1051 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1052 1053def int_mips_fseq_w : GCCBuiltin<"__builtin_msa_fseq_w">, 1054 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1055def int_mips_fseq_d : GCCBuiltin<"__builtin_msa_fseq_d">, 1056 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1057 1058def int_mips_fsle_w : GCCBuiltin<"__builtin_msa_fsle_w">, 1059 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1060def int_mips_fsle_d : GCCBuiltin<"__builtin_msa_fsle_d">, 1061 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1062 1063def int_mips_fslt_w : GCCBuiltin<"__builtin_msa_fslt_w">, 1064 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1065def int_mips_fslt_d : GCCBuiltin<"__builtin_msa_fslt_d">, 1066 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1067 1068def int_mips_fsne_w : GCCBuiltin<"__builtin_msa_fsne_w">, 1069 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1070def int_mips_fsne_d : GCCBuiltin<"__builtin_msa_fsne_d">, 1071 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1072 1073def int_mips_fsor_w : GCCBuiltin<"__builtin_msa_fsor_w">, 1074 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1075def int_mips_fsor_d : GCCBuiltin<"__builtin_msa_fsor_d">, 1076 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1077 1078def int_mips_fsqrt_w : GCCBuiltin<"__builtin_msa_fsqrt_w">, 1079 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1080def int_mips_fsqrt_d : GCCBuiltin<"__builtin_msa_fsqrt_d">, 1081 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1082 1083def int_mips_fsub_w : GCCBuiltin<"__builtin_msa_fsub_w">, 1084 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1085def int_mips_fsub_d : GCCBuiltin<"__builtin_msa_fsub_d">, 1086 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1087 1088def int_mips_fsueq_w : GCCBuiltin<"__builtin_msa_fsueq_w">, 1089 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1090def int_mips_fsueq_d : GCCBuiltin<"__builtin_msa_fsueq_d">, 1091 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1092 1093def int_mips_fsule_w : GCCBuiltin<"__builtin_msa_fsule_w">, 1094 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1095def int_mips_fsule_d : GCCBuiltin<"__builtin_msa_fsule_d">, 1096 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1097 1098def int_mips_fsult_w : GCCBuiltin<"__builtin_msa_fsult_w">, 1099 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1100def int_mips_fsult_d : GCCBuiltin<"__builtin_msa_fsult_d">, 1101 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1102 1103def int_mips_fsun_w : GCCBuiltin<"__builtin_msa_fsun_w">, 1104 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1105def int_mips_fsun_d : GCCBuiltin<"__builtin_msa_fsun_d">, 1106 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1107 1108def int_mips_fsune_w : GCCBuiltin<"__builtin_msa_fsune_w">, 1109 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1110def int_mips_fsune_d : GCCBuiltin<"__builtin_msa_fsune_d">, 1111 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1112 1113def int_mips_ftint_s_w : GCCBuiltin<"__builtin_msa_ftint_s_w">, 1114 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1115def int_mips_ftint_s_d : GCCBuiltin<"__builtin_msa_ftint_s_d">, 1116 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1117 1118def int_mips_ftint_u_w : GCCBuiltin<"__builtin_msa_ftint_u_w">, 1119 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1120def int_mips_ftint_u_d : GCCBuiltin<"__builtin_msa_ftint_u_d">, 1121 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1122 1123def int_mips_ftq_h : GCCBuiltin<"__builtin_msa_ftq_h">, 1124 Intrinsic<[llvm_v8i16_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1125def int_mips_ftq_w : GCCBuiltin<"__builtin_msa_ftq_w">, 1126 Intrinsic<[llvm_v4i32_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1127 1128def int_mips_ftrunc_s_w : GCCBuiltin<"__builtin_msa_ftrunc_s_w">, 1129 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1130def int_mips_ftrunc_s_d : GCCBuiltin<"__builtin_msa_ftrunc_s_d">, 1131 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1132 1133def int_mips_ftrunc_u_w : GCCBuiltin<"__builtin_msa_ftrunc_u_w">, 1134 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1135def int_mips_ftrunc_u_d : GCCBuiltin<"__builtin_msa_ftrunc_u_d">, 1136 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1137 1138def int_mips_hadd_s_h : GCCBuiltin<"__builtin_msa_hadd_s_h">, 1139 Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1140def int_mips_hadd_s_w : GCCBuiltin<"__builtin_msa_hadd_s_w">, 1141 Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1142def int_mips_hadd_s_d : GCCBuiltin<"__builtin_msa_hadd_s_d">, 1143 Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1144 1145def int_mips_hadd_u_h : GCCBuiltin<"__builtin_msa_hadd_u_h">, 1146 Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1147def int_mips_hadd_u_w : GCCBuiltin<"__builtin_msa_hadd_u_w">, 1148 Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1149def int_mips_hadd_u_d : GCCBuiltin<"__builtin_msa_hadd_u_d">, 1150 Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1151 1152def int_mips_hsub_s_h : GCCBuiltin<"__builtin_msa_hsub_s_h">, 1153 Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1154def int_mips_hsub_s_w : GCCBuiltin<"__builtin_msa_hsub_s_w">, 1155 Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1156def int_mips_hsub_s_d : GCCBuiltin<"__builtin_msa_hsub_s_d">, 1157 Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1158 1159def int_mips_hsub_u_h : GCCBuiltin<"__builtin_msa_hsub_u_h">, 1160 Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1161def int_mips_hsub_u_w : GCCBuiltin<"__builtin_msa_hsub_u_w">, 1162 Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1163def int_mips_hsub_u_d : GCCBuiltin<"__builtin_msa_hsub_u_d">, 1164 Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1165 1166def int_mips_ilvev_b : GCCBuiltin<"__builtin_msa_ilvev_b">, 1167 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1168def int_mips_ilvev_h : GCCBuiltin<"__builtin_msa_ilvev_h">, 1169 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1170def int_mips_ilvev_w : GCCBuiltin<"__builtin_msa_ilvev_w">, 1171 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1172def int_mips_ilvev_d : GCCBuiltin<"__builtin_msa_ilvev_d">, 1173 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1174 1175def int_mips_ilvl_b : GCCBuiltin<"__builtin_msa_ilvl_b">, 1176 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1177def int_mips_ilvl_h : GCCBuiltin<"__builtin_msa_ilvl_h">, 1178 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1179def int_mips_ilvl_w : GCCBuiltin<"__builtin_msa_ilvl_w">, 1180 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1181def int_mips_ilvl_d : GCCBuiltin<"__builtin_msa_ilvl_d">, 1182 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1183 1184def int_mips_ilvod_b : GCCBuiltin<"__builtin_msa_ilvod_b">, 1185 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1186def int_mips_ilvod_h : GCCBuiltin<"__builtin_msa_ilvod_h">, 1187 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1188def int_mips_ilvod_w : GCCBuiltin<"__builtin_msa_ilvod_w">, 1189 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1190def int_mips_ilvod_d : GCCBuiltin<"__builtin_msa_ilvod_d">, 1191 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1192 1193def int_mips_ilvr_b : GCCBuiltin<"__builtin_msa_ilvr_b">, 1194 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1195def int_mips_ilvr_h : GCCBuiltin<"__builtin_msa_ilvr_h">, 1196 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1197def int_mips_ilvr_w : GCCBuiltin<"__builtin_msa_ilvr_w">, 1198 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1199def int_mips_ilvr_d : GCCBuiltin<"__builtin_msa_ilvr_d">, 1200 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1201 1202def int_mips_insert_b : GCCBuiltin<"__builtin_msa_insert_b">, 1203 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty, llvm_i32_ty], 1204 [IntrNoMem]>; 1205def int_mips_insert_h : GCCBuiltin<"__builtin_msa_insert_h">, 1206 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty, llvm_i32_ty], 1207 [IntrNoMem]>; 1208def int_mips_insert_w : GCCBuiltin<"__builtin_msa_insert_w">, 1209 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty, llvm_i32_ty], 1210 [IntrNoMem]>; 1211def int_mips_insert_d : GCCBuiltin<"__builtin_msa_insert_d">, 1212 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty, llvm_i64_ty], 1213 [IntrNoMem]>; 1214 1215def int_mips_insve_b : GCCBuiltin<"__builtin_msa_insve_b">, 1216 Intrinsic<[llvm_v16i8_ty], 1217 [llvm_v16i8_ty, llvm_i32_ty, llvm_v16i8_ty], 1218 [IntrNoMem]>; 1219def int_mips_insve_h : GCCBuiltin<"__builtin_msa_insve_h">, 1220 Intrinsic<[llvm_v8i16_ty], 1221 [llvm_v8i16_ty, llvm_i32_ty, llvm_v8i16_ty], 1222 [IntrNoMem]>; 1223def int_mips_insve_w : GCCBuiltin<"__builtin_msa_insve_w">, 1224 Intrinsic<[llvm_v4i32_ty], 1225 [llvm_v4i32_ty, llvm_i32_ty, llvm_v4i32_ty], 1226 [IntrNoMem]>; 1227def int_mips_insve_d : GCCBuiltin<"__builtin_msa_insve_d">, 1228 Intrinsic<[llvm_v2i64_ty], 1229 [llvm_v2i64_ty, llvm_i32_ty, llvm_v2i64_ty], 1230 [IntrNoMem]>; 1231 1232def int_mips_ld_b : GCCBuiltin<"__builtin_msa_ld_b">, 1233 Intrinsic<[llvm_v16i8_ty], [llvm_ptr_ty, llvm_i32_ty], 1234 [IntrReadArgMem]>; 1235def int_mips_ld_h : GCCBuiltin<"__builtin_msa_ld_h">, 1236 Intrinsic<[llvm_v8i16_ty], [llvm_ptr_ty, llvm_i32_ty], 1237 [IntrReadArgMem]>; 1238def int_mips_ld_w : GCCBuiltin<"__builtin_msa_ld_w">, 1239 Intrinsic<[llvm_v4i32_ty], [llvm_ptr_ty, llvm_i32_ty], 1240 [IntrReadArgMem]>; 1241def int_mips_ld_d : GCCBuiltin<"__builtin_msa_ld_d">, 1242 Intrinsic<[llvm_v2i64_ty], [llvm_ptr_ty, llvm_i32_ty], 1243 [IntrReadArgMem]>; 1244 1245def int_mips_ldx_b : GCCBuiltin<"__builtin_msa_ldx_b">, 1246 Intrinsic<[llvm_v16i8_ty], [llvm_ptr_ty, llvm_i32_ty], 1247 [IntrReadArgMem]>; 1248def int_mips_ldx_h : GCCBuiltin<"__builtin_msa_ldx_h">, 1249 Intrinsic<[llvm_v8i16_ty], [llvm_ptr_ty, llvm_i32_ty], 1250 [IntrReadArgMem]>; 1251def int_mips_ldx_w : GCCBuiltin<"__builtin_msa_ldx_w">, 1252 Intrinsic<[llvm_v4i32_ty], [llvm_ptr_ty, llvm_i32_ty], 1253 [IntrReadArgMem]>; 1254def int_mips_ldx_d : GCCBuiltin<"__builtin_msa_ldx_d">, 1255 Intrinsic<[llvm_v2i64_ty], [llvm_ptr_ty, llvm_i32_ty], 1256 [IntrReadArgMem]>; 1257 1258def int_mips_ldi_b : GCCBuiltin<"__builtin_msa_ldi_b">, 1259 Intrinsic<[llvm_v16i8_ty], [llvm_i32_ty], [IntrNoMem]>; 1260def int_mips_ldi_h : GCCBuiltin<"__builtin_msa_ldi_h">, 1261 Intrinsic<[llvm_v8i16_ty], [llvm_i32_ty], [IntrNoMem]>; 1262def int_mips_ldi_w : GCCBuiltin<"__builtin_msa_ldi_w">, 1263 Intrinsic<[llvm_v4i32_ty], [llvm_i32_ty], [IntrNoMem]>; 1264def int_mips_ldi_d : GCCBuiltin<"__builtin_msa_ldi_d">, 1265 Intrinsic<[llvm_v2i64_ty], [llvm_i32_ty], [IntrNoMem]>; 1266 1267def int_mips_madd_q_h : GCCBuiltin<"__builtin_msa_madd_q_h">, 1268 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 1269 [IntrNoMem]>; 1270def int_mips_madd_q_w : GCCBuiltin<"__builtin_msa_madd_q_w">, 1271 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 1272 [IntrNoMem]>; 1273 1274def int_mips_maddr_q_h : GCCBuiltin<"__builtin_msa_maddr_q_h">, 1275 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 1276 [IntrNoMem]>; 1277def int_mips_maddr_q_w : GCCBuiltin<"__builtin_msa_maddr_q_w">, 1278 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 1279 [IntrNoMem]>; 1280 1281def int_mips_maddv_b : GCCBuiltin<"__builtin_msa_maddv_b">, 1282 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], 1283 [IntrNoMem]>; 1284def int_mips_maddv_h : GCCBuiltin<"__builtin_msa_maddv_h">, 1285 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 1286 [IntrNoMem]>; 1287def int_mips_maddv_w : GCCBuiltin<"__builtin_msa_maddv_w">, 1288 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 1289 [IntrNoMem]>; 1290def int_mips_maddv_d : GCCBuiltin<"__builtin_msa_maddv_d">, 1291 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], 1292 [IntrNoMem]>; 1293 1294def int_mips_max_a_b : GCCBuiltin<"__builtin_msa_max_a_b">, 1295 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1296def int_mips_max_a_h : GCCBuiltin<"__builtin_msa_max_a_h">, 1297 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1298def int_mips_max_a_w : GCCBuiltin<"__builtin_msa_max_a_w">, 1299 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1300def int_mips_max_a_d : GCCBuiltin<"__builtin_msa_max_a_d">, 1301 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1302 1303def int_mips_max_s_b : GCCBuiltin<"__builtin_msa_max_s_b">, 1304 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1305def int_mips_max_s_h : GCCBuiltin<"__builtin_msa_max_s_h">, 1306 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1307def int_mips_max_s_w : GCCBuiltin<"__builtin_msa_max_s_w">, 1308 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1309def int_mips_max_s_d : GCCBuiltin<"__builtin_msa_max_s_d">, 1310 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1311 1312def int_mips_max_u_b : GCCBuiltin<"__builtin_msa_max_u_b">, 1313 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1314def int_mips_max_u_h : GCCBuiltin<"__builtin_msa_max_u_h">, 1315 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1316def int_mips_max_u_w : GCCBuiltin<"__builtin_msa_max_u_w">, 1317 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1318def int_mips_max_u_d : GCCBuiltin<"__builtin_msa_max_u_d">, 1319 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1320 1321def int_mips_maxi_s_b : GCCBuiltin<"__builtin_msa_maxi_s_b">, 1322 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1323def int_mips_maxi_s_h : GCCBuiltin<"__builtin_msa_maxi_s_h">, 1324 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1325def int_mips_maxi_s_w : GCCBuiltin<"__builtin_msa_maxi_s_w">, 1326 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1327def int_mips_maxi_s_d : GCCBuiltin<"__builtin_msa_maxi_s_d">, 1328 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1329 1330def int_mips_maxi_u_b : GCCBuiltin<"__builtin_msa_maxi_u_b">, 1331 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1332def int_mips_maxi_u_h : GCCBuiltin<"__builtin_msa_maxi_u_h">, 1333 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1334def int_mips_maxi_u_w : GCCBuiltin<"__builtin_msa_maxi_u_w">, 1335 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1336def int_mips_maxi_u_d : GCCBuiltin<"__builtin_msa_maxi_u_d">, 1337 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1338 1339def int_mips_min_a_b : GCCBuiltin<"__builtin_msa_min_a_b">, 1340 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1341def int_mips_min_a_h : GCCBuiltin<"__builtin_msa_min_a_h">, 1342 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1343def int_mips_min_a_w : GCCBuiltin<"__builtin_msa_min_a_w">, 1344 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1345def int_mips_min_a_d : GCCBuiltin<"__builtin_msa_min_a_d">, 1346 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1347 1348def int_mips_min_s_b : GCCBuiltin<"__builtin_msa_min_s_b">, 1349 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1350def int_mips_min_s_h : GCCBuiltin<"__builtin_msa_min_s_h">, 1351 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1352def int_mips_min_s_w : GCCBuiltin<"__builtin_msa_min_s_w">, 1353 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1354def int_mips_min_s_d : GCCBuiltin<"__builtin_msa_min_s_d">, 1355 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1356 1357def int_mips_min_u_b : GCCBuiltin<"__builtin_msa_min_u_b">, 1358 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1359def int_mips_min_u_h : GCCBuiltin<"__builtin_msa_min_u_h">, 1360 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1361def int_mips_min_u_w : GCCBuiltin<"__builtin_msa_min_u_w">, 1362 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1363def int_mips_min_u_d : GCCBuiltin<"__builtin_msa_min_u_d">, 1364 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1365 1366def int_mips_mini_s_b : GCCBuiltin<"__builtin_msa_mini_s_b">, 1367 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1368def int_mips_mini_s_h : GCCBuiltin<"__builtin_msa_mini_s_h">, 1369 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1370def int_mips_mini_s_w : GCCBuiltin<"__builtin_msa_mini_s_w">, 1371 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1372def int_mips_mini_s_d : GCCBuiltin<"__builtin_msa_mini_s_d">, 1373 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1374 1375def int_mips_mini_u_b : GCCBuiltin<"__builtin_msa_mini_u_b">, 1376 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1377def int_mips_mini_u_h : GCCBuiltin<"__builtin_msa_mini_u_h">, 1378 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1379def int_mips_mini_u_w : GCCBuiltin<"__builtin_msa_mini_u_w">, 1380 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1381def int_mips_mini_u_d : GCCBuiltin<"__builtin_msa_mini_u_d">, 1382 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1383 1384def int_mips_mod_s_b : GCCBuiltin<"__builtin_msa_mod_s_b">, 1385 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1386def int_mips_mod_s_h : GCCBuiltin<"__builtin_msa_mod_s_h">, 1387 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1388def int_mips_mod_s_w : GCCBuiltin<"__builtin_msa_mod_s_w">, 1389 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1390def int_mips_mod_s_d : GCCBuiltin<"__builtin_msa_mod_s_d">, 1391 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1392 1393def int_mips_mod_u_b : GCCBuiltin<"__builtin_msa_mod_u_b">, 1394 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1395def int_mips_mod_u_h : GCCBuiltin<"__builtin_msa_mod_u_h">, 1396 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1397def int_mips_mod_u_w : GCCBuiltin<"__builtin_msa_mod_u_w">, 1398 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1399def int_mips_mod_u_d : GCCBuiltin<"__builtin_msa_mod_u_d">, 1400 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1401 1402def int_mips_move_v : GCCBuiltin<"__builtin_msa_move_v">, 1403 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; 1404 1405def int_mips_msub_q_h : GCCBuiltin<"__builtin_msa_msub_q_h">, 1406 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 1407 [IntrNoMem]>; 1408def int_mips_msub_q_w : GCCBuiltin<"__builtin_msa_msub_q_w">, 1409 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 1410 [IntrNoMem]>; 1411 1412def int_mips_msubr_q_h : GCCBuiltin<"__builtin_msa_msubr_q_h">, 1413 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 1414 [IntrNoMem]>; 1415def int_mips_msubr_q_w : GCCBuiltin<"__builtin_msa_msubr_q_w">, 1416 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 1417 [IntrNoMem]>; 1418 1419def int_mips_msubv_b : GCCBuiltin<"__builtin_msa_msubv_b">, 1420 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], 1421 [IntrNoMem]>; 1422def int_mips_msubv_h : GCCBuiltin<"__builtin_msa_msubv_h">, 1423 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 1424 [IntrNoMem]>; 1425def int_mips_msubv_w : GCCBuiltin<"__builtin_msa_msubv_w">, 1426 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 1427 [IntrNoMem]>; 1428def int_mips_msubv_d : GCCBuiltin<"__builtin_msa_msubv_d">, 1429 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], 1430 [IntrNoMem]>; 1431 1432def int_mips_mul_q_h : GCCBuiltin<"__builtin_msa_mul_q_h">, 1433 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1434def int_mips_mul_q_w : GCCBuiltin<"__builtin_msa_mul_q_w">, 1435 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1436 1437def int_mips_mulr_q_h : GCCBuiltin<"__builtin_msa_mulr_q_h">, 1438 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1439def int_mips_mulr_q_w : GCCBuiltin<"__builtin_msa_mulr_q_w">, 1440 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1441 1442def int_mips_mulv_b : GCCBuiltin<"__builtin_msa_mulv_b">, 1443 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1444def int_mips_mulv_h : GCCBuiltin<"__builtin_msa_mulv_h">, 1445 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1446def int_mips_mulv_w : GCCBuiltin<"__builtin_msa_mulv_w">, 1447 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1448def int_mips_mulv_d : GCCBuiltin<"__builtin_msa_mulv_d">, 1449 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1450 1451def int_mips_nloc_b : GCCBuiltin<"__builtin_msa_nloc_b">, 1452 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; 1453def int_mips_nloc_h : GCCBuiltin<"__builtin_msa_nloc_h">, 1454 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty], [IntrNoMem]>; 1455def int_mips_nloc_w : GCCBuiltin<"__builtin_msa_nloc_w">, 1456 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 1457def int_mips_nloc_d : GCCBuiltin<"__builtin_msa_nloc_d">, 1458 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty], [IntrNoMem]>; 1459 1460def int_mips_nlzc_b : GCCBuiltin<"__builtin_msa_nlzc_b">, 1461 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; 1462def int_mips_nlzc_h : GCCBuiltin<"__builtin_msa_nlzc_h">, 1463 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty], [IntrNoMem]>; 1464def int_mips_nlzc_w : GCCBuiltin<"__builtin_msa_nlzc_w">, 1465 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 1466def int_mips_nlzc_d : GCCBuiltin<"__builtin_msa_nlzc_d">, 1467 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty], [IntrNoMem]>; 1468 1469def int_mips_nor_v : GCCBuiltin<"__builtin_msa_nor_v">, 1470 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1471 1472def int_mips_nori_b : GCCBuiltin<"__builtin_msa_nori_b">, 1473 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1474 1475def int_mips_or_v : GCCBuiltin<"__builtin_msa_or_v">, 1476 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1477 1478def int_mips_ori_b : GCCBuiltin<"__builtin_msa_ori_b">, 1479 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1480 1481def int_mips_pckev_b : GCCBuiltin<"__builtin_msa_pckev_b">, 1482 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1483def int_mips_pckev_h : GCCBuiltin<"__builtin_msa_pckev_h">, 1484 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1485def int_mips_pckev_w : GCCBuiltin<"__builtin_msa_pckev_w">, 1486 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1487def int_mips_pckev_d : GCCBuiltin<"__builtin_msa_pckev_d">, 1488 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1489 1490def int_mips_pckod_b : GCCBuiltin<"__builtin_msa_pckod_b">, 1491 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1492def int_mips_pckod_h : GCCBuiltin<"__builtin_msa_pckod_h">, 1493 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1494def int_mips_pckod_w : GCCBuiltin<"__builtin_msa_pckod_w">, 1495 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1496def int_mips_pckod_d : GCCBuiltin<"__builtin_msa_pckod_d">, 1497 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1498 1499def int_mips_pcnt_b : GCCBuiltin<"__builtin_msa_pcnt_b">, 1500 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; 1501def int_mips_pcnt_h : GCCBuiltin<"__builtin_msa_pcnt_h">, 1502 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty], [IntrNoMem]>; 1503def int_mips_pcnt_w : GCCBuiltin<"__builtin_msa_pcnt_w">, 1504 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 1505def int_mips_pcnt_d : GCCBuiltin<"__builtin_msa_pcnt_d">, 1506 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty], [IntrNoMem]>; 1507 1508def int_mips_sat_s_b : GCCBuiltin<"__builtin_msa_sat_s_b">, 1509 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1510def int_mips_sat_s_h : GCCBuiltin<"__builtin_msa_sat_s_h">, 1511 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1512def int_mips_sat_s_w : GCCBuiltin<"__builtin_msa_sat_s_w">, 1513 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1514def int_mips_sat_s_d : GCCBuiltin<"__builtin_msa_sat_s_d">, 1515 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1516 1517def int_mips_sat_u_b : GCCBuiltin<"__builtin_msa_sat_u_b">, 1518 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1519def int_mips_sat_u_h : GCCBuiltin<"__builtin_msa_sat_u_h">, 1520 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1521def int_mips_sat_u_w : GCCBuiltin<"__builtin_msa_sat_u_w">, 1522 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1523def int_mips_sat_u_d : GCCBuiltin<"__builtin_msa_sat_u_d">, 1524 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1525 1526def int_mips_shf_b : GCCBuiltin<"__builtin_msa_shf_b">, 1527 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1528def int_mips_shf_h : GCCBuiltin<"__builtin_msa_shf_h">, 1529 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1530def int_mips_shf_w : GCCBuiltin<"__builtin_msa_shf_w">, 1531 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1532 1533def int_mips_sld_b : GCCBuiltin<"__builtin_msa_sld_b">, 1534 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1535def int_mips_sld_h : GCCBuiltin<"__builtin_msa_sld_h">, 1536 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1537def int_mips_sld_w : GCCBuiltin<"__builtin_msa_sld_w">, 1538 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1539def int_mips_sld_d : GCCBuiltin<"__builtin_msa_sld_d">, 1540 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1541 1542def int_mips_sldi_b : GCCBuiltin<"__builtin_msa_sldi_b">, 1543 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1544def int_mips_sldi_h : GCCBuiltin<"__builtin_msa_sldi_h">, 1545 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1546def int_mips_sldi_w : GCCBuiltin<"__builtin_msa_sldi_w">, 1547 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1548def int_mips_sldi_d : GCCBuiltin<"__builtin_msa_sldi_d">, 1549 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1550 1551def int_mips_sll_b : GCCBuiltin<"__builtin_msa_sll_b">, 1552 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1553def int_mips_sll_h : GCCBuiltin<"__builtin_msa_sll_h">, 1554 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1555def int_mips_sll_w : GCCBuiltin<"__builtin_msa_sll_w">, 1556 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1557def int_mips_sll_d : GCCBuiltin<"__builtin_msa_sll_d">, 1558 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1559 1560def int_mips_slli_b : GCCBuiltin<"__builtin_msa_slli_b">, 1561 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1562def int_mips_slli_h : GCCBuiltin<"__builtin_msa_slli_h">, 1563 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1564def int_mips_slli_w : GCCBuiltin<"__builtin_msa_slli_w">, 1565 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1566def int_mips_slli_d : GCCBuiltin<"__builtin_msa_slli_d">, 1567 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1568 1569def int_mips_splat_b : GCCBuiltin<"__builtin_msa_splat_b">, 1570 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1571def int_mips_splat_h : GCCBuiltin<"__builtin_msa_splat_h">, 1572 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1573def int_mips_splat_w : GCCBuiltin<"__builtin_msa_splat_w">, 1574 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1575def int_mips_splat_d : GCCBuiltin<"__builtin_msa_splat_d">, 1576 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1577 1578def int_mips_splati_b : GCCBuiltin<"__builtin_msa_splati_b">, 1579 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1580def int_mips_splati_h : GCCBuiltin<"__builtin_msa_splati_h">, 1581 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1582def int_mips_splati_w : GCCBuiltin<"__builtin_msa_splati_w">, 1583 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1584def int_mips_splati_d : GCCBuiltin<"__builtin_msa_splati_d">, 1585 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1586 1587def int_mips_sra_b : GCCBuiltin<"__builtin_msa_sra_b">, 1588 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1589def int_mips_sra_h : GCCBuiltin<"__builtin_msa_sra_h">, 1590 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1591def int_mips_sra_w : GCCBuiltin<"__builtin_msa_sra_w">, 1592 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1593def int_mips_sra_d : GCCBuiltin<"__builtin_msa_sra_d">, 1594 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1595 1596def int_mips_srai_b : GCCBuiltin<"__builtin_msa_srai_b">, 1597 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1598def int_mips_srai_h : GCCBuiltin<"__builtin_msa_srai_h">, 1599 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1600def int_mips_srai_w : GCCBuiltin<"__builtin_msa_srai_w">, 1601 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1602def int_mips_srai_d : GCCBuiltin<"__builtin_msa_srai_d">, 1603 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1604 1605def int_mips_srar_b : GCCBuiltin<"__builtin_msa_srar_b">, 1606 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1607def int_mips_srar_h : GCCBuiltin<"__builtin_msa_srar_h">, 1608 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1609def int_mips_srar_w : GCCBuiltin<"__builtin_msa_srar_w">, 1610 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1611def int_mips_srar_d : GCCBuiltin<"__builtin_msa_srar_d">, 1612 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1613 1614def int_mips_srari_b : GCCBuiltin<"__builtin_msa_srari_b">, 1615 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1616def int_mips_srari_h : GCCBuiltin<"__builtin_msa_srari_h">, 1617 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1618def int_mips_srari_w : GCCBuiltin<"__builtin_msa_srari_w">, 1619 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1620def int_mips_srari_d : GCCBuiltin<"__builtin_msa_srari_d">, 1621 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1622 1623def int_mips_srl_b : GCCBuiltin<"__builtin_msa_srl_b">, 1624 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1625def int_mips_srl_h : GCCBuiltin<"__builtin_msa_srl_h">, 1626 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1627def int_mips_srl_w : GCCBuiltin<"__builtin_msa_srl_w">, 1628 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1629def int_mips_srl_d : GCCBuiltin<"__builtin_msa_srl_d">, 1630 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1631 1632def int_mips_srli_b : GCCBuiltin<"__builtin_msa_srli_b">, 1633 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1634def int_mips_srli_h : GCCBuiltin<"__builtin_msa_srli_h">, 1635 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1636def int_mips_srli_w : GCCBuiltin<"__builtin_msa_srli_w">, 1637 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1638def int_mips_srli_d : GCCBuiltin<"__builtin_msa_srli_d">, 1639 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1640 1641def int_mips_srlr_b : GCCBuiltin<"__builtin_msa_srlr_b">, 1642 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1643def int_mips_srlr_h : GCCBuiltin<"__builtin_msa_srlr_h">, 1644 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1645def int_mips_srlr_w : GCCBuiltin<"__builtin_msa_srlr_w">, 1646 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1647def int_mips_srlr_d : GCCBuiltin<"__builtin_msa_srlr_d">, 1648 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1649 1650def int_mips_srlri_b : GCCBuiltin<"__builtin_msa_srlri_b">, 1651 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1652def int_mips_srlri_h : GCCBuiltin<"__builtin_msa_srlri_h">, 1653 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1654def int_mips_srlri_w : GCCBuiltin<"__builtin_msa_srlri_w">, 1655 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1656def int_mips_srlri_d : GCCBuiltin<"__builtin_msa_srlri_d">, 1657 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1658 1659def int_mips_st_b : GCCBuiltin<"__builtin_msa_st_b">, 1660 Intrinsic<[], [llvm_v16i8_ty, llvm_ptr_ty, llvm_i32_ty], 1661 [IntrReadWriteArgMem]>; 1662def int_mips_st_h : GCCBuiltin<"__builtin_msa_st_h">, 1663 Intrinsic<[], [llvm_v8i16_ty, llvm_ptr_ty, llvm_i32_ty], 1664 [IntrReadWriteArgMem]>; 1665def int_mips_st_w : GCCBuiltin<"__builtin_msa_st_w">, 1666 Intrinsic<[], [llvm_v4i32_ty, llvm_ptr_ty, llvm_i32_ty], 1667 [IntrReadWriteArgMem]>; 1668def int_mips_st_d : GCCBuiltin<"__builtin_msa_st_d">, 1669 Intrinsic<[], [llvm_v2i64_ty, llvm_ptr_ty, llvm_i32_ty], 1670 [IntrReadWriteArgMem]>; 1671 1672def int_mips_stx_b : GCCBuiltin<"__builtin_msa_stx_b">, 1673 Intrinsic<[], [llvm_v16i8_ty, llvm_ptr_ty, llvm_i32_ty], 1674 [IntrReadWriteArgMem]>; 1675def int_mips_stx_h : GCCBuiltin<"__builtin_msa_stx_h">, 1676 Intrinsic<[], [llvm_v8i16_ty, llvm_ptr_ty, llvm_i32_ty], 1677 [IntrReadWriteArgMem]>; 1678def int_mips_stx_w : GCCBuiltin<"__builtin_msa_stx_w">, 1679 Intrinsic<[], [llvm_v4i32_ty, llvm_ptr_ty, llvm_i32_ty], 1680 [IntrReadWriteArgMem]>; 1681def int_mips_stx_d : GCCBuiltin<"__builtin_msa_stx_d">, 1682 Intrinsic<[], [llvm_v2i64_ty, llvm_ptr_ty, llvm_i32_ty], 1683 [IntrReadWriteArgMem]>; 1684 1685def int_mips_subs_s_b : GCCBuiltin<"__builtin_msa_subs_s_b">, 1686 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1687def int_mips_subs_s_h : GCCBuiltin<"__builtin_msa_subs_s_h">, 1688 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1689def int_mips_subs_s_w : GCCBuiltin<"__builtin_msa_subs_s_w">, 1690 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1691def int_mips_subs_s_d : GCCBuiltin<"__builtin_msa_subs_s_d">, 1692 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1693 1694def int_mips_subs_u_b : GCCBuiltin<"__builtin_msa_subs_u_b">, 1695 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1696def int_mips_subs_u_h : GCCBuiltin<"__builtin_msa_subs_u_h">, 1697 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1698def int_mips_subs_u_w : GCCBuiltin<"__builtin_msa_subs_u_w">, 1699 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1700def int_mips_subs_u_d : GCCBuiltin<"__builtin_msa_subs_u_d">, 1701 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1702 1703def int_mips_subsus_u_b : GCCBuiltin<"__builtin_msa_subsus_u_b">, 1704 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1705def int_mips_subsus_u_h : GCCBuiltin<"__builtin_msa_subsus_u_h">, 1706 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1707def int_mips_subsus_u_w : GCCBuiltin<"__builtin_msa_subsus_u_w">, 1708 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1709def int_mips_subsus_u_d : GCCBuiltin<"__builtin_msa_subsus_u_d">, 1710 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1711 1712def int_mips_subsuu_s_b : GCCBuiltin<"__builtin_msa_subsuu_s_b">, 1713 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1714def int_mips_subsuu_s_h : GCCBuiltin<"__builtin_msa_subsuu_s_h">, 1715 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1716def int_mips_subsuu_s_w : GCCBuiltin<"__builtin_msa_subsuu_s_w">, 1717 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1718def int_mips_subsuu_s_d : GCCBuiltin<"__builtin_msa_subsuu_s_d">, 1719 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1720 1721def int_mips_subv_b : GCCBuiltin<"__builtin_msa_subv_b">, 1722 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1723def int_mips_subv_h : GCCBuiltin<"__builtin_msa_subv_h">, 1724 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1725def int_mips_subv_w : GCCBuiltin<"__builtin_msa_subv_w">, 1726 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1727def int_mips_subv_d : GCCBuiltin<"__builtin_msa_subv_d">, 1728 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1729 1730def int_mips_subvi_b : GCCBuiltin<"__builtin_msa_subvi_b">, 1731 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1732def int_mips_subvi_h : GCCBuiltin<"__builtin_msa_subvi_h">, 1733 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1734def int_mips_subvi_w : GCCBuiltin<"__builtin_msa_subvi_w">, 1735 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1736def int_mips_subvi_d : GCCBuiltin<"__builtin_msa_subvi_d">, 1737 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1738 1739def int_mips_vshf_b : GCCBuiltin<"__builtin_msa_vshf_b">, 1740 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], 1741 [IntrNoMem]>; 1742def int_mips_vshf_h : GCCBuiltin<"__builtin_msa_vshf_h">, 1743 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 1744 [IntrNoMem]>; 1745def int_mips_vshf_w : GCCBuiltin<"__builtin_msa_vshf_w">, 1746 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 1747 [IntrNoMem]>; 1748def int_mips_vshf_d : GCCBuiltin<"__builtin_msa_vshf_d">, 1749 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], 1750 [IntrNoMem]>; 1751 1752def int_mips_xor_v : GCCBuiltin<"__builtin_msa_xor_v">, 1753 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1754 1755def int_mips_xori_b : GCCBuiltin<"__builtin_msa_xori_b">, 1756 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1757} 1758