builtins-ppc-altivec.c revision 176edba5311f6eff0cad2631449885ddf4fbc9ea
1// REQUIRES: powerpc-registered-target 2// RUN: %clang_cc1 -faltivec -triple powerpc-unknown-unknown -emit-llvm %s -o - | FileCheck %s 3// RUN: %clang_cc1 -faltivec -triple powerpc64-unknown-unknown -emit-llvm %s -o - | FileCheck %s 4// RUN: %clang_cc1 -faltivec -triple powerpc64le-unknown-unknown -emit-llvm %s -o - | FileCheck %s -check-prefix=CHECK-LE 5 6vector bool char vbc = { 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 }; 7vector signed char vsc = { 1, -2, 3, -4, 5, -6, 7, -8, 9, -10, 11, -12, 13, -14, 15, -16 }; 8vector unsigned char vuc = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; 9vector bool short vbs = { 1, 0, 1, 0, 1, 0, 1, 0 }; 10vector short vs = { -1, 2, -3, 4, -5, 6, -7, 8 }; 11vector unsigned short vus = { 1, 2, 3, 4, 5, 6, 7, 8 }; 12vector pixel vp = { 1, 2, 3, 4, 5, 6, 7, 8 }; 13vector bool int vbi = { 1, 0, 1, 0 }; 14vector int vi = { -1, 2, -3, 4 }; 15vector unsigned int vui = { 1, 2, 3, 4 }; 16vector float vf = { -1.5, 2.5, -3.5, 4.5 }; 17 18vector bool char res_vbc; 19vector signed char res_vsc; 20vector unsigned char res_vuc; 21vector bool short res_vbs; 22vector short res_vs; 23vector unsigned short res_vus; 24vector pixel res_vp; 25vector bool int res_vbi; 26vector int res_vi; 27vector unsigned int res_vui; 28vector float res_vf; 29 30signed char param_sc; 31unsigned char param_uc; 32short param_s; 33unsigned short param_us; 34int param_i; 35unsigned int param_ui; 36float param_f; 37 38int res_sc; 39int res_uc; 40int res_s; 41int res_us; 42int res_i; 43int res_ui; 44int res_f; 45 46// CHECK-LABEL: define void @test1 47void test1() { 48 49 /* vec_abs */ 50 vsc = vec_abs(vsc); 51// CHECK: sub <16 x i8> zeroinitializer 52// CHECK: @llvm.ppc.altivec.vmaxsb 53// CHECK-LE: sub <16 x i8> zeroinitializer 54// CHECK-LE: @llvm.ppc.altivec.vmaxsb 55 56 vs = vec_abs(vs); 57// CHECK: sub <8 x i16> zeroinitializer 58// CHECK: @llvm.ppc.altivec.vmaxsh 59// CHECK-LE: sub <8 x i16> zeroinitializer 60// CHECK-LE: @llvm.ppc.altivec.vmaxsh 61 62 vi = vec_abs(vi); 63// CHECK: sub <4 x i32> zeroinitializer 64// CHECK: @llvm.ppc.altivec.vmaxsw 65// CHECK-LE: sub <4 x i32> zeroinitializer 66// CHECK-LE: @llvm.ppc.altivec.vmaxsw 67 68 vf = vec_abs(vf); 69// CHECK: and <4 x i32> 70// CHECK-LE: and <4 x i32> 71 72 /* vec_abs */ 73 vsc = vec_abss(vsc); 74// CHECK: @llvm.ppc.altivec.vsubsbs 75// CHECK: @llvm.ppc.altivec.vmaxsb 76// CHECK-LE: @llvm.ppc.altivec.vsubsbs 77// CHECK-LE: @llvm.ppc.altivec.vmaxsb 78 79 vs = vec_abss(vs); 80// CHECK: @llvm.ppc.altivec.vsubshs 81// CHECK: @llvm.ppc.altivec.vmaxsh 82// CHECK-LE: @llvm.ppc.altivec.vsubshs 83// CHECK-LE: @llvm.ppc.altivec.vmaxsh 84 85 vi = vec_abss(vi); 86// CHECK: @llvm.ppc.altivec.vsubsws 87// CHECK: @llvm.ppc.altivec.vmaxsw 88// CHECK-LE: @llvm.ppc.altivec.vsubsws 89// CHECK-LE: @llvm.ppc.altivec.vmaxsw 90 91 /* vec_add */ 92 res_vsc = vec_add(vsc, vsc); 93// CHECK: add <16 x i8> 94// CHECK-LE: add <16 x i8> 95 96 res_vsc = vec_add(vbc, vsc); 97// CHECK: add <16 x i8> 98// CHECK-LE: add <16 x i8> 99 100 res_vsc = vec_add(vsc, vbc); 101// CHECK: add <16 x i8> 102// CHECK-LE: add <16 x i8> 103 104 res_vuc = vec_add(vuc, vuc); 105// CHECK: add <16 x i8> 106// CHECK-LE: add <16 x i8> 107 108 res_vuc = vec_add(vbc, vuc); 109// CHECK: add <16 x i8> 110// CHECK-LE: add <16 x i8> 111 112 res_vuc = vec_add(vuc, vbc); 113// CHECK: add <16 x i8> 114// CHECK-LE: add <16 x i8> 115 116 res_vs = vec_add(vs, vs); 117// CHECK: add <8 x i16> 118// CHECK-LE: add <8 x i16> 119 120 res_vs = vec_add(vbs, vs); 121// CHECK: add <8 x i16> 122// CHECK-LE: add <8 x i16> 123 124 res_vs = vec_add(vs, vbs); 125// CHECK: add <8 x i16> 126// CHECK-LE: add <8 x i16> 127 128 res_vus = vec_add(vus, vus); 129// CHECK: add <8 x i16> 130// CHECK-LE: add <8 x i16> 131 132 res_vus = vec_add(vbs, vus); 133// CHECK: add <8 x i16> 134// CHECK-LE: add <8 x i16> 135 136 res_vus = vec_add(vus, vbs); 137// CHECK: add <8 x i16> 138// CHECK-LE: add <8 x i16> 139 140 res_vi = vec_add(vi, vi); 141// CHECK: add <4 x i32> 142// CHECK-LE: add <4 x i32> 143 144 res_vi = vec_add(vbi, vi); 145// CHECK: add <4 x i32> 146// CHECK-LE: add <4 x i32> 147 148 res_vi = vec_add(vi, vbi); 149// CHECK: add <4 x i32> 150// CHECK-LE: add <4 x i32> 151 152 res_vui = vec_add(vui, vui); 153// CHECK: add <4 x i32> 154// CHECK-LE: add <4 x i32> 155 156 res_vui = vec_add(vbi, vui); 157// CHECK: add <4 x i32> 158// CHECK-LE: add <4 x i32> 159 160 res_vui = vec_add(vui, vbi); 161// CHECK: add <4 x i32> 162// CHECK-LE: add <4 x i32> 163 164 res_vf = vec_add(vf, vf); 165// CHECK: fadd <4 x float> 166// CHECK-LE: fadd <4 x float> 167 168 res_vsc = vec_vaddubm(vsc, vsc); 169// CHECK: add <16 x i8> 170// CHECK-LE: add <16 x i8> 171 172 res_vsc = vec_vaddubm(vbc, vsc); 173// CHECK: add <16 x i8> 174// CHECK-LE: add <16 x i8> 175 176 res_vsc = vec_vaddubm(vsc, vbc); 177// CHECK: add <16 x i8> 178// CHECK-LE: add <16 x i8> 179 180 res_vuc = vec_vaddubm(vuc, vuc); 181// CHECK: add <16 x i8> 182// CHECK-LE: add <16 x i8> 183 184 res_vuc = vec_vaddubm(vbc, vuc); 185// CHECK: add <16 x i8> 186// CHECK-LE: add <16 x i8> 187 188 res_vuc = vec_vaddubm(vuc, vbc); 189// CHECK: add <16 x i8> 190// CHECK-LE: add <16 x i8> 191 192 res_vs = vec_vadduhm(vs, vs); 193// CHECK: add <8 x i16> 194// CHECK-LE: add <8 x i16> 195 196 res_vs = vec_vadduhm(vbs, vs); 197// CHECK: add <8 x i16> 198// CHECK-LE: add <8 x i16> 199 200 res_vs = vec_vadduhm(vs, vbs); 201// CHECK: add <8 x i16> 202// CHECK-LE: add <8 x i16> 203 204 res_vus = vec_vadduhm(vus, vus); 205// CHECK: add <8 x i16> 206// CHECK-LE: add <8 x i16> 207 208 res_vus = vec_vadduhm(vbs, vus); 209// CHECK: add <8 x i16> 210// CHECK-LE: add <8 x i16> 211 212 res_vus = vec_vadduhm(vus, vbs); 213// CHECK: add <8 x i16> 214// CHECK-LE: add <8 x i16> 215 216 res_vi = vec_vadduwm(vi, vi); 217// CHECK: add <4 x i32> 218// CHECK-LE: add <4 x i32> 219 220 res_vi = vec_vadduwm(vbi, vi); 221// CHECK: add <4 x i32> 222// CHECK-LE: add <4 x i32> 223 224 res_vi = vec_vadduwm(vi, vbi); 225// CHECK: add <4 x i32> 226// CHECK-LE: add <4 x i32> 227 228 res_vui = vec_vadduwm(vui, vui); 229// CHECK: add <4 x i32> 230// CHECK-LE: add <4 x i32> 231 232 res_vui = vec_vadduwm(vbi, vui); 233// CHECK: add <4 x i32> 234// CHECK-LE: add <4 x i32> 235 236 res_vui = vec_vadduwm(vui, vbi); 237// CHECK: add <4 x i32> 238// CHECK-LE: add <4 x i32> 239 240 res_vf = vec_vaddfp(vf, vf); 241// CHECK: fadd <4 x float> 242// CHECK-LE: fadd <4 x float> 243 244 /* vec_addc */ 245 res_vui = vec_addc(vui, vui); 246// CHECK: @llvm.ppc.altivec.vaddcuw 247// CHECK-LE: @llvm.ppc.altivec.vaddcuw 248 249 res_vui = vec_vaddcuw(vui, vui); 250// CHECK: @llvm.ppc.altivec.vaddcuw 251// CHECK-LE: @llvm.ppc.altivec.vaddcuw 252 253 /* vec_adds */ 254 res_vsc = vec_adds(vsc, vsc); 255// CHECK: @llvm.ppc.altivec.vaddsbs 256// CHECK-LE: @llvm.ppc.altivec.vaddsbs 257 258 res_vsc = vec_adds(vbc, vsc); 259// CHECK: @llvm.ppc.altivec.vaddsbs 260// CHECK-LE: @llvm.ppc.altivec.vaddsbs 261 262 res_vsc = vec_adds(vsc, vbc); 263// CHECK: @llvm.ppc.altivec.vaddsbs 264// CHECK-LE: @llvm.ppc.altivec.vaddsbs 265 266 res_vuc = vec_adds(vuc, vuc); 267// CHECK: @llvm.ppc.altivec.vaddubs 268// CHECK-LE: @llvm.ppc.altivec.vaddubs 269 270 res_vuc = vec_adds(vbc, vuc); 271// CHECK: @llvm.ppc.altivec.vaddubs 272// CHECK-LE: @llvm.ppc.altivec.vaddubs 273 274 res_vuc = vec_adds(vuc, vbc); 275// CHECK: @llvm.ppc.altivec.vaddubs 276// CHECK-LE: @llvm.ppc.altivec.vaddubs 277 278 res_vs = vec_adds(vs, vs); 279// CHECK: @llvm.ppc.altivec.vaddshs 280// CHECK-LE: @llvm.ppc.altivec.vaddshs 281 282 res_vs = vec_adds(vbs, vs); 283// CHECK: @llvm.ppc.altivec.vaddshs 284// CHECK-LE: @llvm.ppc.altivec.vaddshs 285 286 res_vs = vec_adds(vs, vbs); 287// CHECK: @llvm.ppc.altivec.vaddshs 288// CHECK-LE: @llvm.ppc.altivec.vaddshs 289 290 res_vus = vec_adds(vus, vus); 291// CHECK: @llvm.ppc.altivec.vadduhs 292// CHECK-LE: @llvm.ppc.altivec.vadduhs 293 294 res_vus = vec_adds(vbs, vus); 295// CHECK: @llvm.ppc.altivec.vadduhs 296// CHECK-LE: @llvm.ppc.altivec.vadduhs 297 298 res_vus = vec_adds(vus, vbs); 299// CHECK: @llvm.ppc.altivec.vadduhs 300// CHECK-LE: @llvm.ppc.altivec.vadduhs 301 302 res_vi = vec_adds(vi, vi); 303// CHECK: @llvm.ppc.altivec.vaddsws 304// CHECK-LE: @llvm.ppc.altivec.vaddsws 305 306 res_vi = vec_adds(vbi, vi); 307// CHECK: @llvm.ppc.altivec.vaddsws 308// CHECK-LE: @llvm.ppc.altivec.vaddsws 309 310 res_vi = vec_adds(vi, vbi); 311// CHECK: @llvm.ppc.altivec.vaddsws 312// CHECK-LE: @llvm.ppc.altivec.vaddsws 313 314 res_vui = vec_adds(vui, vui); 315// CHECK: @llvm.ppc.altivec.vadduws 316// CHECK-LE: @llvm.ppc.altivec.vadduws 317 318 res_vui = vec_adds(vbi, vui); 319// CHECK: @llvm.ppc.altivec.vadduws 320// CHECK-LE: @llvm.ppc.altivec.vadduws 321 322 res_vui = vec_adds(vui, vbi); 323// CHECK: @llvm.ppc.altivec.vadduws 324// CHECK-LE: @llvm.ppc.altivec.vadduws 325 326 res_vsc = vec_vaddsbs(vsc, vsc); 327// CHECK: @llvm.ppc.altivec.vaddsbs 328// CHECK-LE: @llvm.ppc.altivec.vaddsbs 329 330 res_vsc = vec_vaddsbs(vbc, vsc); 331// CHECK: @llvm.ppc.altivec.vaddsbs 332// CHECK-LE: @llvm.ppc.altivec.vaddsbs 333 334 res_vsc = vec_vaddsbs(vsc, vbc); 335// CHECK: @llvm.ppc.altivec.vaddsbs 336// CHECK-LE: @llvm.ppc.altivec.vaddsbs 337 338 res_vuc = vec_vaddubs(vuc, vuc); 339// CHECK: @llvm.ppc.altivec.vaddubs 340// CHECK-LE: @llvm.ppc.altivec.vaddubs 341 342 res_vuc = vec_vaddubs(vbc, vuc); 343// CHECK: @llvm.ppc.altivec.vaddubs 344// CHECK-LE: @llvm.ppc.altivec.vaddubs 345 346 res_vuc = vec_vaddubs(vuc, vbc); 347// CHECK: @llvm.ppc.altivec.vaddubs 348// CHECK-LE: @llvm.ppc.altivec.vaddubs 349 350 res_vs = vec_vaddshs(vs, vs); 351// CHECK: @llvm.ppc.altivec.vaddshs 352// CHECK-LE: @llvm.ppc.altivec.vaddshs 353 354 res_vs = vec_vaddshs(vbs, vs); 355// CHECK: @llvm.ppc.altivec.vaddshs 356// CHECK-LE: @llvm.ppc.altivec.vaddshs 357 358 res_vs = vec_vaddshs(vs, vbs); 359// CHECK: @llvm.ppc.altivec.vaddshs 360// CHECK-LE: @llvm.ppc.altivec.vaddshs 361 362 res_vus = vec_vadduhs(vus, vus); 363// CHECK: @llvm.ppc.altivec.vadduhs 364// CHECK-LE: @llvm.ppc.altivec.vadduhs 365 366 res_vus = vec_vadduhs(vbs, vus); 367// CHECK: @llvm.ppc.altivec.vadduhs 368// CHECK-LE: @llvm.ppc.altivec.vadduhs 369 370 res_vus = vec_vadduhs(vus, vbs); 371// CHECK: @llvm.ppc.altivec.vadduhs 372// CHECK-LE: @llvm.ppc.altivec.vadduhs 373 374 res_vi = vec_vaddsws(vi, vi); 375// CHECK: @llvm.ppc.altivec.vaddsws 376// CHECK-LE: @llvm.ppc.altivec.vaddsws 377 378 res_vi = vec_vaddsws(vbi, vi); 379// CHECK: @llvm.ppc.altivec.vaddsws 380// CHECK-LE: @llvm.ppc.altivec.vaddsws 381 382 res_vi = vec_vaddsws(vi, vbi); 383// CHECK: @llvm.ppc.altivec.vaddsws 384// CHECK-LE: @llvm.ppc.altivec.vaddsws 385 386 res_vui = vec_vadduws(vui, vui); 387// CHECK: @llvm.ppc.altivec.vadduws 388// CHECK-LE: @llvm.ppc.altivec.vadduws 389 390 res_vui = vec_vadduws(vbi, vui); 391// CHECK: @llvm.ppc.altivec.vadduws 392// CHECK-LE: @llvm.ppc.altivec.vadduws 393 394 res_vui = vec_vadduws(vui, vbi); 395// CHECK: @llvm.ppc.altivec.vadduws 396// CHECK-LE: @llvm.ppc.altivec.vadduws 397 398 /* vec_and */ 399 res_vsc = vec_and(vsc, vsc); 400// CHECK: and <16 x i8> 401// CHECK-LE: and <16 x i8> 402 403 res_vsc = vec_and(vbc, vsc); 404// CHECK: and <16 x i8> 405// CHECK-LE: and <16 x i8> 406 407 res_vsc = vec_and(vsc, vbc); 408// CHECK: and <16 x i8> 409// CHECK-LE: and <16 x i8> 410 411 res_vuc = vec_and(vuc, vuc); 412// CHECK: and <16 x i8> 413// CHECK-LE: and <16 x i8> 414 415 res_vuc = vec_and(vbc, vuc); 416// CHECK: and <16 x i8> 417// CHECK-LE: and <16 x i8> 418 419 res_vuc = vec_and(vuc, vbc); 420// CHECK: and <16 x i8> 421// CHECK-LE: and <16 x i8> 422 423 res_vbc = vec_and(vbc, vbc); 424// CHECK: and <16 x i8> 425// CHECK-LE: and <16 x i8> 426 427 res_vs = vec_and(vs, vs); 428// CHECK: and <8 x i16> 429// CHECK-LE: and <8 x i16> 430 431 res_vs = vec_and(vbs, vs); 432// CHECK: and <8 x i16> 433// CHECK-LE: and <8 x i16> 434 435 res_vs = vec_and(vs, vbs); 436// CHECK: and <8 x i16> 437// CHECK-LE: and <8 x i16> 438 439 res_vus = vec_and(vus, vus); 440// CHECK: and <8 x i16> 441// CHECK-LE: and <8 x i16> 442 443 res_vus = vec_and(vbs, vus); 444// CHECK: and <8 x i16> 445// CHECK-LE: and <8 x i16> 446 447 res_vus = vec_and(vus, vbs); 448// CHECK: and <8 x i16> 449// CHECK-LE: and <8 x i16> 450 451 res_vbs = vec_and(vbs, vbs); 452// CHECK: and <8 x i16> 453// CHECK-LE: and <8 x i16> 454 455 res_vi = vec_and(vi, vi); 456// CHECK: and <4 x i32> 457// CHECK-LE: and <4 x i32> 458 459 res_vi = vec_and(vbi, vi); 460// CHECK: and <4 x i32> 461// CHECK-le: and <4 x i32> 462 463 res_vi = vec_and(vi, vbi); 464// CHECK: and <4 x i32> 465// CHECK-LE: and <4 x i32> 466 467 res_vui = vec_and(vui, vui); 468// CHECK: and <4 x i32> 469// CHECK-LE: and <4 x i32> 470 471 res_vui = vec_and(vbi, vui); 472// CHECK: and <4 x i32> 473// CHECK-LE: and <4 x i32> 474 475 res_vui = vec_and(vui, vbi); 476// CHECK: and <4 x i32> 477// CHECK-LE: and <4 x i32> 478 479 res_vbi = vec_and(vbi, vbi); 480// CHECK: and <4 x i32> 481// CHECK-LE: and <4 x i32> 482 483 res_vsc = vec_vand(vsc, vsc); 484// CHECK: and <16 x i8> 485// CHECK-LE: and <16 x i8> 486 487 res_vsc = vec_vand(vbc, vsc); 488// CHECK: and <16 x i8> 489// CHECK-LE: and <16 x i8> 490 491 res_vsc = vec_vand(vsc, vbc); 492// CHECK: and <16 x i8> 493// CHECK-LE: and <16 x i8> 494 495 res_vuc = vec_vand(vuc, vuc); 496// CHECK: and <16 x i8> 497// CHECK-LE: and <16 x i8> 498 499 res_vuc = vec_vand(vbc, vuc); 500// CHECK: and <16 x i8> 501// CHECK-LE: and <16 x i8> 502 503 res_vuc = vec_vand(vuc, vbc); 504// CHECK: and <16 x i8> 505// CHECK-LE: and <16 x i8> 506 507 res_vbc = vec_vand(vbc, vbc); 508// CHECK: and <16 x i8> 509// CHECK-LE: and <16 x i8> 510 511 res_vs = vec_vand(vs, vs); 512// CHECK: and <8 x i16> 513// CHECK-LE: and <8 x i16> 514 515 res_vs = vec_vand(vbs, vs); 516// CHECK: and <8 x i16> 517// CHECK-LE: and <8 x i16> 518 519 res_vs = vec_vand(vs, vbs); 520// CHECK: and <8 x i16> 521// CHECK-LE: and <8 x i16> 522 523 res_vus = vec_vand(vus, vus); 524// CHECK: and <8 x i16> 525// CHECK-LE: and <8 x i16> 526 527 res_vus = vec_vand(vbs, vus); 528// CHECK: and <8 x i16> 529// CHECK-LE: and <8 x i16> 530 531 res_vus = vec_vand(vus, vbs); 532// CHECK: and <8 x i16> 533// CHECK-LE: and <8 x i16> 534 535 res_vbs = vec_vand(vbs, vbs); 536// CHECK: and <8 x i16> 537// CHECK-LE: and <8 x i16> 538 539 res_vi = vec_vand(vi, vi); 540// CHECK: and <4 x i32> 541// CHECK-LE: and <4 x i32> 542 543 res_vi = vec_vand(vbi, vi); 544// CHECK: and <4 x i32> 545// CHECK-LE: and <4 x i32> 546 547 res_vi = vec_vand(vi, vbi); 548// CHECK: and <4 x i32> 549// CHECK-LE: and <4 x i32> 550 551 res_vui = vec_vand(vui, vui); 552// CHECK: and <4 x i32> 553// CHECK-LE: and <4 x i32> 554 555 res_vui = vec_vand(vbi, vui); 556// CHECK: and <4 x i32> 557// CHECK-LE: and <4 x i32> 558 559 res_vui = vec_vand(vui, vbi); 560// CHECK: and <4 x i32> 561// CHECK-LE: and <4 x i32> 562 563 res_vbi = vec_vand(vbi, vbi); 564// CHECK: and <4 x i32> 565// CHECK-LE: and <4 x i32> 566 567 /* vec_andc */ 568 res_vsc = vec_andc(vsc, vsc); 569// CHECK: xor <16 x i8> 570// CHECK: and <16 x i8> 571// CHECK-LE: xor <16 x i8> 572// CHECK-LE: and <16 x i8> 573 574 res_vsc = vec_andc(vbc, vsc); 575// CHECK: xor <16 x i8> 576// CHECK: and <16 x i8> 577// CHECK-LE: xor <16 x i8> 578// CHECK-LE: and <16 x i8> 579 580 res_vsc = vec_andc(vsc, vbc); 581// CHECK: xor <16 x i8> 582// CHECK: and <16 x i8> 583// CHECK-LE: xor <16 x i8> 584// CHECK-LE: and <16 x i8> 585 586 res_vuc = vec_andc(vuc, vuc); 587// CHECK: xor <16 x i8> 588// CHECK: and <16 x i8> 589// CHECK-LE: xor <16 x i8> 590// CHECK-LE: and <16 x i8> 591 592 res_vuc = vec_andc(vbc, vuc); 593// CHECK: xor <16 x i8> 594// CHECK: and <16 x i8> 595// CHECK-LE: xor <16 x i8> 596// CHECK-LE: and <16 x i8> 597 598 res_vuc = vec_andc(vuc, vbc); 599// CHECK-LE: xor <16 x i8> 600// CHECK-LE: and <16 x i8> 601 602 res_vbc = vec_andc(vbc, vbc); 603// CHECK: xor <16 x i8> 604// CHECK: and <16 x i8> 605// CHECK-LE: xor <16 x i8> 606// CHECK-LE: and <16 x i8> 607 608 res_vs = vec_andc(vs, vs); 609// CHECK: xor <8 x i16> 610// CHECK: and <8 x i16> 611// CHECK-LE: xor <8 x i16> 612// CHECK-LE: and <8 x i16> 613 614 res_vs = vec_andc(vbs, vs); 615// CHECK: xor <8 x i16> 616// CHECK: and <8 x i16> 617// CHECK-LE: xor <8 x i16> 618// CHECK-LE: and <8 x i16> 619 620 res_vs = vec_andc(vs, vbs); 621// CHECK: xor <8 x i16> 622// CHECK: and <8 x i16> 623// CHECK-LE: xor <8 x i16> 624// CHECK-LE: and <8 x i16> 625 626 res_vus = vec_andc(vus, vus); 627// CHECK: xor <8 x i16> 628// CHECK: and <8 x i16> 629// CHECK-LE: xor <8 x i16> 630// CHECK-LE: and <8 x i16> 631 632 res_vus = vec_andc(vbs, vus); 633// CHECK: xor <8 x i16> 634// CHECK: and <8 x i16> 635// CHECK-LE: xor <8 x i16> 636// CHECK-LE: and <8 x i16> 637 638 res_vus = vec_andc(vus, vbs); 639// CHECK: xor <8 x i16> 640// CHECK: and <8 x i16> 641// CHECK-LE: xor <8 x i16> 642// CHECK-LE: and <8 x i16> 643 644 res_vbs = vec_andc(vbs, vbs); 645// CHECK: xor <8 x i16> 646// CHECK: and <8 x i16> 647// CHECK-LE: xor <8 x i16> 648// CHECK-LE: and <8 x i16> 649 650 res_vi = vec_andc(vi, vi); 651// CHECK: xor <4 x i32> 652// CHECK: and <4 x i32> 653// CHECK-LE: xor <4 x i32> 654// CHECK-LE: and <4 x i32> 655 656 res_vi = vec_andc(vbi, vi); 657// CHECK: xor <4 x i32> 658// CHECK: and <4 x i32> 659// CHECK-LE: xor <4 x i32> 660// CHECK-LE: and <4 x i32> 661 662 res_vi = vec_andc(vi, vbi); 663// CHECK: xor <4 x i32> 664// CHECK: and <4 x i32> 665// CHECK-LE: xor <4 x i32> 666// CHECK-LE: and <4 x i32> 667 668 res_vui = vec_andc(vui, vui); 669// CHECK: xor <4 x i32> 670// CHECK: and <4 x i32> 671// CHECK-LE: xor <4 x i32> 672// CHECK-LE: and <4 x i32> 673 674 res_vui = vec_andc(vbi, vui); 675// CHECK: xor <4 x i32> 676// CHECK: and <4 x i32> 677// CHECK-LE: xor <4 x i32> 678// CHECK-LE: and <4 x i32> 679 680 res_vui = vec_andc(vui, vbi); 681// CHECK: xor <4 x i32> 682// CHECK: and <4 x i32> 683// CHECK-LE: xor <4 x i32> 684// CHECK-LE: and <4 x i32> 685 686 res_vf = vec_andc(vf, vf); 687// CHECK: xor <4 x i32> 688// CHECK: and <4 x i32> 689// CHECK-LE: xor <4 x i32> 690// CHECK-LE: and <4 x i32> 691 692 res_vf = vec_andc(vbi, vf); 693// CHECK: xor <4 x i32> 694// CHECK: and <4 x i32> 695// CHECK-LE: xor <4 x i32> 696// CHECK-LE: and <4 x i32> 697 698 res_vf = vec_andc(vf, vbi); 699// CHECK: xor <4 x i32> 700// CHECK: and <4 x i32> 701// CHECK-LE: xor <4 x i32> 702// CHECK-LE: and <4 x i32> 703 704 res_vsc = vec_vandc(vsc, vsc); 705// CHECK: xor <16 x i8> 706// CHECK: and <16 x i8> 707// CHECK-LE: xor <16 x i8> 708// CHECK-LE: and <16 x i8> 709 710 res_vsc = vec_vandc(vbc, vsc); 711// CHECK: xor <16 x i8> 712// CHECK: and <16 x i8> 713// CHECK-LE: xor <16 x i8> 714// CHECK-LE: and <16 x i8> 715 716 res_vsc = vec_vandc(vsc, vbc); 717// CHECK: xor <16 x i8> 718// CHECK: and <16 x i8> 719// CHECK-LE: xor <16 x i8> 720// CHECK-LE: and <16 x i8> 721 722 res_vuc = vec_vandc(vuc, vuc); 723// CHECK: xor <16 x i8> 724// CHECK: and <16 x i8> 725// CHECK-LE: xor <16 x i8> 726// CHECK-LE: and <16 x i8> 727 728 res_vuc = vec_vandc(vbc, vuc); 729// CHECK: xor <16 x i8> 730// CHECK: and <16 x i8> 731// CHECK-LE: xor <16 x i8> 732// CHECK-LE: and <16 x i8> 733 734 res_vuc = vec_vandc(vuc, vbc); 735// CHECK: xor <16 x i8> 736// CHECK: and <16 x i8> 737// CHECK-LE: xor <16 x i8> 738// CHECK-LE: and <16 x i8> 739 740 res_vbc = vec_vandc(vbc, vbc); 741// CHECK: xor <16 x i8> 742// CHECK: and <16 x i8> 743// CHECK-LE: xor <16 x i8> 744// CHECK-LE: and <16 x i8> 745 746 res_vs = vec_vandc(vs, vs); 747// CHECK: xor <8 x i16> 748// CHECK: and <8 x i16> 749// CHECK-LE: xor <8 x i16> 750// CHECK-LE: and <8 x i16> 751 752 res_vs = vec_vandc(vbs, vs); 753// CHECK: xor <8 x i16> 754// CHECK: and <8 x i16> 755// CHECK-LE: xor <8 x i16> 756// CHECK-LE: and <8 x i16> 757 758 res_vs = vec_vandc(vs, vbs); 759// CHECK: xor <8 x i16> 760// CHECK: and <8 x i16> 761// CHECK-LE: xor <8 x i16> 762// CHECK-LE: and <8 x i16> 763 764 res_vus = vec_vandc(vus, vus); 765// CHECK: xor <8 x i16> 766// CHECK: and <8 x i16> 767// CHECK-LE: xor <8 x i16> 768// CHECK-LE: and <8 x i16> 769 770 res_vus = vec_vandc(vbs, vus); 771// CHECK: xor <8 x i16> 772// CHECK: and <8 x i16> 773// CHECK-LE: xor <8 x i16> 774// CHECK-LE: and <8 x i16> 775 776 res_vus = vec_vandc(vus, vbs); 777// CHECK: xor <8 x i16> 778// CHECK: and <8 x i16> 779// CHECK-LE: xor <8 x i16> 780// CHECK-LE: and <8 x i16> 781 782 res_vbs = vec_vandc(vbs, vbs); 783// CHECK: xor <8 x i16> 784// CHECK: and <8 x i16> 785// CHECK-LE: xor <8 x i16> 786// CHECK-LE: and <8 x i16> 787 788 res_vi = vec_vandc(vi, vi); 789// CHECK: xor <4 x i32> 790// CHECK: and <4 x i32> 791// CHECK-LE: xor <4 x i32> 792// CHECK-LE: and <4 x i32> 793 794 res_vi = vec_vandc(vbi, vi); 795// CHECK: xor <4 x i32> 796// CHECK: and <4 x i32> 797// CHECK-LE: xor <4 x i32> 798// CHECK-LE: and <4 x i32> 799 800 res_vi = vec_vandc(vi, vbi); 801// CHECK: xor <4 x i32> 802// CHECK: and <4 x i32> 803// CHECK-LE: xor <4 x i32> 804// CHECK-LE: and <4 x i32> 805 806 res_vui = vec_vandc(vui, vui); 807// CHECK: xor <4 x i32> 808// CHECK: and <4 x i32> 809// CHECK-LE: xor <4 x i32> 810// CHECK-LE: and <4 x i32> 811 812 res_vui = vec_vandc(vbi, vui); 813// CHECK: xor <4 x i32> 814// CHECK: and <4 x i32> 815// CHECK-LE: xor <4 x i32> 816// CHECK-LE: and <4 x i32> 817 818 res_vui = vec_vandc(vui, vbi); 819// CHECK: xor <4 x i32> 820// CHECK: and <4 x i32> 821// CHECK-LE: xor <4 x i32> 822// CHECK-LE: and <4 x i32> 823 824 res_vf = vec_vandc(vf, vf); 825// CHECK: xor <4 x i32> 826// CHECK: and <4 x i32> 827// CHECK-LE: xor <4 x i32> 828// CHECK-LE: and <4 x i32> 829 830 res_vf = vec_vandc(vbi, vf); 831// CHECK: xor <4 x i32> 832// CHECK: and <4 x i32> 833// CHECK-LE: xor <4 x i32> 834// CHECK-LE: and <4 x i32> 835 836 res_vf = vec_vandc(vf, vbi); 837// CHECK: xor <4 x i32> 838// CHECK: and <4 x i32> 839// CHECK-LE: xor <4 x i32> 840// CHECK-LE: and <4 x i32> 841 842} 843 844// CHECK-LABEL: define void @test2 845void test2() { 846 /* vec_avg */ 847 res_vsc = vec_avg(vsc, vsc); 848// CHECK: @llvm.ppc.altivec.vavgsb 849// CHECK-LE: @llvm.ppc.altivec.vavgsb 850 851 res_vuc = vec_avg(vuc, vuc); 852// CHECK: @llvm.ppc.altivec.vavgub 853// CHECK-LE: @llvm.ppc.altivec.vavgub 854 855 res_vs = vec_avg(vs, vs); 856// CHECK: @llvm.ppc.altivec.vavgsh 857// CHECK-LE: @llvm.ppc.altivec.vavgsh 858 859 res_vus = vec_avg(vus, vus); 860// CHECK: @llvm.ppc.altivec.vavguh 861// CHECK-LE: @llvm.ppc.altivec.vavguh 862 863 res_vi = vec_avg(vi, vi); 864// CHECK: @llvm.ppc.altivec.vavgsw 865// CHECK-LE: @llvm.ppc.altivec.vavgsw 866 867 res_vui = vec_avg(vui, vui); 868// CHECK: @llvm.ppc.altivec.vavguw 869// CHECK-LE: @llvm.ppc.altivec.vavguw 870 871 res_vsc = vec_vavgsb(vsc, vsc); 872// CHECK: @llvm.ppc.altivec.vavgsb 873// CHECK-LE: @llvm.ppc.altivec.vavgsb 874 875 res_vuc = vec_vavgub(vuc, vuc); 876// CHECK: @llvm.ppc.altivec.vavgub 877// CHECK-LE: @llvm.ppc.altivec.vavgub 878 879 res_vs = vec_vavgsh(vs, vs); 880// CHECK: @llvm.ppc.altivec.vavgsh 881// CHECK-LE: @llvm.ppc.altivec.vavgsh 882 883 res_vus = vec_vavguh(vus, vus); 884// CHECK: @llvm.ppc.altivec.vavguh 885// CHECK-LE: @llvm.ppc.altivec.vavguh 886 887 res_vi = vec_vavgsw(vi, vi); 888// CHECK: @llvm.ppc.altivec.vavgsw 889// CHECK-LE: @llvm.ppc.altivec.vavgsw 890 891 res_vui = vec_vavguw(vui, vui); 892// CHECK: @llvm.ppc.altivec.vavguw 893// CHECK-LE: @llvm.ppc.altivec.vavguw 894 895 /* vec_ceil */ 896 res_vf = vec_ceil(vf); 897// CHECK: @llvm.ppc.altivec.vrfip 898// CHECK-LE: @llvm.ppc.altivec.vrfip 899 900 res_vf = vec_vrfip(vf); 901// CHECK: @llvm.ppc.altivec.vrfip 902// CHECK-LE: @llvm.ppc.altivec.vrfip 903 904 /* vec_cmpb */ 905 res_vi = vec_cmpb(vf, vf); 906// CHECK: @llvm.ppc.altivec.vcmpbfp 907// CHECK-LE: @llvm.ppc.altivec.vcmpbfp 908 909 res_vi = vec_vcmpbfp(vf, vf); 910// CHECK: @llvm.ppc.altivec.vcmpbfp 911// CHECK-LE: @llvm.ppc.altivec.vcmpbfp 912 913 /* vec_cmpeq */ 914 res_vbc = vec_cmpeq(vsc, vsc); 915// CHECK: @llvm.ppc.altivec.vcmpequb 916// CHECK-LE: @llvm.ppc.altivec.vcmpequb 917 918 res_vbc = vec_cmpeq(vuc, vuc); 919// CHECK: @llvm.ppc.altivec.vcmpequb 920// CHECK-LE: @llvm.ppc.altivec.vcmpequb 921 922 res_vbs = vec_cmpeq(vs, vs); 923// CHECK: @llvm.ppc.altivec.vcmpequh 924// CHECK-LE: @llvm.ppc.altivec.vcmpequh 925 926 res_vbs = vec_cmpeq(vus, vus); 927// CHECK: @llvm.ppc.altivec.vcmpequh 928// CHECK-LE: @llvm.ppc.altivec.vcmpequh 929 930 res_vbi = vec_cmpeq(vi, vi); 931// CHECK: @llvm.ppc.altivec.vcmpequw 932// CHECK-LE: @llvm.ppc.altivec.vcmpequw 933 934 res_vbi = vec_cmpeq(vui, vui); 935// CHECK: @llvm.ppc.altivec.vcmpequw 936// CHECK-LE: @llvm.ppc.altivec.vcmpequw 937 938 res_vbi = vec_cmpeq(vf, vf); 939// CHECK: @llvm.ppc.altivec.vcmpeqfp 940// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp 941 942 /* vec_cmpge */ 943 res_vbi = vec_cmpge(vf, vf); 944// CHECK: @llvm.ppc.altivec.vcmpgefp 945// CHECK-LE: @llvm.ppc.altivec.vcmpgefp 946 947 res_vbi = vec_vcmpgefp(vf, vf); 948// CHECK: @llvm.ppc.altivec.vcmpgefp 949// CHECK-LE: @llvm.ppc.altivec.vcmpgefp 950} 951 952// CHECK-LABEL: define void @test5 953void test5() { 954 955 /* vec_cmpgt */ 956 res_vbc = vec_cmpgt(vsc, vsc); 957// CHECK: @llvm.ppc.altivec.vcmpgtsb 958// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb 959 960 res_vbc = vec_cmpgt(vuc, vuc); 961// CHECK: @llvm.ppc.altivec.vcmpgtub 962// CHECK-LE: @llvm.ppc.altivec.vcmpgtub 963 964 res_vbs = vec_cmpgt(vs, vs); 965// CHECK: @llvm.ppc.altivec.vcmpgtsh 966// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh 967 968 res_vbs = vec_cmpgt(vus, vus); 969// CHECK: @llvm.ppc.altivec.vcmpgtuh 970// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh 971 972 res_vbi = vec_cmpgt(vi, vi); 973// CHECK: @llvm.ppc.altivec.vcmpgtsw 974// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw 975 976 res_vbi = vec_cmpgt(vui, vui); 977// CHECK: @llvm.ppc.altivec.vcmpgtuw 978// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw 979 980 res_vbi = vec_cmpgt(vf, vf); 981// CHECK: @llvm.ppc.altivec.vcmpgtfp 982// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp 983 984 res_vbc = vec_vcmpgtsb(vsc, vsc); 985// CHECK: @llvm.ppc.altivec.vcmpgtsb 986// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb 987 988 res_vbc = vec_vcmpgtub(vuc, vuc); 989// CHECK: @llvm.ppc.altivec.vcmpgtub 990// CHECK-LE: @llvm.ppc.altivec.vcmpgtub 991 992 res_vbs = vec_vcmpgtsh(vs, vs); 993// CHECK: @llvm.ppc.altivec.vcmpgtsh 994// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh 995 996 res_vbs = vec_vcmpgtuh(vus, vus); 997// CHECK: @llvm.ppc.altivec.vcmpgtuh 998// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh 999 1000 res_vbi = vec_vcmpgtsw(vi, vi); 1001// CHECK: @llvm.ppc.altivec.vcmpgtsw 1002// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw 1003 1004 res_vbi = vec_vcmpgtuw(vui, vui); 1005// CHECK: @llvm.ppc.altivec.vcmpgtuw 1006// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw 1007 1008 res_vbi = vec_vcmpgtfp(vf, vf); 1009// CHECK: @llvm.ppc.altivec.vcmpgtfp 1010// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp 1011 1012 /* vec_cmple */ 1013 res_vbi = vec_cmple(vf, vf); 1014// CHECK: @llvm.ppc.altivec.vcmpgefp 1015// CHECK-LE: @llvm.ppc.altivec.vcmpgefp 1016} 1017 1018// CHECK-LABEL: define void @test6 1019void test6() { 1020 /* vec_cmplt */ 1021 res_vbc = vec_cmplt(vsc, vsc); 1022// CHECK: @llvm.ppc.altivec.vcmpgtsb 1023// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb 1024 1025 res_vbc = vec_cmplt(vuc, vuc); 1026// CHECK: @llvm.ppc.altivec.vcmpgtub 1027// CHECK-LE: @llvm.ppc.altivec.vcmpgtub 1028 1029 res_vbs = vec_cmplt(vs, vs); 1030// CHECK: @llvm.ppc.altivec.vcmpgtsh 1031// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh 1032 1033 res_vbs = vec_cmplt(vus, vus); 1034// CHECK: @llvm.ppc.altivec.vcmpgtuh 1035// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh 1036 1037 res_vbi = vec_cmplt(vi, vi); 1038// CHECK: @llvm.ppc.altivec.vcmpgtsw 1039// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw 1040 1041 res_vbi = vec_cmplt(vui, vui); 1042// CHECK: @llvm.ppc.altivec.vcmpgtuw 1043// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw 1044 1045 res_vbi = vec_cmplt(vf, vf); 1046// CHECK: @llvm.ppc.altivec.vcmpgtfp 1047// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp 1048 1049 /* vec_ctf */ 1050 res_vf = vec_ctf(vi, 0); 1051// CHECK: @llvm.ppc.altivec.vcfsx 1052// CHECK-LE: @llvm.ppc.altivec.vcfsx 1053 1054 res_vf = vec_ctf(vui, 0); 1055// CHECK: @llvm.ppc.altivec.vcfux 1056// CHECK-LE: @llvm.ppc.altivec.vcfux 1057 1058 res_vf = vec_vcfsx(vi, 0); 1059// CHECK: @llvm.ppc.altivec.vcfsx 1060// CHECK-LE: @llvm.ppc.altivec.vcfsx 1061 1062 res_vf = vec_vcfux(vui, 0); 1063// CHECK: @llvm.ppc.altivec.vcfux 1064// CHECK-LE: @llvm.ppc.altivec.vcfux 1065 1066 /* vec_cts */ 1067 res_vi = vec_cts(vf, 0); 1068// CHECK: @llvm.ppc.altivec.vctsxs 1069// CHECK-LE: @llvm.ppc.altivec.vctsxs 1070 1071 res_vi = vec_vctsxs(vf, 0); 1072// CHECK: @llvm.ppc.altivec.vctsxs 1073// CHECK-LE: @llvm.ppc.altivec.vctsxs 1074 1075 /* vec_ctu */ 1076 res_vui = vec_ctu(vf, 0); 1077// CHECK: @llvm.ppc.altivec.vctuxs 1078// CHECK-LE: @llvm.ppc.altivec.vctuxs 1079 1080 res_vui = vec_vctuxs(vf, 0); 1081// CHECK: @llvm.ppc.altivec.vctuxs 1082// CHECK-LE: @llvm.ppc.altivec.vctuxs 1083 1084 /* vec_dss */ 1085 vec_dss(0); 1086// CHECK: @llvm.ppc.altivec.dss 1087// CHECK-LE: @llvm.ppc.altivec.dss 1088 1089 /* vec_dssall */ 1090 vec_dssall(); 1091// CHECK: @llvm.ppc.altivec.dssall 1092// CHECK-LE: @llvm.ppc.altivec.dssall 1093 1094 /* vec_dst */ 1095 vec_dst(&vsc, 0, 0); 1096// CHECK: @llvm.ppc.altivec.dst 1097// CHECK-LE: @llvm.ppc.altivec.dst 1098 1099 /* vec_dstst */ 1100 vec_dstst(&vs, 0, 0); 1101// CHECK: @llvm.ppc.altivec.dstst 1102// CHECK-LE: @llvm.ppc.altivec.dstst 1103 1104 /* vec_dststt */ 1105 vec_dststt(¶m_i, 0, 0); 1106// CHECK: @llvm.ppc.altivec.dststt 1107// CHECK-LE: @llvm.ppc.altivec.dststt 1108 1109 /* vec_dstt */ 1110 vec_dstt(&vf, 0, 0); 1111// CHECK: @llvm.ppc.altivec.dstt 1112// CHECK-LE: @llvm.ppc.altivec.dstt 1113 1114 /* vec_expte */ 1115 res_vf = vec_expte(vf); 1116// CHECK: @llvm.ppc.altivec.vexptefp 1117// CHECK-LE: @llvm.ppc.altivec.vexptefp 1118 1119 res_vf = vec_vexptefp(vf); 1120// CHECK: @llvm.ppc.altivec.vexptefp 1121// CHECK-LE: @llvm.ppc.altivec.vexptefp 1122 1123 /* vec_floor */ 1124 res_vf = vec_floor(vf); 1125// CHECK: @llvm.ppc.altivec.vrfim 1126// CHECK-LE: @llvm.ppc.altivec.vrfim 1127 1128 res_vf = vec_vrfim(vf); 1129// CHECK: @llvm.ppc.altivec.vrfim 1130// CHECK-LE: @llvm.ppc.altivec.vrfim 1131 1132 /* vec_ld */ 1133 res_vsc = vec_ld(0, &vsc); 1134// CHECK: @llvm.ppc.altivec.lvx 1135// CHECK-LE: @llvm.ppc.altivec.lvx 1136 1137 res_vsc = vec_ld(0, ¶m_sc); 1138// CHECK: @llvm.ppc.altivec.lvx 1139// CHECK-LE: @llvm.ppc.altivec.lvx 1140 1141 res_vuc = vec_ld(0, &vuc); 1142// CHECK: @llvm.ppc.altivec.lvx 1143// CHECK-LE: @llvm.ppc.altivec.lvx 1144 1145 res_vuc = vec_ld(0, ¶m_uc); 1146// CHECK: @llvm.ppc.altivec.lvx 1147// CHECK-LE: @llvm.ppc.altivec.lvx 1148 1149 res_vbc = vec_ld(0, &vbc); 1150// CHECK: @llvm.ppc.altivec.lvx 1151// CHECK-LE: @llvm.ppc.altivec.lvx 1152 1153 res_vs = vec_ld(0, &vs); 1154// CHECK: @llvm.ppc.altivec.lvx 1155// CHECK-LE: @llvm.ppc.altivec.lvx 1156 1157 res_vs = vec_ld(0, ¶m_s); 1158// CHECK: @llvm.ppc.altivec.lvx 1159// CHECK-LE: @llvm.ppc.altivec.lvx 1160 1161 res_vus = vec_ld(0, &vus); 1162// CHECK: @llvm.ppc.altivec.lvx 1163// CHECK-LE: @llvm.ppc.altivec.lvx 1164 1165 res_vus = vec_ld(0, ¶m_us); 1166// CHECK: @llvm.ppc.altivec.lvx 1167// CHECK-LE: @llvm.ppc.altivec.lvx 1168 1169 res_vbs = vec_ld(0, &vbs); 1170// CHECK: @llvm.ppc.altivec.lvx 1171// CHECK-LE: @llvm.ppc.altivec.lvx 1172 1173 res_vp = vec_ld(0, &vp); 1174// CHECK: @llvm.ppc.altivec.lvx 1175// CHECK-LE: @llvm.ppc.altivec.lvx 1176 1177 res_vi = vec_ld(0, &vi); 1178// CHECK: @llvm.ppc.altivec.lvx 1179// CHECK-LE: @llvm.ppc.altivec.lvx 1180 1181 res_vi = vec_ld(0, ¶m_i); 1182// CHECK: @llvm.ppc.altivec.lvx 1183// CHECK-LE: @llvm.ppc.altivec.lvx 1184 1185 res_vui = vec_ld(0, &vui); 1186// CHECK: @llvm.ppc.altivec.lvx 1187// CHECK-LE: @llvm.ppc.altivec.lvx 1188 1189 res_vui = vec_ld(0, ¶m_ui); 1190// CHECK: @llvm.ppc.altivec.lvx 1191// CHECK-LE: @llvm.ppc.altivec.lvx 1192 1193 res_vbi = vec_ld(0, &vbi); 1194// CHECK: @llvm.ppc.altivec.lvx 1195// CHECK-LE: @llvm.ppc.altivec.lvx 1196 1197 res_vf = vec_ld(0, &vf); 1198// CHECK: @llvm.ppc.altivec.lvx 1199// CHECK-LE: @llvm.ppc.altivec.lvx 1200 1201 res_vf = vec_ld(0, ¶m_f); 1202// CHECK: @llvm.ppc.altivec.lvx 1203// CHECK-LE: @llvm.ppc.altivec.lvx 1204 1205 res_vsc = vec_lvx(0, &vsc); 1206// CHECK: @llvm.ppc.altivec.lvx 1207// CHECK-LE: @llvm.ppc.altivec.lvx 1208 1209 res_vsc = vec_lvx(0, ¶m_sc); 1210// CHECK: @llvm.ppc.altivec.lvx 1211// CHECK-LE: @llvm.ppc.altivec.lvx 1212 1213 res_vuc = vec_lvx(0, &vuc); 1214// CHECK: @llvm.ppc.altivec.lvx 1215// CHECK-LE: @llvm.ppc.altivec.lvx 1216 1217 res_vuc = vec_lvx(0, ¶m_uc); 1218// CHECK: @llvm.ppc.altivec.lvx 1219// CHECK-LE: @llvm.ppc.altivec.lvx 1220 1221 res_vbc = vec_lvx(0, &vbc); 1222// CHECK: @llvm.ppc.altivec.lvx 1223// CHECK-LE: @llvm.ppc.altivec.lvx 1224 1225 res_vs = vec_lvx(0, &vs); 1226// CHECK: @llvm.ppc.altivec.lvx 1227// CHECK-LE: @llvm.ppc.altivec.lvx 1228 1229 res_vs = vec_lvx(0, ¶m_s); 1230// CHECK: @llvm.ppc.altivec.lvx 1231// CHECK-LE: @llvm.ppc.altivec.lvx 1232 1233 res_vus = vec_lvx(0, &vus); 1234// CHECK: @llvm.ppc.altivec.lvx 1235// CHECK-LE: @llvm.ppc.altivec.lvx 1236 1237 res_vus = vec_lvx(0, ¶m_us); 1238// CHECK: @llvm.ppc.altivec.lvx 1239// CHECK-LE: @llvm.ppc.altivec.lvx 1240 1241 res_vbs = vec_lvx(0, &vbs); 1242// CHECK: @llvm.ppc.altivec.lvx 1243// CHECK-LE: @llvm.ppc.altivec.lvx 1244 1245 res_vp = vec_lvx(0, &vp); 1246// CHECK: @llvm.ppc.altivec.lvx 1247// CHECK-LE: @llvm.ppc.altivec.lvx 1248 1249 res_vi = vec_lvx(0, &vi); 1250// CHECK: @llvm.ppc.altivec.lvx 1251// CHECK-LE: @llvm.ppc.altivec.lvx 1252 1253 res_vi = vec_lvx(0, ¶m_i); 1254// CHECK: @llvm.ppc.altivec.lvx 1255// CHECK-LE: @llvm.ppc.altivec.lvx 1256 1257 res_vui = vec_lvx(0, &vui); 1258// CHECK: @llvm.ppc.altivec.lvx 1259// CHECK-LE: @llvm.ppc.altivec.lvx 1260 1261 res_vui = vec_lvx(0, ¶m_ui); 1262// CHECK: @llvm.ppc.altivec.lvx 1263// CHECK-LE: @llvm.ppc.altivec.lvx 1264 1265 res_vbi = vec_lvx(0, &vbi); 1266// CHECK: @llvm.ppc.altivec.lvx 1267// CHECK-LE: @llvm.ppc.altivec.lvx 1268 1269 res_vf = vec_lvx(0, &vf); 1270// CHECK: @llvm.ppc.altivec.lvx 1271// CHECK-LE: @llvm.ppc.altivec.lvx 1272 1273 res_vf = vec_lvx(0, ¶m_f); 1274// CHECK: @llvm.ppc.altivec.lvx 1275// CHECK-LE: @llvm.ppc.altivec.lvx 1276 1277 /* vec_lde */ 1278 res_vsc = vec_lde(0, ¶m_sc); 1279// CHECK: @llvm.ppc.altivec.lvebx 1280// CHECK-LE: @llvm.ppc.altivec.lvebx 1281 1282 res_vuc = vec_lde(0, ¶m_uc); 1283// CHECK: @llvm.ppc.altivec.lvebx 1284// CHECK-LE: @llvm.ppc.altivec.lvebx 1285 1286 res_vs = vec_lde(0, ¶m_s); 1287// CHECK: @llvm.ppc.altivec.lvehx 1288// CHECK-LE: @llvm.ppc.altivec.lvehx 1289 1290 res_vus = vec_lde(0, ¶m_us); 1291// CHECK: @llvm.ppc.altivec.lvehx 1292// CHECK-LE: @llvm.ppc.altivec.lvehx 1293 1294 res_vi = vec_lde(0, ¶m_i); 1295// CHECK: @llvm.ppc.altivec.lvewx 1296// CHECK-LE: @llvm.ppc.altivec.lvewx 1297 1298 res_vui = vec_lde(0, ¶m_ui); 1299// CHECK: @llvm.ppc.altivec.lvewx 1300// CHECK-LE: @llvm.ppc.altivec.lvewx 1301 1302 res_vf = vec_lde(0, ¶m_f); 1303// CHECK: @llvm.ppc.altivec.lvewx 1304// CHECK-LE: @llvm.ppc.altivec.lvewx 1305 1306 res_vsc = vec_lvebx(0, ¶m_sc); 1307// CHECK: @llvm.ppc.altivec.lvebx 1308// CHECK-LE: @llvm.ppc.altivec.lvebx 1309 1310 res_vuc = vec_lvebx(0, ¶m_uc); 1311// CHECK: @llvm.ppc.altivec.lvebx 1312// CHECK-LE: @llvm.ppc.altivec.lvebx 1313 1314 res_vs = vec_lvehx(0, ¶m_s); 1315// CHECK: @llvm.ppc.altivec.lvehx 1316// CHECK-LE: @llvm.ppc.altivec.lvehx 1317 1318 res_vus = vec_lvehx(0, ¶m_us); 1319// CHECK: @llvm.ppc.altivec.lvehx 1320// CHECK-LE: @llvm.ppc.altivec.lvehx 1321 1322 res_vi = vec_lvewx(0, ¶m_i); 1323// CHECK: @llvm.ppc.altivec.lvewx 1324// CHECK-LE: @llvm.ppc.altivec.lvewx 1325 1326 res_vui = vec_lvewx(0, ¶m_ui); 1327// CHECK: @llvm.ppc.altivec.lvewx 1328// CHECK-LE: @llvm.ppc.altivec.lvewx 1329 1330 res_vf = vec_lvewx(0, ¶m_f); 1331// CHECK: @llvm.ppc.altivec.lvewx 1332// CHECK-LE: @llvm.ppc.altivec.lvewx 1333 1334 /* vec_ldl */ 1335 res_vsc = vec_ldl(0, &vsc); 1336// CHECK: @llvm.ppc.altivec.lvxl 1337// CHECK-LE: @llvm.ppc.altivec.lvxl 1338 1339 res_vsc = vec_ldl(0, ¶m_sc); 1340// CHECK: @llvm.ppc.altivec.lvxl 1341// CHECK-LE: @llvm.ppc.altivec.lvxl 1342 1343 res_vuc = vec_ldl(0, &vuc); 1344// CHECK: @llvm.ppc.altivec.lvxl 1345// CHECK-LE: @llvm.ppc.altivec.lvxl 1346 1347 res_vuc = vec_ldl(0, ¶m_uc); 1348// CHECK: @llvm.ppc.altivec.lvxl 1349// CHECK-LE: @llvm.ppc.altivec.lvxl 1350 1351 res_vbc = vec_ldl(0, &vbc); 1352// CHECK: @llvm.ppc.altivec.lvxl 1353// CHECK-LE: @llvm.ppc.altivec.lvxl 1354 1355 res_vs = vec_ldl(0, &vs); 1356// CHECK: @llvm.ppc.altivec.lvxl 1357// CHECK-LE: @llvm.ppc.altivec.lvxl 1358 1359 res_vs = vec_ldl(0, ¶m_s); 1360// CHECK: @llvm.ppc.altivec.lvxl 1361// CHECK-LE: @llvm.ppc.altivec.lvxl 1362 1363 res_vus = vec_ldl(0, &vus); 1364// CHECK: @llvm.ppc.altivec.lvxl 1365// CHECK-LE: @llvm.ppc.altivec.lvxl 1366 1367 res_vus = vec_ldl(0, ¶m_us); 1368// CHECK: @llvm.ppc.altivec.lvxl 1369// CHECK-LE: @llvm.ppc.altivec.lvxl 1370 1371 res_vbs = vec_ldl(0, &vbs); 1372// CHECK: @llvm.ppc.altivec.lvxl 1373// CHECK-LE: @llvm.ppc.altivec.lvxl 1374 1375 res_vp = vec_ldl(0, &vp); 1376// CHECK: @llvm.ppc.altivec.lvxl 1377// CHECK-LE: @llvm.ppc.altivec.lvxl 1378 1379 res_vi = vec_ldl(0, &vi); 1380// CHECK: @llvm.ppc.altivec.lvxl 1381// CHECK-LE: @llvm.ppc.altivec.lvxl 1382 1383 res_vi = vec_ldl(0, ¶m_i); 1384// CHECK: @llvm.ppc.altivec.lvxl 1385// CHECK-LE: @llvm.ppc.altivec.lvxl 1386 1387 res_vui = vec_ldl(0, &vui); 1388// CHECK: @llvm.ppc.altivec.lvxl 1389// CHECK-LE: @llvm.ppc.altivec.lvxl 1390 1391 res_vui = vec_ldl(0, ¶m_ui); 1392// CHECK: @llvm.ppc.altivec.lvxl 1393// CHECK-LE: @llvm.ppc.altivec.lvxl 1394 1395 res_vbi = vec_ldl(0, &vbi); 1396// CHECK: @llvm.ppc.altivec.lvxl 1397// CHECK-LE: @llvm.ppc.altivec.lvxl 1398 1399 res_vf = vec_ldl(0, &vf); 1400// CHECK: @llvm.ppc.altivec.lvxl 1401// CHECK-LE: @llvm.ppc.altivec.lvxl 1402 1403 res_vf = vec_ldl(0, ¶m_f); 1404// CHECK: @llvm.ppc.altivec.lvxl 1405// CHECK-LE: @llvm.ppc.altivec.lvxl 1406 1407 res_vsc = vec_lvxl(0, &vsc); 1408// CHECK: @llvm.ppc.altivec.lvxl 1409// CHECK-LE: @llvm.ppc.altivec.lvxl 1410 1411 res_vsc = vec_lvxl(0, ¶m_sc); 1412// CHECK: @llvm.ppc.altivec.lvxl 1413// CHECK-LE: @llvm.ppc.altivec.lvxl 1414 1415 res_vuc = vec_lvxl(0, &vuc); 1416// CHECK: @llvm.ppc.altivec.lvxl 1417// CHECK-LE: @llvm.ppc.altivec.lvxl 1418 1419 res_vbc = vec_lvxl(0, &vbc); 1420// CHECK: @llvm.ppc.altivec.lvxl 1421// CHECK-LE: @llvm.ppc.altivec.lvxl 1422 1423 res_vuc = vec_lvxl(0, ¶m_uc); 1424// CHECK: @llvm.ppc.altivec.lvxl 1425// CHECK-LE: @llvm.ppc.altivec.lvxl 1426 1427 res_vs = vec_lvxl(0, &vs); 1428// CHECK: @llvm.ppc.altivec.lvxl 1429// CHECK-LE: @llvm.ppc.altivec.lvxl 1430 1431 res_vs = vec_lvxl(0, ¶m_s); 1432// CHECK: @llvm.ppc.altivec.lvxl 1433// CHECK-LE: @llvm.ppc.altivec.lvxl 1434 1435 res_vus = vec_lvxl(0, &vus); 1436// CHECK: @llvm.ppc.altivec.lvxl 1437// CHECK-LE: @llvm.ppc.altivec.lvxl 1438 1439 res_vus = vec_lvxl(0, ¶m_us); 1440// CHECK: @llvm.ppc.altivec.lvxl 1441// CHECK-LE: @llvm.ppc.altivec.lvxl 1442 1443 res_vbs = vec_lvxl(0, &vbs); 1444// CHECK: @llvm.ppc.altivec.lvxl 1445// CHECK-LE: @llvm.ppc.altivec.lvxl 1446 1447 res_vp = vec_lvxl(0, &vp); 1448// CHECK: @llvm.ppc.altivec.lvxl 1449// CHECK-LE: @llvm.ppc.altivec.lvxl 1450 1451 res_vi = vec_lvxl(0, &vi); 1452// CHECK: @llvm.ppc.altivec.lvxl 1453// CHECK-LE: @llvm.ppc.altivec.lvxl 1454 1455 res_vi = vec_lvxl(0, ¶m_i); 1456// CHECK: @llvm.ppc.altivec.lvxl 1457// CHECK-LE: @llvm.ppc.altivec.lvxl 1458 1459 res_vui = vec_lvxl(0, &vui); 1460// CHECK: @llvm.ppc.altivec.lvxl 1461// CHECK-LE: @llvm.ppc.altivec.lvxl 1462 1463 res_vui = vec_lvxl(0, ¶m_ui); 1464// CHECK: @llvm.ppc.altivec.lvxl 1465// CHECK-LE: @llvm.ppc.altivec.lvxl 1466 1467 res_vbi = vec_lvxl(0, &vbi); 1468// CHECK: @llvm.ppc.altivec.lvxl 1469// CHECK-LE: @llvm.ppc.altivec.lvxl 1470 1471 res_vf = vec_lvxl(0, &vf); 1472// CHECK: @llvm.ppc.altivec.lvxl 1473// CHECK-LE: @llvm.ppc.altivec.lvxl 1474 1475 res_vf = vec_lvxl(0, ¶m_f); 1476// CHECK: @llvm.ppc.altivec.lvxl 1477// CHECK-LE: @llvm.ppc.altivec.lvxl 1478 1479 /* vec_loge */ 1480 res_vf = vec_loge(vf); 1481// CHECK: @llvm.ppc.altivec.vlogefp 1482// CHECK-LE: @llvm.ppc.altivec.vlogefp 1483 1484 res_vf = vec_vlogefp(vf); 1485// CHECK: @llvm.ppc.altivec.vlogefp 1486// CHECK-LE: @llvm.ppc.altivec.vlogefp 1487 1488 /* vec_lvsl */ 1489 res_vuc = vec_lvsl(0, ¶m_i); 1490// CHECK: @llvm.ppc.altivec.lvsl 1491// CHECK-LE: @llvm.ppc.altivec.lvsl 1492 1493 /* vec_lvsr */ 1494 res_vuc = vec_lvsr(0, ¶m_i); 1495// CHECK: @llvm.ppc.altivec.lvsr 1496// CHECK-LE: @llvm.ppc.altivec.lvsr 1497 1498 /* vec_madd */ 1499 res_vf =vec_madd(vf, vf, vf); 1500// CHECK: @llvm.ppc.altivec.vmaddfp 1501// CHECK-LE: @llvm.ppc.altivec.vmaddfp 1502 1503 res_vf = vec_vmaddfp(vf, vf, vf); 1504// CHECK: @llvm.ppc.altivec.vmaddfp 1505// CHECK-LE: @llvm.ppc.altivec.vmaddfp 1506 1507 /* vec_madds */ 1508 res_vs = vec_madds(vs, vs, vs); 1509// CHECK: @llvm.ppc.altivec.vmhaddshs 1510// CHECK-LE: @llvm.ppc.altivec.vmhaddshs 1511 1512 res_vs = vec_vmhaddshs(vs, vs, vs); 1513// CHECK: @llvm.ppc.altivec.vmhaddshs 1514// CHECK-LE: @llvm.ppc.altivec.vmhaddshs 1515 1516 /* vec_max */ 1517 res_vsc = vec_max(vsc, vsc); 1518// CHECK: @llvm.ppc.altivec.vmaxsb 1519// CHECK-LE: @llvm.ppc.altivec.vmaxsb 1520 1521 res_vsc = vec_max(vbc, vsc); 1522// CHECK: @llvm.ppc.altivec.vmaxsb 1523// CHECK-LE: @llvm.ppc.altivec.vmaxsb 1524 1525 res_vsc = vec_max(vsc, vbc); 1526// CHECK: @llvm.ppc.altivec.vmaxsb 1527// CHECK-LE: @llvm.ppc.altivec.vmaxsb 1528 1529 res_vuc = vec_max(vuc, vuc); 1530// CHECK: @llvm.ppc.altivec.vmaxub 1531// CHECK-LE: @llvm.ppc.altivec.vmaxub 1532 1533 res_vuc = vec_max(vbc, vuc); 1534// CHECK: @llvm.ppc.altivec.vmaxub 1535// CHECK-LE: @llvm.ppc.altivec.vmaxub 1536 1537 res_vuc = vec_max(vuc, vbc); 1538// CHECK: @llvm.ppc.altivec.vmaxub 1539// CHECK-LE: @llvm.ppc.altivec.vmaxub 1540 1541 res_vs = vec_max(vs, vs); 1542// CHECK: @llvm.ppc.altivec.vmaxsh 1543// CHECK-LE: @llvm.ppc.altivec.vmaxsh 1544 1545 res_vs = vec_max(vbs, vs); 1546// CHECK: @llvm.ppc.altivec.vmaxsh 1547// CHECK-LE: @llvm.ppc.altivec.vmaxsh 1548 1549 res_vs = vec_max(vs, vbs); 1550// CHECK: @llvm.ppc.altivec.vmaxsh 1551// CHECK-LE: @llvm.ppc.altivec.vmaxsh 1552 1553 res_vus = vec_max(vus, vus); 1554// CHECK: @llvm.ppc.altivec.vmaxuh 1555// CHECK-LE: @llvm.ppc.altivec.vmaxuh 1556 1557 res_vus = vec_max(vbs, vus); 1558// CHECK: @llvm.ppc.altivec.vmaxuh 1559// CHECK-LE: @llvm.ppc.altivec.vmaxuh 1560 1561 res_vus = vec_max(vus, vbs); 1562// CHECK: @llvm.ppc.altivec.vmaxuh 1563// CHECK-LE: @llvm.ppc.altivec.vmaxuh 1564 1565 res_vi = vec_max(vi, vi); 1566// CHECK: @llvm.ppc.altivec.vmaxsw 1567// CHECK-LE: @llvm.ppc.altivec.vmaxsw 1568 1569 res_vi = vec_max(vbi, vi); 1570// CHECK: @llvm.ppc.altivec.vmaxsw 1571// CHECK-LE: @llvm.ppc.altivec.vmaxsw 1572 1573 res_vi = vec_max(vi, vbi); 1574// CHECK: @llvm.ppc.altivec.vmaxsw 1575// CHECK-LE: @llvm.ppc.altivec.vmaxsw 1576 1577 res_vui = vec_max(vui, vui); 1578// CHECK: @llvm.ppc.altivec.vmaxuw 1579// CHECK-LE: @llvm.ppc.altivec.vmaxuw 1580 1581 res_vui = vec_max(vbi, vui); 1582// CHECK: @llvm.ppc.altivec.vmaxuw 1583// CHECK-LE: @llvm.ppc.altivec.vmaxuw 1584 1585 res_vui = vec_max(vui, vbi); 1586// CHECK: @llvm.ppc.altivec.vmaxuw 1587// CHECK-LE: @llvm.ppc.altivec.vmaxuw 1588 1589 res_vf = vec_max(vf, vf); 1590// CHECK: @llvm.ppc.altivec.vmaxfp 1591// CHECK-LE: @llvm.ppc.altivec.vmaxfp 1592 1593 res_vsc = vec_vmaxsb(vsc, vsc); 1594// CHECK: @llvm.ppc.altivec.vmaxsb 1595// CHECK-LE: @llvm.ppc.altivec.vmaxsb 1596 1597 res_vsc = vec_vmaxsb(vbc, vsc); 1598// CHECK: @llvm.ppc.altivec.vmaxsb 1599// CHECK-LE: @llvm.ppc.altivec.vmaxsb 1600 1601 res_vsc = vec_vmaxsb(vsc, vbc); 1602// CHECK: @llvm.ppc.altivec.vmaxsb 1603// CHECK-LE: @llvm.ppc.altivec.vmaxsb 1604 1605 res_vuc = vec_vmaxub(vuc, vuc); 1606// CHECK: @llvm.ppc.altivec.vmaxub 1607// CHECK-LE: @llvm.ppc.altivec.vmaxub 1608 1609 res_vuc = vec_vmaxub(vbc, vuc); 1610// CHECK: @llvm.ppc.altivec.vmaxub 1611// CHECK-LE: @llvm.ppc.altivec.vmaxub 1612 1613 res_vuc = vec_vmaxub(vuc, vbc); 1614// CHECK: @llvm.ppc.altivec.vmaxub 1615// CHECK-LE: @llvm.ppc.altivec.vmaxub 1616 1617 res_vs = vec_vmaxsh(vs, vs); 1618// CHECK: @llvm.ppc.altivec.vmaxsh 1619// CHECK-LE: @llvm.ppc.altivec.vmaxsh 1620 1621 res_vs = vec_vmaxsh(vbs, vs); 1622// CHECK: @llvm.ppc.altivec.vmaxsh 1623// CHECK-LE: @llvm.ppc.altivec.vmaxsh 1624 1625 res_vs = vec_vmaxsh(vs, vbs); 1626// CHECK: @llvm.ppc.altivec.vmaxsh 1627// CHECK-LE: @llvm.ppc.altivec.vmaxsh 1628 1629 res_vus = vec_vmaxuh(vus, vus); 1630// CHECK: @llvm.ppc.altivec.vmaxuh 1631// CHECK-LE: @llvm.ppc.altivec.vmaxuh 1632 1633 res_vus = vec_vmaxuh(vbs, vus); 1634// CHECK: @llvm.ppc.altivec.vmaxuh 1635// CHECK-LE: @llvm.ppc.altivec.vmaxuh 1636 1637 res_vus = vec_vmaxuh(vus, vbs); 1638// CHECK: @llvm.ppc.altivec.vmaxuh 1639// CHECK-LE: @llvm.ppc.altivec.vmaxuh 1640 1641 res_vi = vec_vmaxsw(vi, vi); 1642// CHECK: @llvm.ppc.altivec.vmaxsw 1643// CHECK-LE: @llvm.ppc.altivec.vmaxsw 1644 1645 res_vi = vec_vmaxsw(vbi, vi); 1646// CHECK: @llvm.ppc.altivec.vmaxsw 1647// CHECK-LE: @llvm.ppc.altivec.vmaxsw 1648 1649 res_vi = vec_vmaxsw(vi, vbi); 1650// CHECK: @llvm.ppc.altivec.vmaxsw 1651// CHECK-LE: @llvm.ppc.altivec.vmaxsw 1652 1653 res_vui = vec_vmaxuw(vui, vui); 1654// CHECK: @llvm.ppc.altivec.vmaxuw 1655// CHECK-LE: @llvm.ppc.altivec.vmaxuw 1656 1657 res_vui = vec_vmaxuw(vbi, vui); 1658// CHECK: @llvm.ppc.altivec.vmaxuw 1659// CHECK-LE: @llvm.ppc.altivec.vmaxuw 1660 1661 res_vui = vec_vmaxuw(vui, vbi); 1662// CHECK: @llvm.ppc.altivec.vmaxuw 1663// CHECK-LE: @llvm.ppc.altivec.vmaxuw 1664 1665 res_vf = vec_vmaxfp(vf, vf); 1666// CHECK: @llvm.ppc.altivec.vmaxfp 1667// CHECK-LE: @llvm.ppc.altivec.vmaxfp 1668 1669 /* vec_mergeh */ 1670 res_vsc = vec_mergeh(vsc, vsc); 1671// CHECK: @llvm.ppc.altivec.vperm 1672// CHECK-LE: @llvm.ppc.altivec.vperm 1673 1674 res_vuc = vec_mergeh(vuc, vuc); 1675// CHECK: @llvm.ppc.altivec.vperm 1676// CHECK-LE: @llvm.ppc.altivec.vperm 1677 1678 res_vbc = vec_mergeh(vbc, vbc); 1679// CHECK: @llvm.ppc.altivec.vperm 1680// CHECK-LE: @llvm.ppc.altivec.vperm 1681 1682 res_vs = vec_mergeh(vs, vs); 1683// CHECK: @llvm.ppc.altivec.vperm 1684// CHECK-LE: @llvm.ppc.altivec.vperm 1685 1686 res_vp = vec_mergeh(vp, vp); 1687// CHECK: @llvm.ppc.altivec.vperm 1688// CHECK-LE: @llvm.ppc.altivec.vperm 1689 1690 res_vus = vec_mergeh(vus, vus); 1691// CHECK: @llvm.ppc.altivec.vperm 1692// CHECK-LE: @llvm.ppc.altivec.vperm 1693 1694 res_vbs = vec_mergeh(vbs, vbs); 1695// CHECK: @llvm.ppc.altivec.vperm 1696// CHECK-LE: @llvm.ppc.altivec.vperm 1697 1698 res_vi = vec_mergeh(vi, vi); 1699// CHECK: @llvm.ppc.altivec.vperm 1700// CHECK-LE: @llvm.ppc.altivec.vperm 1701 1702 res_vui = vec_mergeh(vui, vui); 1703// CHECK: @llvm.ppc.altivec.vperm 1704// CHECK-LE: @llvm.ppc.altivec.vperm 1705 1706 res_vbi = vec_mergeh(vbi, vbi); 1707// CHECK: @llvm.ppc.altivec.vperm 1708// CHECK-LE: @llvm.ppc.altivec.vperm 1709 1710 res_vf = vec_mergeh(vf, vf); 1711// CHECK: @llvm.ppc.altivec.vperm 1712// CHECK-LE: @llvm.ppc.altivec.vperm 1713 1714 res_vsc = vec_vmrghb(vsc, vsc); 1715// CHECK: @llvm.ppc.altivec.vperm 1716// CHECK-LE: @llvm.ppc.altivec.vperm 1717 1718 res_vuc = vec_vmrghb(vuc, vuc); 1719// CHECK: @llvm.ppc.altivec.vperm 1720// CHECK-LE: @llvm.ppc.altivec.vperm 1721 1722 res_vbc = vec_vmrghb(vbc, vbc); 1723// CHECK: @llvm.ppc.altivec.vperm 1724// CHECK-LE: @llvm.ppc.altivec.vperm 1725 1726 res_vs = vec_vmrghh(vs, vs); 1727// CHECK: @llvm.ppc.altivec.vperm 1728// CHECK-LE: @llvm.ppc.altivec.vperm 1729 1730 res_vp = vec_vmrghh(vp, vp); 1731// CHECK: @llvm.ppc.altivec.vperm 1732// CHECK-LE: @llvm.ppc.altivec.vperm 1733 1734 res_vus = vec_vmrghh(vus, vus); 1735// CHECK: @llvm.ppc.altivec.vperm 1736// CHECK-LE: @llvm.ppc.altivec.vperm 1737 1738 res_vbs = vec_vmrghh(vbs, vbs); 1739// CHECK: @llvm.ppc.altivec.vperm 1740// CHECK-LE: @llvm.ppc.altivec.vperm 1741 1742 res_vi = vec_vmrghw(vi, vi); 1743// CHECK: @llvm.ppc.altivec.vperm 1744// CHECK-LE: @llvm.ppc.altivec.vperm 1745 1746 res_vui = vec_vmrghw(vui, vui); 1747// CHECK: @llvm.ppc.altivec.vperm 1748// CHECK-LE: @llvm.ppc.altivec.vperm 1749 1750 res_vbi = vec_vmrghw(vbi, vbi); 1751// CHECK: @llvm.ppc.altivec.vperm 1752// CHECK-LE: @llvm.ppc.altivec.vperm 1753 1754 res_vf = vec_vmrghw(vf, vf); 1755// CHECK: @llvm.ppc.altivec.vperm 1756// CHECK-LE: @llvm.ppc.altivec.vperm 1757 1758 /* vec_mergel */ 1759 res_vsc = vec_mergel(vsc, vsc); 1760// CHECK: @llvm.ppc.altivec.vperm 1761// CHECK-LE: @llvm.ppc.altivec.vperm 1762 1763 res_vuc = vec_mergel(vuc, vuc); 1764// CHECK: @llvm.ppc.altivec.vperm 1765// CHECK-LE: @llvm.ppc.altivec.vperm 1766 1767 res_vbc = vec_mergel(vbc, vbc); 1768// CHECK: @llvm.ppc.altivec.vperm 1769// CHECK-LE: @llvm.ppc.altivec.vperm 1770 1771 res_vs = vec_mergel(vs, vs); 1772// CHECK: @llvm.ppc.altivec.vperm 1773// CHECK-LE: @llvm.ppc.altivec.vperm 1774 1775 res_vp = vec_mergeh(vp, vp); 1776// CHECK: @llvm.ppc.altivec.vperm 1777// CHECK-LE: @llvm.ppc.altivec.vperm 1778 1779 res_vus = vec_mergel(vus, vus); 1780// CHECK: @llvm.ppc.altivec.vperm 1781// CHECK-LE: @llvm.ppc.altivec.vperm 1782 1783 res_vbs = vec_mergel(vbs, vbs); 1784// CHECK: @llvm.ppc.altivec.vperm 1785// CHECK-LE: @llvm.ppc.altivec.vperm 1786 1787 res_vi = vec_mergel(vi, vi); 1788// CHECK: @llvm.ppc.altivec.vperm 1789// CHECK-LE: @llvm.ppc.altivec.vperm 1790 1791 res_vui = vec_mergel(vui, vui); 1792// CHECK: @llvm.ppc.altivec.vperm 1793// CHECK-LE: @llvm.ppc.altivec.vperm 1794 1795 res_vbi = vec_mergel(vbi, vbi); 1796// CHECK: @llvm.ppc.altivec.vperm 1797// CHECK-LE: @llvm.ppc.altivec.vperm 1798 1799 res_vf = vec_mergel(vf, vf); 1800// CHECK: @llvm.ppc.altivec.vperm 1801// CHECK-LE: @llvm.ppc.altivec.vperm 1802 1803 res_vsc = vec_vmrglb(vsc, vsc); 1804// CHECK: @llvm.ppc.altivec.vperm 1805// CHECK-LE: @llvm.ppc.altivec.vperm 1806 1807 res_vuc = vec_vmrglb(vuc, vuc); 1808// CHECK: @llvm.ppc.altivec.vperm 1809// CHECK-LE: @llvm.ppc.altivec.vperm 1810 1811 res_vbc = vec_vmrglb(vbc, vbc); 1812// CHECK: @llvm.ppc.altivec.vperm 1813// CHECK-LE: @llvm.ppc.altivec.vperm 1814 1815 res_vs = vec_vmrglh(vs, vs); 1816// CHECK: @llvm.ppc.altivec.vperm 1817// CHECK-LE: @llvm.ppc.altivec.vperm 1818 1819 res_vp = vec_vmrglh(vp, vp); 1820// CHECK: @llvm.ppc.altivec.vperm 1821// CHECK-LE: @llvm.ppc.altivec.vperm 1822 1823 res_vus = vec_vmrglh(vus, vus); 1824// CHECK: @llvm.ppc.altivec.vperm 1825// CHECK-LE: @llvm.ppc.altivec.vperm 1826 1827 res_vbs = vec_vmrglh(vbs, vbs); 1828// CHECK: @llvm.ppc.altivec.vperm 1829// CHECK-LE: @llvm.ppc.altivec.vperm 1830 1831 res_vi = vec_vmrglw(vi, vi); 1832// CHECK: @llvm.ppc.altivec.vperm 1833// CHECK-LE: @llvm.ppc.altivec.vperm 1834 1835 res_vui = vec_vmrglw(vui, vui); 1836// CHECK: @llvm.ppc.altivec.vperm 1837// CHECK-LE: @llvm.ppc.altivec.vperm 1838 1839 res_vbi = vec_vmrglw(vbi, vbi); 1840// CHECK: @llvm.ppc.altivec.vperm 1841// CHECK-LE: @llvm.ppc.altivec.vperm 1842 1843 res_vf = vec_vmrglw(vf, vf); 1844// CHECK: @llvm.ppc.altivec.vperm 1845// CHECK-LE: @llvm.ppc.altivec.vperm 1846 1847 /* vec_mfvscr */ 1848 vus = vec_mfvscr(); 1849// CHECK: @llvm.ppc.altivec.mfvscr 1850// CHECK-LE: @llvm.ppc.altivec.mfvscr 1851 1852 /* vec_min */ 1853 res_vsc = vec_min(vsc, vsc); 1854// CHECK: @llvm.ppc.altivec.vminsb 1855// CHECK-LE: @llvm.ppc.altivec.vminsb 1856 1857 res_vsc = vec_min(vbc, vsc); 1858// CHECK: @llvm.ppc.altivec.vminsb 1859// CHECK-LE: @llvm.ppc.altivec.vminsb 1860 1861 res_vsc = vec_min(vsc, vbc); 1862// CHECK: @llvm.ppc.altivec.vminsb 1863// CHECK-LE: @llvm.ppc.altivec.vminsb 1864 1865 res_vuc = vec_min(vuc, vuc); 1866// CHECK: @llvm.ppc.altivec.vminub 1867// CHECK-LE: @llvm.ppc.altivec.vminub 1868 1869 res_vuc = vec_min(vbc, vuc); 1870// CHECK: @llvm.ppc.altivec.vminub 1871// CHECK-LE: @llvm.ppc.altivec.vminub 1872 1873 res_vuc = vec_min(vuc, vbc); 1874// CHECK: @llvm.ppc.altivec.vminub 1875// CHECK-LE: @llvm.ppc.altivec.vminub 1876 1877 res_vs = vec_min(vs, vs); 1878// CHECK: @llvm.ppc.altivec.vminsh 1879// CHECK-LE: @llvm.ppc.altivec.vminsh 1880 1881 res_vs = vec_min(vbs, vs); 1882// CHECK: @llvm.ppc.altivec.vminsh 1883// CHECK-LE: @llvm.ppc.altivec.vminsh 1884 1885 res_vs = vec_min(vs, vbs); 1886// CHECK: @llvm.ppc.altivec.vminsh 1887// CHECK-LE: @llvm.ppc.altivec.vminsh 1888 1889 res_vus = vec_min(vus, vus); 1890// CHECK: @llvm.ppc.altivec.vminuh 1891// CHECK-LE: @llvm.ppc.altivec.vminuh 1892 1893 res_vus = vec_min(vbs, vus); 1894// CHECK: @llvm.ppc.altivec.vminuh 1895// CHECK-LE: @llvm.ppc.altivec.vminuh 1896 1897 res_vus = vec_min(vus, vbs); 1898// CHECK: @llvm.ppc.altivec.vminuh 1899// CHECK-LE: @llvm.ppc.altivec.vminuh 1900 1901 res_vi = vec_min(vi, vi); 1902// CHECK: @llvm.ppc.altivec.vminsw 1903// CHECK-LE: @llvm.ppc.altivec.vminsw 1904 1905 res_vi = vec_min(vbi, vi); 1906// CHECK: @llvm.ppc.altivec.vminsw 1907// CHECK-LE: @llvm.ppc.altivec.vminsw 1908 1909 res_vi = vec_min(vi, vbi); 1910// CHECK: @llvm.ppc.altivec.vminsw 1911// CHECK-LE: @llvm.ppc.altivec.vminsw 1912 1913 res_vui = vec_min(vui, vui); 1914// CHECK: @llvm.ppc.altivec.vminuw 1915// CHECK-LE: @llvm.ppc.altivec.vminuw 1916 1917 res_vui = vec_min(vbi, vui); 1918// CHECK: @llvm.ppc.altivec.vminuw 1919// CHECK-LE: @llvm.ppc.altivec.vminuw 1920 1921 res_vui = vec_min(vui, vbi); 1922// CHECK: @llvm.ppc.altivec.vminuw 1923// CHECK-LE: @llvm.ppc.altivec.vminuw 1924 1925 res_vf = vec_min(vf, vf); 1926// CHECK: @llvm.ppc.altivec.vminfp 1927// CHECK-LE: @llvm.ppc.altivec.vminfp 1928 1929 res_vsc = vec_vminsb(vsc, vsc); 1930// CHECK: @llvm.ppc.altivec.vminsb 1931// CHECK-LE: @llvm.ppc.altivec.vminsb 1932 1933 res_vsc = vec_vminsb(vbc, vsc); 1934// CHECK: @llvm.ppc.altivec.vminsb 1935// CHECK-LE: @llvm.ppc.altivec.vminsb 1936 1937 res_vsc = vec_vminsb(vsc, vbc); 1938// CHECK: @llvm.ppc.altivec.vminsb 1939// CHECK-LE: @llvm.ppc.altivec.vminsb 1940 1941 res_vuc = vec_vminub(vuc, vuc); 1942// CHECK: @llvm.ppc.altivec.vminub 1943// CHECK-LE: @llvm.ppc.altivec.vminub 1944 1945 res_vuc = vec_vminub(vbc, vuc); 1946// CHECK: @llvm.ppc.altivec.vminub 1947// CHECK-LE: @llvm.ppc.altivec.vminub 1948 1949 res_vuc = vec_vminub(vuc, vbc); 1950// CHECK: @llvm.ppc.altivec.vminub 1951// CHECK-LE: @llvm.ppc.altivec.vminub 1952 1953 res_vs = vec_vminsh(vs, vs); 1954// CHECK: @llvm.ppc.altivec.vminsh 1955// CHECK-LE: @llvm.ppc.altivec.vminsh 1956 1957 res_vs = vec_vminsh(vbs, vs); 1958// CHECK: @llvm.ppc.altivec.vminsh 1959// CHECK-LE: @llvm.ppc.altivec.vminsh 1960 1961 res_vs = vec_vminsh(vs, vbs); 1962// CHECK: @llvm.ppc.altivec.vminsh 1963// CHECK-LE: @llvm.ppc.altivec.vminsh 1964 1965 res_vus = vec_vminuh(vus, vus); 1966// CHECK: @llvm.ppc.altivec.vminuh 1967// CHECK-LE: @llvm.ppc.altivec.vminuh 1968 1969 res_vus = vec_vminuh(vbs, vus); 1970// CHECK: @llvm.ppc.altivec.vminuh 1971// CHECK-LE: @llvm.ppc.altivec.vminuh 1972 1973 res_vus = vec_vminuh(vus, vbs); 1974// CHECK: @llvm.ppc.altivec.vminuh 1975// CHECK-LE: @llvm.ppc.altivec.vminuh 1976 1977 res_vi = vec_vminsw(vi, vi); 1978// CHECK: @llvm.ppc.altivec.vminsw 1979// CHECK-LE: @llvm.ppc.altivec.vminsw 1980 1981 res_vi = vec_vminsw(vbi, vi); 1982// CHECK: @llvm.ppc.altivec.vminsw 1983// CHECK-LE: @llvm.ppc.altivec.vminsw 1984 1985 res_vi = vec_vminsw(vi, vbi); 1986// CHECK: @llvm.ppc.altivec.vminsw 1987// CHECK-LE: @llvm.ppc.altivec.vminsw 1988 1989 res_vui = vec_vminuw(vui, vui); 1990// CHECK: @llvm.ppc.altivec.vminuw 1991// CHECK-LE: @llvm.ppc.altivec.vminuw 1992 1993 res_vui = vec_vminuw(vbi, vui); 1994// CHECK: @llvm.ppc.altivec.vminuw 1995// CHECK-LE: @llvm.ppc.altivec.vminuw 1996 1997 res_vui = vec_vminuw(vui, vbi); 1998// CHECK: @llvm.ppc.altivec.vminuw 1999// CHECK-LE: @llvm.ppc.altivec.vminuw 2000 2001 res_vf = vec_vminfp(vf, vf); 2002// CHECK: @llvm.ppc.altivec.vminfp 2003// CHECK-LE: @llvm.ppc.altivec.vminfp 2004 2005 /* vec_mladd */ 2006 res_vus = vec_mladd(vus, vus, vus); 2007// CHECK: mul <8 x i16> 2008// CHECK: add <8 x i16> 2009// CHECK-LE: mul <8 x i16> 2010// CHECK-LE: add <8 x i16> 2011 2012 res_vs = vec_mladd(vus, vs, vs); 2013// CHECK: mul <8 x i16> 2014// CHECK: add <8 x i16> 2015// CHECK-LE: mul <8 x i16> 2016// CHECK-LE: add <8 x i16> 2017 2018 res_vs = vec_mladd(vs, vus, vus); 2019// CHECK: mul <8 x i16> 2020// CHECK: add <8 x i16> 2021// CHECK-LE: mul <8 x i16> 2022// CHECK-LE: add <8 x i16> 2023 2024 res_vs = vec_mladd(vs, vs, vs); 2025// CHECK: mul <8 x i16> 2026// CHECK: add <8 x i16> 2027// CHECK-LE: mul <8 x i16> 2028// CHECK-LE: add <8 x i16> 2029 2030 /* vec_mradds */ 2031 res_vs = vec_mradds(vs, vs, vs); 2032// CHECK: @llvm.ppc.altivec.vmhraddshs 2033// CHECK-LE: @llvm.ppc.altivec.vmhraddshs 2034 2035 res_vs = vec_vmhraddshs(vs, vs, vs); 2036// CHECK: @llvm.ppc.altivec.vmhraddshs 2037// CHECK-LE: @llvm.ppc.altivec.vmhraddshs 2038 2039 /* vec_msum */ 2040 res_vi = vec_msum(vsc, vuc, vi); 2041// CHECK: @llvm.ppc.altivec.vmsummbm 2042// CHECK-LE: @llvm.ppc.altivec.vmsummbm 2043 2044 res_vui = vec_msum(vuc, vuc, vui); 2045// CHECK: @llvm.ppc.altivec.vmsumubm 2046// CHECK-LE: @llvm.ppc.altivec.vmsumubm 2047 2048 res_vi = vec_msum(vs, vs, vi); 2049// CHECK: @llvm.ppc.altivec.vmsumshm 2050// CHECK-LE: @llvm.ppc.altivec.vmsumshm 2051 2052 res_vui = vec_msum(vus, vus, vui); 2053// CHECK: @llvm.ppc.altivec.vmsumuhm 2054// CHECK-LE: @llvm.ppc.altivec.vmsumuhm 2055 2056 res_vi = vec_vmsummbm(vsc, vuc, vi); 2057// CHECK: @llvm.ppc.altivec.vmsummbm 2058// CHECK-LE: @llvm.ppc.altivec.vmsummbm 2059 2060 res_vui = vec_vmsumubm(vuc, vuc, vui); 2061// CHECK: @llvm.ppc.altivec.vmsumubm 2062// CHECK-LE: @llvm.ppc.altivec.vmsumubm 2063 2064 res_vi = vec_vmsumshm(vs, vs, vi); 2065// CHECK: @llvm.ppc.altivec.vmsumshm 2066// CHECK-LE: @llvm.ppc.altivec.vmsumshm 2067 2068 res_vui = vec_vmsumuhm(vus, vus, vui); 2069// CHECK: @llvm.ppc.altivec.vmsumuhm 2070// CHECK-LE: @llvm.ppc.altivec.vmsumuhm 2071 2072 /* vec_msums */ 2073 res_vi = vec_msums(vs, vs, vi); 2074// CHECK: @llvm.ppc.altivec.vmsumshs 2075// CHECK-LE: @llvm.ppc.altivec.vmsumshs 2076 2077 res_vui = vec_msums(vus, vus, vui); 2078// CHECK: @llvm.ppc.altivec.vmsumuhs 2079// CHECK-LE: @llvm.ppc.altivec.vmsumuhs 2080 2081 res_vi = vec_vmsumshs(vs, vs, vi); 2082// CHECK: @llvm.ppc.altivec.vmsumshs 2083// CHECK-LE: @llvm.ppc.altivec.vmsumshs 2084 2085 res_vui = vec_vmsumuhs(vus, vus, vui); 2086// CHECK: @llvm.ppc.altivec.vmsumuhs 2087// CHECK-LE: @llvm.ppc.altivec.vmsumuhs 2088 2089 /* vec_mtvscr */ 2090 vec_mtvscr(vsc); 2091// CHECK: @llvm.ppc.altivec.mtvscr 2092// CHECK-LE: @llvm.ppc.altivec.mtvscr 2093 2094 vec_mtvscr(vuc); 2095// CHECK: @llvm.ppc.altivec.mtvscr 2096// CHECK-LE: @llvm.ppc.altivec.mtvscr 2097 2098 vec_mtvscr(vbc); 2099// CHECK: @llvm.ppc.altivec.mtvscr 2100// CHECK-LE: @llvm.ppc.altivec.mtvscr 2101 2102 vec_mtvscr(vs); 2103// CHECK: @llvm.ppc.altivec.mtvscr 2104// CHECK-LE: @llvm.ppc.altivec.mtvscr 2105 2106 vec_mtvscr(vus); 2107// CHECK: @llvm.ppc.altivec.mtvscr 2108// CHECK-LE: @llvm.ppc.altivec.mtvscr 2109 2110 vec_mtvscr(vbs); 2111// CHECK: @llvm.ppc.altivec.mtvscr 2112// CHECK-LE: @llvm.ppc.altivec.mtvscr 2113 2114 vec_mtvscr(vp); 2115// CHECK: @llvm.ppc.altivec.mtvscr 2116// CHECK-LE: @llvm.ppc.altivec.mtvscr 2117 2118 vec_mtvscr(vi); 2119// CHECK: @llvm.ppc.altivec.mtvscr 2120// CHECK-LE: @llvm.ppc.altivec.mtvscr 2121 2122 vec_mtvscr(vui); 2123// CHECK: @llvm.ppc.altivec.mtvscr 2124// CHECK-LE: @llvm.ppc.altivec.mtvscr 2125 2126 vec_mtvscr(vbi); 2127// CHECK: @llvm.ppc.altivec.mtvscr 2128// CHECK-LE: @llvm.ppc.altivec.mtvscr 2129 2130 /* vec_mule */ 2131 res_vs = vec_mule(vsc, vsc); 2132// CHECK: @llvm.ppc.altivec.vmulesb 2133// CHECK-LE: @llvm.ppc.altivec.vmulosb 2134 2135 res_vus = vec_mule(vuc, vuc); 2136// CHECK: @llvm.ppc.altivec.vmuleub 2137// CHECK-LE: @llvm.ppc.altivec.vmuloub 2138 2139 res_vi = vec_mule(vs, vs); 2140// CHECK: @llvm.ppc.altivec.vmulesh 2141// CHECK-LE: @llvm.ppc.altivec.vmulosh 2142 2143 res_vui = vec_mule(vus, vus); 2144// CHECK: @llvm.ppc.altivec.vmuleuh 2145// CHECK-LE: @llvm.ppc.altivec.vmulouh 2146 2147 res_vs = vec_vmulesb(vsc, vsc); 2148// CHECK: @llvm.ppc.altivec.vmulesb 2149// CHECK-LE: @llvm.ppc.altivec.vmulosb 2150 2151 res_vus = vec_vmuleub(vuc, vuc); 2152// CHECK: @llvm.ppc.altivec.vmuleub 2153// CHECK-LE: @llvm.ppc.altivec.vmuloub 2154 2155 res_vi = vec_vmulesh(vs, vs); 2156// CHECK: @llvm.ppc.altivec.vmulesh 2157// CHECK-LE: @llvm.ppc.altivec.vmulosh 2158 2159 res_vui = vec_vmuleuh(vus, vus); 2160// CHECK: @llvm.ppc.altivec.vmuleuh 2161// CHECK-LE: @llvm.ppc.altivec.vmulouh 2162 2163 /* vec_mulo */ 2164 res_vs = vec_mulo(vsc, vsc); 2165// CHECK: @llvm.ppc.altivec.vmulosb 2166// CHECK-LE: @llvm.ppc.altivec.vmulesb 2167 2168 res_vus = vec_mulo(vuc, vuc); 2169// CHECK: @llvm.ppc.altivec.vmuloub 2170// CHECK-LE: @llvm.ppc.altivec.vmuleub 2171 2172 res_vi = vec_mulo(vs, vs); 2173// CHECK: @llvm.ppc.altivec.vmulosh 2174// CHECK-LE: @llvm.ppc.altivec.vmulesh 2175 2176 res_vui = vec_mulo(vus, vus); 2177// CHECK: @llvm.ppc.altivec.vmulouh 2178// CHECK-LE: @llvm.ppc.altivec.vmuleuh 2179 2180 res_vs = vec_vmulosb(vsc, vsc); 2181// CHECK: @llvm.ppc.altivec.vmulosb 2182// CHECK-LE: @llvm.ppc.altivec.vmulesb 2183 2184 res_vus = vec_vmuloub(vuc, vuc); 2185// CHECK: @llvm.ppc.altivec.vmuloub 2186// CHECK-LE: @llvm.ppc.altivec.vmuleub 2187 2188 res_vi = vec_vmulosh(vs, vs); 2189// CHECK: @llvm.ppc.altivec.vmulosh 2190// CHECK-LE: @llvm.ppc.altivec.vmulesh 2191 2192 res_vui = vec_vmulouh(vus, vus); 2193// CHECK: @llvm.ppc.altivec.vmulouh 2194// CHECK-LE: @llvm.ppc.altivec.vmuleuh 2195 2196 /* vec_nmsub */ 2197 res_vf = vec_nmsub(vf, vf, vf); 2198// CHECK: @llvm.ppc.altivec.vnmsubfp 2199// CHECK-LE: @llvm.ppc.altivec.vnmsubfp 2200 2201 res_vf = vec_vnmsubfp(vf, vf, vf); 2202// CHECK: @llvm.ppc.altivec.vnmsubfp 2203// CHECK-LE: @llvm.ppc.altivec.vnmsubfp 2204 2205 /* vec_nor */ 2206 res_vsc = vec_nor(vsc, vsc); 2207// CHECK: or <16 x i8> 2208// CHECK: xor <16 x i8> 2209// CHECK-LE: or <16 x i8> 2210// CHECK-LE: xor <16 x i8> 2211 2212 res_vuc = vec_nor(vuc, vuc); 2213// CHECK: or <16 x i8> 2214// CHECK: xor <16 x i8> 2215// CHECK-LE: or <16 x i8> 2216// CHECK-LE: xor <16 x i8> 2217 2218 res_vuc = vec_nor(vbc, vbc); 2219// CHECK: or <16 x i8> 2220// CHECK: xor <16 x i8> 2221// CHECK-LE: or <16 x i8> 2222// CHECK-LE: xor <16 x i8> 2223 2224 res_vs = vec_nor(vs, vs); 2225// CHECK: or <8 x i16> 2226// CHECK: xor <8 x i16> 2227// CHECK-LE: or <8 x i16> 2228// CHECK-LE: xor <8 x i16> 2229 2230 res_vus = vec_nor(vus, vus); 2231// CHECK: or <8 x i16> 2232// CHECK: xor <8 x i16> 2233// CHECK-LE: or <8 x i16> 2234// CHECK-LE: xor <8 x i16> 2235 2236 res_vus = vec_nor(vbs, vbs); 2237// CHECK: or <8 x i16> 2238// CHECK: xor <8 x i16> 2239// CHECK-LE: or <8 x i16> 2240// CHECK-LE: xor <8 x i16> 2241 2242 res_vi = vec_nor(vi, vi); 2243// CHECK: or <4 x i32> 2244// CHECK: xor <4 x i32> 2245// CHECK-LE: or <4 x i32> 2246// CHECK-LE: xor <4 x i32> 2247 2248 res_vui = vec_nor(vui, vui); 2249// CHECK: or <4 x i32> 2250// CHECK: xor <4 x i32> 2251// CHECK-LE: or <4 x i32> 2252// CHECK-LE: xor <4 x i32> 2253 2254 res_vui = vec_nor(vbi, vbi); 2255// CHECK: or <4 x i32> 2256// CHECK: xor <4 x i32> 2257// CHECK-LE: or <4 x i32> 2258// CHECK-LE: xor <4 x i32> 2259 2260 res_vf = vec_nor(vf, vf); 2261// CHECK: or <4 x i32> 2262// CHECK: xor <4 x i32> 2263// CHECK-LE: or <4 x i32> 2264// CHECK-LE: xor <4 x i32> 2265 2266 res_vsc = vec_vnor(vsc, vsc); 2267// CHECK: or <16 x i8> 2268// CHECK: xor <16 x i8> 2269// CHECK-LE: or <16 x i8> 2270// CHECK-LE: xor <16 x i8> 2271 2272 res_vuc = vec_vnor(vuc, vuc); 2273// CHECK: or <16 x i8> 2274// CHECK: xor <16 x i8> 2275// CHECK-LE: or <16 x i8> 2276// CHECK-LE: xor <16 x i8> 2277 2278 res_vuc = vec_vnor(vbc, vbc); 2279// CHECK: or <16 x i8> 2280// CHECK: xor <16 x i8> 2281// CHECK-LE: or <16 x i8> 2282// CHECK-LE: xor <16 x i8> 2283 2284 res_vs = vec_vnor(vs, vs); 2285// CHECK: or <8 x i16> 2286// CHECK: xor <8 x i16> 2287// CHECK-LE: or <8 x i16> 2288// CHECK-LE: xor <8 x i16> 2289 2290 res_vus = vec_vnor(vus, vus); 2291// CHECK: or <8 x i16> 2292// CHECK: xor <8 x i16> 2293// CHECK-LE: or <8 x i16> 2294// CHECK-LE: xor <8 x i16> 2295 2296 res_vus = vec_vnor(vbs, vbs); 2297// CHECK: or <8 x i16> 2298// CHECK: xor <8 x i16> 2299// CHECK-LE: or <8 x i16> 2300// CHECK-LE: xor <8 x i16> 2301 2302 res_vi = vec_vnor(vi, vi); 2303// CHECK: or <4 x i32> 2304// CHECK: xor <4 x i32> 2305// CHECK-LE: or <4 x i32> 2306// CHECK-LE: xor <4 x i32> 2307 2308 res_vui = vec_vnor(vui, vui); 2309// CHECK: or <4 x i32> 2310// CHECK: xor <4 x i32> 2311// CHECK-LE: or <4 x i32> 2312// CHECK-LE: xor <4 x i32> 2313 2314 res_vui = vec_vnor(vbi, vbi); 2315// CHECK: or <4 x i32> 2316// CHECK: xor <4 x i32> 2317// CHECK-LE: or <4 x i32> 2318// CHECK-LE: xor <4 x i32> 2319 2320 res_vf = vec_vnor(vf, vf); 2321// CHECK: or <4 x i32> 2322// CHECK: xor <4 x i32> 2323// CHECK-LE: or <4 x i32> 2324// CHECK-LE: xor <4 x i32> 2325 2326 /* vec_or */ 2327 res_vsc = vec_or(vsc, vsc); 2328// CHECK: or <16 x i8> 2329// CHECK-LE: or <16 x i8> 2330 2331 res_vsc = vec_or(vbc, vsc); 2332// CHECK: or <16 x i8> 2333// CHECK-LE: or <16 x i8> 2334 2335 res_vsc = vec_or(vsc, vbc); 2336// CHECK: or <16 x i8> 2337// CHECK-LE: or <16 x i8> 2338 2339 res_vuc = vec_or(vuc, vuc); 2340// CHECK: or <16 x i8> 2341// CHECK-LE: or <16 x i8> 2342 2343 res_vuc = vec_or(vbc, vuc); 2344// CHECK: or <16 x i8> 2345// CHECK-LE: or <16 x i8> 2346 2347 res_vuc = vec_or(vuc, vbc); 2348// CHECK: or <16 x i8> 2349// CHECK-LE: or <16 x i8> 2350 2351 res_vbc = vec_or(vbc, vbc); 2352// CHECK: or <16 x i8> 2353// CHECK-LE: or <16 x i8> 2354 2355 res_vs = vec_or(vs, vs); 2356// CHECK: or <8 x i16> 2357// CHECK-LE: or <8 x i16> 2358 2359 res_vs = vec_or(vbs, vs); 2360// CHECK: or <8 x i16> 2361// CHECK-LE: or <8 x i16> 2362 2363 res_vs = vec_or(vs, vbs); 2364// CHECK: or <8 x i16> 2365// CHECK-LE: or <8 x i16> 2366 2367 res_vus = vec_or(vus, vus); 2368// CHECK: or <8 x i16> 2369// CHECK-LE: or <8 x i16> 2370 2371 res_vus = vec_or(vbs, vus); 2372// CHECK: or <8 x i16> 2373// CHECK-LE: or <8 x i16> 2374 2375 res_vus = vec_or(vus, vbs); 2376// CHECK: or <8 x i16> 2377// CHECK-LE: or <8 x i16> 2378 2379 res_vbs = vec_or(vbs, vbs); 2380// CHECK: or <8 x i16> 2381// CHECK-LE: or <8 x i16> 2382 2383 res_vi = vec_or(vi, vi); 2384// CHECK: or <4 x i32> 2385// CHECK-LE: or <4 x i32> 2386 2387 res_vi = vec_or(vbi, vi); 2388// CHECK: or <4 x i32> 2389// CHECK-LE: or <4 x i32> 2390 2391 res_vi = vec_or(vi, vbi); 2392// CHECK: or <4 x i32> 2393// CHECK-LE: or <4 x i32> 2394 2395 res_vui = vec_or(vui, vui); 2396// CHECK: or <4 x i32> 2397// CHECK-LE: or <4 x i32> 2398 2399 res_vui = vec_or(vbi, vui); 2400// CHECK: or <4 x i32> 2401// CHECK-LE: or <4 x i32> 2402 2403 res_vui = vec_or(vui, vbi); 2404// CHECK: or <4 x i32> 2405// CHECK-LE: or <4 x i32> 2406 2407 res_vbi = vec_or(vbi, vbi); 2408// CHECK: or <4 x i32> 2409// CHECK-LE: or <4 x i32> 2410 2411 res_vf = vec_or(vf, vf); 2412// CHECK: or <4 x i32> 2413// CHECK-LE: or <4 x i32> 2414 2415 res_vf = vec_or(vbi, vf); 2416// CHECK: or <4 x i32> 2417// CHECK-LE: or <4 x i32> 2418 2419 res_vf = vec_or(vf, vbi); 2420// CHECK: or <4 x i32> 2421// CHECK-LE: or <4 x i32> 2422 2423 res_vsc = vec_vor(vsc, vsc); 2424// CHECK: or <16 x i8> 2425// CHECK-LE: or <16 x i8> 2426 2427 res_vsc = vec_vor(vbc, vsc); 2428// CHECK: or <16 x i8> 2429// CHECK-LE: or <16 x i8> 2430 2431 res_vsc = vec_vor(vsc, vbc); 2432// CHECK: or <16 x i8> 2433// CHECK-LE: or <16 x i8> 2434 2435 res_vuc = vec_vor(vuc, vuc); 2436// CHECK: or <16 x i8> 2437// CHECK-LE: or <16 x i8> 2438 2439 res_vuc = vec_vor(vbc, vuc); 2440// CHECK: or <16 x i8> 2441// CHECK-LE: or <16 x i8> 2442 2443 res_vuc = vec_vor(vuc, vbc); 2444// CHECK: or <16 x i8> 2445// CHECK-LE: or <16 x i8> 2446 2447 res_vbc = vec_vor(vbc, vbc); 2448// CHECK: or <16 x i8> 2449// CHECK-LE: or <16 x i8> 2450 2451 res_vs = vec_vor(vs, vs); 2452// CHECK: or <8 x i16> 2453// CHECK-LE: or <8 x i16> 2454 2455 res_vs = vec_vor(vbs, vs); 2456// CHECK: or <8 x i16> 2457// CHECK-LE: or <8 x i16> 2458 2459 res_vs = vec_vor(vs, vbs); 2460// CHECK: or <8 x i16> 2461// CHECK-LE: or <8 x i16> 2462 2463 res_vus = vec_vor(vus, vus); 2464// CHECK: or <8 x i16> 2465// CHECK-LE: or <8 x i16> 2466 2467 res_vus = vec_vor(vbs, vus); 2468// CHECK: or <8 x i16> 2469// CHECK-LE: or <8 x i16> 2470 2471 res_vus = vec_vor(vus, vbs); 2472// CHECK: or <8 x i16> 2473// CHECK-LE: or <8 x i16> 2474 2475 res_vbs = vec_vor(vbs, vbs); 2476// CHECK: or <8 x i16> 2477// CHECK-LE: or <8 x i16> 2478 2479 res_vi = vec_vor(vi, vi); 2480// CHECK: or <4 x i32> 2481// CHECK-LE: or <4 x i32> 2482 2483 res_vi = vec_vor(vbi, vi); 2484// CHECK: or <4 x i32> 2485// CHECK-LE: or <4 x i32> 2486 2487 res_vi = vec_vor(vi, vbi); 2488// CHECK: or <4 x i32> 2489// CHECK-LE: or <4 x i32> 2490 2491 res_vui = vec_vor(vui, vui); 2492// CHECK: or <4 x i32> 2493// CHECK-LE: or <4 x i32> 2494 2495 res_vui = vec_vor(vbi, vui); 2496// CHECK: or <4 x i32> 2497// CHECK-LE: or <4 x i32> 2498 2499 res_vui = vec_vor(vui, vbi); 2500// CHECK: or <4 x i32> 2501// CHECK-LE: or <4 x i32> 2502 2503 res_vbi = vec_vor(vbi, vbi); 2504// CHECK: or <4 x i32> 2505// CHECK-LE: or <4 x i32> 2506 2507 res_vf = vec_vor(vf, vf); 2508// CHECK: or <4 x i32> 2509// CHECK-LE: or <4 x i32> 2510 2511 res_vf = vec_vor(vbi, vf); 2512// CHECK: or <4 x i32> 2513// CHECK-LE: or <4 x i32> 2514 2515 res_vf = vec_vor(vf, vbi); 2516// CHECK: or <4 x i32> 2517// CHECK-LE: or <4 x i32> 2518 2519 /* vec_pack */ 2520 res_vsc = vec_pack(vs, vs); 2521// CHECK: @llvm.ppc.altivec.vperm 2522// CHECK-LE: @llvm.ppc.altivec.vperm 2523 2524 res_vuc = vec_pack(vus, vus); 2525// CHECK: @llvm.ppc.altivec.vperm 2526// CHECK-LE: @llvm.ppc.altivec.vperm 2527 2528 res_vbc = vec_pack(vbs, vbs); 2529// CHECK: @llvm.ppc.altivec.vperm 2530// CHECK-LE: @llvm.ppc.altivec.vperm 2531 2532 res_vs = vec_pack(vi, vi); 2533// CHECK: @llvm.ppc.altivec.vperm 2534// CHECK-LE: @llvm.ppc.altivec.vperm 2535 2536 res_vus = vec_pack(vui, vui); 2537// CHECK: @llvm.ppc.altivec.vperm 2538// CHECK-LE: @llvm.ppc.altivec.vperm 2539 2540 res_vbs = vec_pack(vbi, vbi); 2541// CHECK: @llvm.ppc.altivec.vperm 2542// CHECK-LE: @llvm.ppc.altivec.vperm 2543 2544 res_vsc = vec_vpkuhum(vs, vs); 2545// CHECK: @llvm.ppc.altivec.vperm 2546// CHECK-LE: @llvm.ppc.altivec.vperm 2547 2548 res_vuc = vec_vpkuhum(vus, vus); 2549// CHECK: @llvm.ppc.altivec.vperm 2550// CHECK-LE: @llvm.ppc.altivec.vperm 2551 2552 res_vbc = vec_vpkuhum(vbs, vbs); 2553// CHECK: @llvm.ppc.altivec.vperm 2554// CHECK-LE: @llvm.ppc.altivec.vperm 2555 2556 res_vs = vec_vpkuwum(vi, vi); 2557// CHECK: @llvm.ppc.altivec.vperm 2558// CHECK-LE: @llvm.ppc.altivec.vperm 2559 2560 res_vus = vec_vpkuwum(vui, vui); 2561// CHECK: @llvm.ppc.altivec.vperm 2562// CHECK-LE: @llvm.ppc.altivec.vperm 2563 2564 res_vbs = vec_vpkuwum(vbi, vbi); 2565// CHECK: @llvm.ppc.altivec.vperm 2566// CHECK-LE: @llvm.ppc.altivec.vperm 2567 2568 /* vec_packpx */ 2569 res_vp = vec_packpx(vui, vui); 2570// CHECK: @llvm.ppc.altivec.vpkpx 2571// CHECK-LE: @llvm.ppc.altivec.vpkpx 2572 2573 res_vp = vec_vpkpx(vui, vui); 2574// CHECK: @llvm.ppc.altivec.vpkpx 2575// CHECK-LE: @llvm.ppc.altivec.vpkpx 2576 2577 /* vec_packs */ 2578 res_vsc = vec_packs(vs, vs); 2579// CHECK: @llvm.ppc.altivec.vpkshss 2580// CHECK-LE: @llvm.ppc.altivec.vpkshss 2581 2582 res_vuc = vec_packs(vus, vus); 2583// CHECK: @llvm.ppc.altivec.vpkuhus 2584// CHECK-LE: @llvm.ppc.altivec.vpkuhus 2585 2586 res_vs = vec_packs(vi, vi); 2587// CHECK: @llvm.ppc.altivec.vpkswss 2588// CHECK-LE: @llvm.ppc.altivec.vpkswss 2589 2590 res_vus = vec_packs(vui, vui); 2591// CHECK: @llvm.ppc.altivec.vpkuwus 2592// CHECK-LE: @llvm.ppc.altivec.vpkuwus 2593 2594 res_vsc = vec_vpkshss(vs, vs); 2595// CHECK: @llvm.ppc.altivec.vpkshss 2596// CHECK-LE: @llvm.ppc.altivec.vpkshss 2597 2598 res_vuc = vec_vpkuhus(vus, vus); 2599// CHECK: @llvm.ppc.altivec.vpkuhus 2600// CHECK-LE: @llvm.ppc.altivec.vpkuhus 2601 2602 res_vs = vec_vpkswss(vi, vi); 2603// CHECK: @llvm.ppc.altivec.vpkswss 2604// CHECK-LE: @llvm.ppc.altivec.vpkswss 2605 2606 res_vus = vec_vpkuwus(vui, vui); 2607// CHECK: @llvm.ppc.altivec.vpkuwus 2608// CHECK-LE: @llvm.ppc.altivec.vpkuwus 2609 2610 /* vec_packsu */ 2611 res_vuc = vec_packsu(vs, vs); 2612// CHECK: @llvm.ppc.altivec.vpkshus 2613// CHECK-LE: @llvm.ppc.altivec.vpkshus 2614 2615 res_vuc = vec_packsu(vus, vus); 2616// CHECK: @llvm.ppc.altivec.vpkuhus 2617// CHECK-LE: @llvm.ppc.altivec.vpkuhus 2618 2619 res_vus = vec_packsu(vi, vi); 2620// CHECK: @llvm.ppc.altivec.vpkswus 2621// CHECK-LE: @llvm.ppc.altivec.vpkswus 2622 2623 res_vus = vec_packsu(vui, vui); 2624// CHECK: @llvm.ppc.altivec.vpkuwus 2625// CHECK-LE: @llvm.ppc.altivec.vpkuwus 2626 2627 res_vuc = vec_vpkshus(vs, vs); 2628// CHECK: @llvm.ppc.altivec.vpkshus 2629// CHECK-LE: @llvm.ppc.altivec.vpkshus 2630 2631 res_vuc = vec_vpkshus(vus, vus); 2632// CHECK: @llvm.ppc.altivec.vpkuhus 2633// CHECK-LE: @llvm.ppc.altivec.vpkuhus 2634 2635 res_vus = vec_vpkswus(vi, vi); 2636// CHECK: @llvm.ppc.altivec.vpkswus 2637// CHECK-LE: @llvm.ppc.altivec.vpkswus 2638 2639 res_vus = vec_vpkswus(vui, vui); 2640// CHECK: @llvm.ppc.altivec.vpkuwus 2641// CHECK-LE: @llvm.ppc.altivec.vpkuwus 2642 2643 /* vec_perm */ 2644 res_vsc = vec_perm(vsc, vsc, vuc); 2645// CHECK: @llvm.ppc.altivec.vperm 2646// CHECK-LE: @llvm.ppc.altivec.vperm 2647 2648 res_vuc = vec_perm(vuc, vuc, vuc); 2649// CHECK: @llvm.ppc.altivec.vperm 2650// CHECK-LE: @llvm.ppc.altivec.vperm 2651 2652 res_vbc = vec_perm(vbc, vbc, vuc); 2653// CHECK: @llvm.ppc.altivec.vperm 2654// CHECK-LE: @llvm.ppc.altivec.vperm 2655 2656 res_vs = vec_perm(vs, vs, vuc); 2657// CHECK: @llvm.ppc.altivec.vperm 2658// CHECK-LE: @llvm.ppc.altivec.vperm 2659 2660 res_vus = vec_perm(vus, vus, vuc); 2661// CHECK: @llvm.ppc.altivec.vperm 2662// CHECK-LE: @llvm.ppc.altivec.vperm 2663 2664 res_vbs = vec_perm(vbs, vbs, vuc); 2665// CHECK: @llvm.ppc.altivec.vperm 2666// CHECK-LE: @llvm.ppc.altivec.vperm 2667 2668 res_vp = vec_perm(vp, vp, vuc); 2669// CHECK: @llvm.ppc.altivec.vperm 2670// CHECK-LE: @llvm.ppc.altivec.vperm 2671 2672 res_vi = vec_perm(vi, vi, vuc); 2673// CHECK: @llvm.ppc.altivec.vperm 2674// CHECK-LE: @llvm.ppc.altivec.vperm 2675 2676 res_vui = vec_perm(vui, vui, vuc); 2677// CHECK: @llvm.ppc.altivec.vperm 2678// CHECK-LE: @llvm.ppc.altivec.vperm 2679 2680 res_vbi = vec_perm(vbi, vbi, vuc); 2681// CHECK: @llvm.ppc.altivec.vperm 2682// CHECK-LE: @llvm.ppc.altivec.vperm 2683 2684 res_vf = vec_perm(vf, vf, vuc); 2685// CHECK: @llvm.ppc.altivec.vperm 2686// CHECK-LE: @llvm.ppc.altivec.vperm 2687 2688 res_vsc = vec_vperm(vsc, vsc, vuc); 2689// CHECK: @llvm.ppc.altivec.vperm 2690// CHECK-LE: @llvm.ppc.altivec.vperm 2691 2692 res_vuc = vec_vperm(vuc, vuc, vuc); 2693// CHECK: @llvm.ppc.altivec.vperm 2694// CHECK-LE: @llvm.ppc.altivec.vperm 2695 2696 res_vbc = vec_vperm(vbc, vbc, vuc); 2697// CHECK: @llvm.ppc.altivec.vperm 2698// CHECK-LE: @llvm.ppc.altivec.vperm 2699 2700 res_vs = vec_vperm(vs, vs, vuc); 2701// CHECK: @llvm.ppc.altivec.vperm 2702// CHECK-LE: @llvm.ppc.altivec.vperm 2703 2704 res_vus = vec_vperm(vus, vus, vuc); 2705// CHECK: @llvm.ppc.altivec.vperm 2706// CHECK-LE: @llvm.ppc.altivec.vperm 2707 2708 res_vbs = vec_vperm(vbs, vbs, vuc); 2709// CHECK: @llvm.ppc.altivec.vperm 2710// CHECK-LE: @llvm.ppc.altivec.vperm 2711 2712 res_vp = vec_vperm(vp, vp, vuc); 2713// CHECK: @llvm.ppc.altivec.vperm 2714// CHECK-LE: @llvm.ppc.altivec.vperm 2715 2716 res_vi = vec_vperm(vi, vi, vuc); 2717// CHECK: @llvm.ppc.altivec.vperm 2718// CHECK-LE: @llvm.ppc.altivec.vperm 2719 2720 res_vui = vec_vperm(vui, vui, vuc); 2721// CHECK: @llvm.ppc.altivec.vperm 2722// CHECK-LE: @llvm.ppc.altivec.vperm 2723 2724 res_vbi = vec_vperm(vbi, vbi, vuc); 2725// CHECK: @llvm.ppc.altivec.vperm 2726// CHECK-LE: @llvm.ppc.altivec.vperm 2727 2728 res_vf = vec_vperm(vf, vf, vuc); 2729// CHECK: @llvm.ppc.altivec.vperm 2730// CHECK-LE: @llvm.ppc.altivec.vperm 2731 2732 /* vec_re */ 2733 res_vf = vec_re(vf); 2734// CHECK: @llvm.ppc.altivec.vrefp 2735// CHECK-LE: @llvm.ppc.altivec.vrefp 2736 2737 res_vf = vec_vrefp(vf); 2738// CHECK: @llvm.ppc.altivec.vrefp 2739// CHECK-LE: @llvm.ppc.altivec.vrefp 2740 2741 /* vec_rl */ 2742 res_vsc = vec_rl(vsc, vuc); 2743// CHECK: @llvm.ppc.altivec.vrlb 2744// CHECK-LE: @llvm.ppc.altivec.vrlb 2745 2746 res_vuc = vec_rl(vuc, vuc); 2747// CHECK: @llvm.ppc.altivec.vrlb 2748// CHECK-LE: @llvm.ppc.altivec.vrlb 2749 2750 res_vs = vec_rl(vs, vus); 2751// CHECK: @llvm.ppc.altivec.vrlh 2752// CHECK-LE: @llvm.ppc.altivec.vrlh 2753 2754 res_vus = vec_rl(vus, vus); 2755// CHECK: @llvm.ppc.altivec.vrlh 2756// CHECK-LE: @llvm.ppc.altivec.vrlh 2757 2758 res_vi = vec_rl(vi, vui); 2759// CHECK: @llvm.ppc.altivec.vrlw 2760// CHECK-LE: @llvm.ppc.altivec.vrlw 2761 2762 res_vui = vec_rl(vui, vui); 2763// CHECK: @llvm.ppc.altivec.vrlw 2764// CHECK-LE: @llvm.ppc.altivec.vrlw 2765 2766 res_vsc = vec_vrlb(vsc, vuc); 2767// CHECK: @llvm.ppc.altivec.vrlb 2768// CHECK-LE: @llvm.ppc.altivec.vrlb 2769 2770 res_vuc = vec_vrlb(vuc, vuc); 2771// CHECK: @llvm.ppc.altivec.vrlb 2772// CHECK-LE: @llvm.ppc.altivec.vrlb 2773 2774 res_vs = vec_vrlh(vs, vus); 2775// CHECK: @llvm.ppc.altivec.vrlh 2776// CHECK-LE: @llvm.ppc.altivec.vrlh 2777 2778 res_vus = vec_vrlh(vus, vus); 2779// CHECK: @llvm.ppc.altivec.vrlh 2780// CHECK-LE: @llvm.ppc.altivec.vrlh 2781 2782 res_vi = vec_vrlw(vi, vui); 2783// CHECK: @llvm.ppc.altivec.vrlw 2784// CHECK-LE: @llvm.ppc.altivec.vrlw 2785 2786 res_vui = vec_vrlw(vui, vui); 2787// CHECK: @llvm.ppc.altivec.vrlw 2788// CHECK-LE: @llvm.ppc.altivec.vrlw 2789 2790 /* vec_round */ 2791 res_vf = vec_round(vf); 2792// CHECK: @llvm.ppc.altivec.vrfin 2793// CHECK-LE: @llvm.ppc.altivec.vrfin 2794 2795 res_vf = vec_vrfin(vf); 2796// CHECK: @llvm.ppc.altivec.vrfin 2797// CHECK-LE: @llvm.ppc.altivec.vrfin 2798 2799 /* vec_rsqrte */ 2800 res_vf = vec_rsqrte(vf); 2801// CHECK: @llvm.ppc.altivec.vrsqrtefp 2802// CHECK-LE: @llvm.ppc.altivec.vrsqrtefp 2803 2804 res_vf = vec_vrsqrtefp(vf); 2805// CHECK: @llvm.ppc.altivec.vrsqrtefp 2806// CHECK-LE: @llvm.ppc.altivec.vrsqrtefp 2807 2808 /* vec_sel */ 2809 res_vsc = vec_sel(vsc, vsc, vuc); 2810// CHECK: xor <16 x i8> 2811// CHECK: and <16 x i8> 2812// CHECK: and <16 x i8> 2813// CHECK: or <16 x i8> 2814// CHECK-LE: xor <16 x i8> 2815// CHECK-LE: and <16 x i8> 2816// CHECK-LE: and <16 x i8> 2817// CHECK-LE: or <16 x i8> 2818 2819 res_vsc = vec_sel(vsc, vsc, vbc); 2820// CHECK: xor <16 x i8> 2821// CHECK: and <16 x i8> 2822// CHECK: and <16 x i8> 2823// CHECK: or <16 x i8> 2824// CHECK-LE: xor <16 x i8> 2825// CHECK-LE: and <16 x i8> 2826// CHECK-LE: and <16 x i8> 2827// CHECK-LE: or <16 x i8> 2828 2829 res_vuc = vec_sel(vuc, vuc, vuc); 2830// CHECK: xor <16 x i8> 2831// CHECK: and <16 x i8> 2832// CHECK: and <16 x i8> 2833// CHECK: or <16 x i8> 2834// CHECK-LE: xor <16 x i8> 2835// CHECK-LE: and <16 x i8> 2836// CHECK-LE: and <16 x i8> 2837// CHECK-LE: or <16 x i8> 2838 2839 res_vuc = vec_sel(vuc, vuc, vbc); 2840// CHECK: xor <16 x i8> 2841// CHECK: and <16 x i8> 2842// CHECK: and <16 x i8> 2843// CHECK: or <16 x i8> 2844// CHECK-LE: xor <16 x i8> 2845// CHECK-LE: and <16 x i8> 2846// CHECK-LE: and <16 x i8> 2847// CHECK-LE: or <16 x i8> 2848 2849 res_vbc = vec_sel(vbc, vbc, vuc); 2850// CHECK: xor <16 x i8> 2851// CHECK: and <16 x i8> 2852// CHECK: and <16 x i8> 2853// CHECK: or <16 x i8> 2854// CHECK-LE: xor <16 x i8> 2855// CHECK-LE: and <16 x i8> 2856// CHECK-LE: and <16 x i8> 2857// CHECK-LE: or <16 x i8> 2858 2859 res_vbc = vec_sel(vbc, vbc, vbc); 2860// CHECK: xor <16 x i8> 2861// CHECK: and <16 x i8> 2862// CHECK: and <16 x i8> 2863// CHECK: or <16 x i8> 2864// CHECK-LE: xor <16 x i8> 2865// CHECK-LE: and <16 x i8> 2866// CHECK-LE: and <16 x i8> 2867// CHECK-LE: or <16 x i8> 2868 2869 res_vs = vec_sel(vs, vs, vus); 2870// CHECK: xor <8 x i16> 2871// CHECK: and <8 x i16> 2872// CHECK: and <8 x i16> 2873// CHECK: or <8 x i16> 2874// CHECK-LE: xor <8 x i16> 2875// CHECK-LE: and <8 x i16> 2876// CHECK-LE: and <8 x i16> 2877// CHECK-LE: or <8 x i16> 2878 2879 res_vs = vec_sel(vs, vs, vbs); 2880// CHECK: xor <8 x i16> 2881// CHECK: and <8 x i16> 2882// CHECK: and <8 x i16> 2883// CHECK: or <8 x i16> 2884// CHECK-LE: xor <8 x i16> 2885// CHECK-LE: and <8 x i16> 2886// CHECK-LE: and <8 x i16> 2887// CHECK-LE: or <8 x i16> 2888 2889 res_vus = vec_sel(vus, vus, vus); 2890// CHECK: xor <8 x i16> 2891// CHECK: and <8 x i16> 2892// CHECK: and <8 x i16> 2893// CHECK: or <8 x i16> 2894// CHECK-LE: xor <8 x i16> 2895// CHECK-LE: and <8 x i16> 2896// CHECK-LE: and <8 x i16> 2897// CHECK-LE: or <8 x i16> 2898 2899 res_vus = vec_sel(vus, vus, vbs); 2900// CHECK: xor <8 x i16> 2901// CHECK: and <8 x i16> 2902// CHECK: and <8 x i16> 2903// CHECK: or <8 x i16> 2904// CHECK-LE: xor <8 x i16> 2905// CHECK-LE: and <8 x i16> 2906// CHECK-LE: and <8 x i16> 2907// CHECK-LE: or <8 x i16> 2908 2909 res_vbs = vec_sel(vbs, vbs, vus); 2910// CHECK: xor <8 x i16> 2911// CHECK: and <8 x i16> 2912// CHECK: and <8 x i16> 2913// CHECK: or <8 x i16> 2914// CHECK-LE: xor <8 x i16> 2915// CHECK-LE: and <8 x i16> 2916// CHECK-LE: and <8 x i16> 2917// CHECK-LE: or <8 x i16> 2918 2919 res_vbs = vec_sel(vbs, vbs, vbs); 2920// CHECK: xor <8 x i16> 2921// CHECK: and <8 x i16> 2922// CHECK: and <8 x i16> 2923// CHECK: or <8 x i16> 2924// CHECK-LE: xor <8 x i16> 2925// CHECK-LE: and <8 x i16> 2926// CHECK-LE: and <8 x i16> 2927// CHECK-LE: or <8 x i16> 2928 2929 res_vi = vec_sel(vi, vi, vui); 2930// CHECK: xor <4 x i32> 2931// CHECK: and <4 x i32> 2932// CHECK: and <4 x i32> 2933// CHECK: or <4 x i32> 2934// CHECK-LE: xor <4 x i32> 2935// CHECK-LE: and <4 x i32> 2936// CHECK-LE: and <4 x i32> 2937// CHECK-LE: or <4 x i32> 2938 2939 res_vi = vec_sel(vi, vi, vbi); 2940// CHECK: xor <4 x i32> 2941// CHECK: and <4 x i32> 2942// CHECK: and <4 x i32> 2943// CHECK: or <4 x i32> 2944// CHECK-LE: xor <4 x i32> 2945// CHECK-LE: and <4 x i32> 2946// CHECK-LE: and <4 x i32> 2947// CHECK-LE: or <4 x i32> 2948 2949 res_vui = vec_sel(vui, vui, vui); 2950// CHECK: xor <4 x i32> 2951// CHECK: and <4 x i32> 2952// CHECK: and <4 x i32> 2953// CHECK: or <4 x i32> 2954// CHECK-LE: xor <4 x i32> 2955// CHECK-LE: and <4 x i32> 2956// CHECK-LE: and <4 x i32> 2957// CHECK-LE: or <4 x i32> 2958 2959 res_vui = vec_sel(vui, vui, vbi); 2960// CHECK: xor <4 x i32> 2961// CHECK: and <4 x i32> 2962// CHECK: and <4 x i32> 2963// CHECK: or <4 x i32> 2964// CHECK-LE: xor <4 x i32> 2965// CHECK-LE: and <4 x i32> 2966// CHECK-LE: and <4 x i32> 2967// CHECK-LE: or <4 x i32> 2968 2969 res_vbi = vec_sel(vbi, vbi, vui); 2970// CHECK: xor <4 x i32> 2971// CHECK: and <4 x i32> 2972// CHECK: and <4 x i32> 2973// CHECK: or <4 x i32> 2974// CHECK-LE: xor <4 x i32> 2975// CHECK-LE: and <4 x i32> 2976// CHECK-LE: and <4 x i32> 2977// CHECK-LE: or <4 x i32> 2978 2979 res_vbi = vec_sel(vbi, vbi, vbi); 2980// CHECK: xor <4 x i32> 2981// CHECK: and <4 x i32> 2982// CHECK: and <4 x i32> 2983// CHECK: or <4 x i32> 2984// CHECK-LE: xor <4 x i32> 2985// CHECK-LE: and <4 x i32> 2986// CHECK-LE: and <4 x i32> 2987// CHECK-LE: or <4 x i32> 2988 2989 res_vf = vec_sel(vf, vf, vui); 2990// CHECK: xor <4 x i32> 2991// CHECK: and <4 x i32> 2992// CHECK: and <4 x i32> 2993// CHECK: or <4 x i32> 2994// CHECK-LE: xor <4 x i32> 2995// CHECK-LE: and <4 x i32> 2996// CHECK-LE: and <4 x i32> 2997// CHECK-LE: or <4 x i32> 2998 2999 res_vf = vec_sel(vf, vf, vbi); 3000// CHECK: xor <4 x i32> 3001// CHECK: and <4 x i32> 3002// CHECK: and <4 x i32> 3003// CHECK: or <4 x i32> 3004// CHECK-LE: xor <4 x i32> 3005// CHECK-LE: and <4 x i32> 3006// CHECK-LE: and <4 x i32> 3007// CHECK-LE: or <4 x i32> 3008 3009 res_vsc = vec_vsel(vsc, vsc, vuc); 3010// CHECK: xor <16 x i8> 3011// CHECK: and <16 x i8> 3012// CHECK: and <16 x i8> 3013// CHECK: or <16 x i8> 3014// CHECK-LE: xor <16 x i8> 3015// CHECK-LE: and <16 x i8> 3016// CHECK-LE: and <16 x i8> 3017// CHECK-LE: or <16 x i8> 3018 3019 res_vsc = vec_vsel(vsc, vsc, vbc); 3020// CHECK: xor <16 x i8> 3021// CHECK: and <16 x i8> 3022// CHECK: and <16 x i8> 3023// CHECK: or <16 x i8> 3024// CHECK-LE: xor <16 x i8> 3025// CHECK-LE: and <16 x i8> 3026// CHECK-LE: and <16 x i8> 3027// CHECK-LE: or <16 x i8> 3028 3029 res_vuc = vec_vsel(vuc, vuc, vuc); 3030// CHECK: xor <16 x i8> 3031// CHECK: and <16 x i8> 3032// CHECK: and <16 x i8> 3033// CHECK: or <16 x i8> 3034// CHECK-LE: xor <16 x i8> 3035// CHECK-LE: and <16 x i8> 3036// CHECK-LE: and <16 x i8> 3037// CHECK-LE: or <16 x i8> 3038 3039 res_vuc = vec_vsel(vuc, vuc, vbc); 3040// CHECK: xor <16 x i8> 3041// CHECK: and <16 x i8> 3042// CHECK: and <16 x i8> 3043// CHECK: or <16 x i8> 3044// CHECK-LE: xor <16 x i8> 3045// CHECK-LE: and <16 x i8> 3046// CHECK-LE: and <16 x i8> 3047// CHECK-LE: or <16 x i8> 3048 3049 res_vbc = vec_vsel(vbc, vbc, vuc); 3050// CHECK: xor <16 x i8> 3051// CHECK: and <16 x i8> 3052// CHECK: and <16 x i8> 3053// CHECK: or <16 x i8> 3054// CHECK-LE: xor <16 x i8> 3055// CHECK-LE: and <16 x i8> 3056// CHECK-LE: and <16 x i8> 3057// CHECK-LE: or <16 x i8> 3058 3059 res_vbc = vec_vsel(vbc, vbc, vbc); 3060// CHECK: xor <16 x i8> 3061// CHECK: and <16 x i8> 3062// CHECK: and <16 x i8> 3063// CHECK: or <16 x i8> 3064// CHECK-LE: xor <16 x i8> 3065// CHECK-LE: and <16 x i8> 3066// CHECK-LE: and <16 x i8> 3067// CHECK-LE: or <16 x i8> 3068 3069 res_vs = vec_vsel(vs, vs, vus); 3070// CHECK: xor <8 x i16> 3071// CHECK: and <8 x i16> 3072// CHECK: and <8 x i16> 3073// CHECK: or <8 x i16> 3074// CHECK-LE: xor <8 x i16> 3075// CHECK-LE: and <8 x i16> 3076// CHECK-LE: and <8 x i16> 3077// CHECK-LE: or <8 x i16> 3078 3079 res_vs = vec_vsel(vs, vs, vbs); 3080// CHECK: xor <8 x i16> 3081// CHECK: and <8 x i16> 3082// CHECK: and <8 x i16> 3083// CHECK: or <8 x i16> 3084// CHECK-LE: xor <8 x i16> 3085// CHECK-LE: and <8 x i16> 3086// CHECK-LE: and <8 x i16> 3087// CHECK-LE: or <8 x i16> 3088 3089 res_vus = vec_vsel(vus, vus, vus); 3090// CHECK: xor <8 x i16> 3091// CHECK: and <8 x i16> 3092// CHECK: and <8 x i16> 3093// CHECK: or <8 x i16> 3094// CHECK-LE: xor <8 x i16> 3095// CHECK-LE: and <8 x i16> 3096// CHECK-LE: and <8 x i16> 3097// CHECK-LE: or <8 x i16> 3098 3099 res_vus = vec_vsel(vus, vus, vbs); 3100// CHECK: xor <8 x i16> 3101// CHECK: and <8 x i16> 3102// CHECK: and <8 x i16> 3103// CHECK: or <8 x i16> 3104// CHECK-LE: xor <8 x i16> 3105// CHECK-LE: and <8 x i16> 3106// CHECK-LE: and <8 x i16> 3107// CHECK-LE: or <8 x i16> 3108 3109 res_vbs = vec_vsel(vbs, vbs, vus); 3110// CHECK: xor <8 x i16> 3111// CHECK: and <8 x i16> 3112// CHECK: and <8 x i16> 3113// CHECK: or <8 x i16> 3114// CHECK-LE: xor <8 x i16> 3115// CHECK-LE: and <8 x i16> 3116// CHECK-LE: and <8 x i16> 3117// CHECK-LE: or <8 x i16> 3118 3119 res_vbs = vec_vsel(vbs, vbs, vbs); 3120// CHECK: xor <8 x i16> 3121// CHECK: and <8 x i16> 3122// CHECK: and <8 x i16> 3123// CHECK: or <8 x i16> 3124// CHECK-LE: xor <8 x i16> 3125// CHECK-LE: and <8 x i16> 3126// CHECK-LE: and <8 x i16> 3127// CHECK-LE: or <8 x i16> 3128 3129 res_vi = vec_vsel(vi, vi, vui); 3130// CHECK: xor <4 x i32> 3131// CHECK: and <4 x i32> 3132// CHECK: and <4 x i32> 3133// CHECK: or <4 x i32> 3134// CHECK-LE: xor <4 x i32> 3135// CHECK-LE: and <4 x i32> 3136// CHECK-LE: and <4 x i32> 3137// CHECK-LE: or <4 x i32> 3138 3139 res_vi = vec_vsel(vi, vi, vbi); 3140// CHECK: xor <4 x i32> 3141// CHECK: and <4 x i32> 3142// CHECK: and <4 x i32> 3143// CHECK: or <4 x i32> 3144// CHECK-LE: xor <4 x i32> 3145// CHECK-LE: and <4 x i32> 3146// CHECK-LE: and <4 x i32> 3147// CHECK-LE: or <4 x i32> 3148 3149 res_vui = vec_vsel(vui, vui, vui); 3150// CHECK: xor <4 x i32> 3151// CHECK: and <4 x i32> 3152// CHECK: and <4 x i32> 3153// CHECK: or <4 x i32> 3154// CHECK-LE: xor <4 x i32> 3155// CHECK-LE: and <4 x i32> 3156// CHECK-LE: and <4 x i32> 3157// CHECK-LE: or <4 x i32> 3158 3159 res_vui = vec_vsel(vui, vui, vbi); 3160// CHECK: xor <4 x i32> 3161// CHECK: and <4 x i32> 3162// CHECK: and <4 x i32> 3163// CHECK: or <4 x i32> 3164// CHECK-LE: xor <4 x i32> 3165// CHECK-LE: and <4 x i32> 3166// CHECK-LE: and <4 x i32> 3167// CHECK-LE: or <4 x i32> 3168 3169 res_vbi = vec_vsel(vbi, vbi, vui); 3170// CHECK: xor <4 x i32> 3171// CHECK: and <4 x i32> 3172// CHECK: and <4 x i32> 3173// CHECK: or <4 x i32> 3174// CHECK-LE: xor <4 x i32> 3175// CHECK-LE: and <4 x i32> 3176// CHECK-LE: and <4 x i32> 3177// CHECK-LE: or <4 x i32> 3178 3179 res_vbi = vec_vsel(vbi, vbi, vbi); 3180// CHECK: xor <4 x i32> 3181// CHECK: and <4 x i32> 3182// CHECK: and <4 x i32> 3183// CHECK: or <4 x i32> 3184// CHECK-LE: xor <4 x i32> 3185// CHECK-LE: and <4 x i32> 3186// CHECK-LE: and <4 x i32> 3187// CHECK-LE: or <4 x i32> 3188 3189 res_vf = vec_vsel(vf, vf, vui); 3190// CHECK: xor <4 x i32> 3191// CHECK: and <4 x i32> 3192// CHECK: and <4 x i32> 3193// CHECK: or <4 x i32> 3194// CHECK-LE: xor <4 x i32> 3195// CHECK-LE: and <4 x i32> 3196// CHECK-LE: and <4 x i32> 3197// CHECK-LE: or <4 x i32> 3198 3199 res_vf = vec_vsel(vf, vf, vbi); 3200// CHECK: xor <4 x i32> 3201// CHECK: and <4 x i32> 3202// CHECK: and <4 x i32> 3203// CHECK: or <4 x i32> 3204// CHECK-LE: xor <4 x i32> 3205// CHECK-LE: and <4 x i32> 3206// CHECK-LE: and <4 x i32> 3207// CHECK-LE: or <4 x i32> 3208 3209 /* vec_sl */ 3210 res_vsc = vec_sl(vsc, vuc); 3211// CHECK: shl <16 x i8> 3212// CHECK-LE: shl <16 x i8> 3213 3214 res_vuc = vec_sl(vuc, vuc); 3215// CHECK: shl <16 x i8> 3216// CHECK-LE: shl <16 x i8> 3217 3218 res_vs = vec_sl(vs, vus); 3219// CHECK: shl <8 x i16> 3220// CHECK-LE: shl <8 x i16> 3221 3222 res_vus = vec_sl(vus, vus); 3223// CHECK: shl <8 x i16> 3224// CHECK-LE: shl <8 x i16> 3225 3226 res_vi = vec_sl(vi, vui); 3227// CHECK: shl <4 x i32> 3228// CHECK-LE: shl <4 x i32> 3229 3230 res_vui = vec_sl(vui, vui); 3231// CHECK: shl <4 x i32> 3232// CHECK-LE: shl <4 x i32> 3233 3234 res_vsc = vec_vslb(vsc, vuc); 3235// CHECK: shl <16 x i8> 3236// CHECK-LE: shl <16 x i8> 3237 3238 res_vuc = vec_vslb(vuc, vuc); 3239// CHECK: shl <16 x i8> 3240// CHECK-LE: shl <16 x i8> 3241 3242 res_vs = vec_vslh(vs, vus); 3243// CHECK: shl <8 x i16> 3244// CHECK-LE: shl <8 x i16> 3245 3246 res_vus = vec_vslh(vus, vus); 3247// CHECK: shl <8 x i16> 3248// CHECK-LE: shl <8 x i16> 3249 3250 res_vi = vec_vslw(vi, vui); 3251// CHECK: shl <4 x i32> 3252// CHECK-LE: shl <4 x i32> 3253 3254 res_vui = vec_vslw(vui, vui); 3255// CHECK: shl <4 x i32> 3256// CHECK-LE: shl <4 x i32> 3257 3258 /* vec_sld */ 3259 res_vsc = vec_sld(vsc, vsc, 0); 3260// CHECK: @llvm.ppc.altivec.vperm 3261// CHECK-LE: @llvm.ppc.altivec.vperm 3262 3263 res_vuc = vec_sld(vuc, vuc, 0); 3264// CHECK: @llvm.ppc.altivec.vperm 3265// CHECK-LE: @llvm.ppc.altivec.vperm 3266 3267 res_vs = vec_sld(vs, vs, 0); 3268// CHECK: @llvm.ppc.altivec.vperm 3269// CHECK-LE: @llvm.ppc.altivec.vperm 3270 3271 res_vus = vec_sld(vus, vus, 0); 3272// CHECK: @llvm.ppc.altivec.vperm 3273// CHECK-LE: @llvm.ppc.altivec.vperm 3274 3275 res_vp = vec_sld(vp, vp, 0); 3276// CHECK: @llvm.ppc.altivec.vperm 3277// CHECK-LE: @llvm.ppc.altivec.vperm 3278 3279 res_vi = vec_sld(vi, vi, 0); 3280// CHECK: @llvm.ppc.altivec.vperm 3281// CHECK-LE: @llvm.ppc.altivec.vperm 3282 3283 res_vui = vec_sld(vui, vui, 0); 3284// CHECK: @llvm.ppc.altivec.vperm 3285// CHECK-LE: @llvm.ppc.altivec.vperm 3286 3287 res_vf = vec_sld(vf, vf, 0); 3288// CHECK: @llvm.ppc.altivec.vperm 3289// CHECK-LE: @llvm.ppc.altivec.vperm 3290 3291 res_vsc = vec_vsldoi(vsc, vsc, 0); 3292// CHECK: @llvm.ppc.altivec.vperm 3293// CHECK-LE: @llvm.ppc.altivec.vperm 3294 3295 res_vuc = vec_vsldoi(vuc, vuc, 0); 3296// CHECK: @llvm.ppc.altivec.vperm 3297// CHECK-LE: @llvm.ppc.altivec.vperm 3298 3299 res_vs = vec_vsldoi(vs, vs, 0); 3300// CHECK: @llvm.ppc.altivec.vperm 3301// CHECK-LE: @llvm.ppc.altivec.vperm 3302 3303 res_vus = vec_vsldoi(vus, vus, 0); 3304// CHECK: @llvm.ppc.altivec.vperm 3305// CHECK-LE: @llvm.ppc.altivec.vperm 3306 3307 res_vp = vec_vsldoi(vp, vp, 0); 3308// CHECK: @llvm.ppc.altivec.vperm 3309// CHECK-LE: @llvm.ppc.altivec.vperm 3310 3311 res_vi = vec_vsldoi(vi, vi, 0); 3312// CHECK: @llvm.ppc.altivec.vperm 3313// CHECK-LE: @llvm.ppc.altivec.vperm 3314 3315 res_vui = vec_vsldoi(vui, vui, 0); 3316// CHECK: @llvm.ppc.altivec.vperm 3317// CHECK-LE: @llvm.ppc.altivec.vperm 3318 3319 res_vf = vec_vsldoi(vf, vf, 0); 3320// CHECK: @llvm.ppc.altivec.vperm 3321// CHECK-LE: @llvm.ppc.altivec.vperm 3322 3323 /* vec_sll */ 3324 res_vsc = vec_sll(vsc, vuc); 3325// CHECK: @llvm.ppc.altivec.vsl 3326// CHECK-LE: @llvm.ppc.altivec.vsl 3327 3328 res_vsc = vec_sll(vsc, vus); 3329// CHECK: @llvm.ppc.altivec.vsl 3330// CHECK-LE: @llvm.ppc.altivec.vsl 3331 3332 res_vsc = vec_sll(vsc, vui); 3333// CHECK: @llvm.ppc.altivec.vsl 3334// CHECK-LE: @llvm.ppc.altivec.vsl 3335 3336 res_vuc = vec_sll(vuc, vuc); 3337// CHECK: @llvm.ppc.altivec.vsl 3338// CHECK-LE: @llvm.ppc.altivec.vsl 3339 3340 res_vuc = vec_sll(vuc, vus); 3341// CHECK: @llvm.ppc.altivec.vsl 3342// CHECK-LE: @llvm.ppc.altivec.vsl 3343 3344 res_vuc = vec_sll(vuc, vui); 3345// CHECK: @llvm.ppc.altivec.vsl 3346// CHECK-LE: @llvm.ppc.altivec.vsl 3347 3348 res_vbc = vec_sll(vbc, vuc); 3349// CHECK: @llvm.ppc.altivec.vsl 3350// CHECK-LE: @llvm.ppc.altivec.vsl 3351 3352 res_vbc = vec_sll(vbc, vus); 3353// CHECK: @llvm.ppc.altivec.vsl 3354// CHECK-LE: @llvm.ppc.altivec.vsl 3355 3356 res_vbc = vec_sll(vbc, vui); 3357// CHECK: @llvm.ppc.altivec.vsl 3358// CHECK-LE: @llvm.ppc.altivec.vsl 3359 3360 res_vs = vec_sll(vs, vuc); 3361// CHECK: @llvm.ppc.altivec.vsl 3362// CHECK-LE: @llvm.ppc.altivec.vsl 3363 3364 res_vs = vec_sll(vs, vus); 3365// CHECK: @llvm.ppc.altivec.vsl 3366// CHECK-LE: @llvm.ppc.altivec.vsl 3367 3368 res_vs = vec_sll(vs, vui); 3369// CHECK: @llvm.ppc.altivec.vsl 3370// CHECK-LE: @llvm.ppc.altivec.vsl 3371 3372 res_vus = vec_sll(vus, vuc); 3373// CHECK: @llvm.ppc.altivec.vsl 3374// CHECK-LE: @llvm.ppc.altivec.vsl 3375 3376 res_vus = vec_sll(vus, vus); 3377// CHECK: @llvm.ppc.altivec.vsl 3378// CHECK-LE: @llvm.ppc.altivec.vsl 3379 3380 res_vus = vec_sll(vus, vui); 3381// CHECK: @llvm.ppc.altivec.vsl 3382// CHECK-LE: @llvm.ppc.altivec.vsl 3383 3384 res_vbs = vec_sll(vbs, vuc); 3385// CHECK: @llvm.ppc.altivec.vsl 3386// CHECK-LE: @llvm.ppc.altivec.vsl 3387 3388 res_vbs = vec_sll(vbs, vus); 3389// CHECK: @llvm.ppc.altivec.vsl 3390// CHECK-LE: @llvm.ppc.altivec.vsl 3391 3392 res_vbs = vec_sll(vbs, vui); 3393// CHECK: @llvm.ppc.altivec.vsl 3394// CHECK-LE: @llvm.ppc.altivec.vsl 3395 3396 res_vp = vec_sll(vp, vuc); 3397// CHECK: @llvm.ppc.altivec.vsl 3398// CHECK-LE: @llvm.ppc.altivec.vsl 3399 3400 res_vp = vec_sll(vp, vus); 3401// CHECK: @llvm.ppc.altivec.vsl 3402// CHECK-LE: @llvm.ppc.altivec.vsl 3403 3404 res_vp = vec_sll(vp, vui); 3405// CHECK: @llvm.ppc.altivec.vsl 3406// CHECK-LE: @llvm.ppc.altivec.vsl 3407 3408 res_vi = vec_sll(vi, vuc); 3409// CHECK: @llvm.ppc.altivec.vsl 3410// CHECK-LE: @llvm.ppc.altivec.vsl 3411 3412 res_vi = vec_sll(vi, vus); 3413// CHECK: @llvm.ppc.altivec.vsl 3414// CHECK-LE: @llvm.ppc.altivec.vsl 3415 3416 res_vi = vec_sll(vi, vui); 3417// CHECK: @llvm.ppc.altivec.vsl 3418// CHECK-LE: @llvm.ppc.altivec.vsl 3419 3420 res_vui = vec_sll(vui, vuc); 3421// CHECK: @llvm.ppc.altivec.vsl 3422// CHECK-LE: @llvm.ppc.altivec.vsl 3423 3424 res_vui = vec_sll(vui, vus); 3425// CHECK: @llvm.ppc.altivec.vsl 3426// CHECK-LE: @llvm.ppc.altivec.vsl 3427 3428 res_vui = vec_sll(vui, vui); 3429// CHECK: @llvm.ppc.altivec.vsl 3430// CHECK-LE: @llvm.ppc.altivec.vsl 3431 3432 res_vbi = vec_sll(vbi, vuc); 3433// CHECK: @llvm.ppc.altivec.vsl 3434// CHECK-LE: @llvm.ppc.altivec.vsl 3435 3436 res_vbi = vec_sll(vbi, vus); 3437// CHECK: @llvm.ppc.altivec.vsl 3438// CHECK-LE: @llvm.ppc.altivec.vsl 3439 3440 res_vbi = vec_sll(vbi, vui); 3441// CHECK: @llvm.ppc.altivec.vsl 3442// CHECK-LE: @llvm.ppc.altivec.vsl 3443 3444 res_vsc = vec_vsl(vsc, vuc); 3445// CHECK: @llvm.ppc.altivec.vsl 3446// CHECK-LE: @llvm.ppc.altivec.vsl 3447 3448 res_vsc = vec_vsl(vsc, vus); 3449// CHECK: @llvm.ppc.altivec.vsl 3450// CHECK-LE: @llvm.ppc.altivec.vsl 3451 3452 res_vsc = vec_vsl(vsc, vui); 3453// CHECK: @llvm.ppc.altivec.vsl 3454// CHECK-LE: @llvm.ppc.altivec.vsl 3455 3456 res_vuc = vec_vsl(vuc, vuc); 3457// CHECK: @llvm.ppc.altivec.vsl 3458// CHECK-LE: @llvm.ppc.altivec.vsl 3459 3460 res_vuc = vec_vsl(vuc, vus); 3461// CHECK: @llvm.ppc.altivec.vsl 3462// CHECK-LE: @llvm.ppc.altivec.vsl 3463 3464 res_vuc = vec_vsl(vuc, vui); 3465// CHECK: @llvm.ppc.altivec.vsl 3466// CHECK-LE: @llvm.ppc.altivec.vsl 3467 3468 res_vbc = vec_vsl(vbc, vuc); 3469// CHECK: @llvm.ppc.altivec.vsl 3470// CHECK-LE: @llvm.ppc.altivec.vsl 3471 3472 res_vbc = vec_vsl(vbc, vus); 3473// CHECK: @llvm.ppc.altivec.vsl 3474// CHECK-LE: @llvm.ppc.altivec.vsl 3475 3476 res_vbc = vec_vsl(vbc, vui); 3477// CHECK: @llvm.ppc.altivec.vsl 3478// CHECK-LE: @llvm.ppc.altivec.vsl 3479 3480 res_vs = vec_vsl(vs, vuc); 3481// CHECK: @llvm.ppc.altivec.vsl 3482// CHECK-LE: @llvm.ppc.altivec.vsl 3483 3484 res_vs = vec_vsl(vs, vus); 3485// CHECK: @llvm.ppc.altivec.vsl 3486// CHECK-LE: @llvm.ppc.altivec.vsl 3487 3488 res_vs = vec_vsl(vs, vui); 3489// CHECK: @llvm.ppc.altivec.vsl 3490// CHECK-LE: @llvm.ppc.altivec.vsl 3491 3492 res_vus = vec_vsl(vus, vuc); 3493// CHECK: @llvm.ppc.altivec.vsl 3494// CHECK-LE: @llvm.ppc.altivec.vsl 3495 3496 res_vus = vec_vsl(vus, vus); 3497// CHECK: @llvm.ppc.altivec.vsl 3498// CHECK-LE: @llvm.ppc.altivec.vsl 3499 3500 res_vus = vec_vsl(vus, vui); 3501// CHECK: @llvm.ppc.altivec.vsl 3502// CHECK-LE: @llvm.ppc.altivec.vsl 3503 3504 res_vbs = vec_vsl(vbs, vuc); 3505// CHECK: @llvm.ppc.altivec.vsl 3506// CHECK-LE: @llvm.ppc.altivec.vsl 3507 3508 res_vbs = vec_vsl(vbs, vus); 3509// CHECK: @llvm.ppc.altivec.vsl 3510// CHECK-LE: @llvm.ppc.altivec.vsl 3511 3512 res_vbs = vec_vsl(vbs, vui); 3513// CHECK: @llvm.ppc.altivec.vsl 3514// CHECK-LE: @llvm.ppc.altivec.vsl 3515 3516 res_vp = vec_vsl(vp, vuc); 3517// CHECK: @llvm.ppc.altivec.vsl 3518// CHECK-LE: @llvm.ppc.altivec.vsl 3519 3520 res_vp = vec_vsl(vp, vus); 3521// CHECK: @llvm.ppc.altivec.vsl 3522// CHECK-LE: @llvm.ppc.altivec.vsl 3523 3524 res_vp = vec_vsl(vp, vui); 3525// CHECK: @llvm.ppc.altivec.vsl 3526// CHECK-LE: @llvm.ppc.altivec.vsl 3527 3528 res_vi = vec_vsl(vi, vuc); 3529// CHECK: @llvm.ppc.altivec.vsl 3530// CHECK-LE: @llvm.ppc.altivec.vsl 3531 3532 res_vi = vec_vsl(vi, vus); 3533// CHECK: @llvm.ppc.altivec.vsl 3534// CHECK-LE: @llvm.ppc.altivec.vsl 3535 3536 res_vi = vec_vsl(vi, vui); 3537// CHECK: @llvm.ppc.altivec.vsl 3538// CHECK-LE: @llvm.ppc.altivec.vsl 3539 3540 res_vui = vec_vsl(vui, vuc); 3541// CHECK: @llvm.ppc.altivec.vsl 3542// CHECK-LE: @llvm.ppc.altivec.vsl 3543 3544 res_vui = vec_vsl(vui, vus); 3545// CHECK: @llvm.ppc.altivec.vsl 3546// CHECK-LE: @llvm.ppc.altivec.vsl 3547 3548 res_vui = vec_vsl(vui, vui); 3549// CHECK: @llvm.ppc.altivec.vsl 3550// CHECK-LE: @llvm.ppc.altivec.vsl 3551 3552 res_vbi = vec_vsl(vbi, vuc); 3553// CHECK: @llvm.ppc.altivec.vsl 3554// CHECK-LE: @llvm.ppc.altivec.vsl 3555 3556 res_vbi = vec_vsl(vbi, vus); 3557// CHECK: @llvm.ppc.altivec.vsl 3558// CHECK-LE: @llvm.ppc.altivec.vsl 3559 3560 res_vbi = vec_vsl(vbi, vui); 3561// CHECK: @llvm.ppc.altivec.vsl 3562// CHECK-LE: @llvm.ppc.altivec.vsl 3563 3564 /* vec_slo */ 3565 res_vsc = vec_slo(vsc, vsc); 3566// CHECK: @llvm.ppc.altivec.vslo 3567// CHECK-LE: @llvm.ppc.altivec.vslo 3568 3569 res_vsc = vec_slo(vsc, vuc); 3570// CHECK: @llvm.ppc.altivec.vslo 3571// CHECK-LE: @llvm.ppc.altivec.vslo 3572 3573 res_vuc = vec_slo(vuc, vsc); 3574// CHECK: @llvm.ppc.altivec.vslo 3575// CHECK-LE: @llvm.ppc.altivec.vslo 3576 3577 res_vuc = vec_slo(vuc, vuc); 3578// CHECK: @llvm.ppc.altivec.vslo 3579// CHECK-LE: @llvm.ppc.altivec.vslo 3580 3581 res_vs = vec_slo(vs, vsc); 3582// CHECK: @llvm.ppc.altivec.vslo 3583// CHECK-LE: @llvm.ppc.altivec.vslo 3584 3585 res_vs = vec_slo(vs, vuc); 3586// CHECK: @llvm.ppc.altivec.vslo 3587// CHECK-LE: @llvm.ppc.altivec.vslo 3588 3589 res_vus = vec_slo(vus, vsc); 3590// CHECK: @llvm.ppc.altivec.vslo 3591// CHECK-LE: @llvm.ppc.altivec.vslo 3592 3593 res_vus = vec_slo(vus, vuc); 3594// CHECK: @llvm.ppc.altivec.vslo 3595// CHECK-LE: @llvm.ppc.altivec.vslo 3596 3597 res_vp = vec_slo(vp, vsc); 3598// CHECK: @llvm.ppc.altivec.vslo 3599// CHECK-LE: @llvm.ppc.altivec.vslo 3600 3601 res_vp = vec_slo(vp, vuc); 3602// CHECK: @llvm.ppc.altivec.vslo 3603// CHECK-LE: @llvm.ppc.altivec.vslo 3604 3605 res_vi = vec_slo(vi, vsc); 3606// CHECK: @llvm.ppc.altivec.vslo 3607// CHECK-LE: @llvm.ppc.altivec.vslo 3608 3609 res_vi = vec_slo(vi, vuc); 3610// CHECK: @llvm.ppc.altivec.vslo 3611// CHECK-LE: @llvm.ppc.altivec.vslo 3612 3613 res_vui = vec_slo(vui, vsc); 3614// CHECK: @llvm.ppc.altivec.vslo 3615// CHECK-LE: @llvm.ppc.altivec.vslo 3616 3617 res_vui = vec_slo(vui, vuc); 3618// CHECK: @llvm.ppc.altivec.vslo 3619// CHECK-LE: @llvm.ppc.altivec.vslo 3620 3621 res_vf = vec_slo(vf, vsc); 3622// CHECK: @llvm.ppc.altivec.vslo 3623// CHECK-LE: @llvm.ppc.altivec.vslo 3624 3625 res_vf = vec_slo(vf, vuc); 3626// CHECK: @llvm.ppc.altivec.vslo 3627// CHECK-LE: @llvm.ppc.altivec.vslo 3628 3629 res_vsc = vec_vslo(vsc, vsc); 3630// CHECK: @llvm.ppc.altivec.vslo 3631// CHECK-LE: @llvm.ppc.altivec.vslo 3632 3633 res_vsc = vec_vslo(vsc, vuc); 3634// CHECK: @llvm.ppc.altivec.vslo 3635// CHECK-LE: @llvm.ppc.altivec.vslo 3636 3637 res_vuc = vec_vslo(vuc, vsc); 3638// CHECK: @llvm.ppc.altivec.vslo 3639// CHECK-LE: @llvm.ppc.altivec.vslo 3640 3641 res_vuc = vec_vslo(vuc, vuc); 3642// CHECK: @llvm.ppc.altivec.vslo 3643// CHECK-LE: @llvm.ppc.altivec.vslo 3644 3645 res_vs = vec_vslo(vs, vsc); 3646// CHECK: @llvm.ppc.altivec.vslo 3647// CHECK-LE: @llvm.ppc.altivec.vslo 3648 3649 res_vs = vec_vslo(vs, vuc); 3650// CHECK: @llvm.ppc.altivec.vslo 3651// CHECK-LE: @llvm.ppc.altivec.vslo 3652 3653 res_vus = vec_vslo(vus, vsc); 3654// CHECK: @llvm.ppc.altivec.vslo 3655// CHECK-LE: @llvm.ppc.altivec.vslo 3656 3657 res_vus = vec_vslo(vus, vuc); 3658// CHECK: @llvm.ppc.altivec.vslo 3659// CHECK-LE: @llvm.ppc.altivec.vslo 3660 3661 res_vp = vec_vslo(vp, vsc); 3662// CHECK: @llvm.ppc.altivec.vslo 3663// CHECK-LE: @llvm.ppc.altivec.vslo 3664 3665 res_vp = vec_vslo(vp, vuc); 3666// CHECK: @llvm.ppc.altivec.vslo 3667// CHECK-LE: @llvm.ppc.altivec.vslo 3668 3669 res_vi = vec_vslo(vi, vsc); 3670// CHECK: @llvm.ppc.altivec.vslo 3671// CHECK-LE: @llvm.ppc.altivec.vslo 3672 3673 res_vi = vec_vslo(vi, vuc); 3674// CHECK: @llvm.ppc.altivec.vslo 3675// CHECK-LE: @llvm.ppc.altivec.vslo 3676 3677 res_vui = vec_vslo(vui, vsc); 3678// CHECK: @llvm.ppc.altivec.vslo 3679// CHECK-LE: @llvm.ppc.altivec.vslo 3680 3681 res_vui = vec_vslo(vui, vuc); 3682// CHECK: @llvm.ppc.altivec.vslo 3683// CHECK-LE: @llvm.ppc.altivec.vslo 3684 3685 res_vf = vec_vslo(vf, vsc); 3686// CHECK: @llvm.ppc.altivec.vslo 3687// CHECK-LE: @llvm.ppc.altivec.vslo 3688 3689 res_vf = vec_vslo(vf, vuc); 3690// CHECK: @llvm.ppc.altivec.vslo 3691// CHECK-LE: @llvm.ppc.altivec.vslo 3692 3693 /* vec_splat */ 3694 res_vsc = vec_splat(vsc, 0); 3695// CHECK: @llvm.ppc.altivec.vperm 3696// CHECK-LE: @llvm.ppc.altivec.vperm 3697 3698 res_vuc = vec_splat(vuc, 0); 3699// CHECK: @llvm.ppc.altivec.vperm 3700// CHECK-LE: @llvm.ppc.altivec.vperm 3701 3702 res_vbc = vec_splat(vbc, 0); 3703// CHECK: @llvm.ppc.altivec.vperm 3704// CHECK-LE: @llvm.ppc.altivec.vperm 3705 3706 res_vs = vec_splat(vs, 0); 3707// CHECK: @llvm.ppc.altivec.vperm 3708// CHECK-LE: @llvm.ppc.altivec.vperm 3709 3710 res_vus = vec_splat(vus, 0); 3711// CHECK: @llvm.ppc.altivec.vperm 3712// CHECK-LE: @llvm.ppc.altivec.vperm 3713 3714 res_vbs = vec_splat(vbs, 0); 3715// CHECK: @llvm.ppc.altivec.vperm 3716// CHECK-LE: @llvm.ppc.altivec.vperm 3717 3718 res_vp = vec_splat(vp, 0); 3719// CHECK: @llvm.ppc.altivec.vperm 3720// CHECK-LE: @llvm.ppc.altivec.vperm 3721 3722 res_vi = vec_splat(vi, 0); 3723// CHECK: @llvm.ppc.altivec.vperm 3724// CHECK-LE: @llvm.ppc.altivec.vperm 3725 3726 res_vui = vec_splat(vui, 0); 3727// CHECK: @llvm.ppc.altivec.vperm 3728// CHECK-LE: @llvm.ppc.altivec.vperm 3729 3730 res_vbi = vec_splat(vbi, 0); 3731// CHECK: @llvm.ppc.altivec.vperm 3732// CHECK-LE: @llvm.ppc.altivec.vperm 3733 3734 res_vf = vec_splat(vf, 0); 3735// CHECK: @llvm.ppc.altivec.vperm 3736// CHECK-LE: @llvm.ppc.altivec.vperm 3737 3738 res_vsc = vec_vspltb(vsc, 0); 3739// CHECK: @llvm.ppc.altivec.vperm 3740// CHECK-LE: @llvm.ppc.altivec.vperm 3741 3742 res_vuc = vec_vspltb(vuc, 0); 3743// CHECK: @llvm.ppc.altivec.vperm 3744// CHECK-LE: @llvm.ppc.altivec.vperm 3745 3746 res_vbc = vec_vspltb(vbc, 0); 3747// CHECK: @llvm.ppc.altivec.vperm 3748// CHECK-LE: @llvm.ppc.altivec.vperm 3749 3750 res_vs = vec_vsplth(vs, 0); 3751// CHECK: @llvm.ppc.altivec.vperm 3752// CHECK-LE: @llvm.ppc.altivec.vperm 3753 3754 res_vus = vec_vsplth(vus, 0); 3755// CHECK: @llvm.ppc.altivec.vperm 3756// CHECK-LE: @llvm.ppc.altivec.vperm 3757 3758 res_vbs = vec_vsplth(vbs, 0); 3759// CHECK: @llvm.ppc.altivec.vperm 3760// CHECK-LE: @llvm.ppc.altivec.vperm 3761 3762 res_vp = vec_vsplth(vp, 0); 3763// CHECK: @llvm.ppc.altivec.vperm 3764// CHECK-LE: @llvm.ppc.altivec.vperm 3765 3766 res_vi = vec_vspltw(vi, 0); 3767// CHECK: @llvm.ppc.altivec.vperm 3768// CHECK-LE: @llvm.ppc.altivec.vperm 3769 3770 res_vui = vec_vspltw(vui, 0); 3771// CHECK: @llvm.ppc.altivec.vperm 3772// CHECK-LE: @llvm.ppc.altivec.vperm 3773 3774 res_vbi = vec_vspltw(vbi, 0); 3775// CHECK: @llvm.ppc.altivec.vperm 3776// CHECK-LE: @llvm.ppc.altivec.vperm 3777 3778 res_vf = vec_vspltw(vf, 0); 3779// CHECK: @llvm.ppc.altivec.vperm 3780// CHECK-LE: @llvm.ppc.altivec.vperm 3781 3782 /* vec_splat_s8 */ 3783 res_vsc = vec_splat_s8(0x09); // TODO: add check 3784 res_vsc = vec_vspltisb(0x09); // TODO: add check 3785 3786 /* vec_splat_s16 */ 3787 res_vs = vec_splat_s16(0x09); // TODO: add check 3788 res_vs = vec_vspltish(0x09); // TODO: add check 3789 3790 /* vec_splat_s32 */ 3791 res_vi = vec_splat_s32(0x09); // TODO: add check 3792 res_vi = vec_vspltisw(0x09); // TODO: add check 3793 3794 /* vec_splat_u8 */ 3795 res_vuc = vec_splat_u8(0x09); // TODO: add check 3796 3797 /* vec_splat_u16 */ 3798 res_vus = vec_splat_u16(0x09); // TODO: add check 3799 3800 /* vec_splat_u32 */ 3801 res_vui = vec_splat_u32(0x09); // TODO: add check 3802 3803 /* vec_sr */ 3804 res_vsc = vec_sr(vsc, vuc); 3805// CHECK: shr <16 x i8> 3806// CHECK-LE: shr <16 x i8> 3807 3808 res_vuc = vec_sr(vuc, vuc); 3809// CHECK: shr <16 x i8> 3810// CHECK-LE: shr <16 x i8> 3811 3812 res_vs = vec_sr(vs, vus); 3813// CHECK: shr <8 x i16> 3814// CHECK-LE: shr <8 x i16> 3815 3816 res_vus = vec_sr(vus, vus); 3817// CHECK: shr <8 x i16> 3818// CHECK-LE: shr <8 x i16> 3819 3820 res_vi = vec_sr(vi, vui); 3821// CHECK: shr <4 x i32> 3822// CHECK-LE: shr <4 x i32> 3823 3824 res_vui = vec_sr(vui, vui); 3825// CHECK: shr <4 x i32> 3826// CHECK-LE: shr <4 x i32> 3827 3828 res_vsc = vec_vsrb(vsc, vuc); 3829// CHECK: shr <16 x i8> 3830// CHECK-LE: shr <16 x i8> 3831 3832 res_vuc = vec_vsrb(vuc, vuc); 3833// CHECK: shr <16 x i8> 3834// CHECK-LE: shr <16 x i8> 3835 3836 res_vs = vec_vsrh(vs, vus); 3837// CHECK: shr <8 x i16> 3838// CHECK-LE: shr <8 x i16> 3839 3840 res_vus = vec_vsrh(vus, vus); 3841// CHECK: shr <8 x i16> 3842// CHECK-LE: shr <8 x i16> 3843 3844 res_vi = vec_vsrw(vi, vui); 3845// CHECK: shr <4 x i32> 3846// CHECK-LE: shr <4 x i32> 3847 3848 res_vui = vec_vsrw(vui, vui); 3849// CHECK: shr <4 x i32> 3850// CHECK-LE: shr <4 x i32> 3851 3852 /* vec_sra */ 3853 res_vsc = vec_sra(vsc, vuc); 3854// CHECK: @llvm.ppc.altivec.vsrab 3855// CHECK-LE: @llvm.ppc.altivec.vsrab 3856 3857 res_vuc = vec_sra(vuc, vuc); 3858// CHECK: @llvm.ppc.altivec.vsrab 3859// CHECK-LE: @llvm.ppc.altivec.vsrab 3860 3861 res_vs = vec_sra(vs, vus); 3862// CHECK: @llvm.ppc.altivec.vsrah 3863// CHECK-LE: @llvm.ppc.altivec.vsrah 3864 3865 res_vus = vec_sra(vus, vus); 3866// CHECK: @llvm.ppc.altivec.vsrah 3867// CHECK-LE: @llvm.ppc.altivec.vsrah 3868 3869 res_vi = vec_sra(vi, vui); 3870// CHECK: @llvm.ppc.altivec.vsraw 3871// CHECK-LE: @llvm.ppc.altivec.vsraw 3872 3873 res_vui = vec_sra(vui, vui); 3874// CHECK: @llvm.ppc.altivec.vsraw 3875// CHECK-LE: @llvm.ppc.altivec.vsraw 3876 3877 res_vsc = vec_vsrab(vsc, vuc); 3878// CHECK: @llvm.ppc.altivec.vsrab 3879// CHECK-LE: @llvm.ppc.altivec.vsrab 3880 3881 res_vuc = vec_vsrab(vuc, vuc); 3882// CHECK: @llvm.ppc.altivec.vsrab 3883// CHECK-LE: @llvm.ppc.altivec.vsrab 3884 3885 res_vs = vec_vsrah(vs, vus); 3886// CHECK: @llvm.ppc.altivec.vsrah 3887// CHECK-LE: @llvm.ppc.altivec.vsrah 3888 3889 res_vus = vec_vsrah(vus, vus); 3890// CHECK: @llvm.ppc.altivec.vsrah 3891// CHECK-LE: @llvm.ppc.altivec.vsrah 3892 3893 res_vi = vec_vsraw(vi, vui); 3894// CHECK: @llvm.ppc.altivec.vsraw 3895// CHECK-LE: @llvm.ppc.altivec.vsraw 3896 3897 res_vui = vec_vsraw(vui, vui); 3898// CHECK: @llvm.ppc.altivec.vsraw 3899// CHECK-LE: @llvm.ppc.altivec.vsraw 3900 3901 /* vec_srl */ 3902 res_vsc = vec_srl(vsc, vuc); 3903// CHECK: @llvm.ppc.altivec.vsr 3904// CHECK-LE: @llvm.ppc.altivec.vsr 3905 3906 res_vsc = vec_srl(vsc, vus); 3907// CHECK: @llvm.ppc.altivec.vsr 3908// CHECK-LE: @llvm.ppc.altivec.vsr 3909 3910 res_vsc = vec_srl(vsc, vui); 3911// CHECK: @llvm.ppc.altivec.vsr 3912// CHECK-LE: @llvm.ppc.altivec.vsr 3913 3914 res_vuc = vec_srl(vuc, vuc); 3915// CHECK: @llvm.ppc.altivec.vsr 3916// CHECK-LE: @llvm.ppc.altivec.vsr 3917 3918 res_vuc = vec_srl(vuc, vus); 3919// CHECK: @llvm.ppc.altivec.vsr 3920// CHECK-LE: @llvm.ppc.altivec.vsr 3921 3922 res_vuc = vec_srl(vuc, vui); 3923// CHECK: @llvm.ppc.altivec.vsr 3924// CHECK-LE: @llvm.ppc.altivec.vsr 3925 3926 res_vbc = vec_srl(vbc, vuc); 3927// CHECK: @llvm.ppc.altivec.vsr 3928// CHECK-LE: @llvm.ppc.altivec.vsr 3929 3930 res_vbc = vec_srl(vbc, vus); 3931// CHECK: @llvm.ppc.altivec.vsr 3932// CHECK-LE: @llvm.ppc.altivec.vsr 3933 3934 res_vbc = vec_srl(vbc, vui); 3935// CHECK: @llvm.ppc.altivec.vsr 3936// CHECK-LE: @llvm.ppc.altivec.vsr 3937 3938 res_vs = vec_srl(vs, vuc); 3939// CHECK: @llvm.ppc.altivec.vsr 3940// CHECK-LE: @llvm.ppc.altivec.vsr 3941 3942 res_vs = vec_srl(vs, vus); 3943// CHECK: @llvm.ppc.altivec.vsr 3944// CHECK-LE: @llvm.ppc.altivec.vsr 3945 3946 res_vs = vec_srl(vs, vui); 3947// CHECK: @llvm.ppc.altivec.vsr 3948// CHECK-LE: @llvm.ppc.altivec.vsr 3949 3950 res_vus = vec_srl(vus, vuc); 3951// CHECK: @llvm.ppc.altivec.vsr 3952// CHECK-LE: @llvm.ppc.altivec.vsr 3953 3954 res_vus = vec_srl(vus, vus); 3955// CHECK: @llvm.ppc.altivec.vsr 3956// CHECK-LE: @llvm.ppc.altivec.vsr 3957 3958 res_vus = vec_srl(vus, vui); 3959// CHECK: @llvm.ppc.altivec.vsr 3960// CHECK-LE: @llvm.ppc.altivec.vsr 3961 3962 res_vbs = vec_srl(vbs, vuc); 3963// CHECK: @llvm.ppc.altivec.vsr 3964// CHECK-LE: @llvm.ppc.altivec.vsr 3965 3966 res_vbs = vec_srl(vbs, vus); 3967// CHECK: @llvm.ppc.altivec.vsr 3968// CHECK-LE: @llvm.ppc.altivec.vsr 3969 3970 res_vbs = vec_srl(vbs, vui); 3971// CHECK: @llvm.ppc.altivec.vsr 3972// CHECK-LE: @llvm.ppc.altivec.vsr 3973 3974 res_vp = vec_srl(vp, vuc); 3975// CHECK: @llvm.ppc.altivec.vsr 3976// CHECK-LE: @llvm.ppc.altivec.vsr 3977 3978 res_vp = vec_srl(vp, vus); 3979// CHECK: @llvm.ppc.altivec.vsr 3980// CHECK-LE: @llvm.ppc.altivec.vsr 3981 3982 res_vp = vec_srl(vp, vui); 3983// CHECK: @llvm.ppc.altivec.vsr 3984// CHECK-LE: @llvm.ppc.altivec.vsr 3985 3986 res_vi = vec_srl(vi, vuc); 3987// CHECK: @llvm.ppc.altivec.vsr 3988// CHECK-LE: @llvm.ppc.altivec.vsr 3989 3990 res_vi = vec_srl(vi, vus); 3991// CHECK: @llvm.ppc.altivec.vsr 3992// CHECK-LE: @llvm.ppc.altivec.vsr 3993 3994 res_vi = vec_srl(vi, vui); 3995// CHECK: @llvm.ppc.altivec.vsr 3996// CHECK-LE: @llvm.ppc.altivec.vsr 3997 3998 res_vui = vec_srl(vui, vuc); 3999// CHECK: @llvm.ppc.altivec.vsr 4000// CHECK-LE: @llvm.ppc.altivec.vsr 4001 4002 res_vui = vec_srl(vui, vus); 4003// CHECK: @llvm.ppc.altivec.vsr 4004// CHECK-LE: @llvm.ppc.altivec.vsr 4005 4006 res_vui = vec_srl(vui, vui); 4007// CHECK: @llvm.ppc.altivec.vsr 4008// CHECK-LE: @llvm.ppc.altivec.vsr 4009 4010 res_vbi = vec_srl(vbi, vuc); 4011// CHECK: @llvm.ppc.altivec.vsr 4012// CHECK-LE: @llvm.ppc.altivec.vsr 4013 4014 res_vbi = vec_srl(vbi, vus); 4015// CHECK: @llvm.ppc.altivec.vsr 4016// CHECK-LE: @llvm.ppc.altivec.vsr 4017 4018 res_vbi = vec_srl(vbi, vui); 4019// CHECK: @llvm.ppc.altivec.vsr 4020// CHECK-LE: @llvm.ppc.altivec.vsr 4021 4022 res_vsc = vec_vsr(vsc, vuc); 4023// CHECK: @llvm.ppc.altivec.vsr 4024// CHECK-LE: @llvm.ppc.altivec.vsr 4025 4026 res_vsc = vec_vsr(vsc, vus); 4027// CHECK: @llvm.ppc.altivec.vsr 4028// CHECK-LE: @llvm.ppc.altivec.vsr 4029 4030 res_vsc = vec_vsr(vsc, vui); 4031// CHECK: @llvm.ppc.altivec.vsr 4032// CHECK-LE: @llvm.ppc.altivec.vsr 4033 4034 res_vuc = vec_vsr(vuc, vuc); 4035// CHECK: @llvm.ppc.altivec.vsr 4036// CHECK-LE: @llvm.ppc.altivec.vsr 4037 4038 res_vuc = vec_vsr(vuc, vus); 4039// CHECK: @llvm.ppc.altivec.vsr 4040// CHECK-LE: @llvm.ppc.altivec.vsr 4041 4042 res_vuc = vec_vsr(vuc, vui); 4043// CHECK: @llvm.ppc.altivec.vsr 4044// CHECK-LE: @llvm.ppc.altivec.vsr 4045 4046 res_vbc = vec_vsr(vbc, vuc); 4047// CHECK: @llvm.ppc.altivec.vsr 4048// CHECK-LE: @llvm.ppc.altivec.vsr 4049 4050 res_vbc = vec_vsr(vbc, vus); 4051// CHECK: @llvm.ppc.altivec.vsr 4052// CHECK-LE: @llvm.ppc.altivec.vsr 4053 4054 res_vbc = vec_vsr(vbc, vui); 4055// CHECK: @llvm.ppc.altivec.vsr 4056// CHECK-LE: @llvm.ppc.altivec.vsr 4057 4058 res_vs = vec_vsr(vs, vuc); 4059// CHECK: @llvm.ppc.altivec.vsr 4060// CHECK-LE: @llvm.ppc.altivec.vsr 4061 4062 res_vs = vec_vsr(vs, vus); 4063// CHECK: @llvm.ppc.altivec.vsr 4064// CHECK-LE: @llvm.ppc.altivec.vsr 4065 4066 res_vs = vec_vsr(vs, vui); 4067// CHECK: @llvm.ppc.altivec.vsr 4068// CHECK-LE: @llvm.ppc.altivec.vsr 4069 4070 res_vus = vec_vsr(vus, vuc); 4071// CHECK: @llvm.ppc.altivec.vsr 4072// CHECK-LE: @llvm.ppc.altivec.vsr 4073 4074 res_vus = vec_vsr(vus, vus); 4075// CHECK: @llvm.ppc.altivec.vsr 4076// CHECK-LE: @llvm.ppc.altivec.vsr 4077 4078 res_vus = vec_vsr(vus, vui); 4079// CHECK: @llvm.ppc.altivec.vsr 4080// CHECK-LE: @llvm.ppc.altivec.vsr 4081 4082 res_vbs = vec_vsr(vbs, vuc); 4083// CHECK: @llvm.ppc.altivec.vsr 4084// CHECK-LE: @llvm.ppc.altivec.vsr 4085 4086 res_vbs = vec_vsr(vbs, vus); 4087// CHECK: @llvm.ppc.altivec.vsr 4088// CHECK-LE: @llvm.ppc.altivec.vsr 4089 4090 res_vbs = vec_vsr(vbs, vui); 4091// CHECK: @llvm.ppc.altivec.vsr 4092// CHECK-LE: @llvm.ppc.altivec.vsr 4093 4094 res_vp = vec_vsr(vp, vuc); 4095// CHECK: @llvm.ppc.altivec.vsr 4096// CHECK-LE: @llvm.ppc.altivec.vsr 4097 4098 res_vp = vec_vsr(vp, vus); 4099// CHECK: @llvm.ppc.altivec.vsr 4100// CHECK-LE: @llvm.ppc.altivec.vsr 4101 4102 res_vp = vec_vsr(vp, vui); 4103// CHECK: @llvm.ppc.altivec.vsr 4104// CHECK-LE: @llvm.ppc.altivec.vsr 4105 4106 res_vi = vec_vsr(vi, vuc); 4107// CHECK: @llvm.ppc.altivec.vsr 4108// CHECK-LE: @llvm.ppc.altivec.vsr 4109 4110 res_vi = vec_vsr(vi, vus); 4111// CHECK: @llvm.ppc.altivec.vsr 4112// CHECK-LE: @llvm.ppc.altivec.vsr 4113 4114 res_vi = vec_vsr(vi, vui); 4115// CHECK: @llvm.ppc.altivec.vsr 4116// CHECK-LE: @llvm.ppc.altivec.vsr 4117 4118 res_vui = vec_vsr(vui, vuc); 4119// CHECK: @llvm.ppc.altivec.vsr 4120// CHECK-LE: @llvm.ppc.altivec.vsr 4121 4122 res_vui = vec_vsr(vui, vus); 4123// CHECK: @llvm.ppc.altivec.vsr 4124// CHECK-LE: @llvm.ppc.altivec.vsr 4125 4126 res_vui = vec_vsr(vui, vui); 4127// CHECK: @llvm.ppc.altivec.vsr 4128// CHECK-LE: @llvm.ppc.altivec.vsr 4129 4130 res_vbi = vec_vsr(vbi, vuc); 4131// CHECK: @llvm.ppc.altivec.vsr 4132// CHECK-LE: @llvm.ppc.altivec.vsr 4133 4134 res_vbi = vec_vsr(vbi, vus); 4135// CHECK: @llvm.ppc.altivec.vsr 4136// CHECK-LE: @llvm.ppc.altivec.vsr 4137 4138 res_vbi = vec_vsr(vbi, vui); 4139// CHECK: @llvm.ppc.altivec.vsr 4140// CHECK-LE: @llvm.ppc.altivec.vsr 4141 4142 /* vec_sro */ 4143 res_vsc = vec_sro(vsc, vsc); 4144// CHECK: @llvm.ppc.altivec.vsro 4145// CHECK-LE: @llvm.ppc.altivec.vsro 4146 4147 res_vsc = vec_sro(vsc, vuc); 4148// CHECK: @llvm.ppc.altivec.vsro 4149// CHECK-LE: @llvm.ppc.altivec.vsro 4150 4151 res_vuc = vec_sro(vuc, vsc); 4152// CHECK: @llvm.ppc.altivec.vsro 4153// CHECK-LE: @llvm.ppc.altivec.vsro 4154 4155 res_vuc = vec_sro(vuc, vuc); 4156// CHECK: @llvm.ppc.altivec.vsro 4157// CHECK-LE: @llvm.ppc.altivec.vsro 4158 4159 res_vs = vec_sro(vs, vsc); 4160// CHECK: @llvm.ppc.altivec.vsro 4161// CHECK-LE: @llvm.ppc.altivec.vsro 4162 4163 res_vs = vec_sro(vs, vuc); 4164// CHECK: @llvm.ppc.altivec.vsro 4165// CHECK-LE: @llvm.ppc.altivec.vsro 4166 4167 res_vus = vec_sro(vus, vsc); 4168// CHECK: @llvm.ppc.altivec.vsro 4169// CHECK-LE: @llvm.ppc.altivec.vsro 4170 4171 res_vus = vec_sro(vus, vuc); 4172// CHECK: @llvm.ppc.altivec.vsro 4173// CHECK-LE: @llvm.ppc.altivec.vsro 4174 4175 res_vp = vec_sro(vp, vsc); 4176// CHECK: @llvm.ppc.altivec.vsro 4177// CHECK-LE: @llvm.ppc.altivec.vsro 4178 4179 res_vp = vec_sro(vp, vuc); 4180// CHECK: @llvm.ppc.altivec.vsro 4181// CHECK-LE: @llvm.ppc.altivec.vsro 4182 4183 res_vi = vec_sro(vi, vsc); 4184// CHECK: @llvm.ppc.altivec.vsro 4185// CHECK-LE: @llvm.ppc.altivec.vsro 4186 4187 res_vi = vec_sro(vi, vuc); 4188// CHECK: @llvm.ppc.altivec.vsro 4189// CHECK-LE: @llvm.ppc.altivec.vsro 4190 4191 res_vui = vec_sro(vui, vsc); 4192// CHECK: @llvm.ppc.altivec.vsro 4193// CHECK-LE: @llvm.ppc.altivec.vsro 4194 4195 res_vui = vec_sro(vui, vuc); 4196// CHECK: @llvm.ppc.altivec.vsro 4197// CHECK-LE: @llvm.ppc.altivec.vsro 4198 4199 res_vf = vec_sro(vf, vsc); 4200// CHECK: @llvm.ppc.altivec.vsro 4201// CHECK-LE: @llvm.ppc.altivec.vsro 4202 4203 res_vf = vec_sro(vf, vuc); 4204// CHECK: @llvm.ppc.altivec.vsro 4205// CHECK-LE: @llvm.ppc.altivec.vsro 4206 4207 res_vsc = vec_vsro(vsc, vsc); 4208// CHECK: @llvm.ppc.altivec.vsro 4209// CHECK-LE: @llvm.ppc.altivec.vsro 4210 4211 res_vsc = vec_vsro(vsc, vuc); 4212// CHECK: @llvm.ppc.altivec.vsro 4213// CHECK-LE: @llvm.ppc.altivec.vsro 4214 4215 res_vuc = vec_vsro(vuc, vsc); 4216// CHECK: @llvm.ppc.altivec.vsro 4217// CHECK-LE: @llvm.ppc.altivec.vsro 4218 4219 res_vuc = vec_vsro(vuc, vuc); 4220// CHECK: @llvm.ppc.altivec.vsro 4221// CHECK-LE: @llvm.ppc.altivec.vsro 4222 4223 res_vs = vec_vsro(vs, vsc); 4224// CHECK: @llvm.ppc.altivec.vsro 4225// CHECK-LE: @llvm.ppc.altivec.vsro 4226 4227 res_vs = vec_vsro(vs, vuc); 4228// CHECK: @llvm.ppc.altivec.vsro 4229// CHECK-LE: @llvm.ppc.altivec.vsro 4230 4231 res_vus = vec_vsro(vus, vsc); 4232// CHECK: @llvm.ppc.altivec.vsro 4233// CHECK-LE: @llvm.ppc.altivec.vsro 4234 4235 res_vus = vec_vsro(vus, vuc); 4236// CHECK: @llvm.ppc.altivec.vsro 4237// CHECK-LE: @llvm.ppc.altivec.vsro 4238 4239 res_vp = vec_vsro(vp, vsc); 4240// CHECK: @llvm.ppc.altivec.vsro 4241// CHECK-LE: @llvm.ppc.altivec.vsro 4242 4243 res_vp = vec_vsro(vp, vuc); 4244// CHECK: @llvm.ppc.altivec.vsro 4245// CHECK-LE: @llvm.ppc.altivec.vsro 4246 4247 res_vi = vec_vsro(vi, vsc); 4248// CHECK: @llvm.ppc.altivec.vsro 4249// CHECK-LE: @llvm.ppc.altivec.vsro 4250 4251 res_vi = vec_vsro(vi, vuc); 4252// CHECK: @llvm.ppc.altivec.vsro 4253// CHECK-LE: @llvm.ppc.altivec.vsro 4254 4255 res_vui = vec_vsro(vui, vsc); 4256// CHECK: @llvm.ppc.altivec.vsro 4257// CHECK-LE: @llvm.ppc.altivec.vsro 4258 4259 res_vui = vec_vsro(vui, vuc); 4260// CHECK: @llvm.ppc.altivec.vsro 4261// CHECK-LE: @llvm.ppc.altivec.vsro 4262 4263 res_vf = vec_vsro(vf, vsc); 4264// CHECK: @llvm.ppc.altivec.vsro 4265// CHECK-LE: @llvm.ppc.altivec.vsro 4266 4267 res_vf = vec_vsro(vf, vuc); 4268// CHECK: @llvm.ppc.altivec.vsro 4269// CHECK-LE: @llvm.ppc.altivec.vsro 4270 4271 /* vec_st */ 4272 vec_st(vsc, 0, &vsc); 4273// CHECK: @llvm.ppc.altivec.stvx 4274// CHECK-LE: @llvm.ppc.altivec.stvx 4275 4276 vec_st(vsc, 0, ¶m_sc); 4277// CHECK: @llvm.ppc.altivec.stvx 4278// CHECK-LE: @llvm.ppc.altivec.stvx 4279 4280 vec_st(vuc, 0, &vuc); 4281// CHECK: @llvm.ppc.altivec.stvx 4282// CHECK-LE: @llvm.ppc.altivec.stvx 4283 4284 vec_st(vuc, 0, ¶m_uc); 4285// CHECK: @llvm.ppc.altivec.stvx 4286// CHECK-LE: @llvm.ppc.altivec.stvx 4287 4288 vec_st(vbc, 0, ¶m_uc); 4289// CHECK: @llvm.ppc.altivec.stvx 4290// CHECK-LE: @llvm.ppc.altivec.stvx 4291 4292 vec_st(vbc, 0, ¶m_uc); 4293// CHECK: @llvm.ppc.altivec.stvx 4294// CHECK-LE: @llvm.ppc.altivec.stvx 4295 4296 vec_st(vbc, 0, &vbc); 4297// CHECK: @llvm.ppc.altivec.stvx 4298// CHECK-LE: @llvm.ppc.altivec.stvx 4299 4300 vec_st(vs, 0, &vs); 4301// CHECK: @llvm.ppc.altivec.stvx 4302// CHECK-LE: @llvm.ppc.altivec.stvx 4303 4304 vec_st(vs, 0, ¶m_s); 4305// CHECK: @llvm.ppc.altivec.stvx 4306// CHECK-LE: @llvm.ppc.altivec.stvx 4307 4308 vec_st(vus, 0, &vus); 4309// CHECK: @llvm.ppc.altivec.stvx 4310// CHECK-LE: @llvm.ppc.altivec.stvx 4311 4312 vec_st(vus, 0, ¶m_us); 4313// CHECK: @llvm.ppc.altivec.stvx 4314// CHECK-LE: @llvm.ppc.altivec.stvx 4315 4316 vec_st(vbs, 0, ¶m_s); 4317// CHECK: @llvm.ppc.altivec.stvx 4318// CHECK-LE: @llvm.ppc.altivec.stvx 4319 4320 vec_st(vbs, 0, ¶m_us); 4321// CHECK: @llvm.ppc.altivec.stvx 4322// CHECK-LE: @llvm.ppc.altivec.stvx 4323 4324 vec_st(vbs, 0, &vbs); 4325// CHECK: @llvm.ppc.altivec.stvx 4326// CHECK-LE: @llvm.ppc.altivec.stvx 4327 4328 vec_st(vp, 0, ¶m_s); 4329// CHECK: @llvm.ppc.altivec.stvx 4330// CHECK-LE: @llvm.ppc.altivec.stvx 4331 4332 vec_st(vp, 0, ¶m_us); 4333// CHECK: @llvm.ppc.altivec.stvx 4334// CHECK-LE: @llvm.ppc.altivec.stvx 4335 4336 vec_st(vp, 0, &vp); 4337// CHECK: @llvm.ppc.altivec.stvx 4338// CHECK-LE: @llvm.ppc.altivec.stvx 4339 4340 vec_st(vi, 0, &vi); 4341// CHECK: @llvm.ppc.altivec.stvx 4342// CHECK-LE: @llvm.ppc.altivec.stvx 4343 4344 vec_st(vi, 0, ¶m_i); 4345// CHECK: @llvm.ppc.altivec.stvx 4346// CHECK-LE: @llvm.ppc.altivec.stvx 4347 4348 vec_st(vui, 0, &vui); 4349// CHECK: @llvm.ppc.altivec.stvx 4350// CHECK-LE: @llvm.ppc.altivec.stvx 4351 4352 vec_st(vui, 0, ¶m_ui); 4353// CHECK: @llvm.ppc.altivec.stvx 4354// CHECK-LE: @llvm.ppc.altivec.stvx 4355 4356 vec_st(vbi, 0, ¶m_i); 4357// CHECK: @llvm.ppc.altivec.stvx 4358// CHECK-LE: @llvm.ppc.altivec.stvx 4359 4360 vec_st(vbi, 0, ¶m_ui); 4361// CHECK: @llvm.ppc.altivec.stvx 4362// CHECK-LE: @llvm.ppc.altivec.stvx 4363 4364 vec_st(vbi, 0, &vbi); 4365// CHECK: @llvm.ppc.altivec.stvx 4366// CHECK-LE: @llvm.ppc.altivec.stvx 4367 4368 vec_st(vf, 0, &vf); 4369// CHECK: @llvm.ppc.altivec.stvx 4370// CHECK-LE: @llvm.ppc.altivec.stvx 4371 4372 vec_st(vf, 0, ¶m_f); 4373// CHECK: @llvm.ppc.altivec.stvx 4374// CHECK-LE: @llvm.ppc.altivec.stvx 4375 4376 vec_stvx(vsc, 0, &vsc); 4377// CHECK: @llvm.ppc.altivec.stvx 4378// CHECK-LE: @llvm.ppc.altivec.stvx 4379 4380 vec_stvx(vsc, 0, ¶m_sc); 4381// CHECK: @llvm.ppc.altivec.stvx 4382// CHECK-LE: @llvm.ppc.altivec.stvx 4383 4384 vec_stvx(vuc, 0, &vuc); 4385// CHECK: @llvm.ppc.altivec.stvx 4386// CHECK-LE: @llvm.ppc.altivec.stvx 4387 4388 vec_stvx(vuc, 0, ¶m_uc); 4389// CHECK: @llvm.ppc.altivec.stvx 4390// CHECK-LE: @llvm.ppc.altivec.stvx 4391 4392 vec_stvx(vbc, 0, ¶m_uc); 4393// CHECK: @llvm.ppc.altivec.stvx 4394// CHECK-LE: @llvm.ppc.altivec.stvx 4395 4396 vec_stvx(vbc, 0, ¶m_uc); 4397// CHECK: @llvm.ppc.altivec.stvx 4398// CHECK-LE: @llvm.ppc.altivec.stvx 4399 4400 vec_stvx(vbc, 0, &vbc); 4401// CHECK: @llvm.ppc.altivec.stvx 4402// CHECK-LE: @llvm.ppc.altivec.stvx 4403 4404 vec_stvx(vs, 0, &vs); 4405// CHECK: @llvm.ppc.altivec.stvx 4406// CHECK-LE: @llvm.ppc.altivec.stvx 4407 4408 vec_stvx(vs, 0, ¶m_s); 4409// CHECK: @llvm.ppc.altivec.stvx 4410// CHECK-LE: @llvm.ppc.altivec.stvx 4411 4412 vec_stvx(vus, 0, &vus); 4413// CHECK: @llvm.ppc.altivec.stvx 4414// CHECK-LE: @llvm.ppc.altivec.stvx 4415 4416 vec_stvx(vus, 0, ¶m_us); 4417// CHECK: @llvm.ppc.altivec.stvx 4418// CHECK-LE: @llvm.ppc.altivec.stvx 4419 4420 vec_stvx(vbs, 0, ¶m_s); 4421// CHECK: @llvm.ppc.altivec.stvx 4422// CHECK-LE: @llvm.ppc.altivec.stvx 4423 4424 vec_stvx(vbs, 0, ¶m_us); 4425// CHECK: @llvm.ppc.altivec.stvx 4426// CHECK-LE: @llvm.ppc.altivec.stvx 4427 4428 vec_stvx(vbs, 0, &vbs); 4429// CHECK: @llvm.ppc.altivec.stvx 4430// CHECK-LE: @llvm.ppc.altivec.stvx 4431 4432 vec_stvx(vp, 0, ¶m_s); 4433// CHECK: @llvm.ppc.altivec.stvx 4434// CHECK-LE: @llvm.ppc.altivec.stvx 4435 4436 vec_stvx(vp, 0, ¶m_us); 4437// CHECK: @llvm.ppc.altivec.stvx 4438// CHECK-LE: @llvm.ppc.altivec.stvx 4439 4440 vec_stvx(vp, 0, &vp); 4441// CHECK: @llvm.ppc.altivec.stvx 4442// CHECK-LE: @llvm.ppc.altivec.stvx 4443 4444 vec_stvx(vi, 0, &vi); 4445// CHECK: @llvm.ppc.altivec.stvx 4446// CHECK-LE: @llvm.ppc.altivec.stvx 4447 4448 vec_stvx(vi, 0, ¶m_i); 4449// CHECK: @llvm.ppc.altivec.stvx 4450// CHECK-LE: @llvm.ppc.altivec.stvx 4451 4452 vec_stvx(vui, 0, &vui); 4453// CHECK: @llvm.ppc.altivec.stvx 4454// CHECK-LE: @llvm.ppc.altivec.stvx 4455 4456 vec_stvx(vui, 0, ¶m_ui); 4457// CHECK: @llvm.ppc.altivec.stvx 4458// CHECK-LE: @llvm.ppc.altivec.stvx 4459 4460 vec_stvx(vbi, 0, ¶m_i); 4461// CHECK: @llvm.ppc.altivec.stvx 4462// CHECK-LE: @llvm.ppc.altivec.stvx 4463 4464 vec_stvx(vbi, 0, ¶m_ui); 4465// CHECK: @llvm.ppc.altivec.stvx 4466// CHECK-LE: @llvm.ppc.altivec.stvx 4467 4468 vec_stvx(vbi, 0, &vbi); 4469// CHECK: @llvm.ppc.altivec.stvx 4470// CHECK-LE: @llvm.ppc.altivec.stvx 4471 4472 vec_stvx(vf, 0, &vf); 4473// CHECK: @llvm.ppc.altivec.stvx 4474// CHECK-LE: @llvm.ppc.altivec.stvx 4475 4476 vec_stvx(vf, 0, ¶m_f); 4477// CHECK: @llvm.ppc.altivec.stvx 4478// CHECK-LE: @llvm.ppc.altivec.stvx 4479 4480 /* vec_ste */ 4481 vec_ste(vsc, 0, ¶m_sc); 4482// CHECK: @llvm.ppc.altivec.stvebx 4483// CHECK-LE: @llvm.ppc.altivec.stvebx 4484 4485 vec_ste(vuc, 0, ¶m_uc); 4486// CHECK: @llvm.ppc.altivec.stvebx 4487// CHECK-LE: @llvm.ppc.altivec.stvebx 4488 4489 vec_ste(vbc, 0, ¶m_sc); 4490// CHECK: @llvm.ppc.altivec.stvebx 4491// CHECK-LE: @llvm.ppc.altivec.stvebx 4492 4493 vec_ste(vbc, 0, ¶m_uc); 4494// CHECK: @llvm.ppc.altivec.stvebx 4495// CHECK-LE: @llvm.ppc.altivec.stvebx 4496 4497 vec_ste(vs, 0, ¶m_s); 4498// CHECK: @llvm.ppc.altivec.stvehx 4499// CHECK-LE: @llvm.ppc.altivec.stvehx 4500 4501 vec_ste(vus, 0, ¶m_us); 4502// CHECK: @llvm.ppc.altivec.stvehx 4503// CHECK-LE: @llvm.ppc.altivec.stvehx 4504 4505 vec_ste(vbs, 0, ¶m_s); 4506// CHECK: @llvm.ppc.altivec.stvehx 4507// CHECK-LE: @llvm.ppc.altivec.stvehx 4508 4509 vec_ste(vbs, 0, ¶m_us); 4510// CHECK: @llvm.ppc.altivec.stvehx 4511// CHECK-LE: @llvm.ppc.altivec.stvehx 4512 4513 vec_ste(vp, 0, ¶m_s); 4514// CHECK: @llvm.ppc.altivec.stvehx 4515// CHECK-LE: @llvm.ppc.altivec.stvehx 4516 4517 vec_ste(vp, 0, ¶m_us); 4518// CHECK: @llvm.ppc.altivec.stvehx 4519// CHECK-LE: @llvm.ppc.altivec.stvehx 4520 4521 vec_ste(vi, 0, ¶m_i); 4522// CHECK: @llvm.ppc.altivec.stvewx 4523// CHECK-LE: @llvm.ppc.altivec.stvewx 4524 4525 vec_ste(vui, 0, ¶m_ui); 4526// CHECK: @llvm.ppc.altivec.stvewx 4527// CHECK-LE: @llvm.ppc.altivec.stvewx 4528 4529 vec_ste(vbi, 0, ¶m_i); 4530// CHECK: @llvm.ppc.altivec.stvewx 4531// CHECK-LE: @llvm.ppc.altivec.stvewx 4532 4533 vec_ste(vbi, 0, ¶m_ui); 4534// CHECK: @llvm.ppc.altivec.stvewx 4535// CHECK-LE: @llvm.ppc.altivec.stvewx 4536 4537 vec_ste(vf, 0, ¶m_f); 4538// CHECK: @llvm.ppc.altivec.stvewx 4539// CHECK-LE: @llvm.ppc.altivec.stvewx 4540 4541 vec_stvebx(vsc, 0, ¶m_sc); 4542// CHECK: @llvm.ppc.altivec.stvebx 4543// CHECK-LE: @llvm.ppc.altivec.stvebx 4544 4545 vec_stvebx(vuc, 0, ¶m_uc); 4546// CHECK: @llvm.ppc.altivec.stvebx 4547// CHECK-LE: @llvm.ppc.altivec.stvebx 4548 4549 vec_stvebx(vbc, 0, ¶m_sc); 4550// CHECK: @llvm.ppc.altivec.stvebx 4551// CHECK-LE: @llvm.ppc.altivec.stvebx 4552 4553 vec_stvebx(vbc, 0, ¶m_uc); 4554// CHECK: @llvm.ppc.altivec.stvebx 4555// CHECK-LE: @llvm.ppc.altivec.stvebx 4556 4557 vec_stvehx(vs, 0, ¶m_s); 4558// CHECK: @llvm.ppc.altivec.stvehx 4559// CHECK-LE: @llvm.ppc.altivec.stvehx 4560 4561 vec_stvehx(vus, 0, ¶m_us); 4562// CHECK: @llvm.ppc.altivec.stvehx 4563// CHECK-LE: @llvm.ppc.altivec.stvehx 4564 4565 vec_stvehx(vbs, 0, ¶m_s); 4566// CHECK: @llvm.ppc.altivec.stvehx 4567// CHECK-LE: @llvm.ppc.altivec.stvehx 4568 4569 vec_stvehx(vbs, 0, ¶m_us); 4570// CHECK: @llvm.ppc.altivec.stvehx 4571// CHECK-LE: @llvm.ppc.altivec.stvehx 4572 4573 vec_stvehx(vp, 0, ¶m_s); 4574// CHECK: @llvm.ppc.altivec.stvehx 4575// CHECK-LE: @llvm.ppc.altivec.stvehx 4576 4577 vec_stvehx(vp, 0, ¶m_us); 4578// CHECK: @llvm.ppc.altivec.stvehx 4579// CHECK-LE: @llvm.ppc.altivec.stvehx 4580 4581 vec_stvewx(vi, 0, ¶m_i); 4582// CHECK: @llvm.ppc.altivec.stvewx 4583// CHECK-LE: @llvm.ppc.altivec.stvewx 4584 4585 vec_stvewx(vui, 0, ¶m_ui); 4586// CHECK: @llvm.ppc.altivec.stvewx 4587// CHECK-LE: @llvm.ppc.altivec.stvewx 4588 4589 vec_stvewx(vbi, 0, ¶m_i); 4590// CHECK: @llvm.ppc.altivec.stvewx 4591// CHECK-LE: @llvm.ppc.altivec.stvewx 4592 4593 vec_stvewx(vbi, 0, ¶m_ui); 4594// CHECK: @llvm.ppc.altivec.stvewx 4595// CHECK-LE: @llvm.ppc.altivec.stvewx 4596 4597 vec_stvewx(vf, 0, ¶m_f); 4598// CHECK: @llvm.ppc.altivec.stvewx 4599// CHECK-LE: @llvm.ppc.altivec.stvewx 4600 4601 /* vec_stl */ 4602 vec_stl(vsc, 0, &vsc); 4603// CHECK: @llvm.ppc.altivec.stvxl 4604// CHECK-LE: @llvm.ppc.altivec.stvxl 4605 4606 vec_stl(vsc, 0, ¶m_sc); 4607// CHECK: @llvm.ppc.altivec.stvxl 4608// CHECK-LE: @llvm.ppc.altivec.stvxl 4609 4610 vec_stl(vuc, 0, &vuc); 4611// CHECK: @llvm.ppc.altivec.stvxl 4612// CHECK-LE: @llvm.ppc.altivec.stvxl 4613 4614 vec_stl(vuc, 0, ¶m_uc); 4615// CHECK: @llvm.ppc.altivec.stvxl 4616// CHECK-LE: @llvm.ppc.altivec.stvxl 4617 4618 vec_stl(vbc, 0, ¶m_sc); 4619// CHECK: @llvm.ppc.altivec.stvxl 4620// CHECK-LE: @llvm.ppc.altivec.stvxl 4621 4622 vec_stl(vbc, 0, ¶m_uc); 4623// CHECK: @llvm.ppc.altivec.stvxl 4624// CHECK-LE: @llvm.ppc.altivec.stvxl 4625 4626 vec_stl(vbc, 0, &vbc); 4627// CHECK: @llvm.ppc.altivec.stvxl 4628// CHECK-LE: @llvm.ppc.altivec.stvxl 4629 4630 vec_stl(vs, 0, &vs); 4631// CHECK: @llvm.ppc.altivec.stvxl 4632// CHECK-LE: @llvm.ppc.altivec.stvxl 4633 4634 vec_stl(vs, 0, ¶m_s); 4635// CHECK: @llvm.ppc.altivec.stvxl 4636// CHECK-LE: @llvm.ppc.altivec.stvxl 4637 4638 vec_stl(vus, 0, &vus); 4639// CHECK: @llvm.ppc.altivec.stvxl 4640// CHECK-LE: @llvm.ppc.altivec.stvxl 4641 4642 vec_stl(vus, 0, ¶m_us); 4643// CHECK: @llvm.ppc.altivec.stvxl 4644// CHECK-LE: @llvm.ppc.altivec.stvxl 4645 4646 vec_stl(vbs, 0, ¶m_s); 4647// CHECK: @llvm.ppc.altivec.stvxl 4648// CHECK-LE: @llvm.ppc.altivec.stvxl 4649 4650 vec_stl(vbs, 0, ¶m_us); 4651// CHECK: @llvm.ppc.altivec.stvxl 4652// CHECK-LE: @llvm.ppc.altivec.stvxl 4653 4654 vec_stl(vbs, 0, &vbs); 4655// CHECK: @llvm.ppc.altivec.stvxl 4656// CHECK-LE: @llvm.ppc.altivec.stvxl 4657 4658 vec_stl(vp, 0, ¶m_s); 4659// CHECK: @llvm.ppc.altivec.stvxl 4660// CHECK-LE: @llvm.ppc.altivec.stvxl 4661 4662 vec_stl(vp, 0, ¶m_us); 4663// CHECK: @llvm.ppc.altivec.stvxl 4664// CHECK-LE: @llvm.ppc.altivec.stvxl 4665 4666 vec_stl(vp, 0, &vp); 4667// CHECK: @llvm.ppc.altivec.stvxl 4668// CHECK-LE: @llvm.ppc.altivec.stvxl 4669 4670 vec_stl(vi, 0, &vi); 4671// CHECK: @llvm.ppc.altivec.stvxl 4672// CHECK-LE: @llvm.ppc.altivec.stvxl 4673 4674 vec_stl(vi, 0, ¶m_i); 4675// CHECK: @llvm.ppc.altivec.stvxl 4676// CHECK-LE: @llvm.ppc.altivec.stvxl 4677 4678 vec_stl(vui, 0, &vui); 4679// CHECK: @llvm.ppc.altivec.stvxl 4680// CHECK-LE: @llvm.ppc.altivec.stvxl 4681 4682 vec_stl(vui, 0, ¶m_ui); 4683// CHECK: @llvm.ppc.altivec.stvxl 4684// CHECK-LE: @llvm.ppc.altivec.stvxl 4685 4686 vec_stl(vbi, 0, ¶m_i); 4687// CHECK: @llvm.ppc.altivec.stvxl 4688// CHECK-LE: @llvm.ppc.altivec.stvxl 4689 4690 vec_stl(vbi, 0, ¶m_ui); 4691// CHECK: @llvm.ppc.altivec.stvxl 4692// CHECK-LE: @llvm.ppc.altivec.stvxl 4693 4694 vec_stl(vbi, 0, &vbi); 4695// CHECK: @llvm.ppc.altivec.stvxl 4696// CHECK-LE: @llvm.ppc.altivec.stvxl 4697 4698 vec_stl(vf, 0, &vf); 4699// CHECK: @llvm.ppc.altivec.stvxl 4700// CHECK-LE: @llvm.ppc.altivec.stvxl 4701 4702 vec_stl(vf, 0, ¶m_f); 4703// CHECK: @llvm.ppc.altivec.stvxl 4704// CHECK-LE: @llvm.ppc.altivec.stvxl 4705 4706 vec_stvxl(vsc, 0, &vsc); 4707// CHECK: @llvm.ppc.altivec.stvxl 4708// CHECK-LE: @llvm.ppc.altivec.stvxl 4709 4710 vec_stvxl(vsc, 0, ¶m_sc); 4711// CHECK: @llvm.ppc.altivec.stvxl 4712// CHECK-LE: @llvm.ppc.altivec.stvxl 4713 4714 vec_stvxl(vuc, 0, &vuc); 4715// CHECK: @llvm.ppc.altivec.stvxl 4716// CHECK-LE: @llvm.ppc.altivec.stvxl 4717 4718 vec_stvxl(vuc, 0, ¶m_uc); 4719// CHECK: @llvm.ppc.altivec.stvxl 4720// CHECK-LE: @llvm.ppc.altivec.stvxl 4721 4722 vec_stvxl(vbc, 0, ¶m_sc); 4723// CHECK: @llvm.ppc.altivec.stvxl 4724// CHECK-LE: @llvm.ppc.altivec.stvxl 4725 4726 vec_stvxl(vbc, 0, ¶m_uc); 4727// CHECK: @llvm.ppc.altivec.stvxl 4728// CHECK-LE: @llvm.ppc.altivec.stvxl 4729 4730 vec_stvxl(vbc, 0, &vbc); 4731// CHECK: @llvm.ppc.altivec.stvxl 4732// CHECK-LE: @llvm.ppc.altivec.stvxl 4733 4734 vec_stvxl(vs, 0, &vs); 4735// CHECK: @llvm.ppc.altivec.stvxl 4736// CHECK-LE: @llvm.ppc.altivec.stvxl 4737 4738 vec_stvxl(vs, 0, ¶m_s); 4739// CHECK: @llvm.ppc.altivec.stvxl 4740// CHECK-LE: @llvm.ppc.altivec.stvxl 4741 4742 vec_stvxl(vus, 0, &vus); 4743// CHECK: @llvm.ppc.altivec.stvxl 4744// CHECK-LE: @llvm.ppc.altivec.stvxl 4745 4746 vec_stvxl(vus, 0, ¶m_us); 4747// CHECK: @llvm.ppc.altivec.stvxl 4748// CHECK-LE: @llvm.ppc.altivec.stvxl 4749 4750 vec_stvxl(vbs, 0, ¶m_s); 4751// CHECK: @llvm.ppc.altivec.stvxl 4752// CHECK-LE: @llvm.ppc.altivec.stvxl 4753 4754 vec_stvxl(vbs, 0, ¶m_us); 4755// CHECK: @llvm.ppc.altivec.stvxl 4756// CHECK-LE: @llvm.ppc.altivec.stvxl 4757 4758 vec_stvxl(vbs, 0, &vbs); 4759// CHECK: @llvm.ppc.altivec.stvxl 4760// CHECK-LE: @llvm.ppc.altivec.stvxl 4761 4762 vec_stvxl(vp, 0, ¶m_s); 4763// CHECK: @llvm.ppc.altivec.stvxl 4764// CHECK-LE: @llvm.ppc.altivec.stvxl 4765 4766 vec_stvxl(vp, 0, ¶m_us); 4767// CHECK: @llvm.ppc.altivec.stvxl 4768// CHECK-LE: @llvm.ppc.altivec.stvxl 4769 4770 vec_stvxl(vp, 0, &vp); 4771// CHECK: @llvm.ppc.altivec.stvxl 4772// CHECK-LE: @llvm.ppc.altivec.stvxl 4773 4774 vec_stvxl(vi, 0, &vi); 4775// CHECK: @llvm.ppc.altivec.stvxl 4776// CHECK-LE: @llvm.ppc.altivec.stvxl 4777 4778 vec_stvxl(vi, 0, ¶m_i); 4779// CHECK: @llvm.ppc.altivec.stvxl 4780// CHECK-LE: @llvm.ppc.altivec.stvxl 4781 4782 vec_stvxl(vui, 0, &vui); 4783// CHECK: @llvm.ppc.altivec.stvxl 4784// CHECK-LE: @llvm.ppc.altivec.stvxl 4785 4786 vec_stvxl(vui, 0, ¶m_ui); 4787// CHECK: @llvm.ppc.altivec.stvxl 4788// CHECK-LE: @llvm.ppc.altivec.stvxl 4789 4790 vec_stvxl(vbi, 0, ¶m_i); 4791// CHECK: @llvm.ppc.altivec.stvxl 4792// CHECK-LE: @llvm.ppc.altivec.stvxl 4793 4794 vec_stvxl(vbi, 0, ¶m_ui); 4795// CHECK: @llvm.ppc.altivec.stvxl 4796// CHECK-LE: @llvm.ppc.altivec.stvxl 4797 4798 vec_stvxl(vbi, 0, &vbi); 4799// CHECK: @llvm.ppc.altivec.stvxl 4800// CHECK-LE: @llvm.ppc.altivec.stvxl 4801 4802 vec_stvxl(vf, 0, &vf); 4803// CHECK: @llvm.ppc.altivec.stvxl 4804// CHECK-LE: @llvm.ppc.altivec.stvxl 4805 4806 vec_stvxl(vf, 0, ¶m_f); 4807// CHECK: @llvm.ppc.altivec.stvxl 4808// CHECK-LE: @llvm.ppc.altivec.stvxl 4809 4810 /* vec_sub */ 4811 res_vsc = vec_sub(vsc, vsc); 4812// CHECK: sub <16 x i8> 4813// CHECK-LE: sub <16 x i8> 4814 4815 res_vsc = vec_sub(vbc, vsc); 4816// CHECK: sub <16 x i8> 4817// CHECK-LE: sub <16 x i8> 4818 4819 res_vsc = vec_sub(vsc, vbc); 4820// CHECK: sub <16 x i8> 4821// CHECK-LE: sub <16 x i8> 4822 4823 res_vuc = vec_sub(vuc, vuc); 4824// CHECK: sub <16 x i8> 4825// CHECK-LE: sub <16 x i8> 4826 4827 res_vuc = vec_sub(vbc, vuc); 4828// CHECK: sub <16 x i8> 4829// CHECK-LE: sub <16 x i8> 4830 4831 res_vuc = vec_sub(vuc, vbc); 4832// CHECK: sub <16 x i8> 4833// CHECK-LE: sub <16 x i8> 4834 4835 res_vs = vec_sub(vs, vs); 4836// CHECK: sub <8 x i16> 4837// CHECK-LE: sub <8 x i16> 4838 4839 res_vs = vec_sub(vbs, vs); 4840// CHECK: sub <8 x i16> 4841// CHECK-LE: sub <8 x i16> 4842 4843 res_vs = vec_sub(vs, vbs); 4844// CHECK: sub <8 x i16> 4845// CHECK-LE: sub <8 x i16> 4846 4847 res_vus = vec_sub(vus, vus); 4848// CHECK: sub <8 x i16> 4849// CHECK-LE: sub <8 x i16> 4850 4851 res_vus = vec_sub(vbs, vus); 4852// CHECK: sub <8 x i16> 4853// CHECK-LE: sub <8 x i16> 4854 4855 res_vus = vec_sub(vus, vbs); 4856// CHECK: sub <8 x i16> 4857// CHECK-LE: sub <8 x i16> 4858 4859 res_vi = vec_sub(vi, vi); 4860// CHECK: sub <4 x i32> 4861// CHECK-LE: sub <4 x i32> 4862 4863 res_vi = vec_sub(vbi, vi); 4864// CHECK: sub <4 x i32> 4865// CHECK-LE: sub <4 x i32> 4866 4867 res_vi = vec_sub(vi, vbi); 4868// CHECK: sub <4 x i32> 4869// CHECK-LE: sub <4 x i32> 4870 4871 res_vui = vec_sub(vui, vui); 4872// CHECK: sub <4 x i32> 4873// CHECK-LE: sub <4 x i32> 4874 4875 res_vui = vec_sub(vbi, vui); 4876// CHECK: sub <4 x i32> 4877// CHECK-LE: sub <4 x i32> 4878 4879 res_vui = vec_sub(vui, vbi); 4880// CHECK: sub <4 x i32> 4881// CHECK-LE: sub <4 x i32> 4882 4883 res_vf = vec_sub(vf, vf); 4884// CHECK: fsub <4 x float> 4885// CHECK-LE: fsub <4 x float> 4886 4887 res_vsc = vec_vsububm(vsc, vsc); 4888// CHECK: sub <16 x i8> 4889// CHECK-LE: sub <16 x i8> 4890 4891 res_vsc = vec_vsububm(vbc, vsc); 4892// CHECK: sub <16 x i8> 4893// CHECK-LE: sub <16 x i8> 4894 4895 res_vsc = vec_vsububm(vsc, vbc); 4896// CHECK: sub <16 x i8> 4897// CHECK-LE: sub <16 x i8> 4898 4899 res_vuc = vec_vsububm(vuc, vuc); 4900// CHECK: sub <16 x i8> 4901// CHECK-LE: sub <16 x i8> 4902 4903 res_vuc = vec_vsububm(vbc, vuc); 4904// CHECK: sub <16 x i8> 4905// CHECK-LE: sub <16 x i8> 4906 4907 res_vuc = vec_vsububm(vuc, vbc); 4908// CHECK: sub <16 x i8> 4909// CHECK-LE: sub <16 x i8> 4910 4911 res_vs = vec_vsubuhm(vs, vs); 4912// CHECK: sub <8 x i16> 4913// CHECK-LE: sub <8 x i16> 4914 4915 res_vs = vec_vsubuhm(vbs, vus); 4916// CHECK: sub <8 x i16> 4917// CHECK-LE: sub <8 x i16> 4918 4919 res_vs = vec_vsubuhm(vus, vbs); 4920// CHECK: sub <8 x i16> 4921// CHECK-LE: sub <8 x i16> 4922 4923 res_vus = vec_vsubuhm(vus, vus); 4924// CHECK: sub <8 x i16> 4925// CHECK-LE: sub <8 x i16> 4926 4927 res_vus = vec_vsubuhm(vbs, vus); 4928// CHECK: sub <8 x i16> 4929// CHECK-LE: sub <8 x i16> 4930 4931 res_vus = vec_vsubuhm(vus, vbs); 4932// CHECK: sub <8 x i16> 4933// CHECK-LE: sub <8 x i16> 4934 4935 res_vi = vec_vsubuwm(vi, vi); 4936// CHECK: sub <4 x i32> 4937// CHECK-LE: sub <4 x i32> 4938 4939 res_vi = vec_vsubuwm(vbi, vi); 4940// CHECK: sub <4 x i32> 4941// CHECK-LE: sub <4 x i32> 4942 4943 res_vi = vec_vsubuwm(vi, vbi); 4944// CHECK: sub <4 x i32> 4945// CHECK-LE: sub <4 x i32> 4946 4947 res_vui = vec_vsubuwm(vui, vui); 4948// CHECK: sub <4 x i32> 4949// CHECK-LE: sub <4 x i32> 4950 4951 res_vui = vec_vsubuwm(vbi, vui); 4952// CHECK: sub <4 x i32> 4953// CHECK-LE: sub <4 x i32> 4954 4955 res_vui = vec_vsubuwm(vui, vbi); 4956// CHECK: sub <4 x i32> 4957// CHECK-LE: sub <4 x i32> 4958 4959 res_vf = vec_vsubfp(vf, vf); 4960// CHECK: fsub <4 x float> 4961// CHECK-LE: fsub <4 x float> 4962 4963 /* vec_subc */ 4964 res_vui = vec_subc(vui, vui); 4965// CHECK: @llvm.ppc.altivec.vsubcuw 4966// CHECK-LE: @llvm.ppc.altivec.vsubcuw 4967 4968 res_vui = vec_vsubcuw(vui, vui); 4969// CHECK: @llvm.ppc.altivec.vsubcuw 4970// CHECK-LE: @llvm.ppc.altivec.vsubcuw 4971 4972 /* vec_subs */ 4973 res_vsc = vec_subs(vsc, vsc); 4974// CHECK: @llvm.ppc.altivec.vsubsbs 4975// CHECK-LE: @llvm.ppc.altivec.vsubsbs 4976 4977 res_vsc = vec_subs(vbc, vsc); 4978// CHECK: @llvm.ppc.altivec.vsubsbs 4979// CHECK-LE: @llvm.ppc.altivec.vsubsbs 4980 4981 res_vsc = vec_subs(vsc, vbc); 4982// CHECK: @llvm.ppc.altivec.vsubsbs 4983// CHECK-LE: @llvm.ppc.altivec.vsubsbs 4984 4985 res_vuc = vec_subs(vuc, vuc); 4986// CHECK: @llvm.ppc.altivec.vsububs 4987// CHECK-LE: @llvm.ppc.altivec.vsububs 4988 4989 res_vuc = vec_subs(vbc, vuc); 4990// CHECK: @llvm.ppc.altivec.vsububs 4991// CHECK-LE: @llvm.ppc.altivec.vsububs 4992 4993 res_vuc = vec_subs(vuc, vbc); 4994// CHECK: @llvm.ppc.altivec.vsububs 4995// CHECK-LE: @llvm.ppc.altivec.vsububs 4996 4997 res_vs = vec_subs(vs, vs); 4998// CHECK: @llvm.ppc.altivec.vsubshs 4999// CHECK-LE: @llvm.ppc.altivec.vsubshs 5000 5001 res_vs = vec_subs(vbs, vs); 5002// CHECK: @llvm.ppc.altivec.vsubshs 5003// CHECK-LE: @llvm.ppc.altivec.vsubshs 5004 5005 res_vs = vec_subs(vs, vbs); 5006// CHECK: @llvm.ppc.altivec.vsubshs 5007// CHECK-LE: @llvm.ppc.altivec.vsubshs 5008 5009 res_vus = vec_subs(vus, vus); 5010// CHECK: @llvm.ppc.altivec.vsubuhs 5011// CHECK-LE: @llvm.ppc.altivec.vsubuhs 5012 5013 res_vus = vec_subs(vbs, vus); 5014// CHECK: @llvm.ppc.altivec.vsubuhs 5015// CHECK-LE: @llvm.ppc.altivec.vsubuhs 5016 5017 res_vus = vec_subs(vus, vbs); 5018// CHECK: @llvm.ppc.altivec.vsubuhs 5019// CHECK-LE: @llvm.ppc.altivec.vsubuhs 5020 5021 res_vi = vec_subs(vi, vi); 5022// CHECK: @llvm.ppc.altivec.vsubsws 5023// CHECK-LE: @llvm.ppc.altivec.vsubsws 5024 5025 res_vi = vec_subs(vbi, vi); 5026// CHECK: @llvm.ppc.altivec.vsubsws 5027// CHECK-LE: @llvm.ppc.altivec.vsubsws 5028 5029 res_vi = vec_subs(vi, vbi); 5030// CHECK: @llvm.ppc.altivec.vsubsws 5031// CHECK-LE: @llvm.ppc.altivec.vsubsws 5032 5033 res_vui = vec_subs(vui, vui); 5034// CHECK: @llvm.ppc.altivec.vsubuws 5035// CHECK-LE: @llvm.ppc.altivec.vsubuws 5036 5037 res_vui = vec_subs(vbi, vui); 5038// CHECK: @llvm.ppc.altivec.vsubuws 5039// CHECK-LE: @llvm.ppc.altivec.vsubuws 5040 5041 res_vui = vec_subs(vui, vbi); 5042// CHECK: @llvm.ppc.altivec.vsubuws 5043// CHECK-LE: @llvm.ppc.altivec.vsubuws 5044 5045 res_vsc = vec_vsubsbs(vsc, vsc); 5046// CHECK: @llvm.ppc.altivec.vsubsbs 5047// CHECK-LE: @llvm.ppc.altivec.vsubsbs 5048 5049 res_vsc = vec_vsubsbs(vbc, vsc); 5050// CHECK: @llvm.ppc.altivec.vsubsbs 5051// CHECK-LE: @llvm.ppc.altivec.vsubsbs 5052 5053 res_vsc = vec_vsubsbs(vsc, vbc); 5054// CHECK: @llvm.ppc.altivec.vsubsbs 5055// CHECK-LE: @llvm.ppc.altivec.vsubsbs 5056 5057 res_vuc = vec_vsububs(vuc, vuc); 5058// CHECK: @llvm.ppc.altivec.vsububs 5059// CHECK-LE: @llvm.ppc.altivec.vsububs 5060 5061 res_vuc = vec_vsububs(vbc, vuc); 5062// CHECK: @llvm.ppc.altivec.vsububs 5063// CHECK-LE: @llvm.ppc.altivec.vsububs 5064 5065 res_vuc = vec_vsububs(vuc, vbc); 5066// CHECK: @llvm.ppc.altivec.vsububs 5067// CHECK-LE: @llvm.ppc.altivec.vsububs 5068 5069 res_vs = vec_vsubshs(vs, vs); 5070// CHECK: @llvm.ppc.altivec.vsubshs 5071// CHECK-LE: @llvm.ppc.altivec.vsubshs 5072 5073 res_vs = vec_vsubshs(vbs, vs); 5074// CHECK: @llvm.ppc.altivec.vsubshs 5075// CHECK-LE: @llvm.ppc.altivec.vsubshs 5076 5077 res_vs = vec_vsubshs(vs, vbs); 5078// CHECK: @llvm.ppc.altivec.vsubshs 5079// CHECK-LE: @llvm.ppc.altivec.vsubshs 5080 5081 res_vus = vec_vsubuhs(vus, vus); 5082// CHECK: @llvm.ppc.altivec.vsubuhs 5083// CHECK-LE: @llvm.ppc.altivec.vsubuhs 5084 5085 res_vus = vec_vsubuhs(vbs, vus); 5086// CHECK: @llvm.ppc.altivec.vsubuhs 5087// CHECK-LE: @llvm.ppc.altivec.vsubuhs 5088 5089 res_vus = vec_vsubuhs(vus, vbs); 5090// CHECK: @llvm.ppc.altivec.vsubuhs 5091// CHECK-LE: @llvm.ppc.altivec.vsubuhs 5092 5093 res_vi = vec_vsubsws(vi, vi); 5094// CHECK: @llvm.ppc.altivec.vsubsws 5095// CHECK-LE: @llvm.ppc.altivec.vsubsws 5096 5097 res_vi = vec_vsubsws(vbi, vi); 5098// CHECK: @llvm.ppc.altivec.vsubsws 5099// CHECK-LE: @llvm.ppc.altivec.vsubsws 5100 5101 res_vi = vec_vsubsws(vi, vbi); 5102// CHECK: @llvm.ppc.altivec.vsubsws 5103// CHECK-LE: @llvm.ppc.altivec.vsubsws 5104 5105 res_vui = vec_vsubuws(vui, vui); 5106// CHECK: @llvm.ppc.altivec.vsubuws 5107// CHECK-LE: @llvm.ppc.altivec.vsubuws 5108 5109 res_vui = vec_vsubuws(vbi, vui); 5110// CHECK: @llvm.ppc.altivec.vsubuws 5111// CHECK-LE: @llvm.ppc.altivec.vsubuws 5112 5113 res_vui = vec_vsubuws(vui, vbi); 5114// CHECK: @llvm.ppc.altivec.vsubuws 5115// CHECK-LE: @llvm.ppc.altivec.vsubuws 5116 5117 /* vec_sum4s */ 5118 res_vi = vec_sum4s(vsc, vi); 5119// CHECK: @llvm.ppc.altivec.vsum4sbs 5120// CHECK-LE: @llvm.ppc.altivec.vsum4sbs 5121 5122 res_vui = vec_sum4s(vuc, vui); 5123// CHECK: @llvm.ppc.altivec.vsum4ubs 5124// CHECK-LE: @llvm.ppc.altivec.vsum4ubs 5125 5126 res_vi = vec_sum4s(vs, vi); 5127// CHECK: @llvm.ppc.altivec.vsum4shs 5128// CHECK-LE: @llvm.ppc.altivec.vsum4shs 5129 5130 res_vi = vec_vsum4sbs(vsc, vi); 5131// CHECK: @llvm.ppc.altivec.vsum4sbs 5132// CHECK-LE: @llvm.ppc.altivec.vsum4sbs 5133 5134 res_vui = vec_vsum4ubs(vuc, vui); 5135// CHECK: @llvm.ppc.altivec.vsum4ubs 5136// CHECK-LE: @llvm.ppc.altivec.vsum4ubs 5137 5138 res_vi = vec_vsum4shs(vs, vi); 5139// CHECK: @llvm.ppc.altivec.vsum4shs 5140// CHECK-LE: @llvm.ppc.altivec.vsum4shs 5141 5142 /* vec_sum2s */ 5143 res_vi = vec_sum2s(vi, vi); 5144// CHECK: @llvm.ppc.altivec.vsum2sws 5145// CHECK-LE: @llvm.ppc.altivec.vperm 5146// CHECK-LE: @llvm.ppc.altivec.vsum2sws 5147// CHECK-LE: @llvm.ppc.altivec.vperm 5148 5149 res_vi = vec_vsum2sws(vi, vi); 5150// CHECK: @llvm.ppc.altivec.vsum2sws 5151// CHECK-LE: @llvm.ppc.altivec.vperm 5152// CHECK-LE: @llvm.ppc.altivec.vsum2sws 5153// CHECK-LE: @llvm.ppc.altivec.vperm 5154 5155 /* vec_sums */ 5156 res_vi = vec_sums(vi, vi); 5157// CHECK: @llvm.ppc.altivec.vsumsws 5158// CHECK-LE: @llvm.ppc.altivec.vperm 5159// CHECK-LE: @llvm.ppc.altivec.vsumsws 5160 5161 res_vi = vec_vsumsws(vi, vi); 5162// CHECK: @llvm.ppc.altivec.vsumsws 5163// CHECK-LE: @llvm.ppc.altivec.vperm 5164// CHECK-LE: @llvm.ppc.altivec.vsumsws 5165 5166 /* vec_trunc */ 5167 res_vf = vec_trunc(vf); 5168// CHECK: @llvm.ppc.altivec.vrfiz 5169// CHECK-LE: @llvm.ppc.altivec.vrfiz 5170 5171 res_vf = vec_vrfiz(vf); 5172// CHECK: @llvm.ppc.altivec.vrfiz 5173// CHECK-LE: @llvm.ppc.altivec.vrfiz 5174 5175 /* vec_unpackh */ 5176 res_vs = vec_unpackh(vsc); 5177// CHECK: @llvm.ppc.altivec.vupkhsb 5178// CHECK-LE: @llvm.ppc.altivec.vupklsb 5179 5180 res_vbs = vec_unpackh(vbc); 5181// CHECK: @llvm.ppc.altivec.vupkhsb 5182// CHECK-LE: @llvm.ppc.altivec.vupklsb 5183 5184 res_vi = vec_unpackh(vs); 5185// CHECK: @llvm.ppc.altivec.vupkhsh 5186// CHECK-LE: @llvm.ppc.altivec.vupklsh 5187 5188 res_vbi = vec_unpackh(vbs); 5189// CHECK: @llvm.ppc.altivec.vupkhsh 5190// CHECK-LE: @llvm.ppc.altivec.vupklsh 5191 5192 res_vui = vec_unpackh(vp); 5193// CHECK: @llvm.ppc.altivec.vupkhpx 5194// CHECK-LE: @llvm.ppc.altivec.vupklpx 5195 5196 res_vs = vec_vupkhsb(vsc); 5197// CHECK: @llvm.ppc.altivec.vupkhsb 5198// CHECK-LE: @llvm.ppc.altivec.vupklsb 5199 5200 res_vbs = vec_vupkhsb(vbc); 5201// CHECK: @llvm.ppc.altivec.vupkhsb 5202// CHECK-LE: @llvm.ppc.altivec.vupklsb 5203 5204 res_vi = vec_vupkhsh(vs); 5205// CHECK: @llvm.ppc.altivec.vupkhsh 5206// CHECK-LE: @llvm.ppc.altivec.vupklsh 5207 5208 res_vbi = vec_vupkhsh(vbs); 5209// CHECK: @llvm.ppc.altivec.vupkhsh 5210// CHECK-LE: @llvm.ppc.altivec.vupklsh 5211 5212 res_vui = vec_vupkhsh(vp); 5213// CHECK: @llvm.ppc.altivec.vupkhpx 5214// CHECK-LE: @llvm.ppc.altivec.vupklpx 5215 5216 /* vec_unpackl */ 5217 res_vs = vec_unpackl(vsc); 5218// CHECK: @llvm.ppc.altivec.vupklsb 5219// CHECK-LE: @llvm.ppc.altivec.vupkhsb 5220 5221 res_vbs = vec_unpackl(vbc); 5222// CHECK: @llvm.ppc.altivec.vupklsb 5223// CHECK-LE: @llvm.ppc.altivec.vupkhsb 5224 5225 res_vi = vec_unpackl(vs); 5226// CHECK: @llvm.ppc.altivec.vupklsh 5227// CHECK-LE: @llvm.ppc.altivec.vupkhsh 5228 5229 res_vbi = vec_unpackl(vbs); 5230// CHECK: @llvm.ppc.altivec.vupklsh 5231// CHECK-LE: @llvm.ppc.altivec.vupkhsh 5232 5233 res_vui = vec_unpackl(vp); 5234// CHECK: @llvm.ppc.altivec.vupklpx 5235// CHECK-LE: @llvm.ppc.altivec.vupkhpx 5236 5237 res_vs = vec_vupklsb(vsc); 5238// CHECK: @llvm.ppc.altivec.vupklsb 5239// CHECK-LE: @llvm.ppc.altivec.vupkhsb 5240 5241 res_vbs = vec_vupklsb(vbc); 5242// CHECK: @llvm.ppc.altivec.vupklsb 5243// CHECK-LE: @llvm.ppc.altivec.vupkhsb 5244 5245 res_vi = vec_vupklsh(vs); 5246// CHECK: @llvm.ppc.altivec.vupklsh 5247// CHECK-LE: @llvm.ppc.altivec.vupkhsh 5248 5249 res_vbi = vec_vupklsh(vbs); 5250// CHECK: @llvm.ppc.altivec.vupklsh 5251// CHECK-LE: @llvm.ppc.altivec.vupkhsh 5252 5253 res_vui = vec_vupklsh(vp); 5254// CHECK: @llvm.ppc.altivec.vupklpx 5255// CHECK-LE: @llvm.ppc.altivec.vupkhpx 5256 5257 /* vec_xor */ 5258 res_vsc = vec_xor(vsc, vsc); 5259// CHECK: xor <16 x i8> 5260// CHECK-LE: xor <16 x i8> 5261 5262 res_vsc = vec_xor(vbc, vsc); 5263// CHECK: xor <16 x i8> 5264// CHECK-LE: xor <16 x i8> 5265 5266 res_vsc = vec_xor(vsc, vbc); 5267// CHECK: xor <16 x i8> 5268// CHECK-LE: xor <16 x i8> 5269 5270 res_vuc = vec_xor(vuc, vuc); 5271// CHECK: xor <16 x i8> 5272// CHECK-LE: xor <16 x i8> 5273 5274 res_vuc = vec_xor(vbc, vuc); 5275// CHECK: xor <16 x i8> 5276// CHECK-LE: xor <16 x i8> 5277 5278 res_vuc = vec_xor(vuc, vbc); 5279// CHECK: xor <16 x i8> 5280// CHECK-LE: xor <16 x i8> 5281 5282 res_vbc = vec_xor(vbc, vbc); 5283// CHECK: xor <16 x i8> 5284// CHECK-LE: xor <16 x i8> 5285 5286 res_vs = vec_xor(vs, vs); 5287// CHECK: xor <8 x i16> 5288// CHECK-LE: xor <8 x i16> 5289 5290 res_vs = vec_xor(vbs, vs); 5291// CHECK: xor <8 x i16> 5292// CHECK-LE: xor <8 x i16> 5293 5294 res_vs = vec_xor(vs, vbs); 5295// CHECK: xor <8 x i16> 5296// CHECK-LE: xor <8 x i16> 5297 5298 res_vus = vec_xor(vus, vus); 5299// CHECK: xor <8 x i16> 5300// CHECK-LE: xor <8 x i16> 5301 5302 res_vus = vec_xor(vbs, vus); 5303// CHECK: xor <8 x i16> 5304// CHECK-LE: xor <8 x i16> 5305 5306 res_vus = vec_xor(vus, vbs); 5307// CHECK: xor <8 x i16> 5308// CHECK-LE: xor <8 x i16> 5309 5310 res_vbs = vec_xor(vbs, vbs); 5311// CHECK: xor <8 x i16> 5312// CHECK-LE: xor <8 x i16> 5313 5314 res_vi = vec_xor(vi, vi); 5315// CHECK: xor <4 x i32> 5316// CHECK-LE: xor <4 x i32> 5317 5318 res_vi = vec_xor(vbi, vi); 5319// CHECK: xor <4 x i32> 5320// CHECK-LE: xor <4 x i32> 5321 5322 res_vi = vec_xor(vi, vbi); 5323// CHECK: xor <4 x i32> 5324// CHECK-LE: xor <4 x i32> 5325 5326 res_vui = vec_xor(vui, vui); 5327// CHECK: xor <4 x i32> 5328// CHECK-LE: xor <4 x i32> 5329 5330 res_vui = vec_xor(vbi, vui); 5331// CHECK: xor <4 x i32> 5332// CHECK-LE: xor <4 x i32> 5333 5334 res_vui = vec_xor(vui, vbi); 5335// CHECK: xor <4 x i32> 5336// CHECK-LE: xor <4 x i32> 5337 5338 res_vbi = vec_xor(vbi, vbi); 5339// CHECK: xor <4 x i32> 5340// CHECK-LE: xor <4 x i32> 5341 5342 res_vf = vec_xor(vf, vf); 5343// CHECK: xor <4 x i32> 5344// CHECK-LE: xor <4 x i32> 5345 5346 res_vf = vec_xor(vbi, vf); 5347// CHECK: xor <4 x i32> 5348// CHECK-LE: xor <4 x i32> 5349 5350 res_vf = vec_xor(vf, vbi); 5351// CHECK: xor <4 x i32> 5352// CHECK-LE: xor <4 x i32> 5353 5354 res_vsc = vec_vxor(vsc, vsc); 5355// CHECK: xor <16 x i8> 5356// CHECK-LE: xor <16 x i8> 5357 5358 res_vsc = vec_vxor(vbc, vsc); 5359// CHECK: xor <16 x i8> 5360// CHECK-LE: xor <16 x i8> 5361 5362 res_vsc = vec_vxor(vsc, vbc); 5363// CHECK: xor <16 x i8> 5364// CHECK-LE: xor <16 x i8> 5365 5366 res_vuc = vec_vxor(vuc, vuc); 5367// CHECK: xor <16 x i8> 5368// CHECK-LE: xor <16 x i8> 5369 5370 res_vuc = vec_vxor(vbc, vuc); 5371// CHECK: xor <16 x i8> 5372// CHECK-LE: xor <16 x i8> 5373 5374 res_vuc = vec_vxor(vuc, vbc); 5375// CHECK: xor <16 x i8> 5376// CHECK-LE: xor <16 x i8> 5377 5378 res_vbc = vec_vxor(vbc, vbc); 5379// CHECK: xor <16 x i8> 5380// CHECK-LE: xor <16 x i8> 5381 5382 res_vs = vec_vxor(vs, vs); 5383// CHECK: xor <8 x i16> 5384// CHECK-LE: xor <8 x i16> 5385 5386 res_vs = vec_vxor(vbs, vs); 5387// CHECK: xor <8 x i16> 5388// CHECK-LE: xor <8 x i16> 5389 5390 res_vs = vec_vxor(vs, vbs); 5391// CHECK: xor <8 x i16> 5392// CHECK-LE: xor <8 x i16> 5393 5394 res_vus = vec_vxor(vus, vus); 5395// CHECK: xor <8 x i16> 5396// CHECK-LE: xor <8 x i16> 5397 5398 res_vus = vec_vxor(vbs, vus); 5399// CHECK: xor <8 x i16> 5400// CHECK-LE: xor <8 x i16> 5401 5402 res_vus = vec_vxor(vus, vbs); 5403// CHECK: xor <8 x i16> 5404// CHECK-LE: xor <8 x i16> 5405 5406 res_vbs = vec_vxor(vbs, vbs); 5407// CHECK: xor <8 x i16> 5408// CHECK-LE: xor <8 x i16> 5409 5410 res_vi = vec_vxor(vi, vi); 5411// CHECK: xor <4 x i32> 5412// CHECK-LE: xor <4 x i32> 5413 5414 res_vi = vec_vxor(vbi, vi); 5415// CHECK: xor <4 x i32> 5416// CHECK-LE: xor <4 x i32> 5417 5418 res_vi = vec_vxor(vi, vbi); 5419// CHECK: xor <4 x i32> 5420// CHECK-LE: xor <4 x i32> 5421 5422 res_vui = vec_vxor(vui, vui); 5423// CHECK: xor <4 x i32> 5424// CHECK-LE: xor <4 x i32> 5425 5426 res_vui = vec_vxor(vbi, vui); 5427// CHECK: xor <4 x i32> 5428// CHECK-LE: xor <4 x i32> 5429 5430 res_vui = vec_vxor(vui, vbi); 5431// CHECK: xor <4 x i32> 5432// CHECK-LE: xor <4 x i32> 5433 5434 res_vbi = vec_vxor(vbi, vbi); 5435// CHECK: xor <4 x i32> 5436// CHECK-LE: xor <4 x i32> 5437 5438 res_vf = vec_vxor(vf, vf); 5439// CHECK: xor <4 x i32> 5440// CHECK-LE: xor <4 x i32> 5441 5442 res_vf = vec_vxor(vbi, vf); 5443// CHECK: xor <4 x i32> 5444// CHECK-LE: xor <4 x i32> 5445 5446 res_vf = vec_vxor(vf, vbi); 5447// CHECK: xor <4 x i32> 5448// CHECK-LE: xor <4 x i32> 5449 5450 /* ------------------------------ extensions -------------------------------------- */ 5451 5452 /* vec_extract */ 5453 res_sc = vec_extract(vsc, param_i); 5454// CHECK: extractelement <16 x i8> 5455// CHECK-LE: extractelement <16 x i8> 5456 5457 res_uc = vec_extract(vuc, param_i); 5458// CHECK: extractelement <16 x i8> 5459// CHECK-LE: extractelement <16 x i8> 5460 5461 res_s = vec_extract(vs, param_i); 5462// CHECK: extractelement <8 x i16> 5463// CHECK-LE: extractelement <8 x i16> 5464 5465 res_us = vec_extract(vus, param_i); 5466// CHECK: extractelement <8 x i16> 5467// CHECK-LE: extractelement <8 x i16> 5468 5469 res_i = vec_extract(vi, param_i); 5470// CHECK: extractelement <4 x i32> 5471// CHECK-LE: extractelement <4 x i32> 5472 5473 res_ui = vec_extract(vui, param_i); 5474// CHECK: extractelement <4 x i32> 5475// CHECK-LE: extractelement <4 x i32> 5476 5477 res_f = vec_extract(vf, param_i); 5478// CHECK: extractelement <4 x float> 5479// CHECK-LE: extractelement <4 x float> 5480 5481 /* vec_insert */ 5482 res_vsc = vec_insert(param_sc, vsc, param_i); 5483// CHECK: insertelement <16 x i8> 5484// CHECK-LE: insertelement <16 x i8> 5485 5486 res_vuc = vec_insert(param_uc, vuc, param_i); 5487// CHECK: insertelement <16 x i8> 5488// CHECK-LE: insertelement <16 x i8> 5489 5490 res_vs = vec_insert(param_s, vs, param_i); 5491// CHECK: insertelement <8 x i16> 5492// CHECK-LE: insertelement <8 x i16> 5493 5494 res_vus = vec_insert(param_us, vus, param_i); 5495// CHECK: insertelement <8 x i16> 5496// CHECK-LE: insertelement <8 x i16> 5497 5498 res_vi = vec_insert(param_i, vi, param_i); 5499// CHECK: insertelement <4 x i32> 5500// CHECK-LE: insertelement <4 x i32> 5501 5502 res_vui = vec_insert(param_ui, vui, param_i); 5503// CHECK: insertelement <4 x i32> 5504// CHECK-LE: insertelement <4 x i32> 5505 5506 res_vf = vec_insert(param_f, vf, param_i); 5507// CHECK: insertelement <4 x float> 5508// CHECK-LE: insertelement <4 x float> 5509 5510 /* vec_lvlx */ 5511 res_vsc = vec_lvlx(0, ¶m_sc); 5512// CHECK: @llvm.ppc.altivec.lvx 5513// CHECK: @llvm.ppc.altivec.lvsl 5514// CHECK: store <16 x i8> zeroinitializer 5515// CHECK: @llvm.ppc.altivec.vperm 5516// CHECK-LE: @llvm.ppc.altivec.lvx 5517// CHECK-LE: @llvm.ppc.altivec.lvsl 5518// CHECK-LE: store <16 x i8> zeroinitializer 5519// CHECK-LE: @llvm.ppc.altivec.vperm 5520 5521 res_vsc = vec_lvlx(0, &vsc); 5522// CHECK: @llvm.ppc.altivec.lvx 5523// CHECK: @llvm.ppc.altivec.lvsl 5524// CHECK: store <16 x i8> zeroinitializer 5525// CHECK: @llvm.ppc.altivec.vperm 5526// CHECK-LE: @llvm.ppc.altivec.lvx 5527// CHECK-LE: @llvm.ppc.altivec.lvsl 5528// CHECK-LE: store <16 x i8> zeroinitializer 5529// CHECK-LE: @llvm.ppc.altivec.vperm 5530 5531 res_vuc = vec_lvlx(0, ¶m_uc); 5532// CHECK: @llvm.ppc.altivec.lvx 5533// CHECK: @llvm.ppc.altivec.lvsl 5534// CHECK: store <16 x i8> zeroinitializer 5535// CHECK: @llvm.ppc.altivec.vperm 5536// CHECK-LE: @llvm.ppc.altivec.lvx 5537// CHECK-LE: @llvm.ppc.altivec.lvsl 5538// CHECK-LE: store <16 x i8> zeroinitializer 5539// CHECK-LE: @llvm.ppc.altivec.vperm 5540 5541 res_vuc = vec_lvlx(0, &vuc); 5542// CHECK: @llvm.ppc.altivec.lvx 5543// CHECK: @llvm.ppc.altivec.lvsl 5544// CHECK: store <16 x i8> zeroinitializer 5545// CHECK: @llvm.ppc.altivec.vperm 5546// CHECK-LE: @llvm.ppc.altivec.lvx 5547// CHECK-LE: @llvm.ppc.altivec.lvsl 5548// CHECK-LE: store <16 x i8> zeroinitializer 5549// CHECK-LE: @llvm.ppc.altivec.vperm 5550 5551 res_vbc = vec_lvlx(0, &vbc); 5552// CHECK: @llvm.ppc.altivec.lvx 5553// CHECK: store <16 x i8> zeroinitializer 5554// CHECK: @llvm.ppc.altivec.lvsl 5555// CHECK: @llvm.ppc.altivec.vperm 5556// CHECK-LE: @llvm.ppc.altivec.lvx 5557// CHECK-LE: store <16 x i8> zeroinitializer 5558// CHECK-LE: @llvm.ppc.altivec.lvsl 5559// CHECK-LE: @llvm.ppc.altivec.vperm 5560 5561 res_vs = vec_lvlx(0, ¶m_s); 5562// CHECK: @llvm.ppc.altivec.lvx 5563// CHECK: @llvm.ppc.altivec.lvsl 5564// CHECK: store <8 x i16> zeroinitializer 5565// CHECK: @llvm.ppc.altivec.vperm 5566// CHECK-LE: @llvm.ppc.altivec.lvx 5567// CHECK-LE: @llvm.ppc.altivec.lvsl 5568// CHECK-LE: store <8 x i16> zeroinitializer 5569// CHECK-LE: @llvm.ppc.altivec.vperm 5570 5571 res_vs = vec_lvlx(0, &vs); 5572// CHECK: @llvm.ppc.altivec.lvx 5573// CHECK: @llvm.ppc.altivec.lvsl 5574// CHECK: store <8 x i16> zeroinitializer 5575// CHECK: @llvm.ppc.altivec.vperm 5576// CHECK-LE: @llvm.ppc.altivec.lvx 5577// CHECK-LE: @llvm.ppc.altivec.lvsl 5578// CHECK-LE: store <8 x i16> zeroinitializer 5579// CHECK-LE: @llvm.ppc.altivec.vperm 5580 5581 res_vus = vec_lvlx(0, ¶m_us); 5582// CHECK: @llvm.ppc.altivec.lvx 5583// CHECK: @llvm.ppc.altivec.lvsl 5584// CHECK: store <8 x i16> zeroinitializer 5585// CHECK: @llvm.ppc.altivec.vperm 5586// CHECK-LE: @llvm.ppc.altivec.lvx 5587// CHECK-LE: @llvm.ppc.altivec.lvsl 5588// CHECK-LE: store <8 x i16> zeroinitializer 5589// CHECK-LE: @llvm.ppc.altivec.vperm 5590 5591 res_vus = vec_lvlx(0, &vus); 5592// CHECK: @llvm.ppc.altivec.lvx 5593// CHECK: @llvm.ppc.altivec.lvsl 5594// CHECK: store <8 x i16> zeroinitializer 5595// CHECK: @llvm.ppc.altivec.vperm 5596// CHECK-LE: @llvm.ppc.altivec.lvx 5597// CHECK-LE: @llvm.ppc.altivec.lvsl 5598// CHECK-LE: store <8 x i16> zeroinitializer 5599// CHECK-LE: @llvm.ppc.altivec.vperm 5600 5601 res_vbs = vec_lvlx(0, &vbs); 5602// CHECK: @llvm.ppc.altivec.lvx 5603// CHECK: store <8 x i16> zeroinitializer 5604// CHECK: @llvm.ppc.altivec.lvsl 5605// CHECK: @llvm.ppc.altivec.vperm 5606// CHECK-LE: @llvm.ppc.altivec.lvx 5607// CHECK-LE: store <8 x i16> zeroinitializer 5608// CHECK-LE: @llvm.ppc.altivec.lvsl 5609// CHECK-LE: @llvm.ppc.altivec.vperm 5610 5611 res_vp = vec_lvlx(0, &vp); 5612// CHECK: @llvm.ppc.altivec.lvx 5613// CHECK: store <8 x i16> zeroinitializer 5614// CHECK: @llvm.ppc.altivec.lvsl 5615// CHECK: @llvm.ppc.altivec.vperm 5616// CHECK-LE: @llvm.ppc.altivec.lvx 5617// CHECK-LE: store <8 x i16> zeroinitializer 5618// CHECK-LE: @llvm.ppc.altivec.lvsl 5619// CHECK-LE: @llvm.ppc.altivec.vperm 5620 5621 res_vi = vec_lvlx(0, ¶m_i); 5622// CHECK: @llvm.ppc.altivec.lvx 5623// CHECK: @llvm.ppc.altivec.lvsl 5624// CHECK: store <4 x i32> zeroinitializer 5625// CHECK: @llvm.ppc.altivec.vperm 5626// CHECK-LE: @llvm.ppc.altivec.lvx 5627// CHECK-LE: @llvm.ppc.altivec.lvsl 5628// CHECK-LE: store <4 x i32> zeroinitializer 5629// CHECK-LE: @llvm.ppc.altivec.vperm 5630 5631 res_vi = vec_lvlx(0, &vi); 5632// CHECK: @llvm.ppc.altivec.lvx 5633// CHECK: @llvm.ppc.altivec.lvsl 5634// CHECK: store <4 x i32> zeroinitializer 5635// CHECK: @llvm.ppc.altivec.vperm 5636// CHECK-LE: @llvm.ppc.altivec.lvx 5637// CHECK-LE: @llvm.ppc.altivec.lvsl 5638// CHECK-LE: store <4 x i32> zeroinitializer 5639// CHECK-LE: @llvm.ppc.altivec.vperm 5640 5641 res_vui = vec_lvlx(0, ¶m_ui); 5642// CHECK: @llvm.ppc.altivec.lvx 5643// CHECK: @llvm.ppc.altivec.lvsl 5644// CHECK: store <4 x i32> zeroinitializer 5645// CHECK: @llvm.ppc.altivec.vperm 5646// CHECK-LE: @llvm.ppc.altivec.lvx 5647// CHECK-LE: @llvm.ppc.altivec.lvsl 5648// CHECK-LE: store <4 x i32> zeroinitializer 5649// CHECK-LE: @llvm.ppc.altivec.vperm 5650 5651 res_vui = vec_lvlx(0, &vui); 5652// CHECK: @llvm.ppc.altivec.lvx 5653// CHECK: @llvm.ppc.altivec.lvsl 5654// CHECK: store <4 x i32> zeroinitializer 5655// CHECK: @llvm.ppc.altivec.vperm 5656// CHECK-LE: @llvm.ppc.altivec.lvx 5657// CHECK-LE: @llvm.ppc.altivec.lvsl 5658// CHECK-LE: store <4 x i32> zeroinitializer 5659// CHECK-LE: @llvm.ppc.altivec.vperm 5660 5661 res_vbi = vec_lvlx(0, &vbi); 5662// CHECK: @llvm.ppc.altivec.lvx 5663// CHECK: store <4 x i32> zeroinitializer 5664// CHECK: @llvm.ppc.altivec.lvsl 5665// CHECK: @llvm.ppc.altivec.vperm 5666// CHECK-LE: @llvm.ppc.altivec.lvx 5667// CHECK-LE: store <4 x i32> zeroinitializer 5668// CHECK-LE: @llvm.ppc.altivec.lvsl 5669// CHECK-LE: @llvm.ppc.altivec.vperm 5670 5671 res_vf = vec_lvlx(0, &vf); 5672// CHECK: @llvm.ppc.altivec.lvx 5673// CHECK: @llvm.ppc.altivec.lvsl 5674// CHECK: store <4 x float> zeroinitializer 5675// CHECK: @llvm.ppc.altivec.vperm 5676// CHECK-LE: @llvm.ppc.altivec.lvx 5677// CHECK-LE: @llvm.ppc.altivec.lvsl 5678// CHECK-LE: store <4 x float> zeroinitializer 5679// CHECK-LE: @llvm.ppc.altivec.vperm 5680 5681 /* vec_lvlxl */ 5682 res_vsc = vec_lvlxl(0, ¶m_sc); 5683// CHECK: @llvm.ppc.altivec.lvxl 5684// CHECK: @llvm.ppc.altivec.lvsl 5685// CHECK: store <16 x i8> zeroinitializer 5686// CHECK: @llvm.ppc.altivec.vperm 5687// CHECK-LE: @llvm.ppc.altivec.lvxl 5688// CHECK-LE: @llvm.ppc.altivec.lvsl 5689// CHECK-LE: store <16 x i8> zeroinitializer 5690// CHECK-LE: @llvm.ppc.altivec.vperm 5691 5692 res_vsc = vec_lvlxl(0, &vsc); 5693// CHECK: @llvm.ppc.altivec.lvxl 5694// CHECK: @llvm.ppc.altivec.lvsl 5695// CHECK: store <16 x i8> zeroinitializer 5696// CHECK: @llvm.ppc.altivec.vperm 5697// CHECK-LE: @llvm.ppc.altivec.lvxl 5698// CHECK-LE: @llvm.ppc.altivec.lvsl 5699// CHECK-LE: store <16 x i8> zeroinitializer 5700// CHECK-LE: @llvm.ppc.altivec.vperm 5701 5702 res_vuc = vec_lvlxl(0, ¶m_uc); 5703// CHECK: @llvm.ppc.altivec.lvxl 5704// CHECK: @llvm.ppc.altivec.lvsl 5705// CHECK: store <16 x i8> zeroinitializer 5706// CHECK: @llvm.ppc.altivec.vperm 5707// CHECK-LE: @llvm.ppc.altivec.lvxl 5708// CHECK-LE: @llvm.ppc.altivec.lvsl 5709// CHECK-LE: store <16 x i8> zeroinitializer 5710// CHECK-LE: @llvm.ppc.altivec.vperm 5711 5712 res_vuc = vec_lvlxl(0, &vuc); 5713// CHECK: @llvm.ppc.altivec.lvxl 5714// CHECK: @llvm.ppc.altivec.lvsl 5715// CHECK: store <16 x i8> zeroinitializer 5716// CHECK: @llvm.ppc.altivec.vperm 5717// CHECK-LE: @llvm.ppc.altivec.lvxl 5718// CHECK-LE: @llvm.ppc.altivec.lvsl 5719// CHECK-LE: store <16 x i8> zeroinitializer 5720// CHECK-LE: @llvm.ppc.altivec.vperm 5721 5722 res_vbc = vec_lvlxl(0, &vbc); 5723// CHECK: @llvm.ppc.altivec.lvxl 5724// CHECK: store <16 x i8> zeroinitializer 5725// CHECK: @llvm.ppc.altivec.lvsl 5726// CHECK: @llvm.ppc.altivec.vperm 5727// CHECK-LE: @llvm.ppc.altivec.lvxl 5728// CHECK-LE: store <16 x i8> zeroinitializer 5729// CHECK-LE: @llvm.ppc.altivec.lvsl 5730// CHECK-LE: @llvm.ppc.altivec.vperm 5731 5732 res_vs = vec_lvlxl(0, ¶m_s); 5733// CHECK: @llvm.ppc.altivec.lvxl 5734// CHECK: @llvm.ppc.altivec.lvsl 5735// CHECK: store <8 x i16> zeroinitializer 5736// CHECK: @llvm.ppc.altivec.vperm 5737// CHECK-LE: @llvm.ppc.altivec.lvxl 5738// CHECK-LE: @llvm.ppc.altivec.lvsl 5739// CHECK-LE: store <8 x i16> zeroinitializer 5740// CHECK-LE: @llvm.ppc.altivec.vperm 5741 5742 res_vs = vec_lvlxl(0, &vs); 5743// CHECK: @llvm.ppc.altivec.lvxl 5744// CHECK: @llvm.ppc.altivec.lvsl 5745// CHECK: store <8 x i16> zeroinitializer 5746// CHECK: @llvm.ppc.altivec.vperm 5747// CHECK-LE: @llvm.ppc.altivec.lvxl 5748// CHECK-LE: @llvm.ppc.altivec.lvsl 5749// CHECK-LE: store <8 x i16> zeroinitializer 5750// CHECK-LE: @llvm.ppc.altivec.vperm 5751 5752 res_vus = vec_lvlxl(0, ¶m_us); 5753// CHECK: @llvm.ppc.altivec.lvxl 5754// CHECK: @llvm.ppc.altivec.lvsl 5755// CHECK: store <8 x i16> zeroinitializer 5756// CHECK: @llvm.ppc.altivec.vperm 5757// CHECK-LE: @llvm.ppc.altivec.lvxl 5758// CHECK-LE: @llvm.ppc.altivec.lvsl 5759// CHECK-LE: store <8 x i16> zeroinitializer 5760// CHECK-LE: @llvm.ppc.altivec.vperm 5761 5762 res_vus = vec_lvlxl(0, &vus); 5763// CHECK: @llvm.ppc.altivec.lvxl 5764// CHECK: @llvm.ppc.altivec.lvsl 5765// CHECK: store <8 x i16> zeroinitializer 5766// CHECK: @llvm.ppc.altivec.vperm 5767// CHECK-LE: @llvm.ppc.altivec.lvxl 5768// CHECK-LE: @llvm.ppc.altivec.lvsl 5769// CHECK-LE: store <8 x i16> zeroinitializer 5770// CHECK-LE: @llvm.ppc.altivec.vperm 5771 5772 res_vbs = vec_lvlxl(0, &vbs); 5773// CHECK: @llvm.ppc.altivec.lvxl 5774// CHECK: store <8 x i16> zeroinitializer 5775// CHECK: @llvm.ppc.altivec.lvsl 5776// CHECK: @llvm.ppc.altivec.vperm 5777// CHECK-LE: @llvm.ppc.altivec.lvxl 5778// CHECK-LE: store <8 x i16> zeroinitializer 5779// CHECK-LE: @llvm.ppc.altivec.lvsl 5780// CHECK-LE: @llvm.ppc.altivec.vperm 5781 5782 res_vp = vec_lvlxl(0, &vp); 5783// CHECK: @llvm.ppc.altivec.lvxl 5784// CHECK: store <8 x i16> zeroinitializer 5785// CHECK: @llvm.ppc.altivec.lvsl 5786// CHECK: @llvm.ppc.altivec.vperm 5787// CHECK-LE: @llvm.ppc.altivec.lvxl 5788// CHECK-LE: store <8 x i16> zeroinitializer 5789// CHECK-LE: @llvm.ppc.altivec.lvsl 5790// CHECK-LE: @llvm.ppc.altivec.vperm 5791 5792 res_vi = vec_lvlxl(0, ¶m_i); 5793// CHECK: @llvm.ppc.altivec.lvxl 5794// CHECK: @llvm.ppc.altivec.lvsl 5795// CHECK: store <4 x i32> zeroinitializer 5796// CHECK: @llvm.ppc.altivec.vperm 5797// CHECK-LE: @llvm.ppc.altivec.lvxl 5798// CHECK-LE: @llvm.ppc.altivec.lvsl 5799// CHECK-LE: store <4 x i32> zeroinitializer 5800// CHECK-LE: @llvm.ppc.altivec.vperm 5801 5802 res_vi = vec_lvlxl(0, &vi); 5803// CHECK: @llvm.ppc.altivec.lvxl 5804// CHECK: @llvm.ppc.altivec.lvsl 5805// CHECK: store <4 x i32> zeroinitializer 5806// CHECK: @llvm.ppc.altivec.vperm 5807// CHECK-LE: @llvm.ppc.altivec.lvxl 5808// CHECK-LE: @llvm.ppc.altivec.lvsl 5809// CHECK-LE: store <4 x i32> zeroinitializer 5810// CHECK-LE: @llvm.ppc.altivec.vperm 5811 5812 res_vui = vec_lvlxl(0, ¶m_ui); 5813// CHECK: @llvm.ppc.altivec.lvxl 5814// CHECK: @llvm.ppc.altivec.lvsl 5815// CHECK: store <4 x i32> zeroinitializer 5816// CHECK: @llvm.ppc.altivec.vperm 5817// CHECK-LE: @llvm.ppc.altivec.lvxl 5818// CHECK-LE: @llvm.ppc.altivec.lvsl 5819// CHECK-LE: store <4 x i32> zeroinitializer 5820// CHECK-LE: @llvm.ppc.altivec.vperm 5821 5822 res_vui = vec_lvlxl(0, &vui); 5823// CHECK: @llvm.ppc.altivec.lvxl 5824// CHECK: @llvm.ppc.altivec.lvsl 5825// CHECK: store <4 x i32> zeroinitializer 5826// CHECK: @llvm.ppc.altivec.vperm 5827// CHECK-LE: @llvm.ppc.altivec.lvxl 5828// CHECK-LE: @llvm.ppc.altivec.lvsl 5829// CHECK-LE: store <4 x i32> zeroinitializer 5830// CHECK-LE: @llvm.ppc.altivec.vperm 5831 5832 res_vbi = vec_lvlxl(0, &vbi); 5833// CHECK: @llvm.ppc.altivec.lvxl 5834// CHECK: store <4 x i32> zeroinitializer 5835// CHECK: @llvm.ppc.altivec.lvsl 5836// CHECK: @llvm.ppc.altivec.vperm 5837// CHECK-LE: @llvm.ppc.altivec.lvxl 5838// CHECK-LE: store <4 x i32> zeroinitializer 5839// CHECK-LE: @llvm.ppc.altivec.lvsl 5840// CHECK-LE: @llvm.ppc.altivec.vperm 5841 5842 res_vf = vec_lvlxl(0, &vf); 5843// CHECK: @llvm.ppc.altivec.lvxl 5844// CHECK: @llvm.ppc.altivec.lvsl 5845// CHECK: store <4 x float> zeroinitializer 5846// CHECK: @llvm.ppc.altivec.vperm 5847// CHECK-LE: @llvm.ppc.altivec.lvxl 5848// CHECK-LE: @llvm.ppc.altivec.lvsl 5849// CHECK-LE: store <4 x float> zeroinitializer 5850// CHECK-LE: @llvm.ppc.altivec.vperm 5851 5852 /* vec_lvrx */ 5853 res_vsc = vec_lvrx(0, ¶m_sc); 5854// CHECK: @llvm.ppc.altivec.lvx 5855// CHECK: @llvm.ppc.altivec.lvsl 5856// CHECK: store <16 x i8> zeroinitializer 5857// CHECK: @llvm.ppc.altivec.vperm 5858// CHECK-LE: @llvm.ppc.altivec.lvx 5859// CHECK-LE: @llvm.ppc.altivec.lvsl 5860// CHECK-LE: store <16 x i8> zeroinitializer 5861// CHECK-LE: @llvm.ppc.altivec.vperm 5862 5863 res_vsc = vec_lvrx(0, &vsc); 5864// CHECK: @llvm.ppc.altivec.lvx 5865// CHECK: @llvm.ppc.altivec.lvsl 5866// CHECK: store <16 x i8> zeroinitializer 5867// CHECK: @llvm.ppc.altivec.vperm 5868// CHECK-LE: @llvm.ppc.altivec.lvx 5869// CHECK-LE: @llvm.ppc.altivec.lvsl 5870// CHECK-LE: store <16 x i8> zeroinitializer 5871// CHECK-LE: @llvm.ppc.altivec.vperm 5872 5873 res_vuc = vec_lvrx(0, ¶m_uc); 5874// CHECK: @llvm.ppc.altivec.lvx 5875// CHECK: @llvm.ppc.altivec.lvsl 5876// CHECK: store <16 x i8> zeroinitializer 5877// CHECK: @llvm.ppc.altivec.vperm 5878// CHECK-LE: @llvm.ppc.altivec.lvx 5879// CHECK-LE: @llvm.ppc.altivec.lvsl 5880// CHECK-LE: store <16 x i8> zeroinitializer 5881// CHECK-LE: @llvm.ppc.altivec.vperm 5882 5883 res_vuc = vec_lvrx(0, &vuc); 5884// CHECK: @llvm.ppc.altivec.lvx 5885// CHECK: @llvm.ppc.altivec.lvsl 5886// CHECK: store <16 x i8> zeroinitializer 5887// CHECK: @llvm.ppc.altivec.vperm 5888// CHECK-LE: @llvm.ppc.altivec.lvx 5889// CHECK-LE: @llvm.ppc.altivec.lvsl 5890// CHECK-LE: store <16 x i8> zeroinitializer 5891// CHECK-LE: @llvm.ppc.altivec.vperm 5892 5893 res_vbc = vec_lvrx(0, &vbc); 5894// CHECK: store <16 x i8> zeroinitializer 5895// CHECK: @llvm.ppc.altivec.lvx 5896// CHECK: @llvm.ppc.altivec.lvsl 5897// CHECK: @llvm.ppc.altivec.vperm 5898// CHECK-LE: store <16 x i8> zeroinitializer 5899// CHECK-LE: @llvm.ppc.altivec.lvx 5900// CHECK-LE: @llvm.ppc.altivec.lvsl 5901// CHECK-LE: @llvm.ppc.altivec.vperm 5902 5903 res_vs = vec_lvrx(0, ¶m_s); 5904// CHECK: @llvm.ppc.altivec.lvx 5905// CHECK: @llvm.ppc.altivec.lvsl 5906// CHECK: store <8 x i16> zeroinitializer 5907// CHECK: @llvm.ppc.altivec.vperm 5908// CHECK-LE: @llvm.ppc.altivec.lvx 5909// CHECK-LE: @llvm.ppc.altivec.lvsl 5910// CHECK-LE: store <8 x i16> zeroinitializer 5911// CHECK-LE: @llvm.ppc.altivec.vperm 5912 5913 res_vs = vec_lvrx(0, &vs); 5914// CHECK: @llvm.ppc.altivec.lvx 5915// CHECK: @llvm.ppc.altivec.lvsl 5916// CHECK: store <8 x i16> zeroinitializer 5917// CHECK: @llvm.ppc.altivec.vperm 5918// CHECK-LE: @llvm.ppc.altivec.lvx 5919// CHECK-LE: @llvm.ppc.altivec.lvsl 5920// CHECK-LE: store <8 x i16> zeroinitializer 5921// CHECK-LE: @llvm.ppc.altivec.vperm 5922 5923 res_vus = vec_lvrx(0, ¶m_us); 5924// CHECK: @llvm.ppc.altivec.lvx 5925// CHECK: @llvm.ppc.altivec.lvsl 5926// CHECK: store <8 x i16> zeroinitializer 5927// CHECK: @llvm.ppc.altivec.vperm 5928// CHECK-LE: @llvm.ppc.altivec.lvx 5929// CHECK-LE: @llvm.ppc.altivec.lvsl 5930// CHECK-LE: store <8 x i16> zeroinitializer 5931// CHECK-LE: @llvm.ppc.altivec.vperm 5932 5933 res_vus = vec_lvrx(0, &vus); 5934// CHECK: @llvm.ppc.altivec.lvx 5935// CHECK: @llvm.ppc.altivec.lvsl 5936// CHECK: store <8 x i16> zeroinitializer 5937// CHECK: @llvm.ppc.altivec.vperm 5938// CHECK-LE: @llvm.ppc.altivec.lvx 5939// CHECK-LE: @llvm.ppc.altivec.lvsl 5940// CHECK-LE: store <8 x i16> zeroinitializer 5941// CHECK-LE: @llvm.ppc.altivec.vperm 5942 5943 res_vbs = vec_lvrx(0, &vbs); 5944// CHECK: store <8 x i16> zeroinitializer 5945// CHECK: @llvm.ppc.altivec.lvx 5946// CHECK: @llvm.ppc.altivec.lvsl 5947// CHECK: @llvm.ppc.altivec.vperm 5948// CHECK-LE: store <8 x i16> zeroinitializer 5949// CHECK-LE: @llvm.ppc.altivec.lvx 5950// CHECK-LE: @llvm.ppc.altivec.lvsl 5951// CHECK-LE: @llvm.ppc.altivec.vperm 5952 5953 res_vp = vec_lvrx(0, &vp); 5954// CHECK: store <8 x i16> zeroinitializer 5955// CHECK: @llvm.ppc.altivec.lvx 5956// CHECK: @llvm.ppc.altivec.lvsl 5957// CHECK: @llvm.ppc.altivec.vperm 5958// CHECK-LE: store <8 x i16> zeroinitializer 5959// CHECK-LE: @llvm.ppc.altivec.lvx 5960// CHECK-LE: @llvm.ppc.altivec.lvsl 5961// CHECK-LE: @llvm.ppc.altivec.vperm 5962 5963 res_vi = vec_lvrx(0, ¶m_i); 5964// CHECK: @llvm.ppc.altivec.lvx 5965// CHECK: @llvm.ppc.altivec.lvsl 5966// CHECK: store <4 x i32> zeroinitializer 5967// CHECK: @llvm.ppc.altivec.vperm 5968// CHECK-LE: @llvm.ppc.altivec.lvx 5969// CHECK-LE: @llvm.ppc.altivec.lvsl 5970// CHECK-LE: store <4 x i32> zeroinitializer 5971// CHECK-LE: @llvm.ppc.altivec.vperm 5972 5973 res_vi = vec_lvrx(0, &vi); 5974// CHECK: @llvm.ppc.altivec.lvx 5975// CHECK: @llvm.ppc.altivec.lvsl 5976// CHECK: store <4 x i32> zeroinitializer 5977// CHECK: @llvm.ppc.altivec.vperm 5978// CHECK-LE: @llvm.ppc.altivec.lvx 5979// CHECK-LE: @llvm.ppc.altivec.lvsl 5980// CHECK-LE: store <4 x i32> zeroinitializer 5981// CHECK-LE: @llvm.ppc.altivec.vperm 5982 5983 res_vui = vec_lvrx(0, ¶m_ui); 5984// CHECK: @llvm.ppc.altivec.lvx 5985// CHECK: @llvm.ppc.altivec.lvsl 5986// CHECK: store <4 x i32> zeroinitializer 5987// CHECK: @llvm.ppc.altivec.vperm 5988// CHECK-LE: @llvm.ppc.altivec.lvx 5989// CHECK-LE: @llvm.ppc.altivec.lvsl 5990// CHECK-LE: store <4 x i32> zeroinitializer 5991// CHECK-LE: @llvm.ppc.altivec.vperm 5992 5993 res_vui = vec_lvrx(0, &vui); 5994// CHECK: @llvm.ppc.altivec.lvx 5995// CHECK: @llvm.ppc.altivec.lvsl 5996// CHECK: store <4 x i32> zeroinitializer 5997// CHECK: @llvm.ppc.altivec.vperm 5998// CHECK-LE: @llvm.ppc.altivec.lvx 5999// CHECK-LE: @llvm.ppc.altivec.lvsl 6000// CHECK-LE: store <4 x i32> zeroinitializer 6001// CHECK-LE: @llvm.ppc.altivec.vperm 6002 6003 res_vbi = vec_lvrx(0, &vbi); 6004// CHECK: store <4 x i32> zeroinitializer 6005// CHECK: @llvm.ppc.altivec.lvx 6006// CHECK: @llvm.ppc.altivec.lvsl 6007// CHECK: @llvm.ppc.altivec.vperm 6008// CHECK-LE: store <4 x i32> zeroinitializer 6009// CHECK-LE: @llvm.ppc.altivec.lvx 6010// CHECK-LE: @llvm.ppc.altivec.lvsl 6011// CHECK-LE: @llvm.ppc.altivec.vperm 6012 6013 res_vf = vec_lvrx(0, &vf); 6014// CHECK: @llvm.ppc.altivec.lvx 6015// CHECK: @llvm.ppc.altivec.lvsl 6016// CHECK: store <4 x float> zeroinitializer 6017// CHECK: @llvm.ppc.altivec.vperm 6018// CHECK-LE: @llvm.ppc.altivec.lvx 6019// CHECK-LE: @llvm.ppc.altivec.lvsl 6020// CHECK-LE: store <4 x float> zeroinitializer 6021// CHECK-LE: @llvm.ppc.altivec.vperm 6022 6023 /* vec_lvrxl */ 6024 res_vsc = vec_lvrxl(0, ¶m_sc); 6025// CHECK: @llvm.ppc.altivec.lvxl 6026// CHECK: @llvm.ppc.altivec.lvsl 6027// CHECK: store <16 x i8> zeroinitializer 6028// CHECK: @llvm.ppc.altivec.vperm 6029// CHECK-LE: @llvm.ppc.altivec.lvxl 6030// CHECK-LE: @llvm.ppc.altivec.lvsl 6031// CHECK-LE: store <16 x i8> zeroinitializer 6032// CHECK-LE: @llvm.ppc.altivec.vperm 6033 6034 res_vsc = vec_lvrxl(0, &vsc); 6035// CHECK: @llvm.ppc.altivec.lvxl 6036// CHECK: @llvm.ppc.altivec.lvsl 6037// CHECK: store <16 x i8> zeroinitializer 6038// CHECK: @llvm.ppc.altivec.vperm 6039// CHECK-LE: @llvm.ppc.altivec.lvxl 6040// CHECK-LE: @llvm.ppc.altivec.lvsl 6041// CHECK-LE: store <16 x i8> zeroinitializer 6042// CHECK-LE: @llvm.ppc.altivec.vperm 6043 6044 res_vuc = vec_lvrxl(0, ¶m_uc); 6045// CHECK: @llvm.ppc.altivec.lvxl 6046// CHECK: @llvm.ppc.altivec.lvsl 6047// CHECK: store <16 x i8> zeroinitializer 6048// CHECK: @llvm.ppc.altivec.vperm 6049// CHECK-LE: @llvm.ppc.altivec.lvxl 6050// CHECK-LE: @llvm.ppc.altivec.lvsl 6051// CHECK-LE: store <16 x i8> zeroinitializer 6052// CHECK-LE: @llvm.ppc.altivec.vperm 6053 6054 res_vuc = vec_lvrxl(0, &vuc); 6055// CHECK: @llvm.ppc.altivec.lvxl 6056// CHECK: @llvm.ppc.altivec.lvsl 6057// CHECK: store <16 x i8> zeroinitializer 6058// CHECK: @llvm.ppc.altivec.vperm 6059// CHECK-LE: @llvm.ppc.altivec.lvxl 6060// CHECK-LE: @llvm.ppc.altivec.lvsl 6061// CHECK-LE: store <16 x i8> zeroinitializer 6062// CHECK-LE: @llvm.ppc.altivec.vperm 6063 6064 res_vbc = vec_lvrxl(0, &vbc); 6065// CHECK: store <16 x i8> zeroinitializer 6066// CHECK: @llvm.ppc.altivec.lvxl 6067// CHECK: @llvm.ppc.altivec.lvsl 6068// CHECK: @llvm.ppc.altivec.vperm 6069// CHECK-LE: store <16 x i8> zeroinitializer 6070// CHECK-LE: @llvm.ppc.altivec.lvxl 6071// CHECK-LE: @llvm.ppc.altivec.lvsl 6072// CHECK-LE: @llvm.ppc.altivec.vperm 6073 6074 res_vs = vec_lvrxl(0, ¶m_s); 6075// CHECK: @llvm.ppc.altivec.lvxl 6076// CHECK: @llvm.ppc.altivec.lvsl 6077// CHECK: store <8 x i16> zeroinitializer 6078// CHECK: @llvm.ppc.altivec.vperm 6079// CHECK-LE: @llvm.ppc.altivec.lvxl 6080// CHECK-LE: @llvm.ppc.altivec.lvsl 6081// CHECK-LE: store <8 x i16> zeroinitializer 6082// CHECK-LE: @llvm.ppc.altivec.vperm 6083 6084 res_vs = vec_lvrxl(0, &vs); 6085// CHECK: @llvm.ppc.altivec.lvxl 6086// CHECK: @llvm.ppc.altivec.lvsl 6087// CHECK: store <8 x i16> zeroinitializer 6088// CHECK: @llvm.ppc.altivec.vperm 6089// CHECK-LE: @llvm.ppc.altivec.lvxl 6090// CHECK-LE: @llvm.ppc.altivec.lvsl 6091// CHECK-LE: store <8 x i16> zeroinitializer 6092// CHECK-LE: @llvm.ppc.altivec.vperm 6093 6094 res_vus = vec_lvrxl(0, ¶m_us); 6095// CHECK: @llvm.ppc.altivec.lvxl 6096// CHECK: @llvm.ppc.altivec.lvsl 6097// CHECK: store <8 x i16> zeroinitializer 6098// CHECK: @llvm.ppc.altivec.vperm 6099// CHECK-LE: @llvm.ppc.altivec.lvxl 6100// CHECK-LE: @llvm.ppc.altivec.lvsl 6101// CHECK-LE: store <8 x i16> zeroinitializer 6102// CHECK-LE: @llvm.ppc.altivec.vperm 6103 6104 res_vus = vec_lvrxl(0, &vus); 6105// CHECK: @llvm.ppc.altivec.lvxl 6106// CHECK: @llvm.ppc.altivec.lvsl 6107// CHECK: store <8 x i16> zeroinitializer 6108// CHECK: @llvm.ppc.altivec.vperm 6109// CHECK-LE: @llvm.ppc.altivec.lvxl 6110// CHECK-LE: @llvm.ppc.altivec.lvsl 6111// CHECK-LE: store <8 x i16> zeroinitializer 6112// CHECK-LE: @llvm.ppc.altivec.vperm 6113 6114 res_vbs = vec_lvrxl(0, &vbs); 6115// CHECK: store <8 x i16> zeroinitializer 6116// CHECK: @llvm.ppc.altivec.lvxl 6117// CHECK: @llvm.ppc.altivec.lvsl 6118// CHECK: @llvm.ppc.altivec.vperm 6119// CHECK-LE: store <8 x i16> zeroinitializer 6120// CHECK-LE: @llvm.ppc.altivec.lvxl 6121// CHECK-LE: @llvm.ppc.altivec.lvsl 6122// CHECK-LE: @llvm.ppc.altivec.vperm 6123 6124 res_vp = vec_lvrxl(0, &vp); 6125// CHECK: store <8 x i16> zeroinitializer 6126// CHECK: @llvm.ppc.altivec.lvxl 6127// CHECK: @llvm.ppc.altivec.lvsl 6128// CHECK: @llvm.ppc.altivec.vperm 6129// CHECK-LE: store <8 x i16> zeroinitializer 6130// CHECK-LE: @llvm.ppc.altivec.lvxl 6131// CHECK-LE: @llvm.ppc.altivec.lvsl 6132// CHECK-LE: @llvm.ppc.altivec.vperm 6133 6134 res_vi = vec_lvrxl(0, ¶m_i); 6135// CHECK: @llvm.ppc.altivec.lvxl 6136// CHECK: @llvm.ppc.altivec.lvsl 6137// CHECK: store <4 x i32> zeroinitializer 6138// CHECK: @llvm.ppc.altivec.vperm 6139// CHECK-LE: @llvm.ppc.altivec.lvxl 6140// CHECK-LE: @llvm.ppc.altivec.lvsl 6141// CHECK-LE: store <4 x i32> zeroinitializer 6142// CHECK-LE: @llvm.ppc.altivec.vperm 6143 6144 res_vi = vec_lvrxl(0, &vi); 6145// CHECK: @llvm.ppc.altivec.lvxl 6146// CHECK: @llvm.ppc.altivec.lvsl 6147// CHECK: store <4 x i32> zeroinitializer 6148// CHECK: @llvm.ppc.altivec.vperm 6149// CHECK-LE: @llvm.ppc.altivec.lvxl 6150// CHECK-LE: @llvm.ppc.altivec.lvsl 6151// CHECK-LE: store <4 x i32> zeroinitializer 6152// CHECK-LE: @llvm.ppc.altivec.vperm 6153 6154 res_vui = vec_lvrxl(0, ¶m_ui); 6155// CHECK: @llvm.ppc.altivec.lvxl 6156// CHECK: @llvm.ppc.altivec.lvsl 6157// CHECK: store <4 x i32> zeroinitializer 6158// CHECK: @llvm.ppc.altivec.vperm 6159// CHECK-LE: @llvm.ppc.altivec.lvxl 6160// CHECK-LE: @llvm.ppc.altivec.lvsl 6161// CHECK-LE: store <4 x i32> zeroinitializer 6162// CHECK-LE: @llvm.ppc.altivec.vperm 6163 6164 res_vui = vec_lvrxl(0, &vui); 6165// CHECK: @llvm.ppc.altivec.lvxl 6166// CHECK: @llvm.ppc.altivec.lvsl 6167// CHECK: store <4 x i32> zeroinitializer 6168// CHECK: @llvm.ppc.altivec.vperm 6169// CHECK-LE: @llvm.ppc.altivec.lvxl 6170// CHECK-LE: @llvm.ppc.altivec.lvsl 6171// CHECK-LE: store <4 x i32> zeroinitializer 6172// CHECK-LE: @llvm.ppc.altivec.vperm 6173 6174 res_vbi = vec_lvrxl(0, &vbi); 6175// CHECK: store <4 x i32> zeroinitializer 6176// CHECK: @llvm.ppc.altivec.lvxl 6177// CHECK: @llvm.ppc.altivec.lvsl 6178// CHECK: @llvm.ppc.altivec.vperm 6179// CHECK-LE: store <4 x i32> zeroinitializer 6180// CHECK-LE: @llvm.ppc.altivec.lvxl 6181// CHECK-LE: @llvm.ppc.altivec.lvsl 6182// CHECK-LE: @llvm.ppc.altivec.vperm 6183 6184 res_vf = vec_lvrxl(0, &vf); 6185// CHECK: @llvm.ppc.altivec.lvxl 6186// CHECK: @llvm.ppc.altivec.lvsl 6187// CHECK: store <4 x float> zeroinitializer 6188// CHECK: @llvm.ppc.altivec.vperm 6189// CHECK-LE: @llvm.ppc.altivec.lvxl 6190// CHECK-LE: @llvm.ppc.altivec.lvsl 6191// CHECK-LE: store <4 x float> zeroinitializer 6192// CHECK-LE: @llvm.ppc.altivec.vperm 6193 6194 /* vec_stvlx */ 6195 vec_stvlx(vsc, 0, ¶m_sc); 6196// CHECK: @llvm.ppc.altivec.lvx 6197// CHECK: @llvm.ppc.altivec.lvsl 6198// CHECK: store <16 x i8> zeroinitializer 6199// CHECK: @llvm.ppc.altivec.vperm 6200// CHECK: @llvm.ppc.altivec.lvsr 6201// CHECK: @llvm.ppc.altivec.vperm 6202// CHECK: @llvm.ppc.altivec.stvx 6203// CHECK-LE: @llvm.ppc.altivec.lvx 6204// CHECK-LE: @llvm.ppc.altivec.lvsl 6205// CHECK-LE: store <16 x i8> zeroinitializer 6206// CHECK-LE: @llvm.ppc.altivec.vperm 6207// CHECK-LE: @llvm.ppc.altivec.lvsr 6208// CHECK-LE: @llvm.ppc.altivec.vperm 6209// CHECK-LE: @llvm.ppc.altivec.stvx 6210 6211 vec_stvlx(vsc, 0, &vsc); 6212// CHECK: @llvm.ppc.altivec.lvx 6213// CHECK: @llvm.ppc.altivec.lvsl 6214// CHECK: store <16 x i8> zeroinitializer 6215// CHECK: @llvm.ppc.altivec.vperm 6216// CHECK: @llvm.ppc.altivec.lvsr 6217// CHECK: @llvm.ppc.altivec.vperm 6218// CHECK: @llvm.ppc.altivec.stvx 6219// CHECK-LE: @llvm.ppc.altivec.lvx 6220// CHECK-LE: @llvm.ppc.altivec.lvsl 6221// CHECK-LE: store <16 x i8> zeroinitializer 6222// CHECK-LE: @llvm.ppc.altivec.vperm 6223// CHECK-LE: @llvm.ppc.altivec.lvsr 6224// CHECK-LE: @llvm.ppc.altivec.vperm 6225// CHECK-LE: @llvm.ppc.altivec.stvx 6226 6227 vec_stvlx(vuc, 0, ¶m_uc); 6228// CHECK: @llvm.ppc.altivec.lvx 6229// CHECK: @llvm.ppc.altivec.lvsl 6230// CHECK: store <16 x i8> zeroinitializer 6231// CHECK: @llvm.ppc.altivec.vperm 6232// CHECK: @llvm.ppc.altivec.lvsr 6233// CHECK: @llvm.ppc.altivec.vperm 6234// CHECK: @llvm.ppc.altivec.stvx 6235// CHECK-LE: @llvm.ppc.altivec.lvx 6236// CHECK-LE: @llvm.ppc.altivec.lvsl 6237// CHECK-LE: store <16 x i8> zeroinitializer 6238// CHECK-LE: @llvm.ppc.altivec.vperm 6239// CHECK-LE: @llvm.ppc.altivec.lvsr 6240// CHECK-LE: @llvm.ppc.altivec.vperm 6241// CHECK-LE: @llvm.ppc.altivec.stvx 6242 6243 vec_stvlx(vuc, 0, &vuc); 6244// CHECK: @llvm.ppc.altivec.lvx 6245// CHECK: @llvm.ppc.altivec.lvsl 6246// CHECK: store <16 x i8> zeroinitializer 6247// CHECK: @llvm.ppc.altivec.vperm 6248// CHECK: @llvm.ppc.altivec.lvsr 6249// CHECK: @llvm.ppc.altivec.vperm 6250// CHECK: @llvm.ppc.altivec.stvx 6251// CHECK-LE: @llvm.ppc.altivec.lvx 6252// CHECK-LE: @llvm.ppc.altivec.lvsl 6253// CHECK-LE: store <16 x i8> zeroinitializer 6254// CHECK-LE: @llvm.ppc.altivec.vperm 6255// CHECK-LE: @llvm.ppc.altivec.lvsr 6256// CHECK-LE: @llvm.ppc.altivec.vperm 6257// CHECK-LE: @llvm.ppc.altivec.stvx 6258 6259 vec_stvlx(vbc, 0, &vbc); 6260// CHECK: store <16 x i8> zeroinitializer 6261// CHECK: @llvm.ppc.altivec.lvx 6262// CHECK: @llvm.ppc.altivec.lvsl 6263// CHECK: @llvm.ppc.altivec.vperm 6264// CHECK: @llvm.ppc.altivec.lvsr 6265// CHECK: @llvm.ppc.altivec.vperm 6266// CHECK: @llvm.ppc.altivec.stvx 6267// CHECK-LE: store <16 x i8> zeroinitializer 6268// CHECK-LE: @llvm.ppc.altivec.lvx 6269// CHECK-LE: @llvm.ppc.altivec.lvsl 6270// CHECK-LE: @llvm.ppc.altivec.vperm 6271// CHECK-LE: @llvm.ppc.altivec.lvsr 6272// CHECK-LE: @llvm.ppc.altivec.vperm 6273// CHECK-LE: @llvm.ppc.altivec.stvx 6274 6275 vec_stvlx(vs, 0, ¶m_s); 6276// CHECK: @llvm.ppc.altivec.lvx 6277// CHECK: @llvm.ppc.altivec.lvsl 6278// CHECK: store <8 x i16> zeroinitializer 6279// CHECK: @llvm.ppc.altivec.vperm 6280// CHECK: @llvm.ppc.altivec.lvsr 6281// CHECK: @llvm.ppc.altivec.vperm 6282// CHECK: @llvm.ppc.altivec.stvx 6283// CHECK-LE: @llvm.ppc.altivec.lvx 6284// CHECK-LE: @llvm.ppc.altivec.lvsl 6285// CHECK-LE: store <8 x i16> zeroinitializer 6286// CHECK-LE: @llvm.ppc.altivec.vperm 6287// CHECK-LE: @llvm.ppc.altivec.lvsr 6288// CHECK-LE: @llvm.ppc.altivec.vperm 6289// CHECK-LE: @llvm.ppc.altivec.stvx 6290 6291 vec_stvlx(vs, 0, &vs); 6292// CHECK: @llvm.ppc.altivec.lvx 6293// CHECK: @llvm.ppc.altivec.lvsl 6294// CHECK: store <8 x i16> zeroinitializer 6295// CHECK: @llvm.ppc.altivec.vperm 6296// CHECK: @llvm.ppc.altivec.lvsr 6297// CHECK: @llvm.ppc.altivec.vperm 6298// CHECK: @llvm.ppc.altivec.stvx 6299// CHECK-LE: @llvm.ppc.altivec.lvx 6300// CHECK-LE: @llvm.ppc.altivec.lvsl 6301// CHECK-LE: store <8 x i16> zeroinitializer 6302// CHECK-LE: @llvm.ppc.altivec.vperm 6303// CHECK-LE: @llvm.ppc.altivec.lvsr 6304// CHECK-LE: @llvm.ppc.altivec.vperm 6305// CHECK-LE: @llvm.ppc.altivec.stvx 6306 6307 vec_stvlx(vus, 0, ¶m_us); 6308// CHECK: @llvm.ppc.altivec.lvx 6309// CHECK: @llvm.ppc.altivec.lvsl 6310// CHECK: store <8 x i16> zeroinitializer 6311// CHECK: @llvm.ppc.altivec.vperm 6312// CHECK: @llvm.ppc.altivec.lvsr 6313// CHECK: @llvm.ppc.altivec.vperm 6314// CHECK: @llvm.ppc.altivec.stvx 6315// CHECK-LE: @llvm.ppc.altivec.lvx 6316// CHECK-LE: @llvm.ppc.altivec.lvsl 6317// CHECK-LE: store <8 x i16> zeroinitializer 6318// CHECK-LE: @llvm.ppc.altivec.vperm 6319// CHECK-LE: @llvm.ppc.altivec.lvsr 6320// CHECK-LE: @llvm.ppc.altivec.vperm 6321// CHECK-LE: @llvm.ppc.altivec.stvx 6322 6323 vec_stvlx(vus, 0, &vus); 6324// CHECK: @llvm.ppc.altivec.lvx 6325// CHECK: @llvm.ppc.altivec.lvsl 6326// CHECK: store <8 x i16> zeroinitializer 6327// CHECK: @llvm.ppc.altivec.vperm 6328// CHECK: @llvm.ppc.altivec.lvsr 6329// CHECK: @llvm.ppc.altivec.vperm 6330// CHECK: @llvm.ppc.altivec.stvx 6331// CHECK-LE: @llvm.ppc.altivec.lvx 6332// CHECK-LE: @llvm.ppc.altivec.lvsl 6333// CHECK-LE: store <8 x i16> zeroinitializer 6334// CHECK-LE: @llvm.ppc.altivec.vperm 6335// CHECK-LE: @llvm.ppc.altivec.lvsr 6336// CHECK-LE: @llvm.ppc.altivec.vperm 6337// CHECK-LE: @llvm.ppc.altivec.stvx 6338 6339 vec_stvlx(vbs, 0, &vbs); 6340// CHECK: store <8 x i16> zeroinitializer 6341// CHECK: @llvm.ppc.altivec.lvx 6342// CHECK: @llvm.ppc.altivec.lvsl 6343// CHECK: @llvm.ppc.altivec.vperm 6344// CHECK: @llvm.ppc.altivec.lvsr 6345// CHECK: @llvm.ppc.altivec.vperm 6346// CHECK: @llvm.ppc.altivec.stvx 6347// CHECK-LE: store <8 x i16> zeroinitializer 6348// CHECK-LE: @llvm.ppc.altivec.lvx 6349// CHECK-LE: @llvm.ppc.altivec.lvsl 6350// CHECK-LE: @llvm.ppc.altivec.vperm 6351// CHECK-LE: @llvm.ppc.altivec.lvsr 6352// CHECK-LE: @llvm.ppc.altivec.vperm 6353// CHECK-LE: @llvm.ppc.altivec.stvx 6354 6355 vec_stvlx(vp, 0, &vp); 6356// CHECK: store <8 x i16> zeroinitializer 6357// CHECK: @llvm.ppc.altivec.lvx 6358// CHECK: @llvm.ppc.altivec.lvsl 6359// CHECK: @llvm.ppc.altivec.vperm 6360// CHECK: @llvm.ppc.altivec.lvsr 6361// CHECK: @llvm.ppc.altivec.vperm 6362// CHECK: @llvm.ppc.altivec.stvx 6363// CHECK-LE: store <8 x i16> zeroinitializer 6364// CHECK-LE: @llvm.ppc.altivec.lvx 6365// CHECK-LE: @llvm.ppc.altivec.lvsl 6366// CHECK-LE: @llvm.ppc.altivec.vperm 6367// CHECK-LE: @llvm.ppc.altivec.lvsr 6368// CHECK-LE: @llvm.ppc.altivec.vperm 6369// CHECK-LE: @llvm.ppc.altivec.stvx 6370 6371 vec_stvlx(vi, 0, ¶m_i); 6372// CHECK: @llvm.ppc.altivec.lvx 6373// CHECK: @llvm.ppc.altivec.lvsl 6374// CHECK: store <4 x i32> zeroinitializer 6375// CHECK: @llvm.ppc.altivec.vperm 6376// CHECK: @llvm.ppc.altivec.lvsr 6377// CHECK: @llvm.ppc.altivec.vperm 6378// CHECK: @llvm.ppc.altivec.stvx 6379// CHECK-LE: @llvm.ppc.altivec.lvx 6380// CHECK-LE: @llvm.ppc.altivec.lvsl 6381// CHECK-LE: store <4 x i32> zeroinitializer 6382// CHECK-LE: @llvm.ppc.altivec.vperm 6383// CHECK-LE: @llvm.ppc.altivec.lvsr 6384// CHECK-LE: @llvm.ppc.altivec.vperm 6385// CHECK-LE: @llvm.ppc.altivec.stvx 6386 6387 vec_stvlx(vi, 0, &vi); 6388// CHECK: @llvm.ppc.altivec.lvx 6389// CHECK: @llvm.ppc.altivec.lvsl 6390// CHECK: store <4 x i32> zeroinitializer 6391// CHECK: @llvm.ppc.altivec.vperm 6392// CHECK: @llvm.ppc.altivec.lvsr 6393// CHECK: @llvm.ppc.altivec.vperm 6394// CHECK: @llvm.ppc.altivec.stvx 6395// CHECK-LE: @llvm.ppc.altivec.lvx 6396// CHECK-LE: @llvm.ppc.altivec.lvsl 6397// CHECK-LE: store <4 x i32> zeroinitializer 6398// CHECK-LE: @llvm.ppc.altivec.vperm 6399// CHECK-LE: @llvm.ppc.altivec.lvsr 6400// CHECK-LE: @llvm.ppc.altivec.vperm 6401// CHECK-LE: @llvm.ppc.altivec.stvx 6402 6403 vec_stvlx(vui, 0, ¶m_ui); 6404// CHECK: @llvm.ppc.altivec.lvx 6405// CHECK: @llvm.ppc.altivec.lvsl 6406// CHECK: store <4 x i32> zeroinitializer 6407// CHECK: @llvm.ppc.altivec.vperm 6408// CHECK: @llvm.ppc.altivec.lvsr 6409// CHECK: @llvm.ppc.altivec.vperm 6410// CHECK: @llvm.ppc.altivec.stvx 6411// CHECK-LE: @llvm.ppc.altivec.lvx 6412// CHECK-LE: @llvm.ppc.altivec.lvsl 6413// CHECK-LE: store <4 x i32> zeroinitializer 6414// CHECK-LE: @llvm.ppc.altivec.vperm 6415// CHECK-LE: @llvm.ppc.altivec.lvsr 6416// CHECK-LE: @llvm.ppc.altivec.vperm 6417// CHECK-LE: @llvm.ppc.altivec.stvx 6418 6419 vec_stvlx(vui, 0, &vui); 6420// CHECK: @llvm.ppc.altivec.lvx 6421// CHECK: @llvm.ppc.altivec.lvsl 6422// CHECK: store <4 x i32> zeroinitializer 6423// CHECK: @llvm.ppc.altivec.vperm 6424// CHECK: @llvm.ppc.altivec.lvsr 6425// CHECK: @llvm.ppc.altivec.vperm 6426// CHECK: @llvm.ppc.altivec.stvx 6427// CHECK-LE: @llvm.ppc.altivec.lvx 6428// CHECK-LE: @llvm.ppc.altivec.lvsl 6429// CHECK-LE: store <4 x i32> zeroinitializer 6430// CHECK-LE: @llvm.ppc.altivec.vperm 6431// CHECK-LE: @llvm.ppc.altivec.lvsr 6432// CHECK-LE: @llvm.ppc.altivec.vperm 6433// CHECK-LE: @llvm.ppc.altivec.stvx 6434 6435 vec_stvlx(vbi, 0, &vbi); 6436// CHECK: store <4 x i32> zeroinitializer 6437// CHECK: @llvm.ppc.altivec.lvx 6438// CHECK: @llvm.ppc.altivec.lvsl 6439// CHECK: @llvm.ppc.altivec.vperm 6440// CHECK: @llvm.ppc.altivec.lvsr 6441// CHECK: @llvm.ppc.altivec.vperm 6442// CHECK: @llvm.ppc.altivec.stvx 6443// CHECK-LE: store <4 x i32> zeroinitializer 6444// CHECK-LE: @llvm.ppc.altivec.lvx 6445// CHECK-LE: @llvm.ppc.altivec.lvsl 6446// CHECK-LE: @llvm.ppc.altivec.vperm 6447// CHECK-LE: @llvm.ppc.altivec.lvsr 6448// CHECK-LE: @llvm.ppc.altivec.vperm 6449// CHECK-LE: @llvm.ppc.altivec.stvx 6450 6451 vec_stvlx(vf, 0, &vf); 6452// CHECK: @llvm.ppc.altivec.lvx 6453// CHECK: @llvm.ppc.altivec.lvsl 6454// CHECK: store <4 x float> zeroinitializer 6455// CHECK: @llvm.ppc.altivec.vperm 6456// CHECK: @llvm.ppc.altivec.lvsr 6457// CHECK: @llvm.ppc.altivec.vperm 6458// CHECK: @llvm.ppc.altivec.stvx 6459// CHECK-LE: @llvm.ppc.altivec.lvx 6460// CHECK-LE: @llvm.ppc.altivec.lvsl 6461// CHECK-LE: store <4 x float> zeroinitializer 6462// CHECK-LE: @llvm.ppc.altivec.vperm 6463// CHECK-LE: @llvm.ppc.altivec.lvsr 6464// CHECK-LE: @llvm.ppc.altivec.vperm 6465// CHECK-LE: @llvm.ppc.altivec.stvx 6466 6467 /* vec_stvlxl */ 6468 vec_stvlxl(vsc, 0, ¶m_sc); 6469// CHECK: @llvm.ppc.altivec.lvx 6470// CHECK: @llvm.ppc.altivec.lvsl 6471// CHECK: store <16 x i8> zeroinitializer 6472// CHECK: @llvm.ppc.altivec.vperm 6473// CHECK: @llvm.ppc.altivec.lvsr 6474// CHECK: @llvm.ppc.altivec.vperm 6475// CHECK: @llvm.ppc.altivec.stvxl 6476// CHECK-LE: @llvm.ppc.altivec.lvx 6477// CHECK-LE: @llvm.ppc.altivec.lvsl 6478// CHECK-LE: store <16 x i8> zeroinitializer 6479// CHECK-LE: @llvm.ppc.altivec.vperm 6480// CHECK-LE: @llvm.ppc.altivec.lvsr 6481// CHECK-LE: @llvm.ppc.altivec.vperm 6482// CHECK-LE: @llvm.ppc.altivec.stvxl 6483 6484 vec_stvlxl(vsc, 0, &vsc); 6485// CHECK: @llvm.ppc.altivec.lvx 6486// CHECK: @llvm.ppc.altivec.lvsl 6487// CHECK: store <16 x i8> zeroinitializer 6488// CHECK: @llvm.ppc.altivec.vperm 6489// CHECK: @llvm.ppc.altivec.lvsr 6490// CHECK: @llvm.ppc.altivec.vperm 6491// CHECK: @llvm.ppc.altivec.stvxl 6492// CHECK-LE: @llvm.ppc.altivec.lvx 6493// CHECK-LE: @llvm.ppc.altivec.lvsl 6494// CHECK-LE: store <16 x i8> zeroinitializer 6495// CHECK-LE: @llvm.ppc.altivec.vperm 6496// CHECK-LE: @llvm.ppc.altivec.lvsr 6497// CHECK-LE: @llvm.ppc.altivec.vperm 6498// CHECK-LE: @llvm.ppc.altivec.stvxl 6499 6500 vec_stvlxl(vuc, 0, ¶m_uc); 6501// CHECK: @llvm.ppc.altivec.lvx 6502// CHECK: @llvm.ppc.altivec.lvsl 6503// CHECK: store <16 x i8> zeroinitializer 6504// CHECK: @llvm.ppc.altivec.vperm 6505// CHECK: @llvm.ppc.altivec.lvsr 6506// CHECK: @llvm.ppc.altivec.vperm 6507// CHECK: @llvm.ppc.altivec.stvxl 6508// CHECK-LE: @llvm.ppc.altivec.lvx 6509// CHECK-LE: @llvm.ppc.altivec.lvsl 6510// CHECK-LE: store <16 x i8> zeroinitializer 6511// CHECK-LE: @llvm.ppc.altivec.vperm 6512// CHECK-LE: @llvm.ppc.altivec.lvsr 6513// CHECK-LE: @llvm.ppc.altivec.vperm 6514// CHECK-LE: @llvm.ppc.altivec.stvxl 6515 6516 vec_stvlxl(vuc, 0, &vuc); 6517// CHECK: @llvm.ppc.altivec.lvx 6518// CHECK: @llvm.ppc.altivec.lvsl 6519// CHECK: store <16 x i8> zeroinitializer 6520// CHECK: @llvm.ppc.altivec.vperm 6521// CHECK: @llvm.ppc.altivec.lvsr 6522// CHECK: @llvm.ppc.altivec.vperm 6523// CHECK: @llvm.ppc.altivec.stvxl 6524// CHECK-LE: @llvm.ppc.altivec.lvx 6525// CHECK-LE: @llvm.ppc.altivec.lvsl 6526// CHECK-LE: store <16 x i8> zeroinitializer 6527// CHECK-LE: @llvm.ppc.altivec.vperm 6528// CHECK-LE: @llvm.ppc.altivec.lvsr 6529// CHECK-LE: @llvm.ppc.altivec.vperm 6530// CHECK-LE: @llvm.ppc.altivec.stvxl 6531 6532 vec_stvlxl(vbc, 0, &vbc); 6533// CHECK: store <16 x i8> zeroinitializer 6534// CHECK: @llvm.ppc.altivec.lvx 6535// CHECK: @llvm.ppc.altivec.lvsl 6536// CHECK: @llvm.ppc.altivec.vperm 6537// CHECK: @llvm.ppc.altivec.lvsr 6538// CHECK: @llvm.ppc.altivec.vperm 6539// CHECK: @llvm.ppc.altivec.stvxl 6540// CHECK-LE: store <16 x i8> zeroinitializer 6541// CHECK-LE: @llvm.ppc.altivec.lvx 6542// CHECK-LE: @llvm.ppc.altivec.lvsl 6543// CHECK-LE: @llvm.ppc.altivec.vperm 6544// CHECK-LE: @llvm.ppc.altivec.lvsr 6545// CHECK-LE: @llvm.ppc.altivec.vperm 6546// CHECK-LE: @llvm.ppc.altivec.stvxl 6547 6548 vec_stvlxl(vs, 0, ¶m_s); 6549// CHECK: @llvm.ppc.altivec.lvx 6550// CHECK: @llvm.ppc.altivec.lvsl 6551// CHECK: store <8 x i16> zeroinitializer 6552// CHECK: @llvm.ppc.altivec.vperm 6553// CHECK: @llvm.ppc.altivec.lvsr 6554// CHECK: @llvm.ppc.altivec.vperm 6555// CHECK: @llvm.ppc.altivec.stvxl 6556// CHECK-LE: @llvm.ppc.altivec.lvx 6557// CHECK-LE: @llvm.ppc.altivec.lvsl 6558// CHECK-LE: store <8 x i16> zeroinitializer 6559// CHECK-LE: @llvm.ppc.altivec.vperm 6560// CHECK-LE: @llvm.ppc.altivec.lvsr 6561// CHECK-LE: @llvm.ppc.altivec.vperm 6562// CHECK-LE: @llvm.ppc.altivec.stvxl 6563 6564 vec_stvlxl(vs, 0, &vs); 6565// CHECK: @llvm.ppc.altivec.lvx 6566// CHECK: @llvm.ppc.altivec.lvsl 6567// CHECK: store <8 x i16> zeroinitializer 6568// CHECK: @llvm.ppc.altivec.vperm 6569// CHECK: @llvm.ppc.altivec.lvsr 6570// CHECK: @llvm.ppc.altivec.vperm 6571// CHECK: @llvm.ppc.altivec.stvxl 6572// CHECK-LE: @llvm.ppc.altivec.lvx 6573// CHECK-LE: @llvm.ppc.altivec.lvsl 6574// CHECK-LE: store <8 x i16> zeroinitializer 6575// CHECK-LE: @llvm.ppc.altivec.vperm 6576// CHECK-LE: @llvm.ppc.altivec.lvsr 6577// CHECK-LE: @llvm.ppc.altivec.vperm 6578// CHECK-LE: @llvm.ppc.altivec.stvxl 6579 6580 vec_stvlxl(vus, 0, ¶m_us); 6581// CHECK: @llvm.ppc.altivec.lvx 6582// CHECK: @llvm.ppc.altivec.lvsl 6583// CHECK: store <8 x i16> zeroinitializer 6584// CHECK: @llvm.ppc.altivec.vperm 6585// CHECK: @llvm.ppc.altivec.lvsr 6586// CHECK: @llvm.ppc.altivec.vperm 6587// CHECK: @llvm.ppc.altivec.stvxl 6588// CHECK-LE: @llvm.ppc.altivec.lvx 6589// CHECK-LE: @llvm.ppc.altivec.lvsl 6590// CHECK-LE: store <8 x i16> zeroinitializer 6591// CHECK-LE: @llvm.ppc.altivec.vperm 6592// CHECK-LE: @llvm.ppc.altivec.lvsr 6593// CHECK-LE: @llvm.ppc.altivec.vperm 6594// CHECK-LE: @llvm.ppc.altivec.stvxl 6595 6596 vec_stvlxl(vus, 0, &vus); 6597// CHECK: @llvm.ppc.altivec.lvx 6598// CHECK: @llvm.ppc.altivec.lvsl 6599// CHECK: store <8 x i16> zeroinitializer 6600// CHECK: @llvm.ppc.altivec.vperm 6601// CHECK: @llvm.ppc.altivec.lvsr 6602// CHECK: @llvm.ppc.altivec.vperm 6603// CHECK: @llvm.ppc.altivec.stvxl 6604// CHECK-LE: @llvm.ppc.altivec.lvx 6605// CHECK-LE: @llvm.ppc.altivec.lvsl 6606// CHECK-LE: store <8 x i16> zeroinitializer 6607// CHECK-LE: @llvm.ppc.altivec.vperm 6608// CHECK-LE: @llvm.ppc.altivec.lvsr 6609// CHECK-LE: @llvm.ppc.altivec.vperm 6610// CHECK-LE: @llvm.ppc.altivec.stvxl 6611 6612 vec_stvlxl(vbs, 0, &vbs); 6613// CHECK: store <8 x i16> zeroinitializer 6614// CHECK: @llvm.ppc.altivec.lvx 6615// CHECK: @llvm.ppc.altivec.lvsl 6616// CHECK: @llvm.ppc.altivec.vperm 6617// CHECK: @llvm.ppc.altivec.lvsr 6618// CHECK: @llvm.ppc.altivec.vperm 6619// CHECK: @llvm.ppc.altivec.stvxl 6620// CHECK-LE: store <8 x i16> zeroinitializer 6621// CHECK-LE: @llvm.ppc.altivec.lvx 6622// CHECK-LE: @llvm.ppc.altivec.lvsl 6623// CHECK-LE: @llvm.ppc.altivec.vperm 6624// CHECK-LE: @llvm.ppc.altivec.lvsr 6625// CHECK-LE: @llvm.ppc.altivec.vperm 6626// CHECK-LE: @llvm.ppc.altivec.stvxl 6627 6628 vec_stvlxl(vp, 0, &vp); 6629// CHECK: store <8 x i16> zeroinitializer 6630// CHECK: @llvm.ppc.altivec.lvx 6631// CHECK: @llvm.ppc.altivec.lvsl 6632// CHECK: @llvm.ppc.altivec.vperm 6633// CHECK: @llvm.ppc.altivec.lvsr 6634// CHECK: @llvm.ppc.altivec.vperm 6635// CHECK: @llvm.ppc.altivec.stvxl 6636// CHECK-LE: store <8 x i16> zeroinitializer 6637// CHECK-LE: @llvm.ppc.altivec.lvx 6638// CHECK-LE: @llvm.ppc.altivec.lvsl 6639// CHECK-LE: @llvm.ppc.altivec.vperm 6640// CHECK-LE: @llvm.ppc.altivec.lvsr 6641// CHECK-LE: @llvm.ppc.altivec.vperm 6642// CHECK-LE: @llvm.ppc.altivec.stvxl 6643 6644 vec_stvlxl(vi, 0, ¶m_i); 6645// CHECK: @llvm.ppc.altivec.lvx 6646// CHECK: @llvm.ppc.altivec.lvsl 6647// CHECK: store <4 x i32> zeroinitializer 6648// CHECK: @llvm.ppc.altivec.vperm 6649// CHECK: @llvm.ppc.altivec.lvsr 6650// CHECK: @llvm.ppc.altivec.vperm 6651// CHECK: @llvm.ppc.altivec.stvxl 6652// CHECK-LE: @llvm.ppc.altivec.lvx 6653// CHECK-LE: @llvm.ppc.altivec.lvsl 6654// CHECK-LE: store <4 x i32> zeroinitializer 6655// CHECK-LE: @llvm.ppc.altivec.vperm 6656// CHECK-LE: @llvm.ppc.altivec.lvsr 6657// CHECK-LE: @llvm.ppc.altivec.vperm 6658// CHECK-LE: @llvm.ppc.altivec.stvxl 6659 6660 vec_stvlxl(vi, 0, &vi); 6661// CHECK: @llvm.ppc.altivec.lvx 6662// CHECK: @llvm.ppc.altivec.lvsl 6663// CHECK: store <4 x i32> zeroinitializer 6664// CHECK: @llvm.ppc.altivec.vperm 6665// CHECK: @llvm.ppc.altivec.lvsr 6666// CHECK: @llvm.ppc.altivec.vperm 6667// CHECK: @llvm.ppc.altivec.stvxl 6668// CHECK-LE: @llvm.ppc.altivec.lvx 6669// CHECK-LE: @llvm.ppc.altivec.lvsl 6670// CHECK-LE: store <4 x i32> zeroinitializer 6671// CHECK-LE: @llvm.ppc.altivec.vperm 6672// CHECK-LE: @llvm.ppc.altivec.lvsr 6673// CHECK-LE: @llvm.ppc.altivec.vperm 6674// CHECK-LE: @llvm.ppc.altivec.stvxl 6675 6676 vec_stvlxl(vui, 0, ¶m_ui); 6677// CHECK: @llvm.ppc.altivec.lvx 6678// CHECK: @llvm.ppc.altivec.lvsl 6679// CHECK: store <4 x i32> zeroinitializer 6680// CHECK: @llvm.ppc.altivec.vperm 6681// CHECK: @llvm.ppc.altivec.lvsr 6682// CHECK: @llvm.ppc.altivec.vperm 6683// CHECK: @llvm.ppc.altivec.stvxl 6684// CHECK-LE: @llvm.ppc.altivec.lvx 6685// CHECK-LE: @llvm.ppc.altivec.lvsl 6686// CHECK-LE: store <4 x i32> zeroinitializer 6687// CHECK-LE: @llvm.ppc.altivec.vperm 6688// CHECK-LE: @llvm.ppc.altivec.lvsr 6689// CHECK-LE: @llvm.ppc.altivec.vperm 6690// CHECK-LE: @llvm.ppc.altivec.stvxl 6691 6692 vec_stvlxl(vui, 0, &vui); 6693// CHECK: @llvm.ppc.altivec.lvx 6694// CHECK: @llvm.ppc.altivec.lvsl 6695// CHECK: store <4 x i32> zeroinitializer 6696// CHECK: @llvm.ppc.altivec.vperm 6697// CHECK: @llvm.ppc.altivec.lvsr 6698// CHECK: @llvm.ppc.altivec.vperm 6699// CHECK: @llvm.ppc.altivec.stvxl 6700// CHECK-LE: @llvm.ppc.altivec.lvx 6701// CHECK-LE: @llvm.ppc.altivec.lvsl 6702// CHECK-LE: store <4 x i32> zeroinitializer 6703// CHECK-LE: @llvm.ppc.altivec.vperm 6704// CHECK-LE: @llvm.ppc.altivec.lvsr 6705// CHECK-LE: @llvm.ppc.altivec.vperm 6706// CHECK-LE: @llvm.ppc.altivec.stvxl 6707 6708 vec_stvlxl(vbi, 0, &vbi); 6709// CHECK: store <4 x i32> zeroinitializer 6710// CHECK: @llvm.ppc.altivec.lvx 6711// CHECK: @llvm.ppc.altivec.lvsl 6712// CHECK: @llvm.ppc.altivec.vperm 6713// CHECK: @llvm.ppc.altivec.lvsr 6714// CHECK: @llvm.ppc.altivec.vperm 6715// CHECK: @llvm.ppc.altivec.stvxl 6716// CHECK-LE: store <4 x i32> zeroinitializer 6717// CHECK-LE: @llvm.ppc.altivec.lvx 6718// CHECK-LE: @llvm.ppc.altivec.lvsl 6719// CHECK-LE: @llvm.ppc.altivec.vperm 6720// CHECK-LE: @llvm.ppc.altivec.lvsr 6721// CHECK-LE: @llvm.ppc.altivec.vperm 6722// CHECK-LE: @llvm.ppc.altivec.stvxl 6723 6724 vec_stvlxl(vf, 0, &vf); 6725// CHECK: @llvm.ppc.altivec.lvx 6726// CHECK: @llvm.ppc.altivec.lvsl 6727// CHECK: store <4 x float> zeroinitializer 6728// CHECK: @llvm.ppc.altivec.vperm 6729// CHECK: @llvm.ppc.altivec.lvsr 6730// CHECK: @llvm.ppc.altivec.vperm 6731// CHECK: @llvm.ppc.altivec.stvxl 6732// CHECK-LE: @llvm.ppc.altivec.lvx 6733// CHECK-LE: @llvm.ppc.altivec.lvsl 6734// CHECK-LE: store <4 x float> zeroinitializer 6735// CHECK-LE: @llvm.ppc.altivec.vperm 6736// CHECK-LE: @llvm.ppc.altivec.lvsr 6737// CHECK-LE: @llvm.ppc.altivec.vperm 6738// CHECK-LE: @llvm.ppc.altivec.stvxl 6739 6740 /* vec_stvrx */ 6741 vec_stvrx(vsc, 0, ¶m_sc); 6742// CHECK: @llvm.ppc.altivec.lvx 6743// CHECK: @llvm.ppc.altivec.lvsl 6744// CHECK: store <16 x i8> zeroinitializer 6745// CHECK: @llvm.ppc.altivec.vperm 6746// CHECK: @llvm.ppc.altivec.lvsr 6747// CHECK: @llvm.ppc.altivec.vperm 6748// CHECK: @llvm.ppc.altivec.stvx 6749// CHECK-LE: @llvm.ppc.altivec.lvx 6750// CHECK-LE: @llvm.ppc.altivec.lvsl 6751// CHECK-LE: store <16 x i8> zeroinitializer 6752// CHECK-LE: @llvm.ppc.altivec.vperm 6753// CHECK-LE: @llvm.ppc.altivec.lvsr 6754// CHECK-LE: @llvm.ppc.altivec.vperm 6755// CHECK-LE: @llvm.ppc.altivec.stvx 6756 6757 vec_stvrx(vsc, 0, &vsc); 6758// CHECK: @llvm.ppc.altivec.lvx 6759// CHECK: @llvm.ppc.altivec.lvsl 6760// CHECK: store <16 x i8> zeroinitializer 6761// CHECK: @llvm.ppc.altivec.vperm 6762// CHECK: @llvm.ppc.altivec.lvsr 6763// CHECK: @llvm.ppc.altivec.vperm 6764// CHECK: @llvm.ppc.altivec.stvx 6765// CHECK-LE: @llvm.ppc.altivec.lvx 6766// CHECK-LE: @llvm.ppc.altivec.lvsl 6767// CHECK-LE: store <16 x i8> zeroinitializer 6768// CHECK-LE: @llvm.ppc.altivec.vperm 6769// CHECK-LE: @llvm.ppc.altivec.lvsr 6770// CHECK-LE: @llvm.ppc.altivec.vperm 6771// CHECK-LE: @llvm.ppc.altivec.stvx 6772 6773 vec_stvrx(vuc, 0, ¶m_uc); 6774// CHECK: @llvm.ppc.altivec.lvx 6775// CHECK: @llvm.ppc.altivec.lvsl 6776// CHECK: store <16 x i8> zeroinitializer 6777// CHECK: @llvm.ppc.altivec.vperm 6778// CHECK: @llvm.ppc.altivec.lvsr 6779// CHECK: @llvm.ppc.altivec.vperm 6780// CHECK: @llvm.ppc.altivec.stvx 6781// CHECK-LE: @llvm.ppc.altivec.lvx 6782// CHECK-LE: @llvm.ppc.altivec.lvsl 6783// CHECK-LE: store <16 x i8> zeroinitializer 6784// CHECK-LE: @llvm.ppc.altivec.vperm 6785// CHECK-LE: @llvm.ppc.altivec.lvsr 6786// CHECK-LE: @llvm.ppc.altivec.vperm 6787// CHECK-LE: @llvm.ppc.altivec.stvx 6788 6789 vec_stvrx(vuc, 0, &vuc); 6790// CHECK: @llvm.ppc.altivec.lvx 6791// CHECK: @llvm.ppc.altivec.lvsl 6792// CHECK: store <16 x i8> zeroinitializer 6793// CHECK: @llvm.ppc.altivec.vperm 6794// CHECK: @llvm.ppc.altivec.lvsr 6795// CHECK: @llvm.ppc.altivec.vperm 6796// CHECK: @llvm.ppc.altivec.stvx 6797// CHECK-LE: @llvm.ppc.altivec.lvx 6798// CHECK-LE: @llvm.ppc.altivec.lvsl 6799// CHECK-LE: store <16 x i8> zeroinitializer 6800// CHECK-LE: @llvm.ppc.altivec.vperm 6801// CHECK-LE: @llvm.ppc.altivec.lvsr 6802// CHECK-LE: @llvm.ppc.altivec.vperm 6803// CHECK-LE: @llvm.ppc.altivec.stvx 6804 6805 vec_stvrx(vbc, 0, &vbc); 6806// CHECK: @llvm.ppc.altivec.lvx 6807// CHECK: store <16 x i8> zeroinitializer 6808// CHECK: @llvm.ppc.altivec.lvsl 6809// CHECK: @llvm.ppc.altivec.vperm 6810// CHECK: @llvm.ppc.altivec.lvsr 6811// CHECK: @llvm.ppc.altivec.vperm 6812// CHECK: @llvm.ppc.altivec.stvx 6813// CHECK-LE: @llvm.ppc.altivec.lvx 6814// CHECK-LE: store <16 x i8> zeroinitializer 6815// CHECK-LE: @llvm.ppc.altivec.lvsl 6816// CHECK-LE: @llvm.ppc.altivec.vperm 6817// CHECK-LE: @llvm.ppc.altivec.lvsr 6818// CHECK-LE: @llvm.ppc.altivec.vperm 6819// CHECK-LE: @llvm.ppc.altivec.stvx 6820 6821 vec_stvrx(vs, 0, ¶m_s); 6822// CHECK: @llvm.ppc.altivec.lvx 6823// CHECK: @llvm.ppc.altivec.lvsl 6824// CHECK: store <8 x i16> zeroinitializer 6825// CHECK: @llvm.ppc.altivec.vperm 6826// CHECK: @llvm.ppc.altivec.lvsr 6827// CHECK: @llvm.ppc.altivec.vperm 6828// CHECK: @llvm.ppc.altivec.stvx 6829// CHECK-LE: @llvm.ppc.altivec.lvx 6830// CHECK-LE: @llvm.ppc.altivec.lvsl 6831// CHECK-LE: store <8 x i16> zeroinitializer 6832// CHECK-LE: @llvm.ppc.altivec.vperm 6833// CHECK-LE: @llvm.ppc.altivec.lvsr 6834// CHECK-LE: @llvm.ppc.altivec.vperm 6835// CHECK-LE: @llvm.ppc.altivec.stvx 6836 6837 vec_stvrx(vs, 0, &vs); 6838// CHECK: @llvm.ppc.altivec.lvx 6839// CHECK: @llvm.ppc.altivec.lvsl 6840// CHECK: store <8 x i16> zeroinitializer 6841// CHECK: @llvm.ppc.altivec.vperm 6842// CHECK: @llvm.ppc.altivec.lvsr 6843// CHECK: @llvm.ppc.altivec.vperm 6844// CHECK: @llvm.ppc.altivec.stvx 6845// CHECK-LE: @llvm.ppc.altivec.lvx 6846// CHECK-LE: @llvm.ppc.altivec.lvsl 6847// CHECK-LE: store <8 x i16> zeroinitializer 6848// CHECK-LE: @llvm.ppc.altivec.vperm 6849// CHECK-LE: @llvm.ppc.altivec.lvsr 6850// CHECK-LE: @llvm.ppc.altivec.vperm 6851// CHECK-LE: @llvm.ppc.altivec.stvx 6852 6853 vec_stvrx(vus, 0, ¶m_us); 6854// CHECK: @llvm.ppc.altivec.lvx 6855// CHECK: @llvm.ppc.altivec.lvsl 6856// CHECK: store <8 x i16> zeroinitializer 6857// CHECK: @llvm.ppc.altivec.vperm 6858// CHECK: @llvm.ppc.altivec.lvsr 6859// CHECK: @llvm.ppc.altivec.vperm 6860// CHECK: @llvm.ppc.altivec.stvx 6861// CHECK-LE: @llvm.ppc.altivec.lvx 6862// CHECK-LE: @llvm.ppc.altivec.lvsl 6863// CHECK-LE: store <8 x i16> zeroinitializer 6864// CHECK-LE: @llvm.ppc.altivec.vperm 6865// CHECK-LE: @llvm.ppc.altivec.lvsr 6866// CHECK-LE: @llvm.ppc.altivec.vperm 6867// CHECK-LE: @llvm.ppc.altivec.stvx 6868 6869 vec_stvrx(vus, 0, &vus); 6870// CHECK: @llvm.ppc.altivec.lvx 6871// CHECK: @llvm.ppc.altivec.lvsl 6872// CHECK: store <8 x i16> zeroinitializer 6873// CHECK: @llvm.ppc.altivec.vperm 6874// CHECK: @llvm.ppc.altivec.lvsr 6875// CHECK: @llvm.ppc.altivec.vperm 6876// CHECK: @llvm.ppc.altivec.stvx 6877// CHECK-LE: @llvm.ppc.altivec.lvx 6878// CHECK-LE: @llvm.ppc.altivec.lvsl 6879// CHECK-LE: store <8 x i16> zeroinitializer 6880// CHECK-LE: @llvm.ppc.altivec.vperm 6881// CHECK-LE: @llvm.ppc.altivec.lvsr 6882// CHECK-LE: @llvm.ppc.altivec.vperm 6883// CHECK-LE: @llvm.ppc.altivec.stvx 6884 6885 vec_stvrx(vbs, 0, &vbs); 6886// CHECK: @llvm.ppc.altivec.lvx 6887// CHECK: store <8 x i16> zeroinitializer 6888// CHECK: @llvm.ppc.altivec.lvsl 6889// CHECK: @llvm.ppc.altivec.vperm 6890// CHECK: @llvm.ppc.altivec.lvsr 6891// CHECK: @llvm.ppc.altivec.vperm 6892// CHECK: @llvm.ppc.altivec.stvx 6893// CHECK-LE: @llvm.ppc.altivec.lvx 6894// CHECK-LE: store <8 x i16> zeroinitializer 6895// CHECK-LE: @llvm.ppc.altivec.lvsl 6896// CHECK-LE: @llvm.ppc.altivec.vperm 6897// CHECK-LE: @llvm.ppc.altivec.lvsr 6898// CHECK-LE: @llvm.ppc.altivec.vperm 6899// CHECK-LE: @llvm.ppc.altivec.stvx 6900 6901 vec_stvrx(vp, 0, &vp); 6902// CHECK: @llvm.ppc.altivec.lvx 6903// CHECK: store <8 x i16> zeroinitializer 6904// CHECK: @llvm.ppc.altivec.lvsl 6905// CHECK: @llvm.ppc.altivec.vperm 6906// CHECK: @llvm.ppc.altivec.lvsr 6907// CHECK: @llvm.ppc.altivec.vperm 6908// CHECK: @llvm.ppc.altivec.stvx 6909// CHECK-LE: @llvm.ppc.altivec.lvx 6910// CHECK-LE: store <8 x i16> zeroinitializer 6911// CHECK-LE: @llvm.ppc.altivec.lvsl 6912// CHECK-LE: @llvm.ppc.altivec.vperm 6913// CHECK-LE: @llvm.ppc.altivec.lvsr 6914// CHECK-LE: @llvm.ppc.altivec.vperm 6915// CHECK-LE: @llvm.ppc.altivec.stvx 6916 6917 vec_stvrx(vi, 0, ¶m_i); 6918// CHECK: @llvm.ppc.altivec.lvx 6919// CHECK: @llvm.ppc.altivec.lvsl 6920// CHECK: store <4 x i32> zeroinitializer 6921// CHECK: @llvm.ppc.altivec.vperm 6922// CHECK: @llvm.ppc.altivec.lvsr 6923// CHECK: @llvm.ppc.altivec.vperm 6924// CHECK: @llvm.ppc.altivec.stvx 6925// CHECK-LE: @llvm.ppc.altivec.lvx 6926// CHECK-LE: @llvm.ppc.altivec.lvsl 6927// CHECK-LE: store <4 x i32> zeroinitializer 6928// CHECK-LE: @llvm.ppc.altivec.vperm 6929// CHECK-LE: @llvm.ppc.altivec.lvsr 6930// CHECK-LE: @llvm.ppc.altivec.vperm 6931// CHECK-LE: @llvm.ppc.altivec.stvx 6932 6933 vec_stvrx(vi, 0, &vi); 6934// CHECK: @llvm.ppc.altivec.lvx 6935// CHECK: @llvm.ppc.altivec.lvsl 6936// CHECK: store <4 x i32> zeroinitializer 6937// CHECK: @llvm.ppc.altivec.vperm 6938// CHECK: @llvm.ppc.altivec.lvsr 6939// CHECK: @llvm.ppc.altivec.vperm 6940// CHECK: @llvm.ppc.altivec.stvx 6941// CHECK-LE: @llvm.ppc.altivec.lvx 6942// CHECK-LE: @llvm.ppc.altivec.lvsl 6943// CHECK-LE: store <4 x i32> zeroinitializer 6944// CHECK-LE: @llvm.ppc.altivec.vperm 6945// CHECK-LE: @llvm.ppc.altivec.lvsr 6946// CHECK-LE: @llvm.ppc.altivec.vperm 6947// CHECK-LE: @llvm.ppc.altivec.stvx 6948 6949 vec_stvrx(vui, 0, ¶m_ui); 6950// CHECK: @llvm.ppc.altivec.lvx 6951// CHECK: @llvm.ppc.altivec.lvsl 6952// CHECK: store <4 x i32> zeroinitializer 6953// CHECK: @llvm.ppc.altivec.vperm 6954// CHECK: @llvm.ppc.altivec.lvsr 6955// CHECK: @llvm.ppc.altivec.vperm 6956// CHECK: @llvm.ppc.altivec.stvx 6957// CHECK-LE: @llvm.ppc.altivec.lvx 6958// CHECK-LE: @llvm.ppc.altivec.lvsl 6959// CHECK-LE: store <4 x i32> zeroinitializer 6960// CHECK-LE: @llvm.ppc.altivec.vperm 6961// CHECK-LE: @llvm.ppc.altivec.lvsr 6962// CHECK-LE: @llvm.ppc.altivec.vperm 6963// CHECK-LE: @llvm.ppc.altivec.stvx 6964 6965 vec_stvrx(vui, 0, &vui); 6966// CHECK: @llvm.ppc.altivec.lvx 6967// CHECK: @llvm.ppc.altivec.lvsl 6968// CHECK: store <4 x i32> zeroinitializer 6969// CHECK: @llvm.ppc.altivec.vperm 6970// CHECK: @llvm.ppc.altivec.lvsr 6971// CHECK: @llvm.ppc.altivec.vperm 6972// CHECK: @llvm.ppc.altivec.stvx 6973// CHECK-LE: @llvm.ppc.altivec.lvx 6974// CHECK-LE: @llvm.ppc.altivec.lvsl 6975// CHECK-LE: store <4 x i32> zeroinitializer 6976// CHECK-LE: @llvm.ppc.altivec.vperm 6977// CHECK-LE: @llvm.ppc.altivec.lvsr 6978// CHECK-LE: @llvm.ppc.altivec.vperm 6979// CHECK-LE: @llvm.ppc.altivec.stvx 6980 6981 vec_stvrx(vbi, 0, &vbi); 6982// CHECK: @llvm.ppc.altivec.lvx 6983// CHECK: store <4 x i32> zeroinitializer 6984// CHECK: @llvm.ppc.altivec.lvsl 6985// CHECK: @llvm.ppc.altivec.vperm 6986// CHECK: @llvm.ppc.altivec.lvsr 6987// CHECK: @llvm.ppc.altivec.vperm 6988// CHECK: @llvm.ppc.altivec.stvx 6989// CHECK-LE: @llvm.ppc.altivec.lvx 6990// CHECK-LE: store <4 x i32> zeroinitializer 6991// CHECK-LE: @llvm.ppc.altivec.lvsl 6992// CHECK-LE: @llvm.ppc.altivec.vperm 6993// CHECK-LE: @llvm.ppc.altivec.lvsr 6994// CHECK-LE: @llvm.ppc.altivec.vperm 6995// CHECK-LE: @llvm.ppc.altivec.stvx 6996 6997 vec_stvrx(vf, 0, &vf); 6998// CHECK: @llvm.ppc.altivec.lvx 6999// CHECK: @llvm.ppc.altivec.lvsl 7000// CHECK: store <4 x float> zeroinitializer 7001// CHECK: @llvm.ppc.altivec.vperm 7002// CHECK: @llvm.ppc.altivec.lvsr 7003// CHECK: @llvm.ppc.altivec.vperm 7004// CHECK: @llvm.ppc.altivec.stvx 7005// CHECK-LE: @llvm.ppc.altivec.lvx 7006// CHECK-LE: @llvm.ppc.altivec.lvsl 7007// CHECK-LE: store <4 x float> zeroinitializer 7008// CHECK-LE: @llvm.ppc.altivec.vperm 7009// CHECK-LE: @llvm.ppc.altivec.lvsr 7010// CHECK-LE: @llvm.ppc.altivec.vperm 7011// CHECK-LE: @llvm.ppc.altivec.stvx 7012 7013 /* vec_stvrxl */ 7014 vec_stvrxl(vsc, 0, ¶m_sc); 7015// CHECK: @llvm.ppc.altivec.lvx 7016// CHECK: @llvm.ppc.altivec.lvsl 7017// CHECK: store <16 x i8> zeroinitializer 7018// CHECK: @llvm.ppc.altivec.vperm 7019// CHECK: @llvm.ppc.altivec.lvsr 7020// CHECK: @llvm.ppc.altivec.vperm 7021// CHECK: @llvm.ppc.altivec.stvxl 7022// CHECK-LE: @llvm.ppc.altivec.lvx 7023// CHECK-LE: @llvm.ppc.altivec.lvsl 7024// CHECK-LE: store <16 x i8> zeroinitializer 7025// CHECK-LE: @llvm.ppc.altivec.vperm 7026// CHECK-LE: @llvm.ppc.altivec.lvsr 7027// CHECK-LE: @llvm.ppc.altivec.vperm 7028// CHECK-LE: @llvm.ppc.altivec.stvxl 7029 7030 vec_stvrxl(vsc, 0, &vsc); 7031// CHECK: @llvm.ppc.altivec.lvx 7032// CHECK: @llvm.ppc.altivec.lvsl 7033// CHECK: store <16 x i8> zeroinitializer 7034// CHECK: @llvm.ppc.altivec.vperm 7035// CHECK: @llvm.ppc.altivec.lvsr 7036// CHECK: @llvm.ppc.altivec.vperm 7037// CHECK: @llvm.ppc.altivec.stvxl 7038// CHECK-LE: @llvm.ppc.altivec.lvx 7039// CHECK-LE: @llvm.ppc.altivec.lvsl 7040// CHECK-LE: store <16 x i8> zeroinitializer 7041// CHECK-LE: @llvm.ppc.altivec.vperm 7042// CHECK-LE: @llvm.ppc.altivec.lvsr 7043// CHECK-LE: @llvm.ppc.altivec.vperm 7044// CHECK-LE: @llvm.ppc.altivec.stvxl 7045 7046 vec_stvrxl(vuc, 0, ¶m_uc); 7047// CHECK: @llvm.ppc.altivec.lvx 7048// CHECK: @llvm.ppc.altivec.lvsl 7049// CHECK: store <16 x i8> zeroinitializer 7050// CHECK: @llvm.ppc.altivec.vperm 7051// CHECK: @llvm.ppc.altivec.lvsr 7052// CHECK: @llvm.ppc.altivec.vperm 7053// CHECK: @llvm.ppc.altivec.stvxl 7054// CHECK-LE: @llvm.ppc.altivec.lvx 7055// CHECK-LE: @llvm.ppc.altivec.lvsl 7056// CHECK-LE: store <16 x i8> zeroinitializer 7057// CHECK-LE: @llvm.ppc.altivec.vperm 7058// CHECK-LE: @llvm.ppc.altivec.lvsr 7059// CHECK-LE: @llvm.ppc.altivec.vperm 7060// CHECK-LE: @llvm.ppc.altivec.stvxl 7061 7062 vec_stvrxl(vuc, 0, &vuc); 7063// CHECK: @llvm.ppc.altivec.lvx 7064// CHECK: @llvm.ppc.altivec.lvsl 7065// CHECK: store <16 x i8> zeroinitializer 7066// CHECK: @llvm.ppc.altivec.vperm 7067// CHECK: @llvm.ppc.altivec.lvsr 7068// CHECK: @llvm.ppc.altivec.vperm 7069// CHECK: @llvm.ppc.altivec.stvxl 7070// CHECK-LE: @llvm.ppc.altivec.lvx 7071// CHECK-LE: @llvm.ppc.altivec.lvsl 7072// CHECK-LE: store <16 x i8> zeroinitializer 7073// CHECK-LE: @llvm.ppc.altivec.vperm 7074// CHECK-LE: @llvm.ppc.altivec.lvsr 7075// CHECK-LE: @llvm.ppc.altivec.vperm 7076// CHECK-LE: @llvm.ppc.altivec.stvxl 7077 7078 vec_stvrxl(vbc, 0, &vbc); 7079// CHECK: @llvm.ppc.altivec.lvx 7080// CHECK: store <16 x i8> zeroinitializer 7081// CHECK: @llvm.ppc.altivec.lvsl 7082// CHECK: @llvm.ppc.altivec.vperm 7083// CHECK: @llvm.ppc.altivec.lvsr 7084// CHECK: @llvm.ppc.altivec.vperm 7085// CHECK: @llvm.ppc.altivec.stvxl 7086// CHECK-LE: @llvm.ppc.altivec.lvx 7087// CHECK-LE: store <16 x i8> zeroinitializer 7088// CHECK-LE: @llvm.ppc.altivec.lvsl 7089// CHECK-LE: @llvm.ppc.altivec.vperm 7090// CHECK-LE: @llvm.ppc.altivec.lvsr 7091// CHECK-LE: @llvm.ppc.altivec.vperm 7092// CHECK-LE: @llvm.ppc.altivec.stvxl 7093 7094 vec_stvrxl(vs, 0, ¶m_s); 7095// CHECK: @llvm.ppc.altivec.lvx 7096// CHECK: @llvm.ppc.altivec.lvsl 7097// CHECK: store <8 x i16> zeroinitializer 7098// CHECK: @llvm.ppc.altivec.vperm 7099// CHECK: @llvm.ppc.altivec.lvsr 7100// CHECK: @llvm.ppc.altivec.vperm 7101// CHECK: @llvm.ppc.altivec.stvxl 7102// CHECK-LE: @llvm.ppc.altivec.lvx 7103// CHECK-LE: @llvm.ppc.altivec.lvsl 7104// CHECK-LE: store <8 x i16> zeroinitializer 7105// CHECK-LE: @llvm.ppc.altivec.vperm 7106// CHECK-LE: @llvm.ppc.altivec.lvsr 7107// CHECK-LE: @llvm.ppc.altivec.vperm 7108// CHECK-LE: @llvm.ppc.altivec.stvxl 7109 7110 vec_stvrxl(vs, 0, &vs); 7111// CHECK: @llvm.ppc.altivec.lvx 7112// CHECK: @llvm.ppc.altivec.lvsl 7113// CHECK: store <8 x i16> zeroinitializer 7114// CHECK: @llvm.ppc.altivec.vperm 7115// CHECK: @llvm.ppc.altivec.lvsr 7116// CHECK: @llvm.ppc.altivec.vperm 7117// CHECK: @llvm.ppc.altivec.stvxl 7118// CHECK-LE: @llvm.ppc.altivec.lvx 7119// CHECK-LE: @llvm.ppc.altivec.lvsl 7120// CHECK-LE: store <8 x i16> zeroinitializer 7121// CHECK-LE: @llvm.ppc.altivec.vperm 7122// CHECK-LE: @llvm.ppc.altivec.lvsr 7123// CHECK-LE: @llvm.ppc.altivec.vperm 7124// CHECK-LE: @llvm.ppc.altivec.stvxl 7125 7126 vec_stvrxl(vus, 0, ¶m_us); 7127// CHECK: @llvm.ppc.altivec.lvx 7128// CHECK: @llvm.ppc.altivec.lvsl 7129// CHECK: store <8 x i16> zeroinitializer 7130// CHECK: @llvm.ppc.altivec.vperm 7131// CHECK: @llvm.ppc.altivec.lvsr 7132// CHECK: @llvm.ppc.altivec.vperm 7133// CHECK: @llvm.ppc.altivec.stvxl 7134// CHECK-LE: @llvm.ppc.altivec.lvx 7135// CHECK-LE: @llvm.ppc.altivec.lvsl 7136// CHECK-LE: store <8 x i16> zeroinitializer 7137// CHECK-LE: @llvm.ppc.altivec.vperm 7138// CHECK-LE: @llvm.ppc.altivec.lvsr 7139// CHECK-LE: @llvm.ppc.altivec.vperm 7140// CHECK-LE: @llvm.ppc.altivec.stvxl 7141 7142 vec_stvrxl(vus, 0, &vus); 7143// CHECK: @llvm.ppc.altivec.lvx 7144// CHECK: @llvm.ppc.altivec.lvsl 7145// CHECK: store <8 x i16> zeroinitializer 7146// CHECK: @llvm.ppc.altivec.vperm 7147// CHECK: @llvm.ppc.altivec.lvsr 7148// CHECK: @llvm.ppc.altivec.vperm 7149// CHECK: @llvm.ppc.altivec.stvxl 7150// CHECK-LE: @llvm.ppc.altivec.lvx 7151// CHECK-LE: @llvm.ppc.altivec.lvsl 7152// CHECK-LE: store <8 x i16> zeroinitializer 7153// CHECK-LE: @llvm.ppc.altivec.vperm 7154// CHECK-LE: @llvm.ppc.altivec.lvsr 7155// CHECK-LE: @llvm.ppc.altivec.vperm 7156// CHECK-LE: @llvm.ppc.altivec.stvxl 7157 7158 vec_stvrxl(vbs, 0, &vbs); 7159// CHECK: @llvm.ppc.altivec.lvx 7160// CHECK: store <8 x i16> zeroinitializer 7161// CHECK: @llvm.ppc.altivec.lvsl 7162// CHECK: @llvm.ppc.altivec.vperm 7163// CHECK: @llvm.ppc.altivec.lvsr 7164// CHECK: @llvm.ppc.altivec.vperm 7165// CHECK: @llvm.ppc.altivec.stvxl 7166// CHECK-LE: @llvm.ppc.altivec.lvx 7167// CHECK-LE: store <8 x i16> zeroinitializer 7168// CHECK-LE: @llvm.ppc.altivec.lvsl 7169// CHECK-LE: @llvm.ppc.altivec.vperm 7170// CHECK-LE: @llvm.ppc.altivec.lvsr 7171// CHECK-LE: @llvm.ppc.altivec.vperm 7172// CHECK-LE: @llvm.ppc.altivec.stvxl 7173 7174 vec_stvrxl(vp, 0, &vp); 7175// CHECK: @llvm.ppc.altivec.lvx 7176// CHECK: store <8 x i16> zeroinitializer 7177// CHECK: @llvm.ppc.altivec.lvsl 7178// CHECK: @llvm.ppc.altivec.vperm 7179// CHECK: @llvm.ppc.altivec.lvsr 7180// CHECK: @llvm.ppc.altivec.vperm 7181// CHECK: @llvm.ppc.altivec.stvxl 7182// CHECK-LE: @llvm.ppc.altivec.lvx 7183// CHECK-LE: store <8 x i16> zeroinitializer 7184// CHECK-LE: @llvm.ppc.altivec.lvsl 7185// CHECK-LE: @llvm.ppc.altivec.vperm 7186// CHECK-LE: @llvm.ppc.altivec.lvsr 7187// CHECK-LE: @llvm.ppc.altivec.vperm 7188// CHECK-LE: @llvm.ppc.altivec.stvxl 7189 7190 vec_stvrxl(vi, 0, ¶m_i); 7191// CHECK: @llvm.ppc.altivec.lvx 7192// CHECK: @llvm.ppc.altivec.lvsl 7193// CHECK: store <4 x i32> zeroinitializer 7194// CHECK: @llvm.ppc.altivec.vperm 7195// CHECK: @llvm.ppc.altivec.lvsr 7196// CHECK: @llvm.ppc.altivec.vperm 7197// CHECK: @llvm.ppc.altivec.stvxl 7198// CHECK-LE: @llvm.ppc.altivec.lvx 7199// CHECK-LE: @llvm.ppc.altivec.lvsl 7200// CHECK-LE: store <4 x i32> zeroinitializer 7201// CHECK-LE: @llvm.ppc.altivec.vperm 7202// CHECK-LE: @llvm.ppc.altivec.lvsr 7203// CHECK-LE: @llvm.ppc.altivec.vperm 7204// CHECK-LE: @llvm.ppc.altivec.stvxl 7205 7206 vec_stvrxl(vi, 0, &vi); 7207// CHECK: @llvm.ppc.altivec.lvx 7208// CHECK: @llvm.ppc.altivec.lvsl 7209// CHECK: store <4 x i32> zeroinitializer 7210// CHECK: @llvm.ppc.altivec.vperm 7211// CHECK: @llvm.ppc.altivec.lvsr 7212// CHECK: @llvm.ppc.altivec.vperm 7213// CHECK: @llvm.ppc.altivec.stvxl 7214// CHECK-LE: @llvm.ppc.altivec.lvx 7215// CHECK-LE: @llvm.ppc.altivec.lvsl 7216// CHECK-LE: store <4 x i32> zeroinitializer 7217// CHECK-LE: @llvm.ppc.altivec.vperm 7218// CHECK-LE: @llvm.ppc.altivec.lvsr 7219// CHECK-LE: @llvm.ppc.altivec.vperm 7220// CHECK-LE: @llvm.ppc.altivec.stvxl 7221 7222 vec_stvrxl(vui, 0, ¶m_ui); 7223// CHECK: @llvm.ppc.altivec.lvx 7224// CHECK: @llvm.ppc.altivec.lvsl 7225// CHECK: store <4 x i32> zeroinitializer 7226// CHECK: @llvm.ppc.altivec.vperm 7227// CHECK: @llvm.ppc.altivec.lvsr 7228// CHECK: @llvm.ppc.altivec.vperm 7229// CHECK: @llvm.ppc.altivec.stvxl 7230// CHECK-LE: @llvm.ppc.altivec.lvx 7231// CHECK-LE: @llvm.ppc.altivec.lvsl 7232// CHECK-LE: store <4 x i32> zeroinitializer 7233// CHECK-LE: @llvm.ppc.altivec.vperm 7234// CHECK-LE: @llvm.ppc.altivec.lvsr 7235// CHECK-LE: @llvm.ppc.altivec.vperm 7236// CHECK-LE: @llvm.ppc.altivec.stvxl 7237 7238 vec_stvrxl(vui, 0, &vui); 7239// CHECK: @llvm.ppc.altivec.lvx 7240// CHECK: @llvm.ppc.altivec.lvsl 7241// CHECK: store <4 x i32> zeroinitializer 7242// CHECK: @llvm.ppc.altivec.vperm 7243// CHECK: @llvm.ppc.altivec.lvsr 7244// CHECK: @llvm.ppc.altivec.vperm 7245// CHECK: @llvm.ppc.altivec.stvxl 7246// CHECK-LE: @llvm.ppc.altivec.lvx 7247// CHECK-LE: @llvm.ppc.altivec.lvsl 7248// CHECK-LE: store <4 x i32> zeroinitializer 7249// CHECK-LE: @llvm.ppc.altivec.vperm 7250// CHECK-LE: @llvm.ppc.altivec.lvsr 7251// CHECK-LE: @llvm.ppc.altivec.vperm 7252// CHECK-LE: @llvm.ppc.altivec.stvxl 7253 7254 vec_stvrxl(vbi, 0, &vbi); 7255// CHECK: @llvm.ppc.altivec.lvx 7256// CHECK: store <4 x i32> zeroinitializer 7257// CHECK: @llvm.ppc.altivec.lvsl 7258// CHECK: @llvm.ppc.altivec.vperm 7259// CHECK: @llvm.ppc.altivec.lvsr 7260// CHECK: @llvm.ppc.altivec.vperm 7261// CHECK: @llvm.ppc.altivec.stvxl 7262// CHECK-LE: @llvm.ppc.altivec.lvx 7263// CHECK-LE: store <4 x i32> zeroinitializer 7264// CHECK-LE: @llvm.ppc.altivec.lvsl 7265// CHECK-LE: @llvm.ppc.altivec.vperm 7266// CHECK-LE: @llvm.ppc.altivec.lvsr 7267// CHECK-LE: @llvm.ppc.altivec.vperm 7268// CHECK-LE: @llvm.ppc.altivec.stvxl 7269 7270 vec_stvrxl(vf, 0, &vf); 7271// CHECK: @llvm.ppc.altivec.lvx 7272// CHECK: @llvm.ppc.altivec.lvsl 7273// CHECK: store <4 x float> zeroinitializer 7274// CHECK: @llvm.ppc.altivec.vperm 7275// CHECK: @llvm.ppc.altivec.lvsr 7276// CHECK: @llvm.ppc.altivec.vperm 7277// CHECK: @llvm.ppc.altivec.stvxl 7278// CHECK-LE: @llvm.ppc.altivec.lvx 7279// CHECK-LE: @llvm.ppc.altivec.lvsl 7280// CHECK-LE: store <4 x float> zeroinitializer 7281// CHECK-LE: @llvm.ppc.altivec.vperm 7282// CHECK-LE: @llvm.ppc.altivec.lvsr 7283// CHECK-LE: @llvm.ppc.altivec.vperm 7284// CHECK-LE: @llvm.ppc.altivec.stvxl 7285 7286 /* vec_promote */ 7287 res_vsc = vec_promote(param_sc, 0); 7288// CHECK: store <16 x i8> zeroinitializer 7289// CHECK: insertelement <16 x i8> 7290// CHECK-LE: store <16 x i8> zeroinitializer 7291// CHECK-LE: insertelement <16 x i8> 7292 7293 res_vuc = vec_promote(param_uc, 0); 7294// CHECK: store <16 x i8> zeroinitializer 7295// CHECK: insertelement <16 x i8> 7296// CHECK-LE: store <16 x i8> zeroinitializer 7297// CHECK-LE: insertelement <16 x i8> 7298 7299 res_vs = vec_promote(param_s, 0); 7300// CHECK: store <8 x i16> zeroinitializer 7301// CHECK: insertelement <8 x i16> 7302// CHECK-LE: store <8 x i16> zeroinitializer 7303// CHECK-LE: insertelement <8 x i16> 7304 7305 res_vus = vec_promote(param_us, 0); 7306// CHECK: store <8 x i16> zeroinitializer 7307// CHECK: insertelement <8 x i16> 7308// CHECK-LE: store <8 x i16> zeroinitializer 7309// CHECK-LE: insertelement <8 x i16> 7310 7311 res_vi = vec_promote(param_i, 0); 7312// CHECK: store <4 x i32> zeroinitializer 7313// CHECK: insertelement <4 x i32> 7314// CHECK-LE: store <4 x i32> zeroinitializer 7315// CHECK-LE: insertelement <4 x i32> 7316 7317 res_vui = vec_promote(param_ui, 0); 7318// CHECK: store <4 x i32> zeroinitializer 7319// CHECK: insertelement <4 x i32> 7320// CHECK-LE: store <4 x i32> zeroinitializer 7321// CHECK-LE: insertelement <4 x i32> 7322 7323 res_vf = vec_promote(param_f, 0); 7324// CHECK: store <4 x float> zeroinitializer 7325// CHECK: insertelement <4 x float> 7326// CHECK-LE: store <4 x float> zeroinitializer 7327// CHECK-LE: insertelement <4 x float> 7328 7329 /* vec_splats */ 7330 res_vsc = vec_splats(param_sc); 7331// CHECK: insertelement <16 x i8> 7332// CHECK-LE: insertelement <16 x i8> 7333 7334 res_vuc = vec_splats(param_uc); 7335// CHECK: insertelement <16 x i8> 7336// CHECK-LE: insertelement <16 x i8> 7337 7338 res_vs = vec_splats(param_s); 7339// CHECK: insertelement <8 x i16> 7340// CHECK-LE: insertelement <8 x i16> 7341 7342 res_vus = vec_splats(param_us); 7343// CHECK: insertelement <8 x i16> 7344// CHECK-LE: insertelement <8 x i16> 7345 7346 res_vi = vec_splats(param_i); 7347// CHECK: insertelement <4 x i32> 7348// CHECK-LE: insertelement <4 x i32> 7349 7350 res_vui = vec_splats(param_ui); 7351// CHECK: insertelement <4 x i32> 7352// CHECK-LE: insertelement <4 x i32> 7353 7354 res_vf = vec_splats(param_f); 7355// CHECK: insertelement <4 x float> 7356// CHECK-LE: insertelement <4 x float> 7357 7358 /* ------------------------------ predicates -------------------------------------- */ 7359 7360 /* vec_all_eq */ 7361 res_i = vec_all_eq(vsc, vsc); 7362// CHECK: @llvm.ppc.altivec.vcmpequb.p 7363// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7364 7365 res_i = vec_all_eq(vsc, vbc); 7366// CHECK: @llvm.ppc.altivec.vcmpequb.p 7367// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7368 7369 res_i = vec_all_eq(vuc, vuc); 7370// CHECK: @llvm.ppc.altivec.vcmpequb.p 7371// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7372 7373 res_i = vec_all_eq(vuc, vbc); 7374// CHECK: @llvm.ppc.altivec.vcmpequb.p 7375// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7376 7377 res_i = vec_all_eq(vbc, vsc); 7378// CHECK: @llvm.ppc.altivec.vcmpequb.p 7379// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7380 7381 res_i = vec_all_eq(vbc, vuc); 7382// CHECK: @llvm.ppc.altivec.vcmpequb.p 7383// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7384 7385 res_i = vec_all_eq(vbc, vbc); 7386// CHECK: @llvm.ppc.altivec.vcmpequb.p 7387// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7388 7389 res_i = vec_all_eq(vs, vs); 7390// CHECK: @llvm.ppc.altivec.vcmpequh.p 7391// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7392 7393 res_i = vec_all_eq(vs, vbs); 7394// CHECK: @llvm.ppc.altivec.vcmpequh.p 7395// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7396 7397 res_i = vec_all_eq(vus, vus); 7398// CHECK: @llvm.ppc.altivec.vcmpequh.p 7399// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7400 7401 res_i = vec_all_eq(vus, vbs); 7402// CHECK: @llvm.ppc.altivec.vcmpequh.p 7403// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7404 7405 res_i = vec_all_eq(vbs, vs); 7406// CHECK: @llvm.ppc.altivec.vcmpequh.p 7407// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7408 7409 res_i = vec_all_eq(vbs, vus); 7410// CHECK: @llvm.ppc.altivec.vcmpequh.p 7411// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7412 7413 res_i = vec_all_eq(vbs, vbs); 7414// CHECK: @llvm.ppc.altivec.vcmpequh.p 7415// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7416 7417 res_i = vec_all_eq(vp, vp); 7418// CHECK: @llvm.ppc.altivec.vcmpequh.p 7419// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7420 7421 res_i = vec_all_eq(vi, vi); 7422// CHECK: @llvm.ppc.altivec.vcmpequw.p 7423// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7424 7425 res_i = vec_all_eq(vi, vbi); 7426// CHECK: @llvm.ppc.altivec.vcmpequw.p 7427// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7428 7429 res_i = vec_all_eq(vui, vui); 7430// CHECK: @llvm.ppc.altivec.vcmpequw.p 7431// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7432 7433 res_i = vec_all_eq(vui, vbi); 7434// CHECK: @llvm.ppc.altivec.vcmpequw.p 7435// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7436 7437 res_i = vec_all_eq(vbi, vi); 7438// CHECK: @llvm.ppc.altivec.vcmpequw.p 7439// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7440 7441 res_i = vec_all_eq(vbi, vui); 7442// CHECK: @llvm.ppc.altivec.vcmpequw.p 7443// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7444 7445 res_i = vec_all_eq(vbi, vbi); 7446// CHECK: @llvm.ppc.altivec.vcmpequw.p 7447// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7448 7449 res_i = vec_all_eq(vf, vf); 7450// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 7451// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 7452 7453 /* vec_all_ge */ 7454 res_i = vec_all_ge(vsc, vsc); 7455// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7456// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7457 7458 res_i = vec_all_ge(vsc, vbc); 7459// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7460// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7461 7462 res_i = vec_all_ge(vuc, vuc); 7463// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7464// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7465 7466 res_i = vec_all_ge(vuc, vbc); 7467// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7468// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7469 7470 res_i = vec_all_ge(vbc, vsc); 7471// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7472// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7473 7474 res_i = vec_all_ge(vbc, vuc); 7475// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7476// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7477 7478 res_i = vec_all_ge(vbc, vbc); 7479// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7480// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7481 7482 res_i = vec_all_ge(vs, vs); 7483// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7484// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7485 7486 res_i = vec_all_ge(vs, vbs); 7487// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7488// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7489 7490 res_i = vec_all_ge(vus, vus); 7491// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7492// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7493 7494 res_i = vec_all_ge(vus, vbs); 7495// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7496// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7497 7498 res_i = vec_all_ge(vbs, vs); 7499// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7500// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7501 7502 res_i = vec_all_ge(vbs, vus); 7503// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7504// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7505 7506 res_i = vec_all_ge(vbs, vbs); 7507// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7508// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7509 7510 res_i = vec_all_ge(vi, vi); 7511// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7512// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7513 7514 res_i = vec_all_ge(vi, vbi); 7515// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7516// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7517 7518 res_i = vec_all_ge(vui, vui); 7519// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7520// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7521 7522 res_i = vec_all_ge(vui, vbi); 7523// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7524// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7525 7526 res_i = vec_all_ge(vbi, vi); 7527// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7528// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7529 7530 res_i = vec_all_ge(vbi, vui); 7531// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7532// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7533 7534 res_i = vec_all_ge(vbi, vbi); 7535// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7536// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7537 7538 res_i = vec_all_ge(vf, vf); 7539// CHECK: @llvm.ppc.altivec.vcmpgefp.p 7540// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 7541 7542 /* vec_all_gt */ 7543 res_i = vec_all_gt(vsc, vsc); 7544// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7545// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7546 7547 res_i = vec_all_gt(vsc, vbc); 7548// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7549// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7550 7551 res_i = vec_all_gt(vuc, vuc); 7552// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7553// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7554 7555 res_i = vec_all_gt(vuc, vbc); 7556// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7557// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7558 7559 res_i = vec_all_gt(vbc, vsc); 7560// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7561// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7562 7563 res_i = vec_all_gt(vbc, vuc); 7564// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7565// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7566 7567 res_i = vec_all_gt(vbc, vbc); 7568// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7569// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7570 7571 res_i = vec_all_gt(vs, vs); 7572// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7573// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7574 7575 res_i = vec_all_gt(vs, vbs); 7576// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7577// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7578 7579 res_i = vec_all_gt(vus, vus); 7580// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7581// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7582 7583 res_i = vec_all_gt(vus, vbs); 7584// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7585// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7586 7587 res_i = vec_all_gt(vbs, vs); 7588// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7589// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7590 7591 res_i = vec_all_gt(vbs, vus); 7592// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7593// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7594 7595 res_i = vec_all_gt(vbs, vbs); 7596// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7597// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7598 7599 res_i = vec_all_gt(vi, vi); 7600// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7601// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7602 7603 res_i = vec_all_gt(vi, vbi); 7604// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7605// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7606 7607 res_i = vec_all_gt(vui, vui); 7608// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7609// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7610 7611 res_i = vec_all_gt(vui, vbi); 7612// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7613// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7614 7615 res_i = vec_all_gt(vbi, vi); 7616// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7617// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7618 7619 res_i = vec_all_gt(vbi, vui); 7620// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7621// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7622 7623 res_i = vec_all_gt(vbi, vbi); 7624// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7625// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7626 7627 res_i = vec_all_gt(vf, vf); 7628// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 7629// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 7630 7631 /* vec_all_in */ 7632 res_i = vec_all_in(vf, vf); 7633// CHECK: @llvm.ppc.altivec.vcmpbfp.p 7634// CHECK-LE: @llvm.ppc.altivec.vcmpbfp.p 7635 7636 /* vec_all_le */ 7637 res_i = vec_all_le(vsc, vsc); 7638// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7639// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7640 7641 res_i = vec_all_le(vsc, vbc); 7642// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7643// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7644 7645 res_i = vec_all_le(vuc, vuc); 7646// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7647// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7648 7649 res_i = vec_all_le(vuc, vbc); 7650// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7651// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7652 7653 res_i = vec_all_le(vbc, vsc); 7654// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7655// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7656 7657 res_i = vec_all_le(vbc, vuc); 7658// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7659// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7660 7661 res_i = vec_all_le(vbc, vbc); 7662// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7663// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7664 7665 res_i = vec_all_le(vs, vs); 7666// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7667// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7668 7669 res_i = vec_all_le(vs, vbs); 7670// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7671// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7672 7673 res_i = vec_all_le(vus, vus); 7674// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7675// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7676 7677 res_i = vec_all_le(vus, vbs); 7678// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7679// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7680 7681 res_i = vec_all_le(vbs, vs); 7682// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7683// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7684 7685 res_i = vec_all_le(vbs, vus); 7686// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7687// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7688 7689 res_i = vec_all_le(vbs, vbs); 7690// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7691// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7692 7693 res_i = vec_all_le(vi, vi); 7694// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7695// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7696 7697 res_i = vec_all_le(vi, vbi); 7698// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7699// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7700 7701 res_i = vec_all_le(vui, vui); 7702// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7703// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7704 7705 res_i = vec_all_le(vui, vbi); 7706// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7707// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7708 7709 res_i = vec_all_le(vbi, vi); 7710// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7711// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7712 7713 res_i = vec_all_le(vbi, vui); 7714// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7715// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7716 7717 res_i = vec_all_le(vbi, vbi); 7718// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7719// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7720 7721 res_i = vec_all_le(vf, vf); 7722// CHECK: @llvm.ppc.altivec.vcmpgefp.p 7723// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 7724 7725 /* vec_all_lt */ 7726 res_i = vec_all_lt(vsc, vsc); 7727// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7728// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7729 7730 res_i = vec_all_lt(vsc, vbc); 7731// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7732// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7733 7734 res_i = vec_all_lt(vuc, vuc); 7735// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7736// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7737 7738 res_i = vec_all_lt(vuc, vbc); 7739// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7740// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7741 7742 res_i = vec_all_lt(vbc, vsc); 7743// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7744// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7745 7746 res_i = vec_all_lt(vbc, vuc); 7747// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7748// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7749 7750 res_i = vec_all_lt(vbc, vbc); 7751// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7752// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7753 7754 res_i = vec_all_lt(vs, vs); 7755// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7756// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7757 7758 res_i = vec_all_lt(vs, vbs); 7759// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7760// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7761 7762 res_i = vec_all_lt(vus, vus); 7763// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7764// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7765 7766 res_i = vec_all_lt(vus, vbs); 7767// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7768// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7769 7770 res_i = vec_all_lt(vbs, vs); 7771// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7772// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7773 7774 res_i = vec_all_lt(vbs, vus); 7775// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7776// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7777 7778 res_i = vec_all_lt(vbs, vbs); 7779// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7780// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7781 7782 res_i = vec_all_lt(vi, vi); 7783// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7784// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7785 7786 res_i = vec_all_lt(vi, vbi); 7787// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7788// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7789 7790 res_i = vec_all_lt(vui, vui); 7791// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7792// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7793 7794 res_i = vec_all_lt(vui, vbi); 7795// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7796// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7797 7798 res_i = vec_all_lt(vbi, vi); 7799// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7800// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7801 7802 res_i = vec_all_lt(vbi, vui); 7803// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7804// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7805 7806 res_i = vec_all_lt(vbi, vbi); 7807// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7808// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7809 7810 res_i = vec_all_lt(vf, vf); 7811// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 7812// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 7813 7814 /* vec_all_nan */ 7815 res_i = vec_all_nan(vf); 7816// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 7817// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 7818 7819 /* vec_all_ne */ 7820 res_i = vec_all_ne(vsc, vsc); 7821// CHECK: @llvm.ppc.altivec.vcmpequb.p 7822// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7823 7824 res_i = vec_all_ne(vsc, vbc); 7825// CHECK: @llvm.ppc.altivec.vcmpequb.p 7826// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7827 7828 res_i = vec_all_ne(vuc, vuc); 7829// CHECK: @llvm.ppc.altivec.vcmpequb.p 7830// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7831 7832 res_i = vec_all_ne(vuc, vbc); 7833// CHECK: @llvm.ppc.altivec.vcmpequb.p 7834// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7835 7836 res_i = vec_all_ne(vbc, vsc); 7837// CHECK: @llvm.ppc.altivec.vcmpequb.p 7838// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7839 7840 res_i = vec_all_ne(vbc, vuc); 7841// CHECK: @llvm.ppc.altivec.vcmpequb.p 7842// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7843 7844 res_i = vec_all_ne(vbc, vbc); 7845// CHECK: @llvm.ppc.altivec.vcmpequb.p 7846// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7847 7848 res_i = vec_all_ne(vs, vs); 7849// CHECK: @llvm.ppc.altivec.vcmpequh.p 7850// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7851 7852 res_i = vec_all_ne(vs, vbs); 7853// CHECK: @llvm.ppc.altivec.vcmpequh.p 7854// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7855 7856 res_i = vec_all_ne(vus, vus); 7857// CHECK: @llvm.ppc.altivec.vcmpequh.p 7858// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7859 7860 res_i = vec_all_ne(vus, vbs); 7861// CHECK: @llvm.ppc.altivec.vcmpequh.p 7862// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7863 7864 res_i = vec_all_ne(vbs, vs); 7865// CHECK: @llvm.ppc.altivec.vcmpequh.p 7866// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7867 7868 res_i = vec_all_ne(vbs, vus); 7869// CHECK: @llvm.ppc.altivec.vcmpequh.p 7870// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7871 7872 res_i = vec_all_ne(vbs, vbs); 7873// CHECK: @llvm.ppc.altivec.vcmpequh.p 7874// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7875 7876 res_i = vec_all_ne(vp, vp); 7877// CHECK: @llvm.ppc.altivec.vcmpequh.p 7878// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7879 7880 res_i = vec_all_ne(vi, vi); 7881// CHECK: @llvm.ppc.altivec.vcmpequw.p 7882// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7883 7884 res_i = vec_all_ne(vi, vbi); 7885// CHECK: @llvm.ppc.altivec.vcmpequw.p 7886// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7887 7888 res_i = vec_all_ne(vui, vui); 7889// CHECK: @llvm.ppc.altivec.vcmpequw.p 7890// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7891 7892 res_i = vec_all_ne(vui, vbi); 7893// CHECK: @llvm.ppc.altivec.vcmpequw.p 7894// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7895 7896 res_i = vec_all_ne(vbi, vi); 7897// CHECK: @llvm.ppc.altivec.vcmpequw.p 7898// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7899 7900 res_i = vec_all_ne(vbi, vui); 7901// CHECK: @llvm.ppc.altivec.vcmpequw.p 7902// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7903 7904 res_i = vec_all_ne(vbi, vbi); 7905// CHECK: @llvm.ppc.altivec.vcmpequw.p 7906// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7907 7908 res_i = vec_all_ne(vf, vf); 7909// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 7910// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 7911 7912 /* vec_all_nge */ 7913 res_i = vec_all_nge(vf, vf); 7914// CHECK: @llvm.ppc.altivec.vcmpgefp.p 7915// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 7916 7917 /* vec_all_ngt */ 7918 res_i = vec_all_ngt(vf, vf); 7919// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 7920// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 7921 7922 /* vec_all_nle */ 7923 res_i = vec_all_nle(vf, vf); 7924// CHECK: @llvm.ppc.altivec.vcmpgefp.p 7925// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 7926 7927 /* vec_all_nlt */ 7928 res_i = vec_all_nlt(vf, vf); 7929// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 7930// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 7931 7932 /* vec_all_numeric */ 7933 res_i = vec_all_numeric(vf); 7934// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 7935// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 7936 7937 /* vec_any_eq */ 7938 res_i = vec_any_eq(vsc, vsc); 7939// CHECK: @llvm.ppc.altivec.vcmpequb.p 7940// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7941 7942 res_i = vec_any_eq(vsc, vbc); 7943// CHECK: @llvm.ppc.altivec.vcmpequb.p 7944// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7945 7946 res_i = vec_any_eq(vuc, vuc); 7947// CHECK: @llvm.ppc.altivec.vcmpequb.p 7948// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7949 7950 res_i = vec_any_eq(vuc, vbc); 7951// CHECK: @llvm.ppc.altivec.vcmpequb.p 7952// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7953 7954 res_i = vec_any_eq(vbc, vsc); 7955// CHECK: @llvm.ppc.altivec.vcmpequb.p 7956// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7957 7958 res_i = vec_any_eq(vbc, vuc); 7959// CHECK: @llvm.ppc.altivec.vcmpequb.p 7960// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7961 7962 res_i = vec_any_eq(vbc, vbc); 7963// CHECK: @llvm.ppc.altivec.vcmpequb.p 7964// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7965 7966 res_i = vec_any_eq(vs, vs); 7967// CHECK: @llvm.ppc.altivec.vcmpequh.p 7968// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7969 7970 res_i = vec_any_eq(vs, vbs); 7971// CHECK: @llvm.ppc.altivec.vcmpequh.p 7972// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7973 7974 res_i = vec_any_eq(vus, vus); 7975// CHECK: @llvm.ppc.altivec.vcmpequh.p 7976// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7977 7978 res_i = vec_any_eq(vus, vbs); 7979// CHECK: @llvm.ppc.altivec.vcmpequh.p 7980// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7981 7982 res_i = vec_any_eq(vbs, vs); 7983// CHECK: @llvm.ppc.altivec.vcmpequh.p 7984// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7985 7986 res_i = vec_any_eq(vbs, vus); 7987// CHECK: @llvm.ppc.altivec.vcmpequh.p 7988// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7989 7990 res_i = vec_any_eq(vbs, vbs); 7991// CHECK: @llvm.ppc.altivec.vcmpequh.p 7992// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7993 7994 res_i = vec_any_eq(vp, vp); 7995// CHECK: @llvm.ppc.altivec.vcmpequh.p 7996// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7997 7998 res_i = vec_any_eq(vi, vi); 7999// CHECK: @llvm.ppc.altivec.vcmpequw.p 8000// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8001 8002 res_i = vec_any_eq(vi, vbi); 8003// CHECK: @llvm.ppc.altivec.vcmpequw.p 8004// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8005 8006 res_i = vec_any_eq(vui, vui); 8007// CHECK: @llvm.ppc.altivec.vcmpequw.p 8008// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8009 8010 res_i = vec_any_eq(vui, vbi); 8011// CHECK: @llvm.ppc.altivec.vcmpequw.p 8012// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8013 8014 res_i = vec_any_eq(vbi, vi); 8015// CHECK: @llvm.ppc.altivec.vcmpequw.p 8016// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8017 8018 res_i = vec_any_eq(vbi, vui); 8019// CHECK: @llvm.ppc.altivec.vcmpequw.p 8020// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8021 8022 res_i = vec_any_eq(vbi, vbi); 8023// CHECK: @llvm.ppc.altivec.vcmpequw.p 8024// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8025 8026 res_i = vec_any_eq(vf, vf); 8027// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 8028// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 8029 8030 /* vec_any_ge */ 8031 res_i = vec_any_ge(vsc, vsc); 8032// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8033// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8034 8035 res_i = vec_any_ge(vsc, vbc); 8036// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8037// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8038 8039 res_i = vec_any_ge(vuc, vuc); 8040// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8041// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8042 8043 res_i = vec_any_ge(vuc, vbc); 8044// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8045// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8046 8047 res_i = vec_any_ge(vbc, vsc); 8048// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8049// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8050 8051 res_i = vec_any_ge(vbc, vuc); 8052// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8053// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8054 8055 res_i = vec_any_ge(vbc, vbc); 8056// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8057// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8058 8059 res_i = vec_any_ge(vs, vs); 8060// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8061// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8062 8063 res_i = vec_any_ge(vs, vbs); 8064// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8065// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8066 8067 res_i = vec_any_ge(vus, vus); 8068// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8069// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8070 8071 res_i = vec_any_ge(vus, vbs); 8072// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8073// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8074 8075 res_i = vec_any_ge(vbs, vs); 8076// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8077// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8078 8079 res_i = vec_any_ge(vbs, vus); 8080// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8081// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8082 8083 res_i = vec_any_ge(vbs, vbs); 8084// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8085// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8086 8087 res_i = vec_any_ge(vi, vi); 8088// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8089// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8090 8091 res_i = vec_any_ge(vi, vbi); 8092// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8093// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8094 8095 res_i = vec_any_ge(vui, vui); 8096// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8097// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8098 8099 res_i = vec_any_ge(vui, vbi); 8100// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8101// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8102 8103 res_i = vec_any_ge(vbi, vi); 8104// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8105// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8106 8107 res_i = vec_any_ge(vbi, vui); 8108// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8109// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8110 8111 res_i = vec_any_ge(vbi, vbi); 8112// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8113// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8114 8115 res_i = vec_any_ge(vf, vf); 8116// CHECK: @llvm.ppc.altivec.vcmpgefp.p 8117// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 8118 8119 /* vec_any_gt */ 8120 res_i = vec_any_gt(vsc, vsc); 8121// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8122// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8123 8124 res_i = vec_any_gt(vsc, vbc); 8125// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8126// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8127 8128 res_i = vec_any_gt(vuc, vuc); 8129// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8130// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8131 8132 res_i = vec_any_gt(vuc, vbc); 8133// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8134// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8135 8136 res_i = vec_any_gt(vbc, vsc); 8137// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8138// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8139 8140 res_i = vec_any_gt(vbc, vuc); 8141// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8142// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8143 8144 res_i = vec_any_gt(vbc, vbc); 8145// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8146// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8147 8148 res_i = vec_any_gt(vs, vs); 8149// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8150// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8151 8152 res_i = vec_any_gt(vs, vbs); 8153// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8154// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8155 8156 res_i = vec_any_gt(vus, vus); 8157// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8158// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8159 8160 res_i = vec_any_gt(vus, vbs); 8161// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8162// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8163 8164 res_i = vec_any_gt(vbs, vs); 8165// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8166// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8167 8168 res_i = vec_any_gt(vbs, vus); 8169// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8170// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8171 8172 res_i = vec_any_gt(vbs, vbs); 8173// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8174// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8175 8176 res_i = vec_any_gt(vi, vi); 8177// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8178// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8179 8180 res_i = vec_any_gt(vi, vbi); 8181// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8182// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8183 8184 res_i = vec_any_gt(vui, vui); 8185// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8186// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8187 8188 res_i = vec_any_gt(vui, vbi); 8189// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8190// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8191 8192 res_i = vec_any_gt(vbi, vi); 8193// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8194// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8195 8196 res_i = vec_any_gt(vbi, vui); 8197// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8198// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8199 8200 res_i = vec_any_gt(vbi, vbi); 8201// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8202// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8203 8204 res_i = vec_any_gt(vf, vf); 8205// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 8206// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 8207 8208 /* vec_any_le */ 8209 res_i = vec_any_le(vsc, vsc); 8210// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8211// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8212 8213 res_i = vec_any_le(vsc, vbc); 8214// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8215// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8216 8217 res_i = vec_any_le(vuc, vuc); 8218// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8219// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8220 8221 res_i = vec_any_le(vuc, vbc); 8222// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8223// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8224 8225 res_i = vec_any_le(vbc, vsc); 8226// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8227// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8228 8229 res_i = vec_any_le(vbc, vuc); 8230// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8231// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8232 8233 res_i = vec_any_le(vbc, vbc); 8234// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8235// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8236 8237 res_i = vec_any_le(vs, vs); 8238// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8239// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8240 8241 res_i = vec_any_le(vs, vbs); 8242// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8243// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8244 8245 res_i = vec_any_le(vus, vus); 8246// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8247// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8248 8249 res_i = vec_any_le(vus, vbs); 8250// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8251// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8252 8253 res_i = vec_any_le(vbs, vs); 8254// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8255// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8256 8257 res_i = vec_any_le(vbs, vus); 8258// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8259// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8260 8261 res_i = vec_any_le(vbs, vbs); 8262// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8263// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8264 8265 res_i = vec_any_le(vi, vi); 8266// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8267// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8268 8269 res_i = vec_any_le(vi, vbi); 8270// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8271// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8272 8273 res_i = vec_any_le(vui, vui); 8274// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8275// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8276 8277 res_i = vec_any_le(vui, vbi); 8278// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8279// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8280 8281 res_i = vec_any_le(vbi, vi); 8282// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8283// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8284 8285 res_i = vec_any_le(vbi, vui); 8286// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8287// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8288 8289 res_i = vec_any_le(vbi, vbi); 8290// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8291// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8292 8293 res_i = vec_any_le(vf, vf); 8294// CHECK: @llvm.ppc.altivec.vcmpgefp.p 8295// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 8296 8297 /* vec_any_lt */ 8298 res_i = vec_any_lt(vsc, vsc); 8299// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8300// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8301 8302 res_i = vec_any_lt(vsc, vbc); 8303// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8304// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8305 8306 res_i = vec_any_lt(vuc, vuc); 8307// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8308// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8309 8310 res_i = vec_any_lt(vuc, vbc); 8311// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8312// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8313 8314 res_i = vec_any_lt(vbc, vsc); 8315// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8316// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8317 8318 res_i = vec_any_lt(vbc, vuc); 8319// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8320// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8321 8322 res_i = vec_any_lt(vbc, vbc); 8323// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8324// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8325 8326 res_i = vec_any_lt(vs, vs); 8327// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8328// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8329 8330 res_i = vec_any_lt(vs, vbs); 8331// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8332// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8333 8334 res_i = vec_any_lt(vus, vus); 8335// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8336// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8337 8338 res_i = vec_any_lt(vus, vbs); 8339// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8340// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8341 8342 res_i = vec_any_lt(vbs, vs); 8343// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8344// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8345 8346 res_i = vec_any_lt(vbs, vus); 8347// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8348// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8349 8350 res_i = vec_any_lt(vbs, vbs); 8351// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8352// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8353 8354 res_i = vec_any_lt(vi, vi); 8355// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8356// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8357 8358 res_i = vec_any_lt(vi, vbi); 8359// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8360// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8361 8362 res_i = vec_any_lt(vui, vui); 8363// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8364// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8365 8366 res_i = vec_any_lt(vui, vbi); 8367// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8368// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8369 8370 res_i = vec_any_lt(vbi, vi); 8371// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8372// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8373 8374 res_i = vec_any_lt(vbi, vui); 8375// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8376// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8377 8378 res_i = vec_any_lt(vbi, vbi); 8379// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8380// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8381 8382 res_i = vec_any_lt(vf, vf); 8383// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 8384// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 8385 8386 /* vec_any_nan */ 8387 res_i = vec_any_nan(vf); 8388// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 8389// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 8390 8391 /* vec_any_ne */ 8392 res_i = vec_any_ne(vsc, vsc); 8393// CHECK: @llvm.ppc.altivec.vcmpequb.p 8394// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8395 8396 res_i = vec_any_ne(vsc, vbc); 8397// CHECK: @llvm.ppc.altivec.vcmpequb.p 8398// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8399 8400 res_i = vec_any_ne(vuc, vuc); 8401// CHECK: @llvm.ppc.altivec.vcmpequb.p 8402// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8403 8404 res_i = vec_any_ne(vuc, vbc); 8405// CHECK: @llvm.ppc.altivec.vcmpequb.p 8406// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8407 8408 res_i = vec_any_ne(vbc, vsc); 8409// CHECK: @llvm.ppc.altivec.vcmpequb.p 8410// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8411 8412 res_i = vec_any_ne(vbc, vuc); 8413// CHECK: @llvm.ppc.altivec.vcmpequb.p 8414// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8415 8416 res_i = vec_any_ne(vbc, vbc); 8417// CHECK: @llvm.ppc.altivec.vcmpequb.p 8418// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8419 8420 res_i = vec_any_ne(vs, vs); 8421// CHECK: @llvm.ppc.altivec.vcmpequh.p 8422// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8423 8424 res_i = vec_any_ne(vs, vbs); 8425// CHECK: @llvm.ppc.altivec.vcmpequh.p 8426// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8427 8428 res_i = vec_any_ne(vus, vus); 8429// CHECK: @llvm.ppc.altivec.vcmpequh.p 8430// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8431 8432 res_i = vec_any_ne(vus, vbs); 8433// CHECK: @llvm.ppc.altivec.vcmpequh.p 8434// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8435 8436 res_i = vec_any_ne(vbs, vs); 8437// CHECK: @llvm.ppc.altivec.vcmpequh.p 8438// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8439 8440 res_i = vec_any_ne(vbs, vus); 8441// CHECK: @llvm.ppc.altivec.vcmpequh.p 8442// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8443 8444 res_i = vec_any_ne(vbs, vbs); 8445// CHECK: @llvm.ppc.altivec.vcmpequh.p 8446// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8447 8448 res_i = vec_any_ne(vp, vp); 8449// CHECK: @llvm.ppc.altivec.vcmpequh.p 8450// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8451 8452 res_i = vec_any_ne(vi, vi); 8453// CHECK: @llvm.ppc.altivec.vcmpequw.p 8454// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8455 8456 res_i = vec_any_ne(vi, vbi); 8457// CHECK: @llvm.ppc.altivec.vcmpequw.p 8458// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8459 8460 res_i = vec_any_ne(vui, vui); 8461// CHECK: @llvm.ppc.altivec.vcmpequw.p 8462// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8463 8464 res_i = vec_any_ne(vui, vbi); 8465// CHECK: @llvm.ppc.altivec.vcmpequw.p 8466// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8467 8468 res_i = vec_any_ne(vbi, vi); 8469// CHECK: @llvm.ppc.altivec.vcmpequw.p 8470// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8471 8472 res_i = vec_any_ne(vbi, vui); 8473// CHECK: @llvm.ppc.altivec.vcmpequw.p 8474// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8475 8476 res_i = vec_any_ne(vbi, vbi); 8477// CHECK: @llvm.ppc.altivec.vcmpequw.p 8478// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8479 8480 res_i = vec_any_ne(vf, vf); 8481// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 8482// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 8483 8484 /* vec_any_nge */ 8485 res_i = vec_any_nge(vf, vf); 8486// CHECK: @llvm.ppc.altivec.vcmpgefp.p 8487// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 8488 8489 /* vec_any_ngt */ 8490 res_i = vec_any_ngt(vf, vf); 8491// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 8492// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 8493 8494 /* vec_any_nle */ 8495 res_i = vec_any_nle(vf, vf); 8496// CHECK: @llvm.ppc.altivec.vcmpgefp.p 8497// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 8498 8499 /* vec_any_nlt */ 8500 res_i = vec_any_nlt(vf, vf); 8501// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 8502// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 8503 8504 /* vec_any_numeric */ 8505 res_i = vec_any_numeric(vf); 8506// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 8507// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 8508 8509 /* vec_any_out */ 8510 res_i = vec_any_out(vf, vf); 8511// CHECK: @llvm.ppc.altivec.vcmpbfp.p 8512// CHECK-LE: @llvm.ppc.altivec.vcmpbfp.p 8513} 8514 8515/* ------------------------------ Relational Operators ------------------------------ */ 8516// CHECK-LABEL: define void @test7 8517void test7() { 8518 vector signed char vsc1 = (vector signed char)(-1); 8519 vector signed char vsc2 = (vector signed char)(-2); 8520 res_i = (vsc1 == vsc2); 8521// CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 2 8522// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 2 8523 8524 res_i = (vsc1 != vsc2); 8525// CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 0 8526// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 0 8527 8528 res_i = (vsc1 < vsc2); 8529// CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 2 8530// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 2 8531 8532 res_i = (vsc1 > vsc2); 8533// CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 2 8534// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 2 8535 8536 res_i = (vsc1 <= vsc2); 8537// CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 0 8538// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 0 8539 8540 res_i = (vsc1 >= vsc2); 8541// CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 0 8542// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 0 8543 8544 vector unsigned char vuc1 = (vector unsigned char)(1); 8545 vector unsigned char vuc2 = (vector unsigned char)(2); 8546 res_i = (vuc1 == vuc2); 8547// CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 2 8548// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 2 8549 8550 res_i = (vuc1 != vuc2); 8551// CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 0 8552// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 0 8553 8554 res_i = (vuc1 < vuc2); 8555// CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 2 8556// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 2 8557 8558 res_i = (vuc1 > vuc2); 8559// CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 2 8560// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 2 8561 8562 res_i = (vuc1 <= vuc2); 8563// CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 0 8564// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 0 8565 8566 res_i = (vuc1 >= vuc2); 8567// CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 0 8568// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 0 8569 8570 vector short vs1 = (vector short)(-1); 8571 vector short vs2 = (vector short)(-2); 8572 res_i = (vs1 == vs2); 8573// CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 2 8574// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 2 8575 8576 res_i = (vs1 != vs2); 8577// CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 0 8578// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 0 8579 8580 res_i = (vs1 < vs2); 8581// CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 2 8582// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 2 8583 8584 res_i = (vs1 > vs2); 8585// CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 2 8586// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 2 8587 8588 res_i = (vs1 <= vs2); 8589// CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 0 8590// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 0 8591 8592 res_i = (vs1 >= vs2); 8593// CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 0 8594// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 0 8595 8596 vector unsigned short vus1 = (vector unsigned short)(1); 8597 vector unsigned short vus2 = (vector unsigned short)(2); 8598 res_i = (vus1 == vus2); 8599// CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 2 8600// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 2 8601 8602 res_i = (vus1 != vus2); 8603// CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 0 8604// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 0 8605 8606 res_i = (vus1 < vus2); 8607// CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 2 8608// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 2 8609 8610 res_i = (vus1 > vus2); 8611// CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 2 8612// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 2 8613 8614 res_i = (vus1 <= vus2); 8615// CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 0 8616// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 0 8617 8618 res_i = (vus1 >= vus2); 8619// CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 0 8620// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 0 8621 8622 vector int vi1 = (vector int)(-1); 8623 vector int vi2 = (vector int)(-2); 8624 res_i = (vi1 == vi2); 8625// CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 2 8626// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 2 8627 8628 res_i = (vi1 != vi2); 8629// CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 0 8630// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 0 8631 8632 res_i = (vi1 < vi2); 8633// CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 2 8634// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 2 8635 8636 res_i = (vi1 > vi2); 8637// CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 2 8638// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 2 8639 8640 res_i = (vi1 <= vi2); 8641// CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 0 8642// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 0 8643 8644 res_i = (vi1 >= vi2); 8645// CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 0 8646// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 0 8647 8648 vector unsigned int vui1 = (vector unsigned int)(1); 8649 vector unsigned int vui2 = (vector unsigned int)(2); 8650 res_i = (vui1 == vui2); 8651// CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 2 8652// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 2 8653 8654 res_i = (vui1 != vui2); 8655// CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 0 8656// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 0 8657 8658 res_i = (vui1 < vui2); 8659// CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 2 8660// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 2 8661 8662 res_i = (vui1 > vui2); 8663// CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 2 8664// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 2 8665 8666 res_i = (vui1 <= vui2); 8667// CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 0 8668// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 0 8669 8670 res_i = (vui1 >= vui2); 8671// CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 0 8672// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 0 8673 8674 vector float vf1 = (vector float)(1.0); 8675 vector float vf2 = (vector float)(2.0); 8676 res_i = (vf1 == vf2); 8677// CHECK: @llvm.ppc.altivec.vcmpeqfp.p(i32 2 8678// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p(i32 2 8679 8680 res_i = (vf1 != vf2); 8681// CHECK: @llvm.ppc.altivec.vcmpeqfp.p(i32 0 8682// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p(i32 0 8683 8684 res_i = (vf1 < vf2); 8685// CHECK: @llvm.ppc.altivec.vcmpgtfp.p(i32 2 8686// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p(i32 2 8687 8688 res_i = (vf1 > vf2); 8689// CHECK: @llvm.ppc.altivec.vcmpgtfp.p(i32 2 8690// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p(i32 2 8691 8692 res_i = (vf1 <= vf2); 8693// CHECK: @llvm.ppc.altivec.vcmpgefp.p(i32 2 8694// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p(i32 2 8695 8696 res_i = (vf1 >= vf2); 8697// CHECK: @llvm.ppc.altivec.vcmpgefp.p(i32 2 8698// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p(i32 2 8699} 8700