1; RUN: not --crash llc -march=mips -mattr=+msa,+fp64,+mips32r2 -relocation-model=pic < %s 2> %t1 2; RUN: FileCheck %s < %t1 3 4; Test that the immediate intrinsics with out of range values trigger an error. 5 6 7define void @binsli_b(<16 x i8> * %ptr) { 8entry: 9 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 10 %r = call <16 x i8> @llvm.mips.binsli.b(<16 x i8> %a, <16 x i8> %a, i32 65) 11 store <16 x i8> %r, <16 x i8> * %ptr, align 16 12 ret void 13} 14; CHECK: LLVM ERROR: Immediate out of range 15 16define void @binsri_b(<16 x i8> * %ptr) { 17entry: 18 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 19 %r = call <16 x i8> @llvm.mips.binsri.b(<16 x i8> %a, <16 x i8> %a, i32 5) 20 store <16 x i8> %r, <16 x i8> * %ptr, align 16 21 ret void 22} 23 24define void @bmnzi_b(<16 x i8> * %ptr) { 25entry: 26 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 27 %r = call <16 x i8> @llvm.mips.bmnzi.b(<16 x i8> %a, <16 x i8> %a, i32 63) 28 store <16 x i8> %r, <16 x i8> * %ptr, align 16 29 ret void 30} 31 32define void @bmzi_b(<16 x i8> * %ptr) { 33entry: 34 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 35 %r = call <16 x i8> @llvm.mips.bmzi.b(<16 x i8> %a, <16 x i8> %a, i32 63) 36 store <16 x i8> %r, <16 x i8> * %ptr, align 16 37 ret void 38} 39 40define void @bnegi_b(<16 x i8> * %ptr) { 41entry: 42 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 43 %r = call <16 x i8> @llvm.mips.bnegi.b(<16 x i8> %a, i32 6) 44 store <16 x i8> %r, <16 x i8> * %ptr, align 16 45 ret void 46} 47 48define void @bseli_b(<16 x i8> * %ptr) { 49entry: 50 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 51 %r = call <16 x i8> @llvm.mips.bseli.b(<16 x i8> %a, <16 x i8> %a, i32 63) 52 store <16 x i8> %r, <16 x i8> * %ptr, align 16 53 ret void 54} 55 56define void @bseti_b(<16 x i8> * %ptr) { 57entry: 58 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 59 %r = call <16 x i8> @llvm.mips.bseti.b(<16 x i8> %a, i32 9) 60 store <16 x i8> %r, <16 x i8> * %ptr, align 16 61 ret void 62} 63 64define void @clei_s_b(<16 x i8> * %ptr) { 65entry: 66 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 67 %r = call <16 x i8> @llvm.mips.clei.s.b(<16 x i8> %a, i32 152) 68 store <16 x i8> %r, <16 x i8> * %ptr, align 16 69 ret void 70} 71 72define void @clei_u_b(<16 x i8> * %ptr) { 73entry: 74 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 75 %r = call <16 x i8> @llvm.mips.clei.u.b(<16 x i8> %a, i32 163) 76 store <16 x i8> %r, <16 x i8> * %ptr, align 16 77 ret void 78} 79 80define void @clti_s_b(<16 x i8> * %ptr) { 81entry: 82 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 83 %r = call <16 x i8> @llvm.mips.clti.s.b(<16 x i8> %a, i32 129) 84 store <16 x i8> %r, <16 x i8> * %ptr, align 16 85 ret void 86} 87 88define void @clti_u_b(<16 x i8> * %ptr) { 89entry: 90 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 91 %r = call <16 x i8> @llvm.mips.clti.u.b(<16 x i8> %a, i32 163) 92 store <16 x i8> %r, <16 x i8> * %ptr, align 16 93 ret void 94} 95 96define void @ldi_b(<16 x i8> * %ptr) { 97entry: 98 %r = call <16 x i8> @llvm.mips.ldi.b(i32 1025) 99 store <16 x i8> %r, <16 x i8> * %ptr, align 16 100 ret void 101} 102 103define void @maxi_s_b(<16 x i8> * %ptr) { 104entry: 105 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 106 %r = call <16 x i8> @llvm.mips.maxi.s.b(<16 x i8> %a, i32 163) 107 store <16 x i8> %r, <16 x i8> * %ptr, align 16 108 ret void 109} 110 111define void @maxi_u_b(<16 x i8> * %ptr) { 112entry: 113 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 114 %r = call <16 x i8> @llvm.mips.maxi.u.b(<16 x i8> %a, i32 163) 115 store <16 x i8> %r, <16 x i8> * %ptr, align 16 116 ret void 117} 118 119define void @mini_s_b(<16 x i8> * %ptr) { 120entry: 121 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 122 %r = call <16 x i8> @llvm.mips.mini.s.b(<16 x i8> %a, i32 163) 123 store <16 x i8> %r, <16 x i8> * %ptr, align 16 124 ret void 125} 126 127define void @mini_u_b(<16 x i8> * %ptr) { 128entry: 129 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 130 %r = call <16 x i8> @llvm.mips.mini.u.b(<16 x i8> %a, i32 163) 131 store <16 x i8> %r, <16 x i8> * %ptr, align 16 132 ret void 133} 134 135define void @nori_b(<16 x i8> * %ptr) { 136entry: 137 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 138 %r = call <16 x i8> @llvm.mips.nori.b(<16 x i8> %a, i32 63) 139 store <16 x i8> %r, <16 x i8> * %ptr, align 16 140 ret void 141} 142 143define void @ori_b(<16 x i8> * %ptr) { 144entry: 145 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 146 %r = call <16 x i8> @llvm.mips.ori.b(<16 x i8> %a, i32 63) 147 store <16 x i8> %r, <16 x i8> * %ptr, align 16 148 ret void 149} 150 151define void @sldi_b(<16 x i8> * %ptr) { 152entry: 153 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 154 %r = call <16 x i8> @llvm.mips.sldi.b(<16 x i8> %a, <16 x i8> %a, i32 7) 155 store <16 x i8> %r, <16 x i8> * %ptr, align 16 156 ret void 157} 158 159define void @slli_b(<16 x i8> * %ptr) { 160entry: 161 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 162 %r = call <16 x i8> @llvm.mips.slli.b(<16 x i8> %a, i32 65) 163 store <16 x i8> %r, <16 x i8> * %ptr, align 16 164 ret void 165} 166 167define void @splati_b(<16 x i8> * %ptr) { 168entry: 169 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 170 %r = call <16 x i8> @llvm.mips.splati.b(<16 x i8> %a, i32 65) 171 store <16 x i8> %r, <16 x i8> * %ptr, align 16 172 ret void 173} 174 175define void @srai_b(<16 x i8> * %ptr) { 176entry: 177 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 178 %r = call <16 x i8> @llvm.mips.srai.b(<16 x i8> %a, i32 65) 179 store <16 x i8> %r, <16 x i8> * %ptr, align 16 180 ret void 181} 182 183define void @srari_b(<16 x i8> * %ptr) { 184entry: 185 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 186 %r = call <16 x i8> @llvm.mips.srari.b(<16 x i8> %a, i32 65) 187 store <16 x i8> %r, <16 x i8> * %ptr, align 16 188 ret void 189} 190 191define void @srli_b(<16 x i8> * %ptr) { 192entry: 193 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 194 %r = call <16 x i8> @llvm.mips.srli.b(<16 x i8> %a, i32 65) 195 store <16 x i8> %r, <16 x i8> * %ptr, align 16 196 ret void 197} 198 199define void @srlri_b(<16 x i8> * %ptr) { 200entry: 201 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 202 %r = call <16 x i8> @llvm.mips.srlri.b(<16 x i8> %a, i32 65) 203 store <16 x i8> %r, <16 x i8> * %ptr, align 16 204 ret void 205} 206 207define void @addvi_w(<4 x i32> * %ptr) { 208entry: 209 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 210 %r = call <4 x i32> @llvm.mips.addvi.w(<4 x i32> %a, i32 63) 211 store <4 x i32> %r, <4 x i32> * %ptr, align 16 212 ret void 213} 214 215define void @bclri_w(<4 x i32> * %ptr) { 216entry: 217 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 218 %r = call <4 x i32> @llvm.mips.bclri.w(<4 x i32> %a, i32 63) 219 store <4 x i32> %r, <4 x i32> * %ptr, align 16 220 ret void 221} 222 223define void @binsli_w(<4 x i32> * %ptr) { 224entry: 225 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 226 %r = call <4 x i32> @llvm.mips.binsli.w(<4 x i32> %a, <4 x i32> %a, i32 63) 227 store <4 x i32> %r, <4 x i32> * %ptr, align 16 228 ret void 229} 230 231define void @binsri_w(<4 x i32> * %ptr) { 232entry: 233 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 234 %r = call <4 x i32> @llvm.mips.binsri.w(<4 x i32> %a, <4 x i32> %a, i32 63) 235 store <4 x i32> %r, <4 x i32> * %ptr, align 16 236 ret void 237} 238 239define void @bnegi_w(<4 x i32> * %ptr) { 240entry: 241 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 242 %r = call <4 x i32> @llvm.mips.bnegi.w(<4 x i32> %a, i32 63) 243 store <4 x i32> %r, <4 x i32> * %ptr, align 16 244 ret void 245} 246 247define void @bseti_w(<4 x i32> * %ptr) { 248entry: 249 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 250 %r = call <4 x i32> @llvm.mips.bseti.w(<4 x i32> %a, i32 63) 251 store <4 x i32> %r, <4 x i32> * %ptr, align 16 252 ret void 253} 254 255define void @clei_s_w(<4 x i32> * %ptr) { 256entry: 257 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 258 %r = call <4 x i32> @llvm.mips.clei.s.w(<4 x i32> %a, i32 63) 259 store <4 x i32> %r, <4 x i32> * %ptr, align 16 260 ret void 261} 262 263define void @clei_u_w(<4 x i32> * %ptr) { 264entry: 265 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 266 %r = call <4 x i32> @llvm.mips.clei.u.w(<4 x i32> %a, i32 63) 267 store <4 x i32> %r, <4 x i32> * %ptr, align 16 268 ret void 269} 270 271define void @clti_s_w(<4 x i32> * %ptr) { 272entry: 273 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 274 %r = call <4 x i32> @llvm.mips.clti.s.w(<4 x i32> %a, i32 63) 275 store <4 x i32> %r, <4 x i32> * %ptr, align 16 276 ret void 277} 278 279define void @clti_u_w(<4 x i32> * %ptr) { 280entry: 281 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 282 %r = call <4 x i32> @llvm.mips.clti.u.w(<4 x i32> %a, i32 63) 283 store <4 x i32> %r, <4 x i32> * %ptr, align 16 284 ret void 285} 286 287define void @maxi_s_w(<4 x i32> * %ptr) { 288entry: 289 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 290 %r = call <4 x i32> @llvm.mips.maxi.s.w(<4 x i32> %a, i32 63) 291 store <4 x i32> %r, <4 x i32> * %ptr, align 16 292 ret void 293} 294 295define void @maxi_u_w(<4 x i32> * %ptr) { 296entry: 297 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 298 %r = call <4 x i32> @llvm.mips.maxi.u.w(<4 x i32> %a, i32 63) 299 store <4 x i32> %r, <4 x i32> * %ptr, align 16 300 ret void 301} 302 303define void @mini_s_w(<4 x i32> * %ptr) { 304entry: 305 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 306 %r = call <4 x i32> @llvm.mips.mini.s.w(<4 x i32> %a, i32 63) 307 store <4 x i32> %r, <4 x i32> * %ptr, align 16 308 ret void 309} 310 311define void @mini_u_w(<4 x i32> * %ptr) { 312entry: 313 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 314 %r = call <4 x i32> @llvm.mips.mini.u.w(<4 x i32> %a, i32 63) 315 store <4 x i32> %r, <4 x i32> * %ptr, align 16 316 ret void 317} 318 319define void @ldi_w(<4 x i32> * %ptr) { 320entry: 321 %r = call <4 x i32> @llvm.mips.ldi.w(i32 1024) 322 store <4 x i32> %r, <4 x i32> * %ptr, align 16 323 ret void 324} 325 326define void @sldi_w(<4 x i32> * %ptr) { 327entry: 328 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 329 %r = call <4 x i32> @llvm.mips.sldi.w(<4 x i32> %a, <4 x i32> %a, i32 63) 330 store <4 x i32> %r, <4 x i32> * %ptr, align 16 331 ret void 332} 333 334define void @slli_w(<4 x i32> * %ptr) { 335entry: 336 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 337 %r = call <4 x i32> @llvm.mips.slli.w(<4 x i32> %a, i32 65) 338 store <4 x i32> %r, <4 x i32> * %ptr, align 16 339 ret void 340} 341 342define void @splati_w(<4 x i32> * %ptr) { 343entry: 344 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 345 %r = call <4 x i32> @llvm.mips.splati.w(<4 x i32> %a, i32 65) 346 store <4 x i32> %r, <4 x i32> * %ptr, align 16 347 ret void 348} 349 350define void @srai_w(<4 x i32> * %ptr) { 351entry: 352 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 353 %r = call <4 x i32> @llvm.mips.srai.w(<4 x i32> %a, i32 65) 354 store <4 x i32> %r, <4 x i32> * %ptr, align 16 355 ret void 356} 357 358define void @srari_w(<4 x i32> * %ptr) { 359entry: 360 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 361 %r = call <4 x i32> @llvm.mips.srari.w(<4 x i32> %a, i32 65) 362 store <4 x i32> %r, <4 x i32> * %ptr, align 16 363 ret void 364} 365 366define void @srli_w(<4 x i32> * %ptr) { 367entry: 368 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 369 %r = call <4 x i32> @llvm.mips.srli.w(<4 x i32> %a, i32 65) 370 store <4 x i32> %r, <4 x i32> * %ptr, align 16 371 ret void 372} 373 374define void @srlri_w(<4 x i32> * %ptr) { 375entry: 376 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 377 %r = call <4 x i32> @llvm.mips.srlri.w(<4 x i32> %a, i32 65) 378 store <4 x i32> %r, <4 x i32> * %ptr, align 16 379 ret void 380} 381 382define void @addvi_h(<8 x i16> * %ptr) { 383entry: 384 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 385 %r = call <8 x i16> @llvm.mips.addvi.h(<8 x i16> %a, i32 65) 386 store <8 x i16> %r, <8 x i16> * %ptr, align 16 387 ret void 388} 389 390define void @bclri_h(<8 x i16> * %ptr) { 391entry: 392 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 393 %r = call <8 x i16> @llvm.mips.bclri.h(<8 x i16> %a, i32 16) 394 store <8 x i16> %r, <8 x i16> * %ptr, align 16 395 ret void 396} 397 398define void @binsli_h(<8 x i16> * %ptr) { 399entry: 400 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 401 %r = call <8 x i16> @llvm.mips.binsli.h(<8 x i16> %a, <8 x i16> %a, i32 17) 402 store <8 x i16> %r, <8 x i16> * %ptr, align 16 403 ret void 404} 405 406define void @binsri_h(<8 x i16> * %ptr) { 407entry: 408 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 409 %r = call <8 x i16> @llvm.mips.binsri.h(<8 x i16> %a, <8 x i16> %a, i32 19) 410 store <8 x i16> %r, <8 x i16> * %ptr, align 16 411 ret void 412} 413 414define void @bnegi_h(<8 x i16> * %ptr) { 415entry: 416 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 417 %r = call <8 x i16> @llvm.mips.bnegi.h(<8 x i16> %a, i32 19) 418 store <8 x i16> %r, <8 x i16> * %ptr, align 16 419 ret void 420} 421 422define void @bseti_h(<8 x i16> * %ptr) { 423entry: 424 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 425 %r = call <8 x i16> @llvm.mips.bseti.h(<8 x i16> %a, i32 19) 426 store <8 x i16> %r, <8 x i16> * %ptr, align 16 427 ret void 428} 429 430define void @clei_s_h(<8 x i16> * %ptr) { 431entry: 432 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 433 %r = call <8 x i16> @llvm.mips.clei.s.h(<8 x i16> %a, i32 63) 434 store <8 x i16> %r, <8 x i16> * %ptr, align 16 435 ret void 436} 437 438define void @clei_u_h(<8 x i16> * %ptr) { 439entry: 440 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 441 %r = call <8 x i16> @llvm.mips.clei.u.h(<8 x i16> %a, i32 130) 442 store <8 x i16> %r, <8 x i16> * %ptr, align 16 443 ret void 444} 445 446define void @clti_s_h(<8 x i16> * %ptr) { 447entry: 448 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 449 %r = call <8 x i16> @llvm.mips.clti.s.h(<8 x i16> %a, i32 63) 450 store <8 x i16> %r, <8 x i16> * %ptr, align 16 451 ret void 452} 453 454define void @clti_u_h(<8 x i16> * %ptr) { 455entry: 456 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 457 %r = call <8 x i16> @llvm.mips.clti.u.h(<8 x i16> %a, i32 63) 458 store <8 x i16> %r, <8 x i16> * %ptr, align 16 459 ret void 460} 461 462define void @maxi_s_h(<8 x i16> * %ptr) { 463entry: 464 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 465 %r = call <8 x i16> @llvm.mips.maxi.s.h(<8 x i16> %a, i32 63) 466 store <8 x i16> %r, <8 x i16> * %ptr, align 16 467 ret void 468} 469 470define void @maxi_u_h(<8 x i16> * %ptr) { 471entry: 472 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 473 %r = call <8 x i16> @llvm.mips.maxi.u.h(<8 x i16> %a, i32 130) 474 store <8 x i16> %r, <8 x i16> * %ptr, align 16 475 ret void 476} 477 478define void @mini_s_h(<8 x i16> * %ptr) { 479entry: 480 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 481 %r = call <8 x i16> @llvm.mips.mini.s.h(<8 x i16> %a, i32 63) 482 store <8 x i16> %r, <8 x i16> * %ptr, align 16 483 ret void 484} 485 486define void @mini_u_h(<8 x i16> * %ptr) { 487entry: 488 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 489 %r = call <8 x i16> @llvm.mips.mini.u.h(<8 x i16> %a, i32 130) 490 store <8 x i16> %r, <8 x i16> * %ptr, align 16 491 ret void 492} 493 494define void @ldi_h(<8 x i16> * %ptr) { 495entry: 496 %r = call <8 x i16> @llvm.mips.ldi.h(i32 1024) 497 store <8 x i16> %r, <8 x i16> * %ptr, align 16 498 ret void 499} 500 501define void @sldi_h(<8 x i16> * %ptr) { 502entry: 503 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 504 %r = call <8 x i16> @llvm.mips.sldi.h(<8 x i16> %a, <8 x i16> %a, i32 65) 505 store <8 x i16> %r, <8 x i16> * %ptr, align 16 506 ret void 507} 508 509define void @slli_h(<8 x i16> * %ptr) { 510entry: 511 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 512 %r = call <8 x i16> @llvm.mips.slli.h(<8 x i16> %a, i32 65) 513 store <8 x i16> %r, <8 x i16> * %ptr, align 16 514 ret void 515} 516 517define void @splati_h(<8 x i16> * %ptr) { 518entry: 519 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 520 %r = call <8 x i16> @llvm.mips.splati.h(<8 x i16> %a, i32 65) 521 store <8 x i16> %r, <8 x i16> * %ptr, align 16 522 ret void 523} 524 525define void @srai_h(<8 x i16> * %ptr) { 526entry: 527 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 528 %r = call <8 x i16> @llvm.mips.srai.h(<8 x i16> %a, i32 65) 529 store <8 x i16> %r, <8 x i16> * %ptr, align 16 530 ret void 531} 532 533define void @srari_h(<8 x i16> * %ptr) { 534entry: 535 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 536 %r = call <8 x i16> @llvm.mips.srari.h(<8 x i16> %a, i32 65) 537 store <8 x i16> %r, <8 x i16> * %ptr, align 16 538 ret void 539} 540 541define void @srli_h(<8 x i16> * %ptr) { 542entry: 543 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 544 %r = call <8 x i16> @llvm.mips.srli.h(<8 x i16> %a, i32 65) 545 store <8 x i16> %r, <8 x i16> * %ptr, align 16 546 ret void 547} 548 549define void @srlri_h(<8 x i16> * %ptr) { 550entry: 551 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 552 %r = call <8 x i16> @llvm.mips.srlri.h(<8 x i16> %a, i32 65) 553 store <8 x i16> %r, <8 x i16> * %ptr, align 16 554 ret void 555} 556 557define i32 @copy_s_b(<16 x i8> * %ptr) { 558entry: 559 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 560 %r = call i32 @llvm.mips.copy.s.b(<16 x i8> %a, i32 17) 561 ret i32 %r 562} 563 564 565define i32 @copy_s_h(<8 x i16> * %ptr) { 566entry: 567 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 568 %r = call i32 @llvm.mips.copy.s.h(<8 x i16> %a, i32 9) 569 ret i32 %r 570} 571 572 573define i32 @copy_s_w(<4 x i32> * %ptr) { 574entry: 575 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 576 %r = call i32 @llvm.mips.copy.s.w(<4 x i32> %a, i32 5) 577 ret i32 %r 578} 579 580 581define i32 @copy_u_b(<16 x i8> * %ptr) { 582entry: 583 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 584 %r = call i32 @llvm.mips.copy.u.b(<16 x i8> %a, i32 16) 585 ret i32 %r 586} 587 588 589define i32 @copy_u_h(<8 x i16> * %ptr) { 590entry: 591 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 592 %r = call i32 @llvm.mips.copy.u.h(<8 x i16> %a, i32 9) 593 ret i32 %r 594} 595 596 597define i32 @copy_u_w(<4 x i32> * %ptr) { 598entry: 599 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 600 %r = call i32 @llvm.mips.copy.u.w(<4 x i32> %a, i32 5) 601 ret i32 %r 602} 603 604define i64 @copy_s_d(<2 x i64> * %ptr) { 605entry: %a = load <2 x i64>, <2 x i64> * %ptr, align 16 606 %r = call i64 @llvm.mips.copy.s.d(<2 x i64> %a, i32 3) 607 ret i64 %r 608} 609 610define i64 @copy_u_d(<2 x i64> * %ptr) { 611entry: %a = load <2 x i64>, <2 x i64> * %ptr, align 16 612 %r = call i64 @llvm.mips.copy.u.d(<2 x i64> %a, i32 3) 613 ret i64 %r 614} 615 616define void @addvi_d(<2 x i64> * %ptr) { 617entry: 618 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 619 %r = call <2 x i64> @llvm.mips.addvi.d(<2 x i64> %a, i32 65) 620 store <2 x i64> %r, <2 x i64> * %ptr, align 16 621 ret void 622} 623 624define void @bclri_d(<2 x i64> * %ptr) { 625entry: 626 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 627 %r = call <2 x i64> @llvm.mips.bclri.d(<2 x i64> %a, i32 64) 628 store <2 x i64> %r, <2 x i64> * %ptr, align 16 629 ret void 630} 631 632define void @binsli_d(<2 x i64> * %ptr) { 633entry: 634 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 635 %r = call <2 x i64> @llvm.mips.binsli.d(<2 x i64> %a, <2 x i64> %a, i32 65) 636 store <2 x i64> %r, <2 x i64> * %ptr, align 16 637 ret void 638} 639 640define void @binsri_d(<2 x i64> * %ptr) { 641entry: 642 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 643 %r = call <2 x i64> @llvm.mips.binsri.d(<2 x i64> %a, <2 x i64> %a, i32 65) 644 store <2 x i64> %r, <2 x i64> * %ptr, align 16 645 ret void 646} 647 648define void @bnegi_d(<2 x i64> * %ptr) { 649entry: 650 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 651 %r = call <2 x i64> @llvm.mips.bnegi.d(<2 x i64> %a, i32 65) 652 store <2 x i64> %r, <2 x i64> * %ptr, align 16 653 ret void 654} 655 656define void @bseti_d(<2 x i64> * %ptr) { 657entry: 658 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 659 %r = call <2 x i64> @llvm.mips.bseti.d(<2 x i64> %a, i32 65) 660 store <2 x i64> %r, <2 x i64> * %ptr, align 16 661 ret void 662} 663 664define void @clei_s_d(<2 x i64> * %ptr) { 665entry: 666 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 667 %r = call <2 x i64> @llvm.mips.clei.s.d(<2 x i64> %a, i32 63) 668 store <2 x i64> %r, <2 x i64> * %ptr, align 16 669 ret void 670} 671 672define void @clei_u_d(<2 x i64> * %ptr) { 673entry: 674 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 675 %r = call <2 x i64> @llvm.mips.clei.u.d(<2 x i64> %a, i32 63) 676 store <2 x i64> %r, <2 x i64> * %ptr, align 16 677 ret void 678} 679 680define void @clti_s_d(<2 x i64> * %ptr) { 681entry: 682 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 683 %r = call <2 x i64> @llvm.mips.clti.s.d(<2 x i64> %a, i32 63) 684 store <2 x i64> %r, <2 x i64> * %ptr, align 16 685 ret void 686} 687 688define void @clti_u_d(<2 x i64> * %ptr) { 689entry: 690 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 691 %r = call <2 x i64> @llvm.mips.clti.u.d(<2 x i64> %a, i32 63) 692 store <2 x i64> %r, <2 x i64> * %ptr, align 16 693 ret void 694} 695 696define void @ldi_d(<2 x i64> * %ptr) { 697entry: 698 %r = call <2 x i64> @llvm.mips.ldi.d(i32 1024) 699 store <2 x i64> %r, <2 x i64> * %ptr, align 16 700 ret void 701} 702 703define void @maxi_s_d(<2 x i64> * %ptr) { 704entry: 705 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 706 %r = call <2 x i64> @llvm.mips.maxi.s.d(<2 x i64> %a, i32 63) 707 store <2 x i64> %r, <2 x i64> * %ptr, align 16 708 ret void 709} 710 711define void @maxi_u_d(<2 x i64> * %ptr) { 712entry: 713 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 714 %r = call <2 x i64> @llvm.mips.maxi.u.d(<2 x i64> %a, i32 63) 715 store <2 x i64> %r, <2 x i64> * %ptr, align 16 716 ret void 717} 718 719define void @mini_s_d(<2 x i64> * %ptr) { 720entry: 721 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 722 %r = call <2 x i64> @llvm.mips.mini.s.d(<2 x i64> %a, i32 63) 723 store <2 x i64> %r, <2 x i64> * %ptr, align 16 724 ret void 725} 726 727define void @mini_u_d(<2 x i64> * %ptr) { 728entry: 729 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 730 %r = call <2 x i64> @llvm.mips.mini.u.d(<2 x i64> %a, i32 63) 731 store <2 x i64> %r, <2 x i64> * %ptr, align 16 732 ret void 733} 734 735define void @sldi_d(<2 x i64> * %ptr) { 736entry: 737 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 738 %r = call <2 x i64> @llvm.mips.sldi.d(<2 x i64> %a, <2 x i64> %a, i32 1) 739 store <2 x i64> %r, <2 x i64> * %ptr, align 16 740 ret void 741} 742 743define void @slli_d(<2 x i64> * %ptr) { 744entry: 745 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 746 %r = call <2 x i64> @llvm.mips.slli.d(<2 x i64> %a, i32 65) 747 store <2 x i64> %r, <2 x i64> * %ptr, align 16 748 ret void 749} 750 751define void @srai_d(<2 x i64> * %ptr) { 752entry: 753 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 754 %r = call <2 x i64> @llvm.mips.srai.d(<2 x i64> %a, i32 65) 755 store <2 x i64> %r, <2 x i64> * %ptr, align 16 756 ret void 757} 758 759define void @srari_d(<2 x i64> * %ptr) { 760entry: 761 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 762 %r = call <2 x i64> @llvm.mips.srari.d(<2 x i64> %a, i32 65) 763 store <2 x i64> %r, <2 x i64> * %ptr, align 16 764 ret void 765} 766 767define void @srli_d(<2 x i64> * %ptr) { 768entry: 769 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 770 %r = call <2 x i64> @llvm.mips.srli.d(<2 x i64> %a, i32 65) 771 store <2 x i64> %r, <2 x i64> * %ptr, align 16 772 ret void 773} 774 775define void @srlri_d(<2 x i64> * %ptr) { 776entry: 777 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 778 %r = call <2 x i64> @llvm.mips.srlri.d(<2 x i64> %a, i32 65) 779 store <2 x i64> %r, <2 x i64> * %ptr, align 16 780 ret void 781}; Negative numbers 782 783 784define void @neg_addvi_b(<16 x i8> * %ptr) { 785entry: 786 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 787 %r = call <16 x i8> @llvm.mips.addvi.b(<16 x i8> %a, i32 -25) 788 store <16 x i8> %r, <16 x i8> * %ptr, align 16 789 ret void 790} 791 792define void @neg_andi_b(<16 x i8> * %ptr) { 793entry: 794 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 795 %r = call <16 x i8> @llvm.mips.andi.b(<16 x i8> %a, i32 -25) 796 store <16 x i8> %r, <16 x i8> * %ptr, align 16 797 ret void 798} 799 800define void @neg_bclri_b(<16 x i8> * %ptr) { 801entry: 802 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 803 %r = call <16 x i8> @llvm.mips.bclri.b(<16 x i8> %a, i32 -3) 804 store <16 x i8> %r, <16 x i8> * %ptr, align 16 805 ret void 806} 807 808define void @neg_binsli_b(<16 x i8> * %ptr) { 809entry: 810 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 811 %r = call <16 x i8> @llvm.mips.binsli.b(<16 x i8> %a, <16 x i8> %a, i32 -3) 812 store <16 x i8> %r, <16 x i8> * %ptr, align 16 813 ret void 814} 815 816define void @neg_binsri_b(<16 x i8> * %ptr) { 817entry: 818 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 819 %r = call <16 x i8> @llvm.mips.binsri.b(<16 x i8> %a, <16 x i8> %a, i32 5) 820 store <16 x i8> %r, <16 x i8> * %ptr, align 16 821 ret void 822} 823 824define void @neg_bmnzi_b(<16 x i8> * %ptr) { 825entry: 826 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 827 %r = call <16 x i8> @llvm.mips.bmnzi.b(<16 x i8> %a, <16 x i8> %a, i32 -25) 828 store <16 x i8> %r, <16 x i8> * %ptr, align 16 829 ret void 830} 831 832define void @neg_bmzi_b(<16 x i8> * %ptr) { 833entry: 834 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 835 %r = call <16 x i8> @llvm.mips.bmzi.b(<16 x i8> %a, <16 x i8> %a, i32 -25) 836 store <16 x i8> %r, <16 x i8> * %ptr, align 16 837 ret void 838} 839 840define void @neg_bnegi_b(<16 x i8> * %ptr) { 841entry: 842 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 843 %r = call <16 x i8> @llvm.mips.bnegi.b(<16 x i8> %a, i32 6) 844 store <16 x i8> %r, <16 x i8> * %ptr, align 16 845 ret void 846} 847 848define void @neg_bseli_b(<16 x i8> * %ptr) { 849entry: 850 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 851 %r = call <16 x i8> @llvm.mips.bseli.b(<16 x i8> %a, <16 x i8> %a, i32 -25) 852 store <16 x i8> %r, <16 x i8> * %ptr, align 16 853 ret void 854} 855 856define void @neg_bseti_b(<16 x i8> * %ptr) { 857entry: 858 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 859 %r = call <16 x i8> @llvm.mips.bseti.b(<16 x i8> %a, i32 -5) 860 store <16 x i8> %r, <16 x i8> * %ptr, align 16 861 ret void 862} 863 864define void @neg_clei_s_b(<16 x i8> * %ptr) { 865entry: 866 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 867 %r = call <16 x i8> @llvm.mips.clei.s.b(<16 x i8> %a, i32 -120) 868 store <16 x i8> %r, <16 x i8> * %ptr, align 16 869 ret void 870} 871 872define void @neg_clei_u_b(<16 x i8> * %ptr) { 873entry: 874 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 875 %r = call <16 x i8> @llvm.mips.clei.u.b(<16 x i8> %a, i32 -25) 876 store <16 x i8> %r, <16 x i8> * %ptr, align 16 877 ret void 878} 879 880define void @neg_clti_s_b(<16 x i8> * %ptr) { 881entry: 882 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 883 %r = call <16 x i8> @llvm.mips.clti.s.b(<16 x i8> %a, i32 -35) 884 store <16 x i8> %r, <16 x i8> * %ptr, align 16 885 ret void 886} 887 888define void @neg_clti_u_b(<16 x i8> * %ptr) { 889entry: 890 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 891 %r = call <16 x i8> @llvm.mips.clti.u.b(<16 x i8> %a, i32 -25) 892 store <16 x i8> %r, <16 x i8> * %ptr, align 16 893 ret void 894} 895 896define void @neg_ldi_b(<16 x i8> * %ptr) { 897entry: 898 %r = call <16 x i8> @llvm.mips.ldi.b(i32 -3) 899 store <16 x i8> %r, <16 x i8> * %ptr, align 16 900 ret void 901} 902 903define void @neg_maxi_s_b(<16 x i8> * %ptr) { 904entry: 905 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 906 %r = call <16 x i8> @llvm.mips.maxi.s.b(<16 x i8> %a, i32 2) 907 store <16 x i8> %r, <16 x i8> * %ptr, align 16 908 ret void 909} 910 911define void @neg_maxi_u_b(<16 x i8> * %ptr) { 912entry: 913 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 914 %r = call <16 x i8> @llvm.mips.maxi.u.b(<16 x i8> %a, i32 2) 915 store <16 x i8> %r, <16 x i8> * %ptr, align 16 916 ret void 917} 918 919define void @neg_mini_s_b(<16 x i8> * %ptr) { 920entry: 921 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 922 %r = call <16 x i8> @llvm.mips.mini.s.b(<16 x i8> %a, i32 2) 923 store <16 x i8> %r, <16 x i8> * %ptr, align 16 924 ret void 925} 926 927define void @neg_mini_u_b(<16 x i8> * %ptr) { 928entry: 929 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 930 %r = call <16 x i8> @llvm.mips.mini.u.b(<16 x i8> %a, i32 2) 931 store <16 x i8> %r, <16 x i8> * %ptr, align 16 932 ret void 933} 934 935define void @neg_nori_b(<16 x i8> * %ptr) { 936entry: 937 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 938 %r = call <16 x i8> @llvm.mips.nori.b(<16 x i8> %a, i32 -25) 939 store <16 x i8> %r, <16 x i8> * %ptr, align 16 940 ret void 941} 942 943define void @neg_ori_b(<16 x i8> * %ptr) { 944entry: 945 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 946 %r = call <16 x i8> @llvm.mips.ori.b(<16 x i8> %a, i32 -25) 947 store <16 x i8> %r, <16 x i8> * %ptr, align 16 948 ret void 949} 950 951define void @neg_sldi_b(<16 x i8> * %ptr) { 952entry: 953 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 954 %r = call <16 x i8> @llvm.mips.sldi.b(<16 x i8> %a, <16 x i8> %a, i32 -7) 955 store <16 x i8> %r, <16 x i8> * %ptr, align 16 956 ret void 957} 958 959define void @neg_slli_b(<16 x i8> * %ptr) { 960entry: 961 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 962 %r = call <16 x i8> @llvm.mips.slli.b(<16 x i8> %a, i32 -3) 963 store <16 x i8> %r, <16 x i8> * %ptr, align 16 964 ret void 965} 966 967define void @neg_splati_b(<16 x i8> * %ptr) { 968entry: 969 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 970 %r = call <16 x i8> @llvm.mips.splati.b(<16 x i8> %a, i32 -3) 971 store <16 x i8> %r, <16 x i8> * %ptr, align 16 972 ret void 973} 974 975define void @neg_srai_b(<16 x i8> * %ptr) { 976entry: 977 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 978 %r = call <16 x i8> @llvm.mips.srai.b(<16 x i8> %a, i32 -3) 979 store <16 x i8> %r, <16 x i8> * %ptr, align 16 980 ret void 981} 982 983define void @neg_srari_b(<16 x i8> * %ptr) { 984entry: 985 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 986 %r = call <16 x i8> @llvm.mips.srari.b(<16 x i8> %a, i32 -3) 987 store <16 x i8> %r, <16 x i8> * %ptr, align 16 988 ret void 989} 990 991define void @neg_srli_b(<16 x i8> * %ptr) { 992entry: 993 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 994 %r = call <16 x i8> @llvm.mips.srli.b(<16 x i8> %a, i32 -3) 995 store <16 x i8> %r, <16 x i8> * %ptr, align 16 996 ret void 997} 998 999define void @neg_srlri_b(<16 x i8> * %ptr) { 1000entry: 1001 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 1002 %r = call <16 x i8> @llvm.mips.srlri.b(<16 x i8> %a, i32 -3) 1003 store <16 x i8> %r, <16 x i8> * %ptr, align 16 1004 ret void 1005} 1006 1007define void @neg_addvi_w(<4 x i32> * %ptr) { 1008entry: 1009 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1010 %r = call <4 x i32> @llvm.mips.addvi.w(<4 x i32> %a, i32 -25) 1011 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1012 ret void 1013} 1014 1015define void @neg_bclri_w(<4 x i32> * %ptr) { 1016entry: 1017 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1018 %r = call <4 x i32> @llvm.mips.bclri.w(<4 x i32> %a, i32 -25) 1019 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1020 ret void 1021} 1022 1023define void @neg_binsli_w(<4 x i32> * %ptr) { 1024entry: 1025 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1026 %r = call <4 x i32> @llvm.mips.binsli.w(<4 x i32> %a, <4 x i32> %a, i32 -25) 1027 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1028 ret void 1029} 1030 1031define void @neg_binsri_w(<4 x i32> * %ptr) { 1032entry: 1033 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1034 %r = call <4 x i32> @llvm.mips.binsri.w(<4 x i32> %a, <4 x i32> %a, i32 -25) 1035 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1036 ret void 1037} 1038 1039define void @neg_bnegi_w(<4 x i32> * %ptr) { 1040entry: 1041 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1042 %r = call <4 x i32> @llvm.mips.bnegi.w(<4 x i32> %a, i32 -25) 1043 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1044 ret void 1045} 1046 1047define void @neg_bseti_w(<4 x i32> * %ptr) { 1048entry: 1049 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1050 %r = call <4 x i32> @llvm.mips.bseti.w(<4 x i32> %a, i32 -25) 1051 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1052 ret void 1053} 1054 1055define void @neg_clei_s_w(<4 x i32> * %ptr) { 1056entry: 1057 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1058 %r = call <4 x i32> @llvm.mips.clei.s.w(<4 x i32> %a, i32 -140) 1059 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1060 ret void 1061} 1062 1063define void @neg_clei_u_w(<4 x i32> * %ptr) { 1064entry: 1065 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1066 %r = call <4 x i32> @llvm.mips.clei.u.w(<4 x i32> %a, i32 -25) 1067 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1068 ret void 1069} 1070 1071define void @neg_clti_s_w(<4 x i32> * %ptr) { 1072entry: 1073 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1074 %r = call <4 x i32> @llvm.mips.clti.s.w(<4 x i32> %a, i32 -150) 1075 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1076 ret void 1077} 1078 1079define void @neg_clti_u_w(<4 x i32> * %ptr) { 1080entry: 1081 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1082 %r = call <4 x i32> @llvm.mips.clti.u.w(<4 x i32> %a, i32 -25) 1083 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1084 ret void 1085} 1086 1087define void @neg_maxi_s_w(<4 x i32> * %ptr) { 1088entry: 1089 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1090 %r = call <4 x i32> @llvm.mips.maxi.s.w(<4 x i32> %a, i32 -200) 1091 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1092 ret void 1093} 1094 1095define void @neg_maxi_u_w(<4 x i32> * %ptr) { 1096entry: 1097 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1098 %r = call <4 x i32> @llvm.mips.maxi.u.w(<4 x i32> %a, i32 -200) 1099 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1100 ret void 1101} 1102 1103define void @neg_mini_s_w(<4 x i32> * %ptr) { 1104entry: 1105 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1106 %r = call <4 x i32> @llvm.mips.mini.s.w(<4 x i32> %a, i32 -200) 1107 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1108 ret void 1109} 1110 1111define void @neg_mini_u_w(<4 x i32> * %ptr) { 1112entry: 1113 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1114 %r = call <4 x i32> @llvm.mips.mini.u.w(<4 x i32> %a, i32 -200) 1115 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1116 ret void 1117} 1118 1119define void @neg_ldi_w(<4 x i32> * %ptr) { 1120entry: 1121 %r = call <4 x i32> @llvm.mips.ldi.w(i32 -300) 1122 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1123 ret void 1124} 1125 1126define void @neg_sldi_w(<4 x i32> * %ptr) { 1127entry: 1128 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1129 %r = call <4 x i32> @llvm.mips.sldi.w(<4 x i32> %a, <4 x i32> %a, i32 -20) 1130 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1131 ret void 1132} 1133 1134define void @neg_slli_w(<4 x i32> * %ptr) { 1135entry: 1136 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1137 %r = call <4 x i32> @llvm.mips.slli.w(<4 x i32> %a, i32 -3) 1138 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1139 ret void 1140} 1141 1142define void @neg_splati_w(<4 x i32> * %ptr) { 1143entry: 1144 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1145 %r = call <4 x i32> @llvm.mips.splati.w(<4 x i32> %a, i32 -3) 1146 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1147 ret void 1148} 1149 1150define void @neg_srai_w(<4 x i32> * %ptr) { 1151entry: 1152 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1153 %r = call <4 x i32> @llvm.mips.srai.w(<4 x i32> %a, i32 -3) 1154 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1155 ret void 1156} 1157 1158define void @neg_srari_w(<4 x i32> * %ptr) { 1159entry: 1160 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1161 %r = call <4 x i32> @llvm.mips.srari.w(<4 x i32> %a, i32 -3) 1162 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1163 ret void 1164} 1165 1166define void @neg_srli_w(<4 x i32> * %ptr) { 1167entry: 1168 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1169 %r = call <4 x i32> @llvm.mips.srli.w(<4 x i32> %a, i32 -3) 1170 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1171 ret void 1172} 1173 1174define void @neg_srlri_w(<4 x i32> * %ptr) { 1175entry: 1176 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1177 %r = call <4 x i32> @llvm.mips.srlri.w(<4 x i32> %a, i32 -3) 1178 store <4 x i32> %r, <4 x i32> * %ptr, align 16 1179 ret void 1180} 1181 1182define void @neg_addvi_h(<8 x i16> * %ptr) { 1183entry: 1184 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1185 %r = call <8 x i16> @llvm.mips.addvi.h(<8 x i16> %a, i32 -25) 1186 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1187 ret void 1188} 1189 1190define void @neg_bclri_h(<8 x i16> * %ptr) { 1191entry: 1192 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1193 %r = call <8 x i16> @llvm.mips.bclri.h(<8 x i16> %a, i32 -8) 1194 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1195 ret void 1196} 1197 1198define void @neg_binsli_h(<8 x i16> * %ptr) { 1199entry: 1200 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1201 %r = call <8 x i16> @llvm.mips.binsli.h(<8 x i16> %a, <8 x i16> %a, i32 -8) 1202 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1203 ret void 1204} 1205 1206define void @neg_binsri_h(<8 x i16> * %ptr) { 1207entry: 1208 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1209 %r = call <8 x i16> @llvm.mips.binsri.h(<8 x i16> %a, <8 x i16> %a, i32 -15) 1210 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1211 ret void 1212} 1213 1214define void @neg_bnegi_h(<8 x i16> * %ptr) { 1215entry: 1216 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1217 %r = call <8 x i16> @llvm.mips.bnegi.h(<8 x i16> %a, i32 -14) 1218 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1219 ret void 1220} 1221 1222define void @neg_bseti_h(<8 x i16> * %ptr) { 1223entry: 1224 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1225 %r = call <8 x i16> @llvm.mips.bseti.h(<8 x i16> %a, i32 -15) 1226 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1227 ret void 1228} 1229 1230define void @neg_clei_s_h(<8 x i16> * %ptr) { 1231entry: 1232 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1233 %r = call <8 x i16> @llvm.mips.clei.s.h(<8 x i16> %a, i32 -25) 1234 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1235 ret void 1236} 1237 1238define void @neg_clei_u_h(<8 x i16> * %ptr) { 1239entry: 1240 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1241 %r = call <8 x i16> @llvm.mips.clei.u.h(<8 x i16> %a, i32 -25) 1242 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1243 ret void 1244} 1245 1246define void @neg_clti_s_h(<8 x i16> * %ptr) { 1247entry: 1248 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1249 %r = call <8 x i16> @llvm.mips.clti.s.h(<8 x i16> %a, i32 -150) 1250 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1251 ret void 1252} 1253 1254define void @neg_clti_u_h(<8 x i16> * %ptr) { 1255entry: 1256 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1257 %r = call <8 x i16> @llvm.mips.clti.u.h(<8 x i16> %a, i32 -25) 1258 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1259 ret void 1260} 1261 1262define void @neg_maxi_s_h(<8 x i16> * %ptr) { 1263entry: 1264 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1265 %r = call <8 x i16> @llvm.mips.maxi.s.h(<8 x i16> %a, i32 -200) 1266 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1267 ret void 1268} 1269 1270define void @neg_maxi_u_h(<8 x i16> * %ptr) { 1271entry: 1272 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1273 %r = call <8 x i16> @llvm.mips.maxi.u.h(<8 x i16> %a, i32 -200) 1274 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1275 ret void 1276} 1277 1278define void @neg_mini_s_h(<8 x i16> * %ptr) { 1279entry: 1280 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1281 %r = call <8 x i16> @llvm.mips.mini.s.h(<8 x i16> %a, i32 -200) 1282 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1283 ret void 1284} 1285 1286define void @neg_mini_u_h(<8 x i16> * %ptr) { 1287entry: 1288 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1289 %r = call <8 x i16> @llvm.mips.mini.u.h(<8 x i16> %a, i32 -2) 1290 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1291 ret void 1292} 1293 1294define void @neg_ldi_h(<8 x i16> * %ptr) { 1295entry: 1296 %r = call <8 x i16> @llvm.mips.ldi.h(i32 -300) 1297 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1298 ret void 1299} 1300 1301define void @neg_sldi_h(<8 x i16> * %ptr) { 1302entry: 1303 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1304 %r = call <8 x i16> @llvm.mips.sldi.h(<8 x i16> %a, <8 x i16> %a, i32 -3) 1305 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1306 ret void 1307} 1308 1309define void @neg_slli_h(<8 x i16> * %ptr) { 1310entry: 1311 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1312 %r = call <8 x i16> @llvm.mips.slli.h(<8 x i16> %a, i32 -3) 1313 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1314 ret void 1315} 1316 1317define void @neg_splati_h(<8 x i16> * %ptr) { 1318entry: 1319 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1320 %r = call <8 x i16> @llvm.mips.splati.h(<8 x i16> %a, i32 -3) 1321 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1322 ret void 1323} 1324 1325define void @neg_srai_h(<8 x i16> * %ptr) { 1326entry: 1327 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1328 %r = call <8 x i16> @llvm.mips.srai.h(<8 x i16> %a, i32 -3) 1329 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1330 ret void 1331} 1332 1333define void @neg_srari_h(<8 x i16> * %ptr) { 1334entry: 1335 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1336 %r = call <8 x i16> @llvm.mips.srari.h(<8 x i16> %a, i32 -3) 1337 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1338 ret void 1339} 1340 1341define void @neg_srli_h(<8 x i16> * %ptr) { 1342entry: 1343 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1344 %r = call <8 x i16> @llvm.mips.srli.h(<8 x i16> %a, i32 -3) 1345 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1346 ret void 1347} 1348 1349define void @neg_srlri_h(<8 x i16> * %ptr) { 1350entry: 1351 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1352 %r = call <8 x i16> @llvm.mips.srlri.h(<8 x i16> %a, i32 -3) 1353 store <8 x i16> %r, <8 x i16> * %ptr, align 16 1354 ret void 1355} 1356 1357define i32 @neg_copy_s_b(<16 x i8> * %ptr) { 1358entry: 1359 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 1360 %r = call i32 @llvm.mips.copy.s.b(<16 x i8> %a, i32 -1) 1361 ret i32 %r 1362} 1363 1364define i32 @neg_copy_s_h(<8 x i16> * %ptr) { 1365entry: 1366 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1367 %r = call i32 @llvm.mips.copy.s.h(<8 x i16> %a, i32 -1) 1368 ret i32 %r 1369} 1370 1371define i32 @neg_copy_s_w(<4 x i32> * %ptr) { 1372entry: 1373 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1374 %r = call i32 @llvm.mips.copy.s.w(<4 x i32> %a, i32 -1) 1375 ret i32 %r 1376} 1377 1378define i32 @neg_copy_u_b(<16 x i8> * %ptr) { 1379entry: 1380 %a = load <16 x i8>, <16 x i8> * %ptr, align 16 1381 %r = call i32 @llvm.mips.copy.u.b(<16 x i8> %a, i32 -1) 1382 ret i32 %r 1383} 1384 1385 1386define i32 @neg_copy_u_h(<8 x i16> * %ptr) { 1387entry: 1388 %a = load <8 x i16>, <8 x i16> * %ptr, align 16 1389 %r = call i32 @llvm.mips.copy.u.h(<8 x i16> %a, i32 -1) 1390 ret i32 %r 1391} 1392 1393 1394define i32 @neg_copy_u_w(<4 x i32> * %ptr) { 1395entry: 1396 %a = load <4 x i32>, <4 x i32> * %ptr, align 16 1397 %r = call i32 @llvm.mips.copy.u.w(<4 x i32> %a, i32 -1) 1398 ret i32 %r 1399} 1400 1401define i64 @neg_copy_s_d(<2 x i64> * %ptr) { 1402entry: %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1403 %r = call i64 @llvm.mips.copy.s.d(<2 x i64> %a, i32 -1) 1404 ret i64 %r 1405} 1406 1407define i64 @neg_copy_u_d(<2 x i64> * %ptr) { 1408entry: %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1409 %r = call i64 @llvm.mips.copy.u.d(<2 x i64> %a, i32 -1) 1410 ret i64 %r 1411} 1412 1413define void @neg_addvi_d(<2 x i64> * %ptr) { 1414entry: 1415 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1416 %r = call <2 x i64> @llvm.mips.addvi.d(<2 x i64> %a, i32 -25) 1417 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1418 ret void 1419} 1420 1421define void @neg_bclri_d(<2 x i64> * %ptr) { 1422entry: 1423 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1424 %r = call <2 x i64> @llvm.mips.bclri.d(<2 x i64> %a, i32 -25) 1425 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1426 ret void 1427} 1428 1429define void @neg_binsli_d(<2 x i64> * %ptr) { 1430entry: 1431 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1432 %r = call <2 x i64> @llvm.mips.binsli.d(<2 x i64> %a, <2 x i64> %a, i32 -25) 1433 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1434 ret void 1435} 1436 1437define void @neg_binsri_d(<2 x i64> * %ptr) { 1438entry: 1439 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1440 %r = call <2 x i64> @llvm.mips.binsri.d(<2 x i64> %a, <2 x i64> %a, i32 -25) 1441 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1442 ret void 1443} 1444 1445define void @neg_bnegi_d(<2 x i64> * %ptr) { 1446entry: 1447 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1448 %r = call <2 x i64> @llvm.mips.bnegi.d(<2 x i64> %a, i32 -25) 1449 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1450 ret void 1451} 1452 1453define void @neg_bseti_d(<2 x i64> * %ptr) { 1454entry: 1455 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1456 %r = call <2 x i64> @llvm.mips.bseti.d(<2 x i64> %a, i32 -25) 1457 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1458 ret void 1459} 1460 1461define void @neg_clei_s_d(<2 x i64> * %ptr) { 1462entry: 1463 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1464 %r = call <2 x i64> @llvm.mips.clei.s.d(<2 x i64> %a, i32 -45) 1465 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1466 ret void 1467} 1468 1469define void @neg_clei_u_d(<2 x i64> * %ptr) { 1470entry: 1471 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1472 %r = call <2 x i64> @llvm.mips.clei.u.d(<2 x i64> %a, i32 -25) 1473 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1474 ret void 1475} 1476 1477define void @neg_clti_s_d(<2 x i64> * %ptr) { 1478entry: 1479 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1480 %r = call <2 x i64> @llvm.mips.clti.s.d(<2 x i64> %a, i32 -32) 1481 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1482 ret void 1483} 1484 1485define void @neg_clti_u_d(<2 x i64> * %ptr) { 1486entry: 1487 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1488 %r = call <2 x i64> @llvm.mips.clti.u.d(<2 x i64> %a, i32 -25) 1489 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1490 ret void 1491} 1492 1493define void @neg_ldi_d(<2 x i64> * %ptr) { 1494entry: 1495 %r = call <2 x i64> @llvm.mips.ldi.d(i32 -3) 1496 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1497 ret void 1498} 1499 1500define void @neg_maxi_s_d(<2 x i64> * %ptr) { 1501entry: 1502 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1503 %r = call <2 x i64> @llvm.mips.maxi.s.d(<2 x i64> %a, i32 -202) 1504 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1505 ret void 1506} 1507 1508define void @neg_maxi_u_d(<2 x i64> * %ptr) { 1509entry: 1510 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1511 %r = call <2 x i64> @llvm.mips.maxi.u.d(<2 x i64> %a, i32 -2) 1512 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1513 ret void 1514} 1515 1516define void @neg_mini_s_d(<2 x i64> * %ptr) { 1517entry: 1518 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1519 %r = call <2 x i64> @llvm.mips.mini.s.d(<2 x i64> %a, i32 -202) 1520 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1521 ret void 1522} 1523 1524define void @neg_mini_u_d(<2 x i64> * %ptr) { 1525entry: 1526 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1527 %r = call <2 x i64> @llvm.mips.mini.u.d(<2 x i64> %a, i32 -2) 1528 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1529 ret void 1530} 1531 1532define void @neg_sldi_d(<2 x i64> * %ptr) { 1533entry: 1534 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1535 %r = call <2 x i64> @llvm.mips.sldi.d(<2 x i64> %a, <2 x i64> %a, i32 -1) 1536 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1537 ret void 1538} 1539 1540define void @neg_slli_d(<2 x i64> * %ptr) { 1541entry: 1542 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1543 %r = call <2 x i64> @llvm.mips.slli.d(<2 x i64> %a, i32 -3) 1544 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1545 ret void 1546} 1547 1548define void @neg_srai_d(<2 x i64> * %ptr) { 1549entry: 1550 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1551 %r = call <2 x i64> @llvm.mips.srai.d(<2 x i64> %a, i32 -3) 1552 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1553 ret void 1554} 1555 1556define void @neg_srari_d(<2 x i64> * %ptr) { 1557entry: 1558 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1559 %r = call <2 x i64> @llvm.mips.srari.d(<2 x i64> %a, i32 -3) 1560 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1561 ret void 1562} 1563 1564define void @neg_srli_d(<2 x i64> * %ptr) { 1565entry: 1566 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1567 %r = call <2 x i64> @llvm.mips.srli.d(<2 x i64> %a, i32 -3) 1568 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1569 ret void 1570} 1571 1572define void @neg_srlri_d(<2 x i64> * %ptr) { 1573entry: 1574 %a = load <2 x i64>, <2 x i64> * %ptr, align 16 1575 %r = call <2 x i64> @llvm.mips.srlri.d(<2 x i64> %a, i32 -3) 1576 store <2 x i64> %r, <2 x i64> * %ptr, align 16 1577 ret void 1578} 1579 1580declare <8 x i16> @llvm.mips.ldi.h(i32) 1581declare <8 x i16> @llvm.mips.addvi.h(<8 x i16>, i32) 1582declare <8 x i16> @llvm.mips.bclri.h(<8 x i16>, i32) 1583declare <8 x i16> @llvm.mips.binsli.h(<8 x i16>, <8 x i16>, i32) 1584declare <8 x i16> @llvm.mips.binsri.h(<8 x i16>, <8 x i16>, i32) 1585declare <8 x i16> @llvm.mips.bnegi.h(<8 x i16>, i32) 1586declare <8 x i16> @llvm.mips.bseti.h(<8 x i16>, i32) 1587declare <8 x i16> @llvm.mips.clei.s.h(<8 x i16>, i32) 1588declare <8 x i16> @llvm.mips.clei.u.h(<8 x i16>, i32) 1589declare <8 x i16> @llvm.mips.clti.s.h(<8 x i16>, i32) 1590declare <8 x i16> @llvm.mips.clti.u.h(<8 x i16>, i32) 1591declare <8 x i16> @llvm.mips.maxi.s.h(<8 x i16>, i32) 1592declare <8 x i16> @llvm.mips.maxi.u.h(<8 x i16>, i32) 1593declare <8 x i16> @llvm.mips.mini.s.h(<8 x i16>, i32) 1594declare <8 x i16> @llvm.mips.mini.u.h(<8 x i16>, i32) 1595declare <8 x i16> @llvm.mips.sldi.h(<8 x i16>, <8 x i16>, i32) 1596declare <8 x i16> @llvm.mips.slli.h(<8 x i16>, i32) 1597declare <8 x i16> @llvm.mips.splati.h(<8 x i16>, i32) 1598declare <8 x i16> @llvm.mips.srai.h(<8 x i16>, i32) 1599declare <8 x i16> @llvm.mips.srari.h(<8 x i16>, i32) 1600declare <8 x i16> @llvm.mips.srli.h(<8 x i16>, i32) 1601declare <8 x i16> @llvm.mips.srlri.h(<8 x i16>, i32) 1602declare <4 x i32> @llvm.mips.addvi.w(<4 x i32>, i32) 1603declare <4 x i32> @llvm.mips.bclri.w(<4 x i32>, i32) 1604declare <4 x i32> @llvm.mips.binsli.w(<4 x i32>, <4 x i32>, i32) 1605declare <4 x i32> @llvm.mips.binsri.w(<4 x i32>, <4 x i32>, i32) 1606declare <4 x i32> @llvm.mips.bnegi.w(<4 x i32>, i32) 1607declare <4 x i32> @llvm.mips.bseti.w(<4 x i32>, i32) 1608declare <4 x i32> @llvm.mips.ldi.w(i32) 1609declare <4 x i32> @llvm.mips.clei.s.w(<4 x i32>, i32) 1610declare <4 x i32> @llvm.mips.clei.u.w(<4 x i32>, i32) 1611declare <4 x i32> @llvm.mips.clti.s.w(<4 x i32>, i32) 1612declare <4 x i32> @llvm.mips.clti.u.w(<4 x i32>, i32) 1613declare <4 x i32> @llvm.mips.maxi.s.w(<4 x i32>, i32) 1614declare <4 x i32> @llvm.mips.maxi.u.w(<4 x i32>, i32) 1615declare <4 x i32> @llvm.mips.mini.s.w(<4 x i32>, i32) 1616declare <4 x i32> @llvm.mips.mini.u.w(<4 x i32>, i32) 1617declare <4 x i32> @llvm.mips.sldi.w(<4 x i32>, <4 x i32>, i32) 1618declare <4 x i32> @llvm.mips.slli.w(<4 x i32>, i32) 1619declare <4 x i32> @llvm.mips.splati.w(<4 x i32>, i32) 1620declare <4 x i32> @llvm.mips.srai.w(<4 x i32>, i32) 1621declare <4 x i32> @llvm.mips.srari.w(<4 x i32>, i32) 1622declare <4 x i32> @llvm.mips.srli.w(<4 x i32>, i32) 1623declare <4 x i32> @llvm.mips.srlri.w(<4 x i32>, i32) 1624declare <2 x i64> @llvm.mips.ldi.d(i32) 1625declare <2 x i64> @llvm.mips.addvi.d(<2 x i64>, i32) 1626declare <2 x i64> @llvm.mips.bclri.d(<2 x i64>, i32) 1627declare <2 x i64> @llvm.mips.binsli.d(<2 x i64>, <2 x i64>, i32) 1628declare <2 x i64> @llvm.mips.binsri.d(<2 x i64>, <2 x i64>, i32) 1629declare <2 x i64> @llvm.mips.bnegi.d(<2 x i64>, i32) 1630declare <2 x i64> @llvm.mips.bseti.d(<2 x i64>, i32) 1631declare <2 x i64> @llvm.mips.clei.s.d(<2 x i64>, i32) 1632declare <2 x i64> @llvm.mips.clei.u.d(<2 x i64>, i32) 1633declare <2 x i64> @llvm.mips.clti.s.d(<2 x i64>, i32) 1634declare <2 x i64> @llvm.mips.clti.u.d(<2 x i64>, i32) 1635declare <2 x i64> @llvm.mips.maxi.s.d(<2 x i64>, i32) 1636declare <2 x i64> @llvm.mips.maxi.u.d(<2 x i64>, i32) 1637declare <2 x i64> @llvm.mips.mini.s.d(<2 x i64>, i32) 1638declare <2 x i64> @llvm.mips.mini.u.d(<2 x i64>, i32) 1639declare <2 x i64> @llvm.mips.sldi.d(<2 x i64>, <2 x i64>, i32) 1640declare <2 x i64> @llvm.mips.slli.d(<2 x i64>, i32) 1641declare <2 x i64> @llvm.mips.splati.d(<2 x i64>, i32) 1642declare <2 x i64> @llvm.mips.srai.d(<2 x i64>, i32) 1643declare <2 x i64> @llvm.mips.srari.d(<2 x i64>, i32) 1644declare <2 x i64> @llvm.mips.srli.d(<2 x i64>, i32) 1645declare <2 x i64> @llvm.mips.srlri.d(<2 x i64>, i32) 1646declare <16 x i8> @llvm.mips.ldi.b(i32) 1647declare <16 x i8> @llvm.mips.addvi.b(<16 x i8>, i32) 1648declare <16 x i8> @llvm.mips.andi.b(<16 x i8>, i32) 1649declare <16 x i8> @llvm.mips.bclri.b(<16 x i8>, i32) 1650declare <16 x i8> @llvm.mips.binsli.b(<16 x i8>, <16 x i8>, i32) 1651declare <16 x i8> @llvm.mips.binsri.b(<16 x i8>, <16 x i8>, i32) 1652declare <16 x i8> @llvm.mips.bmnzi.b(<16 x i8>, <16 x i8>, i32) 1653declare <16 x i8> @llvm.mips.bnegi.b(<16 x i8>, i32) 1654declare <16 x i8> @llvm.mips.bseli.b(<16 x i8>, <16 x i8>, i32) 1655declare <16 x i8> @llvm.mips.bseti.b(<16 x i8>, i32) 1656declare <16 x i8> @llvm.mips.clei.s.b(<16 x i8>, i32) 1657declare <16 x i8> @llvm.mips.clei.u.b(<16 x i8>, i32) 1658declare <16 x i8> @llvm.mips.clti.s.b(<16 x i8>, i32) 1659declare <16 x i8> @llvm.mips.clti.u.b(<16 x i8>, i32) 1660declare <16 x i8> @llvm.mips.maxi.s.b(<16 x i8>, i32) 1661declare <16 x i8> @llvm.mips.maxi.u.b(<16 x i8>, i32) 1662declare <16 x i8> @llvm.mips.mini.s.b(<16 x i8>, i32) 1663declare <16 x i8> @llvm.mips.mini.u.b(<16 x i8>, i32) 1664declare <16 x i8> @llvm.mips.nori.b(<16 x i8>, i32) 1665declare <16 x i8> @llvm.mips.ori.b(<16 x i8>, i32) 1666declare <16 x i8> @llvm.mips.sldi.b(<16 x i8>, <16 x i8>, i32) 1667declare <16 x i8> @llvm.mips.slli.b(<16 x i8>, i32) 1668declare <16 x i8> @llvm.mips.splati.b(<16 x i8>, i32) 1669declare <16 x i8> @llvm.mips.srai.b(<16 x i8>, i32) 1670declare <16 x i8> @llvm.mips.srari.b(<16 x i8>, i32) 1671declare <16 x i8> @llvm.mips.srli.b(<16 x i8>, i32) 1672declare <16 x i8> @llvm.mips.srlri.b(<16 x i8>, i32) 1673declare i32 @llvm.mips.copy.s.h(<8 x i16>, i32) 1674declare i32 @llvm.mips.copy.u.h(<8 x i16>, i32) 1675declare i32 @llvm.mips.copy.s.w(<4 x i32>, i32) 1676declare i32 @llvm.mips.copy.u.w(<4 x i32>, i32) 1677declare i64 @llvm.mips.copy.s.d(<2 x i64>, i32) 1678declare i64 @llvm.mips.copy.u.d(<2 x i64>, i32) 1679declare i32 @llvm.mips.copy.s.b(<16 x i8>, i32) 1680declare i32 @llvm.mips.copy.u.b(<16 x i8>, i32) 1681declare <16 x i8> @llvm.mips.bmzi.b(<16 x i8>, <16 x i8>, i32) 1682