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, llvm_v16i8_ty], 570 [IntrNoMem]>; 571def int_mips_binsl_h : GCCBuiltin<"__builtin_msa_binsl_h">, 572 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 573 [IntrNoMem]>; 574def int_mips_binsl_w : GCCBuiltin<"__builtin_msa_binsl_w">, 575 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 576 [IntrNoMem]>; 577def int_mips_binsl_d : GCCBuiltin<"__builtin_msa_binsl_d">, 578 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], 579 [IntrNoMem]>; 580 581def int_mips_binsli_b : GCCBuiltin<"__builtin_msa_binsli_b">, 582 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], 583 [IntrNoMem]>; 584def int_mips_binsli_h : GCCBuiltin<"__builtin_msa_binsli_h">, 585 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_i32_ty], 586 [IntrNoMem]>; 587def int_mips_binsli_w : GCCBuiltin<"__builtin_msa_binsli_w">, 588 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_i32_ty], 589 [IntrNoMem]>; 590def int_mips_binsli_d : GCCBuiltin<"__builtin_msa_binsli_d">, 591 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_i32_ty], 592 [IntrNoMem]>; 593 594def int_mips_binsr_b : GCCBuiltin<"__builtin_msa_binsr_b">, 595 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], 596 [IntrNoMem]>; 597def int_mips_binsr_h : GCCBuiltin<"__builtin_msa_binsr_h">, 598 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 599 [IntrNoMem]>; 600def int_mips_binsr_w : GCCBuiltin<"__builtin_msa_binsr_w">, 601 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 602 [IntrNoMem]>; 603def int_mips_binsr_d : GCCBuiltin<"__builtin_msa_binsr_d">, 604 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], 605 [IntrNoMem]>; 606 607def int_mips_binsri_b : GCCBuiltin<"__builtin_msa_binsri_b">, 608 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], 609 [IntrNoMem]>; 610def int_mips_binsri_h : GCCBuiltin<"__builtin_msa_binsri_h">, 611 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_i32_ty], 612 [IntrNoMem]>; 613def int_mips_binsri_w : GCCBuiltin<"__builtin_msa_binsri_w">, 614 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_i32_ty], 615 [IntrNoMem]>; 616def int_mips_binsri_d : GCCBuiltin<"__builtin_msa_binsri_d">, 617 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_i32_ty], 618 [IntrNoMem]>; 619 620def int_mips_bmnz_v : GCCBuiltin<"__builtin_msa_bmnz_v">, 621 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], 622 [IntrNoMem]>; 623 624def int_mips_bmnzi_b : GCCBuiltin<"__builtin_msa_bmnzi_b">, 625 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], 626 [IntrNoMem]>; 627 628def int_mips_bmz_v : GCCBuiltin<"__builtin_msa_bmz_v">, 629 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], 630 [IntrNoMem]>; 631 632def int_mips_bmzi_b : GCCBuiltin<"__builtin_msa_bmzi_b">, 633 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], 634 [IntrNoMem]>; 635 636def int_mips_bneg_b : GCCBuiltin<"__builtin_msa_bneg_b">, 637 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 638def int_mips_bneg_h : GCCBuiltin<"__builtin_msa_bneg_h">, 639 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 640def int_mips_bneg_w : GCCBuiltin<"__builtin_msa_bneg_w">, 641 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 642def int_mips_bneg_d : GCCBuiltin<"__builtin_msa_bneg_d">, 643 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 644 645def int_mips_bnegi_b : GCCBuiltin<"__builtin_msa_bnegi_b">, 646 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 647def int_mips_bnegi_h : GCCBuiltin<"__builtin_msa_bnegi_h">, 648 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 649def int_mips_bnegi_w : GCCBuiltin<"__builtin_msa_bnegi_w">, 650 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 651def int_mips_bnegi_d : GCCBuiltin<"__builtin_msa_bnegi_d">, 652 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 653 654def int_mips_bnz_b : GCCBuiltin<"__builtin_msa_bnz_b">, 655 Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; 656def int_mips_bnz_h : GCCBuiltin<"__builtin_msa_bnz_h">, 657 Intrinsic<[llvm_i32_ty], [llvm_v8i16_ty], [IntrNoMem]>; 658def int_mips_bnz_w : GCCBuiltin<"__builtin_msa_bnz_w">, 659 Intrinsic<[llvm_i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 660def int_mips_bnz_d : GCCBuiltin<"__builtin_msa_bnz_d">, 661 Intrinsic<[llvm_i32_ty], [llvm_v2i64_ty], [IntrNoMem]>; 662 663def int_mips_bnz_v : GCCBuiltin<"__builtin_msa_bnz_v">, 664 Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; 665 666def int_mips_bsel_v : GCCBuiltin<"__builtin_msa_bsel_v">, 667 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], 668 [IntrNoMem]>; 669 670def int_mips_bseli_b : GCCBuiltin<"__builtin_msa_bseli_b">, 671 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i32_ty], 672 [IntrNoMem]>; 673 674def int_mips_bset_b : GCCBuiltin<"__builtin_msa_bset_b">, 675 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 676def int_mips_bset_h : GCCBuiltin<"__builtin_msa_bset_h">, 677 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 678def int_mips_bset_w : GCCBuiltin<"__builtin_msa_bset_w">, 679 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 680def int_mips_bset_d : GCCBuiltin<"__builtin_msa_bset_d">, 681 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 682 683def int_mips_bseti_b : GCCBuiltin<"__builtin_msa_bseti_b">, 684 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 685def int_mips_bseti_h : GCCBuiltin<"__builtin_msa_bseti_h">, 686 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 687def int_mips_bseti_w : GCCBuiltin<"__builtin_msa_bseti_w">, 688 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 689def int_mips_bseti_d : GCCBuiltin<"__builtin_msa_bseti_d">, 690 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 691 692def int_mips_bz_b : GCCBuiltin<"__builtin_msa_bz_b">, 693 Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; 694def int_mips_bz_h : GCCBuiltin<"__builtin_msa_bz_h">, 695 Intrinsic<[llvm_i32_ty], [llvm_v8i16_ty], [IntrNoMem]>; 696def int_mips_bz_w : GCCBuiltin<"__builtin_msa_bz_w">, 697 Intrinsic<[llvm_i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 698def int_mips_bz_d : GCCBuiltin<"__builtin_msa_bz_d">, 699 Intrinsic<[llvm_i32_ty], [llvm_v2i64_ty], [IntrNoMem]>; 700 701def int_mips_bz_v : GCCBuiltin<"__builtin_msa_bz_v">, 702 Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty], [IntrNoMem]>; 703 704def int_mips_ceq_b : GCCBuiltin<"__builtin_msa_ceq_b">, 705 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 706def int_mips_ceq_h : GCCBuiltin<"__builtin_msa_ceq_h">, 707 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 708def int_mips_ceq_w : GCCBuiltin<"__builtin_msa_ceq_w">, 709 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 710def int_mips_ceq_d : GCCBuiltin<"__builtin_msa_ceq_d">, 711 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 712 713def int_mips_ceqi_b : GCCBuiltin<"__builtin_msa_ceqi_b">, 714 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 715def int_mips_ceqi_h : GCCBuiltin<"__builtin_msa_ceqi_h">, 716 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 717def int_mips_ceqi_w : GCCBuiltin<"__builtin_msa_ceqi_w">, 718 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 719def int_mips_ceqi_d : GCCBuiltin<"__builtin_msa_ceqi_d">, 720 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 721 722def int_mips_cfcmsa : GCCBuiltin<"__builtin_msa_cfcmsa">, 723 Intrinsic<[llvm_i32_ty], [llvm_i32_ty], []>; 724 725def int_mips_cle_s_b : GCCBuiltin<"__builtin_msa_cle_s_b">, 726 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 727def int_mips_cle_s_h : GCCBuiltin<"__builtin_msa_cle_s_h">, 728 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 729def int_mips_cle_s_w : GCCBuiltin<"__builtin_msa_cle_s_w">, 730 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 731def int_mips_cle_s_d : GCCBuiltin<"__builtin_msa_cle_s_d">, 732 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 733 734def int_mips_cle_u_b : GCCBuiltin<"__builtin_msa_cle_u_b">, 735 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 736def int_mips_cle_u_h : GCCBuiltin<"__builtin_msa_cle_u_h">, 737 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 738def int_mips_cle_u_w : GCCBuiltin<"__builtin_msa_cle_u_w">, 739 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 740def int_mips_cle_u_d : GCCBuiltin<"__builtin_msa_cle_u_d">, 741 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 742 743def int_mips_clei_s_b : GCCBuiltin<"__builtin_msa_clei_s_b">, 744 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 745def int_mips_clei_s_h : GCCBuiltin<"__builtin_msa_clei_s_h">, 746 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 747def int_mips_clei_s_w : GCCBuiltin<"__builtin_msa_clei_s_w">, 748 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 749def int_mips_clei_s_d : GCCBuiltin<"__builtin_msa_clei_s_d">, 750 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 751 752def int_mips_clei_u_b : GCCBuiltin<"__builtin_msa_clei_u_b">, 753 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 754def int_mips_clei_u_h : GCCBuiltin<"__builtin_msa_clei_u_h">, 755 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 756def int_mips_clei_u_w : GCCBuiltin<"__builtin_msa_clei_u_w">, 757 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 758def int_mips_clei_u_d : GCCBuiltin<"__builtin_msa_clei_u_d">, 759 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 760 761def int_mips_clt_s_b : GCCBuiltin<"__builtin_msa_clt_s_b">, 762 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 763def int_mips_clt_s_h : GCCBuiltin<"__builtin_msa_clt_s_h">, 764 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 765def int_mips_clt_s_w : GCCBuiltin<"__builtin_msa_clt_s_w">, 766 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 767def int_mips_clt_s_d : GCCBuiltin<"__builtin_msa_clt_s_d">, 768 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 769 770def int_mips_clt_u_b : GCCBuiltin<"__builtin_msa_clt_u_b">, 771 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 772def int_mips_clt_u_h : GCCBuiltin<"__builtin_msa_clt_u_h">, 773 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 774def int_mips_clt_u_w : GCCBuiltin<"__builtin_msa_clt_u_w">, 775 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 776def int_mips_clt_u_d : GCCBuiltin<"__builtin_msa_clt_u_d">, 777 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 778 779def int_mips_clti_s_b : GCCBuiltin<"__builtin_msa_clti_s_b">, 780 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 781def int_mips_clti_s_h : GCCBuiltin<"__builtin_msa_clti_s_h">, 782 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 783def int_mips_clti_s_w : GCCBuiltin<"__builtin_msa_clti_s_w">, 784 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 785def int_mips_clti_s_d : GCCBuiltin<"__builtin_msa_clti_s_d">, 786 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 787 788def int_mips_clti_u_b : GCCBuiltin<"__builtin_msa_clti_u_b">, 789 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 790def int_mips_clti_u_h : GCCBuiltin<"__builtin_msa_clti_u_h">, 791 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 792def int_mips_clti_u_w : GCCBuiltin<"__builtin_msa_clti_u_w">, 793 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 794def int_mips_clti_u_d : GCCBuiltin<"__builtin_msa_clti_u_d">, 795 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 796 797def int_mips_copy_s_b : GCCBuiltin<"__builtin_msa_copy_s_b">, 798 Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 799def int_mips_copy_s_h : GCCBuiltin<"__builtin_msa_copy_s_h">, 800 Intrinsic<[llvm_i32_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 801def int_mips_copy_s_w : GCCBuiltin<"__builtin_msa_copy_s_w">, 802 Intrinsic<[llvm_i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 803def int_mips_copy_s_d : GCCBuiltin<"__builtin_msa_copy_s_d">, 804 Intrinsic<[llvm_i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 805 806def int_mips_copy_u_b : GCCBuiltin<"__builtin_msa_copy_u_b">, 807 Intrinsic<[llvm_i32_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 808def int_mips_copy_u_h : GCCBuiltin<"__builtin_msa_copy_u_h">, 809 Intrinsic<[llvm_i32_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 810def int_mips_copy_u_w : GCCBuiltin<"__builtin_msa_copy_u_w">, 811 Intrinsic<[llvm_i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 812def int_mips_copy_u_d : GCCBuiltin<"__builtin_msa_copy_u_d">, 813 Intrinsic<[llvm_i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 814 815def int_mips_ctcmsa : GCCBuiltin<"__builtin_msa_ctcmsa">, 816 Intrinsic<[], [llvm_i32_ty, llvm_i32_ty], []>; 817 818def int_mips_div_s_b : GCCBuiltin<"__builtin_msa_div_s_b">, 819 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 820def int_mips_div_s_h : GCCBuiltin<"__builtin_msa_div_s_h">, 821 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 822def int_mips_div_s_w : GCCBuiltin<"__builtin_msa_div_s_w">, 823 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 824def int_mips_div_s_d : GCCBuiltin<"__builtin_msa_div_s_d">, 825 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 826 827def int_mips_div_u_b : GCCBuiltin<"__builtin_msa_div_u_b">, 828 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 829def int_mips_div_u_h : GCCBuiltin<"__builtin_msa_div_u_h">, 830 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 831def int_mips_div_u_w : GCCBuiltin<"__builtin_msa_div_u_w">, 832 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 833def int_mips_div_u_d : GCCBuiltin<"__builtin_msa_div_u_d">, 834 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 835 836def int_mips_dotp_s_h : GCCBuiltin<"__builtin_msa_dotp_s_h">, 837 Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 838def int_mips_dotp_s_w : GCCBuiltin<"__builtin_msa_dotp_s_w">, 839 Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 840def int_mips_dotp_s_d : GCCBuiltin<"__builtin_msa_dotp_s_d">, 841 Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 842 843def int_mips_dotp_u_h : GCCBuiltin<"__builtin_msa_dotp_u_h">, 844 Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 845def int_mips_dotp_u_w : GCCBuiltin<"__builtin_msa_dotp_u_w">, 846 Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 847def int_mips_dotp_u_d : GCCBuiltin<"__builtin_msa_dotp_u_d">, 848 Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 849 850def int_mips_dpadd_s_h : GCCBuiltin<"__builtin_msa_dpadd_s_h">, 851 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v16i8_ty, llvm_v16i8_ty], 852 [IntrNoMem]>; 853def int_mips_dpadd_s_w : GCCBuiltin<"__builtin_msa_dpadd_s_w">, 854 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v8i16_ty, llvm_v8i16_ty], 855 [IntrNoMem]>; 856def int_mips_dpadd_s_d : GCCBuiltin<"__builtin_msa_dpadd_s_d">, 857 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v4i32_ty, llvm_v4i32_ty], 858 [IntrNoMem]>; 859 860def int_mips_dpadd_u_h : GCCBuiltin<"__builtin_msa_dpadd_u_h">, 861 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v16i8_ty, llvm_v16i8_ty], 862 [IntrNoMem]>; 863def int_mips_dpadd_u_w : GCCBuiltin<"__builtin_msa_dpadd_u_w">, 864 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v8i16_ty, llvm_v8i16_ty], 865 [IntrNoMem]>; 866def int_mips_dpadd_u_d : GCCBuiltin<"__builtin_msa_dpadd_u_d">, 867 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v4i32_ty, llvm_v4i32_ty], 868 [IntrNoMem]>; 869 870def int_mips_dpsub_s_h : GCCBuiltin<"__builtin_msa_dpsub_s_h">, 871 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v16i8_ty, llvm_v16i8_ty], 872 [IntrNoMem]>; 873def int_mips_dpsub_s_w : GCCBuiltin<"__builtin_msa_dpsub_s_w">, 874 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v8i16_ty, llvm_v8i16_ty], 875 [IntrNoMem]>; 876def int_mips_dpsub_s_d : GCCBuiltin<"__builtin_msa_dpsub_s_d">, 877 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v4i32_ty, llvm_v4i32_ty], 878 [IntrNoMem]>; 879 880def int_mips_dpsub_u_h : GCCBuiltin<"__builtin_msa_dpsub_u_h">, 881 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v16i8_ty, llvm_v16i8_ty], 882 [IntrNoMem]>; 883def int_mips_dpsub_u_w : GCCBuiltin<"__builtin_msa_dpsub_u_w">, 884 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v8i16_ty, llvm_v8i16_ty], 885 [IntrNoMem]>; 886def int_mips_dpsub_u_d : GCCBuiltin<"__builtin_msa_dpsub_u_d">, 887 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v4i32_ty, llvm_v4i32_ty], 888 [IntrNoMem]>; 889 890def int_mips_fadd_w : GCCBuiltin<"__builtin_msa_fadd_w">, 891 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 892def int_mips_fadd_d : GCCBuiltin<"__builtin_msa_fadd_d">, 893 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 894 895def int_mips_fcaf_w : GCCBuiltin<"__builtin_msa_fcaf_w">, 896 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 897def int_mips_fcaf_d : GCCBuiltin<"__builtin_msa_fcaf_d">, 898 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 899 900def int_mips_fceq_w : GCCBuiltin<"__builtin_msa_fceq_w">, 901 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 902def int_mips_fceq_d : GCCBuiltin<"__builtin_msa_fceq_d">, 903 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 904 905def int_mips_fcle_w : GCCBuiltin<"__builtin_msa_fcle_w">, 906 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 907def int_mips_fcle_d : GCCBuiltin<"__builtin_msa_fcle_d">, 908 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 909 910def int_mips_fclt_w : GCCBuiltin<"__builtin_msa_fclt_w">, 911 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 912def int_mips_fclt_d : GCCBuiltin<"__builtin_msa_fclt_d">, 913 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 914 915def int_mips_fclass_w : GCCBuiltin<"__builtin_msa_fclass_w">, 916 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 917def int_mips_fclass_d : GCCBuiltin<"__builtin_msa_fclass_d">, 918 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 919 920def int_mips_fcne_w : GCCBuiltin<"__builtin_msa_fcne_w">, 921 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 922def int_mips_fcne_d : GCCBuiltin<"__builtin_msa_fcne_d">, 923 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 924 925def int_mips_fcor_w : GCCBuiltin<"__builtin_msa_fcor_w">, 926 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 927def int_mips_fcor_d : GCCBuiltin<"__builtin_msa_fcor_d">, 928 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 929 930def int_mips_fcueq_w : GCCBuiltin<"__builtin_msa_fcueq_w">, 931 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 932def int_mips_fcueq_d : GCCBuiltin<"__builtin_msa_fcueq_d">, 933 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 934 935def int_mips_fcule_w : GCCBuiltin<"__builtin_msa_fcule_w">, 936 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 937def int_mips_fcule_d : GCCBuiltin<"__builtin_msa_fcule_d">, 938 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 939 940def int_mips_fcult_w : GCCBuiltin<"__builtin_msa_fcult_w">, 941 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 942def int_mips_fcult_d : GCCBuiltin<"__builtin_msa_fcult_d">, 943 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 944 945def int_mips_fcun_w : GCCBuiltin<"__builtin_msa_fcun_w">, 946 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 947def int_mips_fcun_d : GCCBuiltin<"__builtin_msa_fcun_d">, 948 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 949 950def int_mips_fcune_w : GCCBuiltin<"__builtin_msa_fcune_w">, 951 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 952def int_mips_fcune_d : GCCBuiltin<"__builtin_msa_fcune_d">, 953 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 954 955def int_mips_fdiv_w : GCCBuiltin<"__builtin_msa_fdiv_w">, 956 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 957def int_mips_fdiv_d : GCCBuiltin<"__builtin_msa_fdiv_d">, 958 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 959 960def int_mips_fexdo_h : GCCBuiltin<"__builtin_msa_fexdo_h">, 961 Intrinsic<[llvm_v8f16_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 962def int_mips_fexdo_w : GCCBuiltin<"__builtin_msa_fexdo_w">, 963 Intrinsic<[llvm_v4f32_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 964 965def int_mips_fexp2_w : GCCBuiltin<"__builtin_msa_fexp2_w">, 966 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4i32_ty], [IntrNoMem]>; 967def int_mips_fexp2_d : GCCBuiltin<"__builtin_msa_fexp2_d">, 968 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2i64_ty], [IntrNoMem]>; 969 970def int_mips_fexupl_w : GCCBuiltin<"__builtin_msa_fexupl_w">, 971 Intrinsic<[llvm_v4f32_ty], [llvm_v8f16_ty], [IntrNoMem]>; 972def int_mips_fexupl_d : GCCBuiltin<"__builtin_msa_fexupl_d">, 973 Intrinsic<[llvm_v2f64_ty], [llvm_v4f32_ty], [IntrNoMem]>; 974 975def int_mips_fexupr_w : GCCBuiltin<"__builtin_msa_fexupr_w">, 976 Intrinsic<[llvm_v4f32_ty], [llvm_v8f16_ty], [IntrNoMem]>; 977def int_mips_fexupr_d : GCCBuiltin<"__builtin_msa_fexupr_d">, 978 Intrinsic<[llvm_v2f64_ty], [llvm_v4f32_ty], [IntrNoMem]>; 979 980def int_mips_ffint_s_w : GCCBuiltin<"__builtin_msa_ffint_s_w">, 981 Intrinsic<[llvm_v4f32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 982def int_mips_ffint_s_d : GCCBuiltin<"__builtin_msa_ffint_s_d">, 983 Intrinsic<[llvm_v2f64_ty], [llvm_v2i64_ty], [IntrNoMem]>; 984 985def int_mips_ffint_u_w : GCCBuiltin<"__builtin_msa_ffint_u_w">, 986 Intrinsic<[llvm_v4f32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 987def int_mips_ffint_u_d : GCCBuiltin<"__builtin_msa_ffint_u_d">, 988 Intrinsic<[llvm_v2f64_ty], [llvm_v2i64_ty], [IntrNoMem]>; 989 990def int_mips_ffql_w : GCCBuiltin<"__builtin_msa_ffql_w">, 991 Intrinsic<[llvm_v4f32_ty], [llvm_v8i16_ty], [IntrNoMem]>; 992def int_mips_ffql_d : GCCBuiltin<"__builtin_msa_ffql_d">, 993 Intrinsic<[llvm_v2f64_ty], [llvm_v4i32_ty], [IntrNoMem]>; 994 995def int_mips_ffqr_w : GCCBuiltin<"__builtin_msa_ffqr_w">, 996 Intrinsic<[llvm_v4f32_ty], [llvm_v8i16_ty], [IntrNoMem]>; 997def int_mips_ffqr_d : GCCBuiltin<"__builtin_msa_ffqr_d">, 998 Intrinsic<[llvm_v2f64_ty], [llvm_v4i32_ty], [IntrNoMem]>; 999 1000def int_mips_fill_b : GCCBuiltin<"__builtin_msa_fill_b">, 1001 Intrinsic<[llvm_v16i8_ty], [llvm_i32_ty], [IntrNoMem]>; 1002def int_mips_fill_h : GCCBuiltin<"__builtin_msa_fill_h">, 1003 Intrinsic<[llvm_v8i16_ty], [llvm_i32_ty], [IntrNoMem]>; 1004def int_mips_fill_w : GCCBuiltin<"__builtin_msa_fill_w">, 1005 Intrinsic<[llvm_v4i32_ty], [llvm_i32_ty], [IntrNoMem]>; 1006def int_mips_fill_d : GCCBuiltin<"__builtin_msa_fill_d">, 1007 Intrinsic<[llvm_v2i64_ty], [llvm_i64_ty], [IntrNoMem]>; 1008 1009def int_mips_flog2_w : GCCBuiltin<"__builtin_msa_flog2_w">, 1010 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1011def int_mips_flog2_d : GCCBuiltin<"__builtin_msa_flog2_d">, 1012 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1013 1014def int_mips_fmadd_w : GCCBuiltin<"__builtin_msa_fmadd_w">, 1015 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], 1016 [IntrNoMem]>; 1017def int_mips_fmadd_d : GCCBuiltin<"__builtin_msa_fmadd_d">, 1018 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], 1019 [IntrNoMem]>; 1020 1021def int_mips_fmax_w : GCCBuiltin<"__builtin_msa_fmax_w">, 1022 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1023def int_mips_fmax_d : GCCBuiltin<"__builtin_msa_fmax_d">, 1024 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1025 1026def int_mips_fmax_a_w : GCCBuiltin<"__builtin_msa_fmax_a_w">, 1027 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1028def int_mips_fmax_a_d : GCCBuiltin<"__builtin_msa_fmax_a_d">, 1029 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1030 1031def int_mips_fmin_w : GCCBuiltin<"__builtin_msa_fmin_w">, 1032 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1033def int_mips_fmin_d : GCCBuiltin<"__builtin_msa_fmin_d">, 1034 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1035 1036def int_mips_fmin_a_w : GCCBuiltin<"__builtin_msa_fmin_a_w">, 1037 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1038def int_mips_fmin_a_d : GCCBuiltin<"__builtin_msa_fmin_a_d">, 1039 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1040 1041def int_mips_fmsub_w : GCCBuiltin<"__builtin_msa_fmsub_w">, 1042 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty, llvm_v4f32_ty], 1043 [IntrNoMem]>; 1044def int_mips_fmsub_d : GCCBuiltin<"__builtin_msa_fmsub_d">, 1045 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty, llvm_v2f64_ty], 1046 [IntrNoMem]>; 1047 1048def int_mips_fmul_w : GCCBuiltin<"__builtin_msa_fmul_w">, 1049 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1050def int_mips_fmul_d : GCCBuiltin<"__builtin_msa_fmul_d">, 1051 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1052 1053def int_mips_frint_w : GCCBuiltin<"__builtin_msa_frint_w">, 1054 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1055def int_mips_frint_d : GCCBuiltin<"__builtin_msa_frint_d">, 1056 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1057 1058def int_mips_frcp_w : GCCBuiltin<"__builtin_msa_frcp_w">, 1059 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1060def int_mips_frcp_d : GCCBuiltin<"__builtin_msa_frcp_d">, 1061 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1062 1063def int_mips_frsqrt_w : GCCBuiltin<"__builtin_msa_frsqrt_w">, 1064 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1065def int_mips_frsqrt_d : GCCBuiltin<"__builtin_msa_frsqrt_d">, 1066 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1067 1068def int_mips_fsaf_w : GCCBuiltin<"__builtin_msa_fsaf_w">, 1069 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1070def int_mips_fsaf_d : GCCBuiltin<"__builtin_msa_fsaf_d">, 1071 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1072 1073def int_mips_fseq_w : GCCBuiltin<"__builtin_msa_fseq_w">, 1074 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1075def int_mips_fseq_d : GCCBuiltin<"__builtin_msa_fseq_d">, 1076 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1077 1078def int_mips_fsle_w : GCCBuiltin<"__builtin_msa_fsle_w">, 1079 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1080def int_mips_fsle_d : GCCBuiltin<"__builtin_msa_fsle_d">, 1081 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1082 1083def int_mips_fslt_w : GCCBuiltin<"__builtin_msa_fslt_w">, 1084 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1085def int_mips_fslt_d : GCCBuiltin<"__builtin_msa_fslt_d">, 1086 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1087 1088def int_mips_fsne_w : GCCBuiltin<"__builtin_msa_fsne_w">, 1089 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1090def int_mips_fsne_d : GCCBuiltin<"__builtin_msa_fsne_d">, 1091 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1092 1093def int_mips_fsor_w : GCCBuiltin<"__builtin_msa_fsor_w">, 1094 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1095def int_mips_fsor_d : GCCBuiltin<"__builtin_msa_fsor_d">, 1096 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1097 1098def int_mips_fsqrt_w : GCCBuiltin<"__builtin_msa_fsqrt_w">, 1099 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1100def int_mips_fsqrt_d : GCCBuiltin<"__builtin_msa_fsqrt_d">, 1101 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1102 1103def int_mips_fsub_w : GCCBuiltin<"__builtin_msa_fsub_w">, 1104 Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1105def int_mips_fsub_d : GCCBuiltin<"__builtin_msa_fsub_d">, 1106 Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1107 1108def int_mips_fsueq_w : GCCBuiltin<"__builtin_msa_fsueq_w">, 1109 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1110def int_mips_fsueq_d : GCCBuiltin<"__builtin_msa_fsueq_d">, 1111 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1112 1113def int_mips_fsule_w : GCCBuiltin<"__builtin_msa_fsule_w">, 1114 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1115def int_mips_fsule_d : GCCBuiltin<"__builtin_msa_fsule_d">, 1116 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1117 1118def int_mips_fsult_w : GCCBuiltin<"__builtin_msa_fsult_w">, 1119 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1120def int_mips_fsult_d : GCCBuiltin<"__builtin_msa_fsult_d">, 1121 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1122 1123def int_mips_fsun_w : GCCBuiltin<"__builtin_msa_fsun_w">, 1124 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1125def int_mips_fsun_d : GCCBuiltin<"__builtin_msa_fsun_d">, 1126 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1127 1128def int_mips_fsune_w : GCCBuiltin<"__builtin_msa_fsune_w">, 1129 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1130def int_mips_fsune_d : GCCBuiltin<"__builtin_msa_fsune_d">, 1131 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1132 1133def int_mips_ftint_s_w : GCCBuiltin<"__builtin_msa_ftint_s_w">, 1134 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1135def int_mips_ftint_s_d : GCCBuiltin<"__builtin_msa_ftint_s_d">, 1136 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1137 1138def int_mips_ftint_u_w : GCCBuiltin<"__builtin_msa_ftint_u_w">, 1139 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1140def int_mips_ftint_u_d : GCCBuiltin<"__builtin_msa_ftint_u_d">, 1141 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1142 1143def int_mips_ftq_h : GCCBuiltin<"__builtin_msa_ftq_h">, 1144 Intrinsic<[llvm_v8i16_ty], [llvm_v4f32_ty, llvm_v4f32_ty], [IntrNoMem]>; 1145def int_mips_ftq_w : GCCBuiltin<"__builtin_msa_ftq_w">, 1146 Intrinsic<[llvm_v4i32_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; 1147 1148def int_mips_ftrunc_s_w : GCCBuiltin<"__builtin_msa_ftrunc_s_w">, 1149 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1150def int_mips_ftrunc_s_d : GCCBuiltin<"__builtin_msa_ftrunc_s_d">, 1151 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1152 1153def int_mips_ftrunc_u_w : GCCBuiltin<"__builtin_msa_ftrunc_u_w">, 1154 Intrinsic<[llvm_v4i32_ty], [llvm_v4f32_ty], [IntrNoMem]>; 1155def int_mips_ftrunc_u_d : GCCBuiltin<"__builtin_msa_ftrunc_u_d">, 1156 Intrinsic<[llvm_v2i64_ty], [llvm_v2f64_ty], [IntrNoMem]>; 1157 1158def int_mips_hadd_s_h : GCCBuiltin<"__builtin_msa_hadd_s_h">, 1159 Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1160def int_mips_hadd_s_w : GCCBuiltin<"__builtin_msa_hadd_s_w">, 1161 Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1162def int_mips_hadd_s_d : GCCBuiltin<"__builtin_msa_hadd_s_d">, 1163 Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1164 1165def int_mips_hadd_u_h : GCCBuiltin<"__builtin_msa_hadd_u_h">, 1166 Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1167def int_mips_hadd_u_w : GCCBuiltin<"__builtin_msa_hadd_u_w">, 1168 Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1169def int_mips_hadd_u_d : GCCBuiltin<"__builtin_msa_hadd_u_d">, 1170 Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1171 1172def int_mips_hsub_s_h : GCCBuiltin<"__builtin_msa_hsub_s_h">, 1173 Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1174def int_mips_hsub_s_w : GCCBuiltin<"__builtin_msa_hsub_s_w">, 1175 Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1176def int_mips_hsub_s_d : GCCBuiltin<"__builtin_msa_hsub_s_d">, 1177 Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1178 1179def int_mips_hsub_u_h : GCCBuiltin<"__builtin_msa_hsub_u_h">, 1180 Intrinsic<[llvm_v8i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1181def int_mips_hsub_u_w : GCCBuiltin<"__builtin_msa_hsub_u_w">, 1182 Intrinsic<[llvm_v4i32_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1183def int_mips_hsub_u_d : GCCBuiltin<"__builtin_msa_hsub_u_d">, 1184 Intrinsic<[llvm_v2i64_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1185 1186def int_mips_ilvev_b : GCCBuiltin<"__builtin_msa_ilvev_b">, 1187 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1188def int_mips_ilvev_h : GCCBuiltin<"__builtin_msa_ilvev_h">, 1189 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1190def int_mips_ilvev_w : GCCBuiltin<"__builtin_msa_ilvev_w">, 1191 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1192def int_mips_ilvev_d : GCCBuiltin<"__builtin_msa_ilvev_d">, 1193 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1194 1195def int_mips_ilvl_b : GCCBuiltin<"__builtin_msa_ilvl_b">, 1196 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1197def int_mips_ilvl_h : GCCBuiltin<"__builtin_msa_ilvl_h">, 1198 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1199def int_mips_ilvl_w : GCCBuiltin<"__builtin_msa_ilvl_w">, 1200 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1201def int_mips_ilvl_d : GCCBuiltin<"__builtin_msa_ilvl_d">, 1202 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1203 1204def int_mips_ilvod_b : GCCBuiltin<"__builtin_msa_ilvod_b">, 1205 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1206def int_mips_ilvod_h : GCCBuiltin<"__builtin_msa_ilvod_h">, 1207 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1208def int_mips_ilvod_w : GCCBuiltin<"__builtin_msa_ilvod_w">, 1209 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1210def int_mips_ilvod_d : GCCBuiltin<"__builtin_msa_ilvod_d">, 1211 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1212 1213def int_mips_ilvr_b : GCCBuiltin<"__builtin_msa_ilvr_b">, 1214 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1215def int_mips_ilvr_h : GCCBuiltin<"__builtin_msa_ilvr_h">, 1216 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1217def int_mips_ilvr_w : GCCBuiltin<"__builtin_msa_ilvr_w">, 1218 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1219def int_mips_ilvr_d : GCCBuiltin<"__builtin_msa_ilvr_d">, 1220 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1221 1222def int_mips_insert_b : GCCBuiltin<"__builtin_msa_insert_b">, 1223 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty, llvm_i32_ty], 1224 [IntrNoMem]>; 1225def int_mips_insert_h : GCCBuiltin<"__builtin_msa_insert_h">, 1226 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty, llvm_i32_ty], 1227 [IntrNoMem]>; 1228def int_mips_insert_w : GCCBuiltin<"__builtin_msa_insert_w">, 1229 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty, llvm_i32_ty], 1230 [IntrNoMem]>; 1231def int_mips_insert_d : GCCBuiltin<"__builtin_msa_insert_d">, 1232 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty, llvm_i64_ty], 1233 [IntrNoMem]>; 1234 1235def int_mips_insve_b : GCCBuiltin<"__builtin_msa_insve_b">, 1236 Intrinsic<[llvm_v16i8_ty], 1237 [llvm_v16i8_ty, llvm_i32_ty, llvm_v16i8_ty], 1238 [IntrNoMem]>; 1239def int_mips_insve_h : GCCBuiltin<"__builtin_msa_insve_h">, 1240 Intrinsic<[llvm_v8i16_ty], 1241 [llvm_v8i16_ty, llvm_i32_ty, llvm_v8i16_ty], 1242 [IntrNoMem]>; 1243def int_mips_insve_w : GCCBuiltin<"__builtin_msa_insve_w">, 1244 Intrinsic<[llvm_v4i32_ty], 1245 [llvm_v4i32_ty, llvm_i32_ty, llvm_v4i32_ty], 1246 [IntrNoMem]>; 1247def int_mips_insve_d : GCCBuiltin<"__builtin_msa_insve_d">, 1248 Intrinsic<[llvm_v2i64_ty], 1249 [llvm_v2i64_ty, llvm_i32_ty, llvm_v2i64_ty], 1250 [IntrNoMem]>; 1251 1252def int_mips_ld_b : GCCBuiltin<"__builtin_msa_ld_b">, 1253 Intrinsic<[llvm_v16i8_ty], [llvm_ptr_ty, llvm_i32_ty], 1254 [IntrReadArgMem]>; 1255def int_mips_ld_h : GCCBuiltin<"__builtin_msa_ld_h">, 1256 Intrinsic<[llvm_v8i16_ty], [llvm_ptr_ty, llvm_i32_ty], 1257 [IntrReadArgMem]>; 1258def int_mips_ld_w : GCCBuiltin<"__builtin_msa_ld_w">, 1259 Intrinsic<[llvm_v4i32_ty], [llvm_ptr_ty, llvm_i32_ty], 1260 [IntrReadArgMem]>; 1261def int_mips_ld_d : GCCBuiltin<"__builtin_msa_ld_d">, 1262 Intrinsic<[llvm_v2i64_ty], [llvm_ptr_ty, llvm_i32_ty], 1263 [IntrReadArgMem]>; 1264 1265def int_mips_ldi_b : GCCBuiltin<"__builtin_msa_ldi_b">, 1266 Intrinsic<[llvm_v16i8_ty], [llvm_i32_ty], [IntrNoMem]>; 1267def int_mips_ldi_h : GCCBuiltin<"__builtin_msa_ldi_h">, 1268 Intrinsic<[llvm_v8i16_ty], [llvm_i32_ty], [IntrNoMem]>; 1269def int_mips_ldi_w : GCCBuiltin<"__builtin_msa_ldi_w">, 1270 Intrinsic<[llvm_v4i32_ty], [llvm_i32_ty], [IntrNoMem]>; 1271def int_mips_ldi_d : GCCBuiltin<"__builtin_msa_ldi_d">, 1272 Intrinsic<[llvm_v2i64_ty], [llvm_i32_ty], [IntrNoMem]>; 1273 1274// This instruction is part of the MSA spec but it does not share the 1275// __builtin_msa prefix because it operates on the GPR registers. 1276def int_mips_lsa : GCCBuiltin<"__builtin_mips_lsa">, 1277 Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], 1278 [IntrNoMem]>; 1279 1280def int_mips_madd_q_h : GCCBuiltin<"__builtin_msa_madd_q_h">, 1281 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 1282 [IntrNoMem]>; 1283def int_mips_madd_q_w : GCCBuiltin<"__builtin_msa_madd_q_w">, 1284 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 1285 [IntrNoMem]>; 1286 1287def int_mips_maddr_q_h : GCCBuiltin<"__builtin_msa_maddr_q_h">, 1288 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 1289 [IntrNoMem]>; 1290def int_mips_maddr_q_w : GCCBuiltin<"__builtin_msa_maddr_q_w">, 1291 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 1292 [IntrNoMem]>; 1293 1294def int_mips_maddv_b : GCCBuiltin<"__builtin_msa_maddv_b">, 1295 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], 1296 [IntrNoMem]>; 1297def int_mips_maddv_h : GCCBuiltin<"__builtin_msa_maddv_h">, 1298 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 1299 [IntrNoMem]>; 1300def int_mips_maddv_w : GCCBuiltin<"__builtin_msa_maddv_w">, 1301 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 1302 [IntrNoMem]>; 1303def int_mips_maddv_d : GCCBuiltin<"__builtin_msa_maddv_d">, 1304 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], 1305 [IntrNoMem]>; 1306 1307def int_mips_max_a_b : GCCBuiltin<"__builtin_msa_max_a_b">, 1308 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1309def int_mips_max_a_h : GCCBuiltin<"__builtin_msa_max_a_h">, 1310 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1311def int_mips_max_a_w : GCCBuiltin<"__builtin_msa_max_a_w">, 1312 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1313def int_mips_max_a_d : GCCBuiltin<"__builtin_msa_max_a_d">, 1314 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1315 1316def int_mips_max_s_b : GCCBuiltin<"__builtin_msa_max_s_b">, 1317 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1318def int_mips_max_s_h : GCCBuiltin<"__builtin_msa_max_s_h">, 1319 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1320def int_mips_max_s_w : GCCBuiltin<"__builtin_msa_max_s_w">, 1321 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1322def int_mips_max_s_d : GCCBuiltin<"__builtin_msa_max_s_d">, 1323 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1324 1325def int_mips_max_u_b : GCCBuiltin<"__builtin_msa_max_u_b">, 1326 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1327def int_mips_max_u_h : GCCBuiltin<"__builtin_msa_max_u_h">, 1328 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1329def int_mips_max_u_w : GCCBuiltin<"__builtin_msa_max_u_w">, 1330 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1331def int_mips_max_u_d : GCCBuiltin<"__builtin_msa_max_u_d">, 1332 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1333 1334def int_mips_maxi_s_b : GCCBuiltin<"__builtin_msa_maxi_s_b">, 1335 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1336def int_mips_maxi_s_h : GCCBuiltin<"__builtin_msa_maxi_s_h">, 1337 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1338def int_mips_maxi_s_w : GCCBuiltin<"__builtin_msa_maxi_s_w">, 1339 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1340def int_mips_maxi_s_d : GCCBuiltin<"__builtin_msa_maxi_s_d">, 1341 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1342 1343def int_mips_maxi_u_b : GCCBuiltin<"__builtin_msa_maxi_u_b">, 1344 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1345def int_mips_maxi_u_h : GCCBuiltin<"__builtin_msa_maxi_u_h">, 1346 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1347def int_mips_maxi_u_w : GCCBuiltin<"__builtin_msa_maxi_u_w">, 1348 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1349def int_mips_maxi_u_d : GCCBuiltin<"__builtin_msa_maxi_u_d">, 1350 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1351 1352def int_mips_min_a_b : GCCBuiltin<"__builtin_msa_min_a_b">, 1353 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1354def int_mips_min_a_h : GCCBuiltin<"__builtin_msa_min_a_h">, 1355 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1356def int_mips_min_a_w : GCCBuiltin<"__builtin_msa_min_a_w">, 1357 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1358def int_mips_min_a_d : GCCBuiltin<"__builtin_msa_min_a_d">, 1359 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1360 1361def int_mips_min_s_b : GCCBuiltin<"__builtin_msa_min_s_b">, 1362 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1363def int_mips_min_s_h : GCCBuiltin<"__builtin_msa_min_s_h">, 1364 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1365def int_mips_min_s_w : GCCBuiltin<"__builtin_msa_min_s_w">, 1366 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1367def int_mips_min_s_d : GCCBuiltin<"__builtin_msa_min_s_d">, 1368 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1369 1370def int_mips_min_u_b : GCCBuiltin<"__builtin_msa_min_u_b">, 1371 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1372def int_mips_min_u_h : GCCBuiltin<"__builtin_msa_min_u_h">, 1373 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1374def int_mips_min_u_w : GCCBuiltin<"__builtin_msa_min_u_w">, 1375 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1376def int_mips_min_u_d : GCCBuiltin<"__builtin_msa_min_u_d">, 1377 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1378 1379def int_mips_mini_s_b : GCCBuiltin<"__builtin_msa_mini_s_b">, 1380 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1381def int_mips_mini_s_h : GCCBuiltin<"__builtin_msa_mini_s_h">, 1382 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1383def int_mips_mini_s_w : GCCBuiltin<"__builtin_msa_mini_s_w">, 1384 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1385def int_mips_mini_s_d : GCCBuiltin<"__builtin_msa_mini_s_d">, 1386 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1387 1388def int_mips_mini_u_b : GCCBuiltin<"__builtin_msa_mini_u_b">, 1389 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1390def int_mips_mini_u_h : GCCBuiltin<"__builtin_msa_mini_u_h">, 1391 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1392def int_mips_mini_u_w : GCCBuiltin<"__builtin_msa_mini_u_w">, 1393 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1394def int_mips_mini_u_d : GCCBuiltin<"__builtin_msa_mini_u_d">, 1395 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1396 1397def int_mips_mod_s_b : GCCBuiltin<"__builtin_msa_mod_s_b">, 1398 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1399def int_mips_mod_s_h : GCCBuiltin<"__builtin_msa_mod_s_h">, 1400 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1401def int_mips_mod_s_w : GCCBuiltin<"__builtin_msa_mod_s_w">, 1402 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1403def int_mips_mod_s_d : GCCBuiltin<"__builtin_msa_mod_s_d">, 1404 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1405 1406def int_mips_mod_u_b : GCCBuiltin<"__builtin_msa_mod_u_b">, 1407 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1408def int_mips_mod_u_h : GCCBuiltin<"__builtin_msa_mod_u_h">, 1409 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1410def int_mips_mod_u_w : GCCBuiltin<"__builtin_msa_mod_u_w">, 1411 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1412def int_mips_mod_u_d : GCCBuiltin<"__builtin_msa_mod_u_d">, 1413 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1414 1415def int_mips_move_v : GCCBuiltin<"__builtin_msa_move_v">, 1416 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; 1417 1418def int_mips_msub_q_h : GCCBuiltin<"__builtin_msa_msub_q_h">, 1419 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 1420 [IntrNoMem]>; 1421def int_mips_msub_q_w : GCCBuiltin<"__builtin_msa_msub_q_w">, 1422 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 1423 [IntrNoMem]>; 1424 1425def int_mips_msubr_q_h : GCCBuiltin<"__builtin_msa_msubr_q_h">, 1426 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 1427 [IntrNoMem]>; 1428def int_mips_msubr_q_w : GCCBuiltin<"__builtin_msa_msubr_q_w">, 1429 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 1430 [IntrNoMem]>; 1431 1432def int_mips_msubv_b : GCCBuiltin<"__builtin_msa_msubv_b">, 1433 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty], 1434 [IntrNoMem]>; 1435def int_mips_msubv_h : GCCBuiltin<"__builtin_msa_msubv_h">, 1436 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty], 1437 [IntrNoMem]>; 1438def int_mips_msubv_w : GCCBuiltin<"__builtin_msa_msubv_w">, 1439 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty], 1440 [IntrNoMem]>; 1441def int_mips_msubv_d : GCCBuiltin<"__builtin_msa_msubv_d">, 1442 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_v2i64_ty], 1443 [IntrNoMem]>; 1444 1445def int_mips_mul_q_h : GCCBuiltin<"__builtin_msa_mul_q_h">, 1446 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1447def int_mips_mul_q_w : GCCBuiltin<"__builtin_msa_mul_q_w">, 1448 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1449 1450def int_mips_mulr_q_h : GCCBuiltin<"__builtin_msa_mulr_q_h">, 1451 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1452def int_mips_mulr_q_w : GCCBuiltin<"__builtin_msa_mulr_q_w">, 1453 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1454 1455def int_mips_mulv_b : GCCBuiltin<"__builtin_msa_mulv_b">, 1456 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1457def int_mips_mulv_h : GCCBuiltin<"__builtin_msa_mulv_h">, 1458 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1459def int_mips_mulv_w : GCCBuiltin<"__builtin_msa_mulv_w">, 1460 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1461def int_mips_mulv_d : GCCBuiltin<"__builtin_msa_mulv_d">, 1462 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1463 1464def int_mips_nloc_b : GCCBuiltin<"__builtin_msa_nloc_b">, 1465 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; 1466def int_mips_nloc_h : GCCBuiltin<"__builtin_msa_nloc_h">, 1467 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty], [IntrNoMem]>; 1468def int_mips_nloc_w : GCCBuiltin<"__builtin_msa_nloc_w">, 1469 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 1470def int_mips_nloc_d : GCCBuiltin<"__builtin_msa_nloc_d">, 1471 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty], [IntrNoMem]>; 1472 1473def int_mips_nlzc_b : GCCBuiltin<"__builtin_msa_nlzc_b">, 1474 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; 1475def int_mips_nlzc_h : GCCBuiltin<"__builtin_msa_nlzc_h">, 1476 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty], [IntrNoMem]>; 1477def int_mips_nlzc_w : GCCBuiltin<"__builtin_msa_nlzc_w">, 1478 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 1479def int_mips_nlzc_d : GCCBuiltin<"__builtin_msa_nlzc_d">, 1480 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty], [IntrNoMem]>; 1481 1482def int_mips_nor_v : GCCBuiltin<"__builtin_msa_nor_v">, 1483 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1484 1485def int_mips_nori_b : GCCBuiltin<"__builtin_msa_nori_b">, 1486 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1487 1488def int_mips_or_v : GCCBuiltin<"__builtin_msa_or_v">, 1489 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1490 1491def int_mips_ori_b : GCCBuiltin<"__builtin_msa_ori_b">, 1492 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1493 1494def int_mips_pckev_b : GCCBuiltin<"__builtin_msa_pckev_b">, 1495 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1496def int_mips_pckev_h : GCCBuiltin<"__builtin_msa_pckev_h">, 1497 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1498def int_mips_pckev_w : GCCBuiltin<"__builtin_msa_pckev_w">, 1499 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1500def int_mips_pckev_d : GCCBuiltin<"__builtin_msa_pckev_d">, 1501 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1502 1503def int_mips_pckod_b : GCCBuiltin<"__builtin_msa_pckod_b">, 1504 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1505def int_mips_pckod_h : GCCBuiltin<"__builtin_msa_pckod_h">, 1506 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1507def int_mips_pckod_w : GCCBuiltin<"__builtin_msa_pckod_w">, 1508 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1509def int_mips_pckod_d : GCCBuiltin<"__builtin_msa_pckod_d">, 1510 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1511 1512def int_mips_pcnt_b : GCCBuiltin<"__builtin_msa_pcnt_b">, 1513 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty], [IntrNoMem]>; 1514def int_mips_pcnt_h : GCCBuiltin<"__builtin_msa_pcnt_h">, 1515 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty], [IntrNoMem]>; 1516def int_mips_pcnt_w : GCCBuiltin<"__builtin_msa_pcnt_w">, 1517 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty], [IntrNoMem]>; 1518def int_mips_pcnt_d : GCCBuiltin<"__builtin_msa_pcnt_d">, 1519 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty], [IntrNoMem]>; 1520 1521def int_mips_sat_s_b : GCCBuiltin<"__builtin_msa_sat_s_b">, 1522 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1523def int_mips_sat_s_h : GCCBuiltin<"__builtin_msa_sat_s_h">, 1524 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1525def int_mips_sat_s_w : GCCBuiltin<"__builtin_msa_sat_s_w">, 1526 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1527def int_mips_sat_s_d : GCCBuiltin<"__builtin_msa_sat_s_d">, 1528 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1529 1530def int_mips_sat_u_b : GCCBuiltin<"__builtin_msa_sat_u_b">, 1531 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1532def int_mips_sat_u_h : GCCBuiltin<"__builtin_msa_sat_u_h">, 1533 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1534def int_mips_sat_u_w : GCCBuiltin<"__builtin_msa_sat_u_w">, 1535 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1536def int_mips_sat_u_d : GCCBuiltin<"__builtin_msa_sat_u_d">, 1537 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1538 1539def int_mips_shf_b : GCCBuiltin<"__builtin_msa_shf_b">, 1540 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1541def int_mips_shf_h : GCCBuiltin<"__builtin_msa_shf_h">, 1542 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1543def int_mips_shf_w : GCCBuiltin<"__builtin_msa_shf_w">, 1544 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1545 1546def int_mips_sld_b : GCCBuiltin<"__builtin_msa_sld_b">, 1547 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1548def int_mips_sld_h : GCCBuiltin<"__builtin_msa_sld_h">, 1549 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1550def int_mips_sld_w : GCCBuiltin<"__builtin_msa_sld_w">, 1551 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1552def int_mips_sld_d : GCCBuiltin<"__builtin_msa_sld_d">, 1553 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1554 1555def int_mips_sldi_b : GCCBuiltin<"__builtin_msa_sldi_b">, 1556 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1557def int_mips_sldi_h : GCCBuiltin<"__builtin_msa_sldi_h">, 1558 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1559def int_mips_sldi_w : GCCBuiltin<"__builtin_msa_sldi_w">, 1560 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1561def int_mips_sldi_d : GCCBuiltin<"__builtin_msa_sldi_d">, 1562 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1563 1564def int_mips_sll_b : GCCBuiltin<"__builtin_msa_sll_b">, 1565 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1566def int_mips_sll_h : GCCBuiltin<"__builtin_msa_sll_h">, 1567 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1568def int_mips_sll_w : GCCBuiltin<"__builtin_msa_sll_w">, 1569 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1570def int_mips_sll_d : GCCBuiltin<"__builtin_msa_sll_d">, 1571 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1572 1573def int_mips_slli_b : GCCBuiltin<"__builtin_msa_slli_b">, 1574 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1575def int_mips_slli_h : GCCBuiltin<"__builtin_msa_slli_h">, 1576 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1577def int_mips_slli_w : GCCBuiltin<"__builtin_msa_slli_w">, 1578 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1579def int_mips_slli_d : GCCBuiltin<"__builtin_msa_slli_d">, 1580 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1581 1582def int_mips_splat_b : GCCBuiltin<"__builtin_msa_splat_b">, 1583 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1584def int_mips_splat_h : GCCBuiltin<"__builtin_msa_splat_h">, 1585 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1586def int_mips_splat_w : GCCBuiltin<"__builtin_msa_splat_w">, 1587 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1588def int_mips_splat_d : GCCBuiltin<"__builtin_msa_splat_d">, 1589 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1590 1591def int_mips_splati_b : GCCBuiltin<"__builtin_msa_splati_b">, 1592 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1593def int_mips_splati_h : GCCBuiltin<"__builtin_msa_splati_h">, 1594 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1595def int_mips_splati_w : GCCBuiltin<"__builtin_msa_splati_w">, 1596 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1597def int_mips_splati_d : GCCBuiltin<"__builtin_msa_splati_d">, 1598 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1599 1600def int_mips_sra_b : GCCBuiltin<"__builtin_msa_sra_b">, 1601 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1602def int_mips_sra_h : GCCBuiltin<"__builtin_msa_sra_h">, 1603 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1604def int_mips_sra_w : GCCBuiltin<"__builtin_msa_sra_w">, 1605 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1606def int_mips_sra_d : GCCBuiltin<"__builtin_msa_sra_d">, 1607 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1608 1609def int_mips_srai_b : GCCBuiltin<"__builtin_msa_srai_b">, 1610 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1611def int_mips_srai_h : GCCBuiltin<"__builtin_msa_srai_h">, 1612 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1613def int_mips_srai_w : GCCBuiltin<"__builtin_msa_srai_w">, 1614 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1615def int_mips_srai_d : GCCBuiltin<"__builtin_msa_srai_d">, 1616 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1617 1618def int_mips_srar_b : GCCBuiltin<"__builtin_msa_srar_b">, 1619 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1620def int_mips_srar_h : GCCBuiltin<"__builtin_msa_srar_h">, 1621 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1622def int_mips_srar_w : GCCBuiltin<"__builtin_msa_srar_w">, 1623 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1624def int_mips_srar_d : GCCBuiltin<"__builtin_msa_srar_d">, 1625 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1626 1627def int_mips_srari_b : GCCBuiltin<"__builtin_msa_srari_b">, 1628 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1629def int_mips_srari_h : GCCBuiltin<"__builtin_msa_srari_h">, 1630 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1631def int_mips_srari_w : GCCBuiltin<"__builtin_msa_srari_w">, 1632 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1633def int_mips_srari_d : GCCBuiltin<"__builtin_msa_srari_d">, 1634 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1635 1636def int_mips_srl_b : GCCBuiltin<"__builtin_msa_srl_b">, 1637 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1638def int_mips_srl_h : GCCBuiltin<"__builtin_msa_srl_h">, 1639 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1640def int_mips_srl_w : GCCBuiltin<"__builtin_msa_srl_w">, 1641 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1642def int_mips_srl_d : GCCBuiltin<"__builtin_msa_srl_d">, 1643 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1644 1645def int_mips_srli_b : GCCBuiltin<"__builtin_msa_srli_b">, 1646 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1647def int_mips_srli_h : GCCBuiltin<"__builtin_msa_srli_h">, 1648 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1649def int_mips_srli_w : GCCBuiltin<"__builtin_msa_srli_w">, 1650 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1651def int_mips_srli_d : GCCBuiltin<"__builtin_msa_srli_d">, 1652 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1653 1654def int_mips_srlr_b : GCCBuiltin<"__builtin_msa_srlr_b">, 1655 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_v16i8_ty], [IntrNoMem]>; 1656def int_mips_srlr_h : GCCBuiltin<"__builtin_msa_srlr_h">, 1657 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_v8i16_ty], [IntrNoMem]>; 1658def int_mips_srlr_w : GCCBuiltin<"__builtin_msa_srlr_w">, 1659 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v4i32_ty], [IntrNoMem]>; 1660def int_mips_srlr_d : GCCBuiltin<"__builtin_msa_srlr_d">, 1661 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_v2i64_ty], [IntrNoMem]>; 1662 1663def int_mips_srlri_b : GCCBuiltin<"__builtin_msa_srlri_b">, 1664 Intrinsic<[llvm_v16i8_ty], [llvm_v16i8_ty, llvm_i32_ty], [IntrNoMem]>; 1665def int_mips_srlri_h : GCCBuiltin<"__builtin_msa_srlri_h">, 1666 Intrinsic<[llvm_v8i16_ty], [llvm_v8i16_ty, llvm_i32_ty], [IntrNoMem]>; 1667def int_mips_srlri_w : GCCBuiltin<"__builtin_msa_srlri_w">, 1668 Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_i32_ty], [IntrNoMem]>; 1669def int_mips_srlri_d : GCCBuiltin<"__builtin_msa_srlri_d">, 1670 Intrinsic<[llvm_v2i64_ty], [llvm_v2i64_ty, llvm_i32_ty], [IntrNoMem]>; 1671 1672def int_mips_st_b : GCCBuiltin<"__builtin_msa_st_b">, 1673 Intrinsic<[], [llvm_v16i8_ty, llvm_ptr_ty, llvm_i32_ty], 1674 [IntrReadWriteArgMem]>; 1675def int_mips_st_h : GCCBuiltin<"__builtin_msa_st_h">, 1676 Intrinsic<[], [llvm_v8i16_ty, llvm_ptr_ty, llvm_i32_ty], 1677 [IntrReadWriteArgMem]>; 1678def int_mips_st_w : GCCBuiltin<"__builtin_msa_st_w">, 1679 Intrinsic<[], [llvm_v4i32_ty, llvm_ptr_ty, llvm_i32_ty], 1680 [IntrReadWriteArgMem]>; 1681def int_mips_st_d : GCCBuiltin<"__builtin_msa_st_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