builtins-ppc-altivec.c revision c568f1e98938584c0ef0b12ae5018ff7d90a4072
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, param_i); 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(param_i); 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: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3262// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3263// CHECK-LE: @llvm.ppc.altivec.vperm 3264 3265 res_vuc = vec_sld(vuc, vuc, 0); 3266// CHECK: @llvm.ppc.altivec.vperm 3267// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3268// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3269// CHECK-LE: @llvm.ppc.altivec.vperm 3270 3271 res_vs = vec_sld(vs, vs, 0); 3272// CHECK: @llvm.ppc.altivec.vperm 3273// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3274// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3275// CHECK-LE: @llvm.ppc.altivec.vperm 3276 3277 res_vus = vec_sld(vus, vus, 0); 3278// CHECK: @llvm.ppc.altivec.vperm 3279// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3280// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3281// CHECK-LE: @llvm.ppc.altivec.vperm 3282 3283 res_vp = vec_sld(vp, vp, 0); 3284// CHECK: @llvm.ppc.altivec.vperm 3285// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3286// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3287// CHECK-LE: @llvm.ppc.altivec.vperm 3288 3289 res_vi = vec_sld(vi, vi, 0); 3290// CHECK: @llvm.ppc.altivec.vperm 3291// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3292// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3293// CHECK-LE: @llvm.ppc.altivec.vperm 3294 3295 res_vui = vec_sld(vui, vui, 0); 3296// CHECK: @llvm.ppc.altivec.vperm 3297// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3298// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3299// CHECK-LE: @llvm.ppc.altivec.vperm 3300 3301 res_vf = vec_sld(vf, vf, 0); 3302// CHECK: @llvm.ppc.altivec.vperm 3303// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3304// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3305// CHECK-LE: @llvm.ppc.altivec.vperm 3306 3307 res_vsc = vec_vsldoi(vsc, vsc, 0); 3308// CHECK: @llvm.ppc.altivec.vperm 3309// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3310// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3311// CHECK-LE: @llvm.ppc.altivec.vperm 3312 3313 res_vuc = vec_vsldoi(vuc, vuc, 0); 3314// CHECK: @llvm.ppc.altivec.vperm 3315// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3316// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3317// CHECK-LE: @llvm.ppc.altivec.vperm 3318 3319 res_vs = vec_vsldoi(vs, vs, 0); 3320// CHECK: @llvm.ppc.altivec.vperm 3321// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3322// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3323// CHECK-LE: @llvm.ppc.altivec.vperm 3324 3325 res_vus = vec_vsldoi(vus, vus, 0); 3326// CHECK: @llvm.ppc.altivec.vperm 3327// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3328// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3329// CHECK-LE: @llvm.ppc.altivec.vperm 3330 3331 res_vp = vec_vsldoi(vp, vp, 0); 3332// CHECK: @llvm.ppc.altivec.vperm 3333// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3334// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3335// CHECK-LE: @llvm.ppc.altivec.vperm 3336 3337 res_vi = vec_vsldoi(vi, vi, 0); 3338// CHECK: @llvm.ppc.altivec.vperm 3339// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3340// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3341// CHECK-LE: @llvm.ppc.altivec.vperm 3342 3343 res_vui = vec_vsldoi(vui, vui, 0); 3344// CHECK: @llvm.ppc.altivec.vperm 3345// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3346// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3347// CHECK-LE: @llvm.ppc.altivec.vperm 3348 3349 res_vf = vec_vsldoi(vf, vf, 0); 3350// CHECK: @llvm.ppc.altivec.vperm 3351// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 1 3352// CHECK-LE: sub nsw i32 {{[%_.a-z0-9]+}}, 15 3353// CHECK-LE: @llvm.ppc.altivec.vperm 3354 3355 /* vec_sll */ 3356 res_vsc = vec_sll(vsc, vuc); 3357// CHECK: @llvm.ppc.altivec.vsl 3358// CHECK-LE: @llvm.ppc.altivec.vsl 3359 3360 res_vsc = vec_sll(vsc, vus); 3361// CHECK: @llvm.ppc.altivec.vsl 3362// CHECK-LE: @llvm.ppc.altivec.vsl 3363 3364 res_vsc = vec_sll(vsc, vui); 3365// CHECK: @llvm.ppc.altivec.vsl 3366// CHECK-LE: @llvm.ppc.altivec.vsl 3367 3368 res_vuc = vec_sll(vuc, vuc); 3369// CHECK: @llvm.ppc.altivec.vsl 3370// CHECK-LE: @llvm.ppc.altivec.vsl 3371 3372 res_vuc = vec_sll(vuc, vus); 3373// CHECK: @llvm.ppc.altivec.vsl 3374// CHECK-LE: @llvm.ppc.altivec.vsl 3375 3376 res_vuc = vec_sll(vuc, vui); 3377// CHECK: @llvm.ppc.altivec.vsl 3378// CHECK-LE: @llvm.ppc.altivec.vsl 3379 3380 res_vbc = vec_sll(vbc, vuc); 3381// CHECK: @llvm.ppc.altivec.vsl 3382// CHECK-LE: @llvm.ppc.altivec.vsl 3383 3384 res_vbc = vec_sll(vbc, vus); 3385// CHECK: @llvm.ppc.altivec.vsl 3386// CHECK-LE: @llvm.ppc.altivec.vsl 3387 3388 res_vbc = vec_sll(vbc, vui); 3389// CHECK: @llvm.ppc.altivec.vsl 3390// CHECK-LE: @llvm.ppc.altivec.vsl 3391 3392 res_vs = vec_sll(vs, vuc); 3393// CHECK: @llvm.ppc.altivec.vsl 3394// CHECK-LE: @llvm.ppc.altivec.vsl 3395 3396 res_vs = vec_sll(vs, vus); 3397// CHECK: @llvm.ppc.altivec.vsl 3398// CHECK-LE: @llvm.ppc.altivec.vsl 3399 3400 res_vs = vec_sll(vs, vui); 3401// CHECK: @llvm.ppc.altivec.vsl 3402// CHECK-LE: @llvm.ppc.altivec.vsl 3403 3404 res_vus = vec_sll(vus, vuc); 3405// CHECK: @llvm.ppc.altivec.vsl 3406// CHECK-LE: @llvm.ppc.altivec.vsl 3407 3408 res_vus = vec_sll(vus, vus); 3409// CHECK: @llvm.ppc.altivec.vsl 3410// CHECK-LE: @llvm.ppc.altivec.vsl 3411 3412 res_vus = vec_sll(vus, vui); 3413// CHECK: @llvm.ppc.altivec.vsl 3414// CHECK-LE: @llvm.ppc.altivec.vsl 3415 3416 res_vbs = vec_sll(vbs, vuc); 3417// CHECK: @llvm.ppc.altivec.vsl 3418// CHECK-LE: @llvm.ppc.altivec.vsl 3419 3420 res_vbs = vec_sll(vbs, vus); 3421// CHECK: @llvm.ppc.altivec.vsl 3422// CHECK-LE: @llvm.ppc.altivec.vsl 3423 3424 res_vbs = vec_sll(vbs, vui); 3425// CHECK: @llvm.ppc.altivec.vsl 3426// CHECK-LE: @llvm.ppc.altivec.vsl 3427 3428 res_vp = vec_sll(vp, vuc); 3429// CHECK: @llvm.ppc.altivec.vsl 3430// CHECK-LE: @llvm.ppc.altivec.vsl 3431 3432 res_vp = vec_sll(vp, vus); 3433// CHECK: @llvm.ppc.altivec.vsl 3434// CHECK-LE: @llvm.ppc.altivec.vsl 3435 3436 res_vp = vec_sll(vp, vui); 3437// CHECK: @llvm.ppc.altivec.vsl 3438// CHECK-LE: @llvm.ppc.altivec.vsl 3439 3440 res_vi = vec_sll(vi, vuc); 3441// CHECK: @llvm.ppc.altivec.vsl 3442// CHECK-LE: @llvm.ppc.altivec.vsl 3443 3444 res_vi = vec_sll(vi, vus); 3445// CHECK: @llvm.ppc.altivec.vsl 3446// CHECK-LE: @llvm.ppc.altivec.vsl 3447 3448 res_vi = vec_sll(vi, vui); 3449// CHECK: @llvm.ppc.altivec.vsl 3450// CHECK-LE: @llvm.ppc.altivec.vsl 3451 3452 res_vui = vec_sll(vui, vuc); 3453// CHECK: @llvm.ppc.altivec.vsl 3454// CHECK-LE: @llvm.ppc.altivec.vsl 3455 3456 res_vui = vec_sll(vui, vus); 3457// CHECK: @llvm.ppc.altivec.vsl 3458// CHECK-LE: @llvm.ppc.altivec.vsl 3459 3460 res_vui = vec_sll(vui, vui); 3461// CHECK: @llvm.ppc.altivec.vsl 3462// CHECK-LE: @llvm.ppc.altivec.vsl 3463 3464 res_vbi = vec_sll(vbi, vuc); 3465// CHECK: @llvm.ppc.altivec.vsl 3466// CHECK-LE: @llvm.ppc.altivec.vsl 3467 3468 res_vbi = vec_sll(vbi, vus); 3469// CHECK: @llvm.ppc.altivec.vsl 3470// CHECK-LE: @llvm.ppc.altivec.vsl 3471 3472 res_vbi = vec_sll(vbi, vui); 3473// CHECK: @llvm.ppc.altivec.vsl 3474// CHECK-LE: @llvm.ppc.altivec.vsl 3475 3476 res_vsc = vec_vsl(vsc, vuc); 3477// CHECK: @llvm.ppc.altivec.vsl 3478// CHECK-LE: @llvm.ppc.altivec.vsl 3479 3480 res_vsc = vec_vsl(vsc, vus); 3481// CHECK: @llvm.ppc.altivec.vsl 3482// CHECK-LE: @llvm.ppc.altivec.vsl 3483 3484 res_vsc = vec_vsl(vsc, vui); 3485// CHECK: @llvm.ppc.altivec.vsl 3486// CHECK-LE: @llvm.ppc.altivec.vsl 3487 3488 res_vuc = vec_vsl(vuc, vuc); 3489// CHECK: @llvm.ppc.altivec.vsl 3490// CHECK-LE: @llvm.ppc.altivec.vsl 3491 3492 res_vuc = vec_vsl(vuc, vus); 3493// CHECK: @llvm.ppc.altivec.vsl 3494// CHECK-LE: @llvm.ppc.altivec.vsl 3495 3496 res_vuc = vec_vsl(vuc, vui); 3497// CHECK: @llvm.ppc.altivec.vsl 3498// CHECK-LE: @llvm.ppc.altivec.vsl 3499 3500 res_vbc = vec_vsl(vbc, vuc); 3501// CHECK: @llvm.ppc.altivec.vsl 3502// CHECK-LE: @llvm.ppc.altivec.vsl 3503 3504 res_vbc = vec_vsl(vbc, vus); 3505// CHECK: @llvm.ppc.altivec.vsl 3506// CHECK-LE: @llvm.ppc.altivec.vsl 3507 3508 res_vbc = vec_vsl(vbc, vui); 3509// CHECK: @llvm.ppc.altivec.vsl 3510// CHECK-LE: @llvm.ppc.altivec.vsl 3511 3512 res_vs = vec_vsl(vs, vuc); 3513// CHECK: @llvm.ppc.altivec.vsl 3514// CHECK-LE: @llvm.ppc.altivec.vsl 3515 3516 res_vs = vec_vsl(vs, vus); 3517// CHECK: @llvm.ppc.altivec.vsl 3518// CHECK-LE: @llvm.ppc.altivec.vsl 3519 3520 res_vs = vec_vsl(vs, vui); 3521// CHECK: @llvm.ppc.altivec.vsl 3522// CHECK-LE: @llvm.ppc.altivec.vsl 3523 3524 res_vus = vec_vsl(vus, vuc); 3525// CHECK: @llvm.ppc.altivec.vsl 3526// CHECK-LE: @llvm.ppc.altivec.vsl 3527 3528 res_vus = vec_vsl(vus, vus); 3529// CHECK: @llvm.ppc.altivec.vsl 3530// CHECK-LE: @llvm.ppc.altivec.vsl 3531 3532 res_vus = vec_vsl(vus, vui); 3533// CHECK: @llvm.ppc.altivec.vsl 3534// CHECK-LE: @llvm.ppc.altivec.vsl 3535 3536 res_vbs = vec_vsl(vbs, vuc); 3537// CHECK: @llvm.ppc.altivec.vsl 3538// CHECK-LE: @llvm.ppc.altivec.vsl 3539 3540 res_vbs = vec_vsl(vbs, vus); 3541// CHECK: @llvm.ppc.altivec.vsl 3542// CHECK-LE: @llvm.ppc.altivec.vsl 3543 3544 res_vbs = vec_vsl(vbs, vui); 3545// CHECK: @llvm.ppc.altivec.vsl 3546// CHECK-LE: @llvm.ppc.altivec.vsl 3547 3548 res_vp = vec_vsl(vp, vuc); 3549// CHECK: @llvm.ppc.altivec.vsl 3550// CHECK-LE: @llvm.ppc.altivec.vsl 3551 3552 res_vp = vec_vsl(vp, vus); 3553// CHECK: @llvm.ppc.altivec.vsl 3554// CHECK-LE: @llvm.ppc.altivec.vsl 3555 3556 res_vp = vec_vsl(vp, vui); 3557// CHECK: @llvm.ppc.altivec.vsl 3558// CHECK-LE: @llvm.ppc.altivec.vsl 3559 3560 res_vi = vec_vsl(vi, vuc); 3561// CHECK: @llvm.ppc.altivec.vsl 3562// CHECK-LE: @llvm.ppc.altivec.vsl 3563 3564 res_vi = vec_vsl(vi, vus); 3565// CHECK: @llvm.ppc.altivec.vsl 3566// CHECK-LE: @llvm.ppc.altivec.vsl 3567 3568 res_vi = vec_vsl(vi, vui); 3569// CHECK: @llvm.ppc.altivec.vsl 3570// CHECK-LE: @llvm.ppc.altivec.vsl 3571 3572 res_vui = vec_vsl(vui, vuc); 3573// CHECK: @llvm.ppc.altivec.vsl 3574// CHECK-LE: @llvm.ppc.altivec.vsl 3575 3576 res_vui = vec_vsl(vui, vus); 3577// CHECK: @llvm.ppc.altivec.vsl 3578// CHECK-LE: @llvm.ppc.altivec.vsl 3579 3580 res_vui = vec_vsl(vui, vui); 3581// CHECK: @llvm.ppc.altivec.vsl 3582// CHECK-LE: @llvm.ppc.altivec.vsl 3583 3584 res_vbi = vec_vsl(vbi, vuc); 3585// CHECK: @llvm.ppc.altivec.vsl 3586// CHECK-LE: @llvm.ppc.altivec.vsl 3587 3588 res_vbi = vec_vsl(vbi, vus); 3589// CHECK: @llvm.ppc.altivec.vsl 3590// CHECK-LE: @llvm.ppc.altivec.vsl 3591 3592 res_vbi = vec_vsl(vbi, vui); 3593// CHECK: @llvm.ppc.altivec.vsl 3594// CHECK-LE: @llvm.ppc.altivec.vsl 3595 3596 /* vec_slo */ 3597 res_vsc = vec_slo(vsc, vsc); 3598// CHECK: @llvm.ppc.altivec.vslo 3599// CHECK-LE: @llvm.ppc.altivec.vslo 3600 3601 res_vsc = vec_slo(vsc, vuc); 3602// CHECK: @llvm.ppc.altivec.vslo 3603// CHECK-LE: @llvm.ppc.altivec.vslo 3604 3605 res_vuc = vec_slo(vuc, vsc); 3606// CHECK: @llvm.ppc.altivec.vslo 3607// CHECK-LE: @llvm.ppc.altivec.vslo 3608 3609 res_vuc = vec_slo(vuc, vuc); 3610// CHECK: @llvm.ppc.altivec.vslo 3611// CHECK-LE: @llvm.ppc.altivec.vslo 3612 3613 res_vs = vec_slo(vs, vsc); 3614// CHECK: @llvm.ppc.altivec.vslo 3615// CHECK-LE: @llvm.ppc.altivec.vslo 3616 3617 res_vs = vec_slo(vs, vuc); 3618// CHECK: @llvm.ppc.altivec.vslo 3619// CHECK-LE: @llvm.ppc.altivec.vslo 3620 3621 res_vus = vec_slo(vus, vsc); 3622// CHECK: @llvm.ppc.altivec.vslo 3623// CHECK-LE: @llvm.ppc.altivec.vslo 3624 3625 res_vus = vec_slo(vus, vuc); 3626// CHECK: @llvm.ppc.altivec.vslo 3627// CHECK-LE: @llvm.ppc.altivec.vslo 3628 3629 res_vp = vec_slo(vp, vsc); 3630// CHECK: @llvm.ppc.altivec.vslo 3631// CHECK-LE: @llvm.ppc.altivec.vslo 3632 3633 res_vp = vec_slo(vp, vuc); 3634// CHECK: @llvm.ppc.altivec.vslo 3635// CHECK-LE: @llvm.ppc.altivec.vslo 3636 3637 res_vi = vec_slo(vi, vsc); 3638// CHECK: @llvm.ppc.altivec.vslo 3639// CHECK-LE: @llvm.ppc.altivec.vslo 3640 3641 res_vi = vec_slo(vi, vuc); 3642// CHECK: @llvm.ppc.altivec.vslo 3643// CHECK-LE: @llvm.ppc.altivec.vslo 3644 3645 res_vui = vec_slo(vui, vsc); 3646// CHECK: @llvm.ppc.altivec.vslo 3647// CHECK-LE: @llvm.ppc.altivec.vslo 3648 3649 res_vui = vec_slo(vui, vuc); 3650// CHECK: @llvm.ppc.altivec.vslo 3651// CHECK-LE: @llvm.ppc.altivec.vslo 3652 3653 res_vf = vec_slo(vf, vsc); 3654// CHECK: @llvm.ppc.altivec.vslo 3655// CHECK-LE: @llvm.ppc.altivec.vslo 3656 3657 res_vf = vec_slo(vf, vuc); 3658// CHECK: @llvm.ppc.altivec.vslo 3659// CHECK-LE: @llvm.ppc.altivec.vslo 3660 3661 res_vsc = vec_vslo(vsc, vsc); 3662// CHECK: @llvm.ppc.altivec.vslo 3663// CHECK-LE: @llvm.ppc.altivec.vslo 3664 3665 res_vsc = vec_vslo(vsc, vuc); 3666// CHECK: @llvm.ppc.altivec.vslo 3667// CHECK-LE: @llvm.ppc.altivec.vslo 3668 3669 res_vuc = vec_vslo(vuc, vsc); 3670// CHECK: @llvm.ppc.altivec.vslo 3671// CHECK-LE: @llvm.ppc.altivec.vslo 3672 3673 res_vuc = vec_vslo(vuc, vuc); 3674// CHECK: @llvm.ppc.altivec.vslo 3675// CHECK-LE: @llvm.ppc.altivec.vslo 3676 3677 res_vs = vec_vslo(vs, vsc); 3678// CHECK: @llvm.ppc.altivec.vslo 3679// CHECK-LE: @llvm.ppc.altivec.vslo 3680 3681 res_vs = vec_vslo(vs, vuc); 3682// CHECK: @llvm.ppc.altivec.vslo 3683// CHECK-LE: @llvm.ppc.altivec.vslo 3684 3685 res_vus = vec_vslo(vus, vsc); 3686// CHECK: @llvm.ppc.altivec.vslo 3687// CHECK-LE: @llvm.ppc.altivec.vslo 3688 3689 res_vus = vec_vslo(vus, vuc); 3690// CHECK: @llvm.ppc.altivec.vslo 3691// CHECK-LE: @llvm.ppc.altivec.vslo 3692 3693 res_vp = vec_vslo(vp, vsc); 3694// CHECK: @llvm.ppc.altivec.vslo 3695// CHECK-LE: @llvm.ppc.altivec.vslo 3696 3697 res_vp = vec_vslo(vp, vuc); 3698// CHECK: @llvm.ppc.altivec.vslo 3699// CHECK-LE: @llvm.ppc.altivec.vslo 3700 3701 res_vi = vec_vslo(vi, vsc); 3702// CHECK: @llvm.ppc.altivec.vslo 3703// CHECK-LE: @llvm.ppc.altivec.vslo 3704 3705 res_vi = vec_vslo(vi, vuc); 3706// CHECK: @llvm.ppc.altivec.vslo 3707// CHECK-LE: @llvm.ppc.altivec.vslo 3708 3709 res_vui = vec_vslo(vui, vsc); 3710// CHECK: @llvm.ppc.altivec.vslo 3711// CHECK-LE: @llvm.ppc.altivec.vslo 3712 3713 res_vui = vec_vslo(vui, vuc); 3714// CHECK: @llvm.ppc.altivec.vslo 3715// CHECK-LE: @llvm.ppc.altivec.vslo 3716 3717 res_vf = vec_vslo(vf, vsc); 3718// CHECK: @llvm.ppc.altivec.vslo 3719// CHECK-LE: @llvm.ppc.altivec.vslo 3720 3721 res_vf = vec_vslo(vf, vuc); 3722// CHECK: @llvm.ppc.altivec.vslo 3723// CHECK-LE: @llvm.ppc.altivec.vslo 3724 3725 /* vec_splat */ 3726 res_vsc = vec_splat(vsc, 0); 3727// CHECK: @llvm.ppc.altivec.vperm 3728// CHECK-LE: @llvm.ppc.altivec.vperm 3729 3730 res_vuc = vec_splat(vuc, 0); 3731// CHECK: @llvm.ppc.altivec.vperm 3732// CHECK-LE: @llvm.ppc.altivec.vperm 3733 3734 res_vbc = vec_splat(vbc, 0); 3735// CHECK: @llvm.ppc.altivec.vperm 3736// CHECK-LE: @llvm.ppc.altivec.vperm 3737 3738 res_vs = vec_splat(vs, 0); 3739// CHECK: @llvm.ppc.altivec.vperm 3740// CHECK-LE: @llvm.ppc.altivec.vperm 3741 3742 res_vus = vec_splat(vus, 0); 3743// CHECK: @llvm.ppc.altivec.vperm 3744// CHECK-LE: @llvm.ppc.altivec.vperm 3745 3746 res_vbs = vec_splat(vbs, 0); 3747// CHECK: @llvm.ppc.altivec.vperm 3748// CHECK-LE: @llvm.ppc.altivec.vperm 3749 3750 res_vp = vec_splat(vp, 0); 3751// CHECK: @llvm.ppc.altivec.vperm 3752// CHECK-LE: @llvm.ppc.altivec.vperm 3753 3754 res_vi = vec_splat(vi, 0); 3755// CHECK: @llvm.ppc.altivec.vperm 3756// CHECK-LE: @llvm.ppc.altivec.vperm 3757 3758 res_vui = vec_splat(vui, 0); 3759// CHECK: @llvm.ppc.altivec.vperm 3760// CHECK-LE: @llvm.ppc.altivec.vperm 3761 3762 res_vbi = vec_splat(vbi, 0); 3763// CHECK: @llvm.ppc.altivec.vperm 3764// CHECK-LE: @llvm.ppc.altivec.vperm 3765 3766 res_vf = vec_splat(vf, 0); 3767// CHECK: @llvm.ppc.altivec.vperm 3768// CHECK-LE: @llvm.ppc.altivec.vperm 3769 3770 res_vsc = vec_vspltb(vsc, 0); 3771// CHECK: @llvm.ppc.altivec.vperm 3772// CHECK-LE: @llvm.ppc.altivec.vperm 3773 3774 res_vuc = vec_vspltb(vuc, 0); 3775// CHECK: @llvm.ppc.altivec.vperm 3776// CHECK-LE: @llvm.ppc.altivec.vperm 3777 3778 res_vbc = vec_vspltb(vbc, 0); 3779// CHECK: @llvm.ppc.altivec.vperm 3780// CHECK-LE: @llvm.ppc.altivec.vperm 3781 3782 res_vs = vec_vsplth(vs, 0); 3783// CHECK: @llvm.ppc.altivec.vperm 3784// CHECK-LE: @llvm.ppc.altivec.vperm 3785 3786 res_vus = vec_vsplth(vus, 0); 3787// CHECK: @llvm.ppc.altivec.vperm 3788// CHECK-LE: @llvm.ppc.altivec.vperm 3789 3790 res_vbs = vec_vsplth(vbs, 0); 3791// CHECK: @llvm.ppc.altivec.vperm 3792// CHECK-LE: @llvm.ppc.altivec.vperm 3793 3794 res_vp = vec_vsplth(vp, 0); 3795// CHECK: @llvm.ppc.altivec.vperm 3796// CHECK-LE: @llvm.ppc.altivec.vperm 3797 3798 res_vi = vec_vspltw(vi, 0); 3799// CHECK: @llvm.ppc.altivec.vperm 3800// CHECK-LE: @llvm.ppc.altivec.vperm 3801 3802 res_vui = vec_vspltw(vui, 0); 3803// CHECK: @llvm.ppc.altivec.vperm 3804// CHECK-LE: @llvm.ppc.altivec.vperm 3805 3806 res_vbi = vec_vspltw(vbi, 0); 3807// CHECK: @llvm.ppc.altivec.vperm 3808// CHECK-LE: @llvm.ppc.altivec.vperm 3809 3810 res_vf = vec_vspltw(vf, 0); 3811// CHECK: @llvm.ppc.altivec.vperm 3812// CHECK-LE: @llvm.ppc.altivec.vperm 3813 3814 /* vec_splat_s8 */ 3815 res_vsc = vec_splat_s8(0x09); // TODO: add check 3816 res_vsc = vec_vspltisb(0x09); // TODO: add check 3817 3818 /* vec_splat_s16 */ 3819 res_vs = vec_splat_s16(0x09); // TODO: add check 3820 res_vs = vec_vspltish(0x09); // TODO: add check 3821 3822 /* vec_splat_s32 */ 3823 res_vi = vec_splat_s32(0x09); // TODO: add check 3824 res_vi = vec_vspltisw(0x09); // TODO: add check 3825 3826 /* vec_splat_u8 */ 3827 res_vuc = vec_splat_u8(0x09); // TODO: add check 3828 3829 /* vec_splat_u16 */ 3830 res_vus = vec_splat_u16(0x09); // TODO: add check 3831 3832 /* vec_splat_u32 */ 3833 res_vui = vec_splat_u32(0x09); // TODO: add check 3834 3835 /* vec_sr */ 3836 res_vsc = vec_sr(vsc, vuc); 3837// CHECK: shr <16 x i8> 3838// CHECK-LE: shr <16 x i8> 3839 3840 res_vuc = vec_sr(vuc, vuc); 3841// CHECK: shr <16 x i8> 3842// CHECK-LE: shr <16 x i8> 3843 3844 res_vs = vec_sr(vs, vus); 3845// CHECK: shr <8 x i16> 3846// CHECK-LE: shr <8 x i16> 3847 3848 res_vus = vec_sr(vus, vus); 3849// CHECK: shr <8 x i16> 3850// CHECK-LE: shr <8 x i16> 3851 3852 res_vi = vec_sr(vi, vui); 3853// CHECK: shr <4 x i32> 3854// CHECK-LE: shr <4 x i32> 3855 3856 res_vui = vec_sr(vui, vui); 3857// CHECK: shr <4 x i32> 3858// CHECK-LE: shr <4 x i32> 3859 3860 res_vsc = vec_vsrb(vsc, vuc); 3861// CHECK: shr <16 x i8> 3862// CHECK-LE: shr <16 x i8> 3863 3864 res_vuc = vec_vsrb(vuc, vuc); 3865// CHECK: shr <16 x i8> 3866// CHECK-LE: shr <16 x i8> 3867 3868 res_vs = vec_vsrh(vs, vus); 3869// CHECK: shr <8 x i16> 3870// CHECK-LE: shr <8 x i16> 3871 3872 res_vus = vec_vsrh(vus, vus); 3873// CHECK: shr <8 x i16> 3874// CHECK-LE: shr <8 x i16> 3875 3876 res_vi = vec_vsrw(vi, vui); 3877// CHECK: shr <4 x i32> 3878// CHECK-LE: shr <4 x i32> 3879 3880 res_vui = vec_vsrw(vui, vui); 3881// CHECK: shr <4 x i32> 3882// CHECK-LE: shr <4 x i32> 3883 3884 /* vec_sra */ 3885 res_vsc = vec_sra(vsc, vuc); 3886// CHECK: @llvm.ppc.altivec.vsrab 3887// CHECK-LE: @llvm.ppc.altivec.vsrab 3888 3889 res_vuc = vec_sra(vuc, vuc); 3890// CHECK: @llvm.ppc.altivec.vsrab 3891// CHECK-LE: @llvm.ppc.altivec.vsrab 3892 3893 res_vs = vec_sra(vs, vus); 3894// CHECK: @llvm.ppc.altivec.vsrah 3895// CHECK-LE: @llvm.ppc.altivec.vsrah 3896 3897 res_vus = vec_sra(vus, vus); 3898// CHECK: @llvm.ppc.altivec.vsrah 3899// CHECK-LE: @llvm.ppc.altivec.vsrah 3900 3901 res_vi = vec_sra(vi, vui); 3902// CHECK: @llvm.ppc.altivec.vsraw 3903// CHECK-LE: @llvm.ppc.altivec.vsraw 3904 3905 res_vui = vec_sra(vui, vui); 3906// CHECK: @llvm.ppc.altivec.vsraw 3907// CHECK-LE: @llvm.ppc.altivec.vsraw 3908 3909 res_vsc = vec_vsrab(vsc, vuc); 3910// CHECK: @llvm.ppc.altivec.vsrab 3911// CHECK-LE: @llvm.ppc.altivec.vsrab 3912 3913 res_vuc = vec_vsrab(vuc, vuc); 3914// CHECK: @llvm.ppc.altivec.vsrab 3915// CHECK-LE: @llvm.ppc.altivec.vsrab 3916 3917 res_vs = vec_vsrah(vs, vus); 3918// CHECK: @llvm.ppc.altivec.vsrah 3919// CHECK-LE: @llvm.ppc.altivec.vsrah 3920 3921 res_vus = vec_vsrah(vus, vus); 3922// CHECK: @llvm.ppc.altivec.vsrah 3923// CHECK-LE: @llvm.ppc.altivec.vsrah 3924 3925 res_vi = vec_vsraw(vi, vui); 3926// CHECK: @llvm.ppc.altivec.vsraw 3927// CHECK-LE: @llvm.ppc.altivec.vsraw 3928 3929 res_vui = vec_vsraw(vui, vui); 3930// CHECK: @llvm.ppc.altivec.vsraw 3931// CHECK-LE: @llvm.ppc.altivec.vsraw 3932 3933 /* vec_srl */ 3934 res_vsc = vec_srl(vsc, vuc); 3935// CHECK: @llvm.ppc.altivec.vsr 3936// CHECK-LE: @llvm.ppc.altivec.vsr 3937 3938 res_vsc = vec_srl(vsc, vus); 3939// CHECK: @llvm.ppc.altivec.vsr 3940// CHECK-LE: @llvm.ppc.altivec.vsr 3941 3942 res_vsc = vec_srl(vsc, vui); 3943// CHECK: @llvm.ppc.altivec.vsr 3944// CHECK-LE: @llvm.ppc.altivec.vsr 3945 3946 res_vuc = vec_srl(vuc, vuc); 3947// CHECK: @llvm.ppc.altivec.vsr 3948// CHECK-LE: @llvm.ppc.altivec.vsr 3949 3950 res_vuc = vec_srl(vuc, vus); 3951// CHECK: @llvm.ppc.altivec.vsr 3952// CHECK-LE: @llvm.ppc.altivec.vsr 3953 3954 res_vuc = vec_srl(vuc, vui); 3955// CHECK: @llvm.ppc.altivec.vsr 3956// CHECK-LE: @llvm.ppc.altivec.vsr 3957 3958 res_vbc = vec_srl(vbc, vuc); 3959// CHECK: @llvm.ppc.altivec.vsr 3960// CHECK-LE: @llvm.ppc.altivec.vsr 3961 3962 res_vbc = vec_srl(vbc, vus); 3963// CHECK: @llvm.ppc.altivec.vsr 3964// CHECK-LE: @llvm.ppc.altivec.vsr 3965 3966 res_vbc = vec_srl(vbc, vui); 3967// CHECK: @llvm.ppc.altivec.vsr 3968// CHECK-LE: @llvm.ppc.altivec.vsr 3969 3970 res_vs = vec_srl(vs, vuc); 3971// CHECK: @llvm.ppc.altivec.vsr 3972// CHECK-LE: @llvm.ppc.altivec.vsr 3973 3974 res_vs = vec_srl(vs, vus); 3975// CHECK: @llvm.ppc.altivec.vsr 3976// CHECK-LE: @llvm.ppc.altivec.vsr 3977 3978 res_vs = vec_srl(vs, vui); 3979// CHECK: @llvm.ppc.altivec.vsr 3980// CHECK-LE: @llvm.ppc.altivec.vsr 3981 3982 res_vus = vec_srl(vus, vuc); 3983// CHECK: @llvm.ppc.altivec.vsr 3984// CHECK-LE: @llvm.ppc.altivec.vsr 3985 3986 res_vus = vec_srl(vus, vus); 3987// CHECK: @llvm.ppc.altivec.vsr 3988// CHECK-LE: @llvm.ppc.altivec.vsr 3989 3990 res_vus = vec_srl(vus, vui); 3991// CHECK: @llvm.ppc.altivec.vsr 3992// CHECK-LE: @llvm.ppc.altivec.vsr 3993 3994 res_vbs = vec_srl(vbs, vuc); 3995// CHECK: @llvm.ppc.altivec.vsr 3996// CHECK-LE: @llvm.ppc.altivec.vsr 3997 3998 res_vbs = vec_srl(vbs, vus); 3999// CHECK: @llvm.ppc.altivec.vsr 4000// CHECK-LE: @llvm.ppc.altivec.vsr 4001 4002 res_vbs = vec_srl(vbs, vui); 4003// CHECK: @llvm.ppc.altivec.vsr 4004// CHECK-LE: @llvm.ppc.altivec.vsr 4005 4006 res_vp = vec_srl(vp, vuc); 4007// CHECK: @llvm.ppc.altivec.vsr 4008// CHECK-LE: @llvm.ppc.altivec.vsr 4009 4010 res_vp = vec_srl(vp, vus); 4011// CHECK: @llvm.ppc.altivec.vsr 4012// CHECK-LE: @llvm.ppc.altivec.vsr 4013 4014 res_vp = vec_srl(vp, vui); 4015// CHECK: @llvm.ppc.altivec.vsr 4016// CHECK-LE: @llvm.ppc.altivec.vsr 4017 4018 res_vi = vec_srl(vi, vuc); 4019// CHECK: @llvm.ppc.altivec.vsr 4020// CHECK-LE: @llvm.ppc.altivec.vsr 4021 4022 res_vi = vec_srl(vi, vus); 4023// CHECK: @llvm.ppc.altivec.vsr 4024// CHECK-LE: @llvm.ppc.altivec.vsr 4025 4026 res_vi = vec_srl(vi, vui); 4027// CHECK: @llvm.ppc.altivec.vsr 4028// CHECK-LE: @llvm.ppc.altivec.vsr 4029 4030 res_vui = vec_srl(vui, vuc); 4031// CHECK: @llvm.ppc.altivec.vsr 4032// CHECK-LE: @llvm.ppc.altivec.vsr 4033 4034 res_vui = vec_srl(vui, vus); 4035// CHECK: @llvm.ppc.altivec.vsr 4036// CHECK-LE: @llvm.ppc.altivec.vsr 4037 4038 res_vui = vec_srl(vui, vui); 4039// CHECK: @llvm.ppc.altivec.vsr 4040// CHECK-LE: @llvm.ppc.altivec.vsr 4041 4042 res_vbi = vec_srl(vbi, vuc); 4043// CHECK: @llvm.ppc.altivec.vsr 4044// CHECK-LE: @llvm.ppc.altivec.vsr 4045 4046 res_vbi = vec_srl(vbi, vus); 4047// CHECK: @llvm.ppc.altivec.vsr 4048// CHECK-LE: @llvm.ppc.altivec.vsr 4049 4050 res_vbi = vec_srl(vbi, vui); 4051// CHECK: @llvm.ppc.altivec.vsr 4052// CHECK-LE: @llvm.ppc.altivec.vsr 4053 4054 res_vsc = vec_vsr(vsc, vuc); 4055// CHECK: @llvm.ppc.altivec.vsr 4056// CHECK-LE: @llvm.ppc.altivec.vsr 4057 4058 res_vsc = vec_vsr(vsc, vus); 4059// CHECK: @llvm.ppc.altivec.vsr 4060// CHECK-LE: @llvm.ppc.altivec.vsr 4061 4062 res_vsc = vec_vsr(vsc, vui); 4063// CHECK: @llvm.ppc.altivec.vsr 4064// CHECK-LE: @llvm.ppc.altivec.vsr 4065 4066 res_vuc = vec_vsr(vuc, vuc); 4067// CHECK: @llvm.ppc.altivec.vsr 4068// CHECK-LE: @llvm.ppc.altivec.vsr 4069 4070 res_vuc = vec_vsr(vuc, vus); 4071// CHECK: @llvm.ppc.altivec.vsr 4072// CHECK-LE: @llvm.ppc.altivec.vsr 4073 4074 res_vuc = vec_vsr(vuc, vui); 4075// CHECK: @llvm.ppc.altivec.vsr 4076// CHECK-LE: @llvm.ppc.altivec.vsr 4077 4078 res_vbc = vec_vsr(vbc, vuc); 4079// CHECK: @llvm.ppc.altivec.vsr 4080// CHECK-LE: @llvm.ppc.altivec.vsr 4081 4082 res_vbc = vec_vsr(vbc, vus); 4083// CHECK: @llvm.ppc.altivec.vsr 4084// CHECK-LE: @llvm.ppc.altivec.vsr 4085 4086 res_vbc = vec_vsr(vbc, vui); 4087// CHECK: @llvm.ppc.altivec.vsr 4088// CHECK-LE: @llvm.ppc.altivec.vsr 4089 4090 res_vs = vec_vsr(vs, vuc); 4091// CHECK: @llvm.ppc.altivec.vsr 4092// CHECK-LE: @llvm.ppc.altivec.vsr 4093 4094 res_vs = vec_vsr(vs, vus); 4095// CHECK: @llvm.ppc.altivec.vsr 4096// CHECK-LE: @llvm.ppc.altivec.vsr 4097 4098 res_vs = vec_vsr(vs, vui); 4099// CHECK: @llvm.ppc.altivec.vsr 4100// CHECK-LE: @llvm.ppc.altivec.vsr 4101 4102 res_vus = vec_vsr(vus, vuc); 4103// CHECK: @llvm.ppc.altivec.vsr 4104// CHECK-LE: @llvm.ppc.altivec.vsr 4105 4106 res_vus = vec_vsr(vus, vus); 4107// CHECK: @llvm.ppc.altivec.vsr 4108// CHECK-LE: @llvm.ppc.altivec.vsr 4109 4110 res_vus = vec_vsr(vus, vui); 4111// CHECK: @llvm.ppc.altivec.vsr 4112// CHECK-LE: @llvm.ppc.altivec.vsr 4113 4114 res_vbs = vec_vsr(vbs, vuc); 4115// CHECK: @llvm.ppc.altivec.vsr 4116// CHECK-LE: @llvm.ppc.altivec.vsr 4117 4118 res_vbs = vec_vsr(vbs, vus); 4119// CHECK: @llvm.ppc.altivec.vsr 4120// CHECK-LE: @llvm.ppc.altivec.vsr 4121 4122 res_vbs = vec_vsr(vbs, vui); 4123// CHECK: @llvm.ppc.altivec.vsr 4124// CHECK-LE: @llvm.ppc.altivec.vsr 4125 4126 res_vp = vec_vsr(vp, vuc); 4127// CHECK: @llvm.ppc.altivec.vsr 4128// CHECK-LE: @llvm.ppc.altivec.vsr 4129 4130 res_vp = vec_vsr(vp, vus); 4131// CHECK: @llvm.ppc.altivec.vsr 4132// CHECK-LE: @llvm.ppc.altivec.vsr 4133 4134 res_vp = vec_vsr(vp, vui); 4135// CHECK: @llvm.ppc.altivec.vsr 4136// CHECK-LE: @llvm.ppc.altivec.vsr 4137 4138 res_vi = vec_vsr(vi, vuc); 4139// CHECK: @llvm.ppc.altivec.vsr 4140// CHECK-LE: @llvm.ppc.altivec.vsr 4141 4142 res_vi = vec_vsr(vi, vus); 4143// CHECK: @llvm.ppc.altivec.vsr 4144// CHECK-LE: @llvm.ppc.altivec.vsr 4145 4146 res_vi = vec_vsr(vi, vui); 4147// CHECK: @llvm.ppc.altivec.vsr 4148// CHECK-LE: @llvm.ppc.altivec.vsr 4149 4150 res_vui = vec_vsr(vui, vuc); 4151// CHECK: @llvm.ppc.altivec.vsr 4152// CHECK-LE: @llvm.ppc.altivec.vsr 4153 4154 res_vui = vec_vsr(vui, vus); 4155// CHECK: @llvm.ppc.altivec.vsr 4156// CHECK-LE: @llvm.ppc.altivec.vsr 4157 4158 res_vui = vec_vsr(vui, vui); 4159// CHECK: @llvm.ppc.altivec.vsr 4160// CHECK-LE: @llvm.ppc.altivec.vsr 4161 4162 res_vbi = vec_vsr(vbi, vuc); 4163// CHECK: @llvm.ppc.altivec.vsr 4164// CHECK-LE: @llvm.ppc.altivec.vsr 4165 4166 res_vbi = vec_vsr(vbi, vus); 4167// CHECK: @llvm.ppc.altivec.vsr 4168// CHECK-LE: @llvm.ppc.altivec.vsr 4169 4170 res_vbi = vec_vsr(vbi, vui); 4171// CHECK: @llvm.ppc.altivec.vsr 4172// CHECK-LE: @llvm.ppc.altivec.vsr 4173 4174 /* vec_sro */ 4175 res_vsc = vec_sro(vsc, vsc); 4176// CHECK: @llvm.ppc.altivec.vsro 4177// CHECK-LE: @llvm.ppc.altivec.vsro 4178 4179 res_vsc = vec_sro(vsc, vuc); 4180// CHECK: @llvm.ppc.altivec.vsro 4181// CHECK-LE: @llvm.ppc.altivec.vsro 4182 4183 res_vuc = vec_sro(vuc, vsc); 4184// CHECK: @llvm.ppc.altivec.vsro 4185// CHECK-LE: @llvm.ppc.altivec.vsro 4186 4187 res_vuc = vec_sro(vuc, vuc); 4188// CHECK: @llvm.ppc.altivec.vsro 4189// CHECK-LE: @llvm.ppc.altivec.vsro 4190 4191 res_vs = vec_sro(vs, vsc); 4192// CHECK: @llvm.ppc.altivec.vsro 4193// CHECK-LE: @llvm.ppc.altivec.vsro 4194 4195 res_vs = vec_sro(vs, vuc); 4196// CHECK: @llvm.ppc.altivec.vsro 4197// CHECK-LE: @llvm.ppc.altivec.vsro 4198 4199 res_vus = vec_sro(vus, vsc); 4200// CHECK: @llvm.ppc.altivec.vsro 4201// CHECK-LE: @llvm.ppc.altivec.vsro 4202 4203 res_vus = vec_sro(vus, vuc); 4204// CHECK: @llvm.ppc.altivec.vsro 4205// CHECK-LE: @llvm.ppc.altivec.vsro 4206 4207 res_vp = vec_sro(vp, vsc); 4208// CHECK: @llvm.ppc.altivec.vsro 4209// CHECK-LE: @llvm.ppc.altivec.vsro 4210 4211 res_vp = vec_sro(vp, vuc); 4212// CHECK: @llvm.ppc.altivec.vsro 4213// CHECK-LE: @llvm.ppc.altivec.vsro 4214 4215 res_vi = vec_sro(vi, vsc); 4216// CHECK: @llvm.ppc.altivec.vsro 4217// CHECK-LE: @llvm.ppc.altivec.vsro 4218 4219 res_vi = vec_sro(vi, vuc); 4220// CHECK: @llvm.ppc.altivec.vsro 4221// CHECK-LE: @llvm.ppc.altivec.vsro 4222 4223 res_vui = vec_sro(vui, vsc); 4224// CHECK: @llvm.ppc.altivec.vsro 4225// CHECK-LE: @llvm.ppc.altivec.vsro 4226 4227 res_vui = vec_sro(vui, vuc); 4228// CHECK: @llvm.ppc.altivec.vsro 4229// CHECK-LE: @llvm.ppc.altivec.vsro 4230 4231 res_vf = vec_sro(vf, vsc); 4232// CHECK: @llvm.ppc.altivec.vsro 4233// CHECK-LE: @llvm.ppc.altivec.vsro 4234 4235 res_vf = vec_sro(vf, vuc); 4236// CHECK: @llvm.ppc.altivec.vsro 4237// CHECK-LE: @llvm.ppc.altivec.vsro 4238 4239 res_vsc = vec_vsro(vsc, vsc); 4240// CHECK: @llvm.ppc.altivec.vsro 4241// CHECK-LE: @llvm.ppc.altivec.vsro 4242 4243 res_vsc = vec_vsro(vsc, vuc); 4244// CHECK: @llvm.ppc.altivec.vsro 4245// CHECK-LE: @llvm.ppc.altivec.vsro 4246 4247 res_vuc = vec_vsro(vuc, vsc); 4248// CHECK: @llvm.ppc.altivec.vsro 4249// CHECK-LE: @llvm.ppc.altivec.vsro 4250 4251 res_vuc = vec_vsro(vuc, vuc); 4252// CHECK: @llvm.ppc.altivec.vsro 4253// CHECK-LE: @llvm.ppc.altivec.vsro 4254 4255 res_vs = vec_vsro(vs, vsc); 4256// CHECK: @llvm.ppc.altivec.vsro 4257// CHECK-LE: @llvm.ppc.altivec.vsro 4258 4259 res_vs = vec_vsro(vs, vuc); 4260// CHECK: @llvm.ppc.altivec.vsro 4261// CHECK-LE: @llvm.ppc.altivec.vsro 4262 4263 res_vus = vec_vsro(vus, vsc); 4264// CHECK: @llvm.ppc.altivec.vsro 4265// CHECK-LE: @llvm.ppc.altivec.vsro 4266 4267 res_vus = vec_vsro(vus, vuc); 4268// CHECK: @llvm.ppc.altivec.vsro 4269// CHECK-LE: @llvm.ppc.altivec.vsro 4270 4271 res_vp = vec_vsro(vp, vsc); 4272// CHECK: @llvm.ppc.altivec.vsro 4273// CHECK-LE: @llvm.ppc.altivec.vsro 4274 4275 res_vp = vec_vsro(vp, vuc); 4276// CHECK: @llvm.ppc.altivec.vsro 4277// CHECK-LE: @llvm.ppc.altivec.vsro 4278 4279 res_vi = vec_vsro(vi, vsc); 4280// CHECK: @llvm.ppc.altivec.vsro 4281// CHECK-LE: @llvm.ppc.altivec.vsro 4282 4283 res_vi = vec_vsro(vi, vuc); 4284// CHECK: @llvm.ppc.altivec.vsro 4285// CHECK-LE: @llvm.ppc.altivec.vsro 4286 4287 res_vui = vec_vsro(vui, vsc); 4288// CHECK: @llvm.ppc.altivec.vsro 4289// CHECK-LE: @llvm.ppc.altivec.vsro 4290 4291 res_vui = vec_vsro(vui, vuc); 4292// CHECK: @llvm.ppc.altivec.vsro 4293// CHECK-LE: @llvm.ppc.altivec.vsro 4294 4295 res_vf = vec_vsro(vf, vsc); 4296// CHECK: @llvm.ppc.altivec.vsro 4297// CHECK-LE: @llvm.ppc.altivec.vsro 4298 4299 res_vf = vec_vsro(vf, vuc); 4300// CHECK: @llvm.ppc.altivec.vsro 4301// CHECK-LE: @llvm.ppc.altivec.vsro 4302 4303 /* vec_st */ 4304 vec_st(vsc, 0, &vsc); 4305// CHECK: @llvm.ppc.altivec.stvx 4306// CHECK-LE: @llvm.ppc.altivec.stvx 4307 4308 vec_st(vsc, 0, ¶m_sc); 4309// CHECK: @llvm.ppc.altivec.stvx 4310// CHECK-LE: @llvm.ppc.altivec.stvx 4311 4312 vec_st(vuc, 0, &vuc); 4313// CHECK: @llvm.ppc.altivec.stvx 4314// CHECK-LE: @llvm.ppc.altivec.stvx 4315 4316 vec_st(vuc, 0, ¶m_uc); 4317// CHECK: @llvm.ppc.altivec.stvx 4318// CHECK-LE: @llvm.ppc.altivec.stvx 4319 4320 vec_st(vbc, 0, ¶m_uc); 4321// CHECK: @llvm.ppc.altivec.stvx 4322// CHECK-LE: @llvm.ppc.altivec.stvx 4323 4324 vec_st(vbc, 0, ¶m_uc); 4325// CHECK: @llvm.ppc.altivec.stvx 4326// CHECK-LE: @llvm.ppc.altivec.stvx 4327 4328 vec_st(vbc, 0, &vbc); 4329// CHECK: @llvm.ppc.altivec.stvx 4330// CHECK-LE: @llvm.ppc.altivec.stvx 4331 4332 vec_st(vs, 0, &vs); 4333// CHECK: @llvm.ppc.altivec.stvx 4334// CHECK-LE: @llvm.ppc.altivec.stvx 4335 4336 vec_st(vs, 0, ¶m_s); 4337// CHECK: @llvm.ppc.altivec.stvx 4338// CHECK-LE: @llvm.ppc.altivec.stvx 4339 4340 vec_st(vus, 0, &vus); 4341// CHECK: @llvm.ppc.altivec.stvx 4342// CHECK-LE: @llvm.ppc.altivec.stvx 4343 4344 vec_st(vus, 0, ¶m_us); 4345// CHECK: @llvm.ppc.altivec.stvx 4346// CHECK-LE: @llvm.ppc.altivec.stvx 4347 4348 vec_st(vbs, 0, ¶m_s); 4349// CHECK: @llvm.ppc.altivec.stvx 4350// CHECK-LE: @llvm.ppc.altivec.stvx 4351 4352 vec_st(vbs, 0, ¶m_us); 4353// CHECK: @llvm.ppc.altivec.stvx 4354// CHECK-LE: @llvm.ppc.altivec.stvx 4355 4356 vec_st(vbs, 0, &vbs); 4357// CHECK: @llvm.ppc.altivec.stvx 4358// CHECK-LE: @llvm.ppc.altivec.stvx 4359 4360 vec_st(vp, 0, ¶m_s); 4361// CHECK: @llvm.ppc.altivec.stvx 4362// CHECK-LE: @llvm.ppc.altivec.stvx 4363 4364 vec_st(vp, 0, ¶m_us); 4365// CHECK: @llvm.ppc.altivec.stvx 4366// CHECK-LE: @llvm.ppc.altivec.stvx 4367 4368 vec_st(vp, 0, &vp); 4369// CHECK: @llvm.ppc.altivec.stvx 4370// CHECK-LE: @llvm.ppc.altivec.stvx 4371 4372 vec_st(vi, 0, &vi); 4373// CHECK: @llvm.ppc.altivec.stvx 4374// CHECK-LE: @llvm.ppc.altivec.stvx 4375 4376 vec_st(vi, 0, ¶m_i); 4377// CHECK: @llvm.ppc.altivec.stvx 4378// CHECK-LE: @llvm.ppc.altivec.stvx 4379 4380 vec_st(vui, 0, &vui); 4381// CHECK: @llvm.ppc.altivec.stvx 4382// CHECK-LE: @llvm.ppc.altivec.stvx 4383 4384 vec_st(vui, 0, ¶m_ui); 4385// CHECK: @llvm.ppc.altivec.stvx 4386// CHECK-LE: @llvm.ppc.altivec.stvx 4387 4388 vec_st(vbi, 0, ¶m_i); 4389// CHECK: @llvm.ppc.altivec.stvx 4390// CHECK-LE: @llvm.ppc.altivec.stvx 4391 4392 vec_st(vbi, 0, ¶m_ui); 4393// CHECK: @llvm.ppc.altivec.stvx 4394// CHECK-LE: @llvm.ppc.altivec.stvx 4395 4396 vec_st(vbi, 0, &vbi); 4397// CHECK: @llvm.ppc.altivec.stvx 4398// CHECK-LE: @llvm.ppc.altivec.stvx 4399 4400 vec_st(vf, 0, &vf); 4401// CHECK: @llvm.ppc.altivec.stvx 4402// CHECK-LE: @llvm.ppc.altivec.stvx 4403 4404 vec_st(vf, 0, ¶m_f); 4405// CHECK: @llvm.ppc.altivec.stvx 4406// CHECK-LE: @llvm.ppc.altivec.stvx 4407 4408 vec_stvx(vsc, 0, &vsc); 4409// CHECK: @llvm.ppc.altivec.stvx 4410// CHECK-LE: @llvm.ppc.altivec.stvx 4411 4412 vec_stvx(vsc, 0, ¶m_sc); 4413// CHECK: @llvm.ppc.altivec.stvx 4414// CHECK-LE: @llvm.ppc.altivec.stvx 4415 4416 vec_stvx(vuc, 0, &vuc); 4417// CHECK: @llvm.ppc.altivec.stvx 4418// CHECK-LE: @llvm.ppc.altivec.stvx 4419 4420 vec_stvx(vuc, 0, ¶m_uc); 4421// CHECK: @llvm.ppc.altivec.stvx 4422// CHECK-LE: @llvm.ppc.altivec.stvx 4423 4424 vec_stvx(vbc, 0, ¶m_uc); 4425// CHECK: @llvm.ppc.altivec.stvx 4426// CHECK-LE: @llvm.ppc.altivec.stvx 4427 4428 vec_stvx(vbc, 0, ¶m_uc); 4429// CHECK: @llvm.ppc.altivec.stvx 4430// CHECK-LE: @llvm.ppc.altivec.stvx 4431 4432 vec_stvx(vbc, 0, &vbc); 4433// CHECK: @llvm.ppc.altivec.stvx 4434// CHECK-LE: @llvm.ppc.altivec.stvx 4435 4436 vec_stvx(vs, 0, &vs); 4437// CHECK: @llvm.ppc.altivec.stvx 4438// CHECK-LE: @llvm.ppc.altivec.stvx 4439 4440 vec_stvx(vs, 0, ¶m_s); 4441// CHECK: @llvm.ppc.altivec.stvx 4442// CHECK-LE: @llvm.ppc.altivec.stvx 4443 4444 vec_stvx(vus, 0, &vus); 4445// CHECK: @llvm.ppc.altivec.stvx 4446// CHECK-LE: @llvm.ppc.altivec.stvx 4447 4448 vec_stvx(vus, 0, ¶m_us); 4449// CHECK: @llvm.ppc.altivec.stvx 4450// CHECK-LE: @llvm.ppc.altivec.stvx 4451 4452 vec_stvx(vbs, 0, ¶m_s); 4453// CHECK: @llvm.ppc.altivec.stvx 4454// CHECK-LE: @llvm.ppc.altivec.stvx 4455 4456 vec_stvx(vbs, 0, ¶m_us); 4457// CHECK: @llvm.ppc.altivec.stvx 4458// CHECK-LE: @llvm.ppc.altivec.stvx 4459 4460 vec_stvx(vbs, 0, &vbs); 4461// CHECK: @llvm.ppc.altivec.stvx 4462// CHECK-LE: @llvm.ppc.altivec.stvx 4463 4464 vec_stvx(vp, 0, ¶m_s); 4465// CHECK: @llvm.ppc.altivec.stvx 4466// CHECK-LE: @llvm.ppc.altivec.stvx 4467 4468 vec_stvx(vp, 0, ¶m_us); 4469// CHECK: @llvm.ppc.altivec.stvx 4470// CHECK-LE: @llvm.ppc.altivec.stvx 4471 4472 vec_stvx(vp, 0, &vp); 4473// CHECK: @llvm.ppc.altivec.stvx 4474// CHECK-LE: @llvm.ppc.altivec.stvx 4475 4476 vec_stvx(vi, 0, &vi); 4477// CHECK: @llvm.ppc.altivec.stvx 4478// CHECK-LE: @llvm.ppc.altivec.stvx 4479 4480 vec_stvx(vi, 0, ¶m_i); 4481// CHECK: @llvm.ppc.altivec.stvx 4482// CHECK-LE: @llvm.ppc.altivec.stvx 4483 4484 vec_stvx(vui, 0, &vui); 4485// CHECK: @llvm.ppc.altivec.stvx 4486// CHECK-LE: @llvm.ppc.altivec.stvx 4487 4488 vec_stvx(vui, 0, ¶m_ui); 4489// CHECK: @llvm.ppc.altivec.stvx 4490// CHECK-LE: @llvm.ppc.altivec.stvx 4491 4492 vec_stvx(vbi, 0, ¶m_i); 4493// CHECK: @llvm.ppc.altivec.stvx 4494// CHECK-LE: @llvm.ppc.altivec.stvx 4495 4496 vec_stvx(vbi, 0, ¶m_ui); 4497// CHECK: @llvm.ppc.altivec.stvx 4498// CHECK-LE: @llvm.ppc.altivec.stvx 4499 4500 vec_stvx(vbi, 0, &vbi); 4501// CHECK: @llvm.ppc.altivec.stvx 4502// CHECK-LE: @llvm.ppc.altivec.stvx 4503 4504 vec_stvx(vf, 0, &vf); 4505// CHECK: @llvm.ppc.altivec.stvx 4506// CHECK-LE: @llvm.ppc.altivec.stvx 4507 4508 vec_stvx(vf, 0, ¶m_f); 4509// CHECK: @llvm.ppc.altivec.stvx 4510// CHECK-LE: @llvm.ppc.altivec.stvx 4511 4512 /* vec_ste */ 4513 vec_ste(vsc, 0, ¶m_sc); 4514// CHECK: @llvm.ppc.altivec.stvebx 4515// CHECK-LE: @llvm.ppc.altivec.stvebx 4516 4517 vec_ste(vuc, 0, ¶m_uc); 4518// CHECK: @llvm.ppc.altivec.stvebx 4519// CHECK-LE: @llvm.ppc.altivec.stvebx 4520 4521 vec_ste(vbc, 0, ¶m_sc); 4522// CHECK: @llvm.ppc.altivec.stvebx 4523// CHECK-LE: @llvm.ppc.altivec.stvebx 4524 4525 vec_ste(vbc, 0, ¶m_uc); 4526// CHECK: @llvm.ppc.altivec.stvebx 4527// CHECK-LE: @llvm.ppc.altivec.stvebx 4528 4529 vec_ste(vs, 0, ¶m_s); 4530// CHECK: @llvm.ppc.altivec.stvehx 4531// CHECK-LE: @llvm.ppc.altivec.stvehx 4532 4533 vec_ste(vus, 0, ¶m_us); 4534// CHECK: @llvm.ppc.altivec.stvehx 4535// CHECK-LE: @llvm.ppc.altivec.stvehx 4536 4537 vec_ste(vbs, 0, ¶m_s); 4538// CHECK: @llvm.ppc.altivec.stvehx 4539// CHECK-LE: @llvm.ppc.altivec.stvehx 4540 4541 vec_ste(vbs, 0, ¶m_us); 4542// CHECK: @llvm.ppc.altivec.stvehx 4543// CHECK-LE: @llvm.ppc.altivec.stvehx 4544 4545 vec_ste(vp, 0, ¶m_s); 4546// CHECK: @llvm.ppc.altivec.stvehx 4547// CHECK-LE: @llvm.ppc.altivec.stvehx 4548 4549 vec_ste(vp, 0, ¶m_us); 4550// CHECK: @llvm.ppc.altivec.stvehx 4551// CHECK-LE: @llvm.ppc.altivec.stvehx 4552 4553 vec_ste(vi, 0, ¶m_i); 4554// CHECK: @llvm.ppc.altivec.stvewx 4555// CHECK-LE: @llvm.ppc.altivec.stvewx 4556 4557 vec_ste(vui, 0, ¶m_ui); 4558// CHECK: @llvm.ppc.altivec.stvewx 4559// CHECK-LE: @llvm.ppc.altivec.stvewx 4560 4561 vec_ste(vbi, 0, ¶m_i); 4562// CHECK: @llvm.ppc.altivec.stvewx 4563// CHECK-LE: @llvm.ppc.altivec.stvewx 4564 4565 vec_ste(vbi, 0, ¶m_ui); 4566// CHECK: @llvm.ppc.altivec.stvewx 4567// CHECK-LE: @llvm.ppc.altivec.stvewx 4568 4569 vec_ste(vf, 0, ¶m_f); 4570// CHECK: @llvm.ppc.altivec.stvewx 4571// CHECK-LE: @llvm.ppc.altivec.stvewx 4572 4573 vec_stvebx(vsc, 0, ¶m_sc); 4574// CHECK: @llvm.ppc.altivec.stvebx 4575// CHECK-LE: @llvm.ppc.altivec.stvebx 4576 4577 vec_stvebx(vuc, 0, ¶m_uc); 4578// CHECK: @llvm.ppc.altivec.stvebx 4579// CHECK-LE: @llvm.ppc.altivec.stvebx 4580 4581 vec_stvebx(vbc, 0, ¶m_sc); 4582// CHECK: @llvm.ppc.altivec.stvebx 4583// CHECK-LE: @llvm.ppc.altivec.stvebx 4584 4585 vec_stvebx(vbc, 0, ¶m_uc); 4586// CHECK: @llvm.ppc.altivec.stvebx 4587// CHECK-LE: @llvm.ppc.altivec.stvebx 4588 4589 vec_stvehx(vs, 0, ¶m_s); 4590// CHECK: @llvm.ppc.altivec.stvehx 4591// CHECK-LE: @llvm.ppc.altivec.stvehx 4592 4593 vec_stvehx(vus, 0, ¶m_us); 4594// CHECK: @llvm.ppc.altivec.stvehx 4595// CHECK-LE: @llvm.ppc.altivec.stvehx 4596 4597 vec_stvehx(vbs, 0, ¶m_s); 4598// CHECK: @llvm.ppc.altivec.stvehx 4599// CHECK-LE: @llvm.ppc.altivec.stvehx 4600 4601 vec_stvehx(vbs, 0, ¶m_us); 4602// CHECK: @llvm.ppc.altivec.stvehx 4603// CHECK-LE: @llvm.ppc.altivec.stvehx 4604 4605 vec_stvehx(vp, 0, ¶m_s); 4606// CHECK: @llvm.ppc.altivec.stvehx 4607// CHECK-LE: @llvm.ppc.altivec.stvehx 4608 4609 vec_stvehx(vp, 0, ¶m_us); 4610// CHECK: @llvm.ppc.altivec.stvehx 4611// CHECK-LE: @llvm.ppc.altivec.stvehx 4612 4613 vec_stvewx(vi, 0, ¶m_i); 4614// CHECK: @llvm.ppc.altivec.stvewx 4615// CHECK-LE: @llvm.ppc.altivec.stvewx 4616 4617 vec_stvewx(vui, 0, ¶m_ui); 4618// CHECK: @llvm.ppc.altivec.stvewx 4619// CHECK-LE: @llvm.ppc.altivec.stvewx 4620 4621 vec_stvewx(vbi, 0, ¶m_i); 4622// CHECK: @llvm.ppc.altivec.stvewx 4623// CHECK-LE: @llvm.ppc.altivec.stvewx 4624 4625 vec_stvewx(vbi, 0, ¶m_ui); 4626// CHECK: @llvm.ppc.altivec.stvewx 4627// CHECK-LE: @llvm.ppc.altivec.stvewx 4628 4629 vec_stvewx(vf, 0, ¶m_f); 4630// CHECK: @llvm.ppc.altivec.stvewx 4631// CHECK-LE: @llvm.ppc.altivec.stvewx 4632 4633 /* vec_stl */ 4634 vec_stl(vsc, 0, &vsc); 4635// CHECK: @llvm.ppc.altivec.stvxl 4636// CHECK-LE: @llvm.ppc.altivec.stvxl 4637 4638 vec_stl(vsc, 0, ¶m_sc); 4639// CHECK: @llvm.ppc.altivec.stvxl 4640// CHECK-LE: @llvm.ppc.altivec.stvxl 4641 4642 vec_stl(vuc, 0, &vuc); 4643// CHECK: @llvm.ppc.altivec.stvxl 4644// CHECK-LE: @llvm.ppc.altivec.stvxl 4645 4646 vec_stl(vuc, 0, ¶m_uc); 4647// CHECK: @llvm.ppc.altivec.stvxl 4648// CHECK-LE: @llvm.ppc.altivec.stvxl 4649 4650 vec_stl(vbc, 0, ¶m_sc); 4651// CHECK: @llvm.ppc.altivec.stvxl 4652// CHECK-LE: @llvm.ppc.altivec.stvxl 4653 4654 vec_stl(vbc, 0, ¶m_uc); 4655// CHECK: @llvm.ppc.altivec.stvxl 4656// CHECK-LE: @llvm.ppc.altivec.stvxl 4657 4658 vec_stl(vbc, 0, &vbc); 4659// CHECK: @llvm.ppc.altivec.stvxl 4660// CHECK-LE: @llvm.ppc.altivec.stvxl 4661 4662 vec_stl(vs, 0, &vs); 4663// CHECK: @llvm.ppc.altivec.stvxl 4664// CHECK-LE: @llvm.ppc.altivec.stvxl 4665 4666 vec_stl(vs, 0, ¶m_s); 4667// CHECK: @llvm.ppc.altivec.stvxl 4668// CHECK-LE: @llvm.ppc.altivec.stvxl 4669 4670 vec_stl(vus, 0, &vus); 4671// CHECK: @llvm.ppc.altivec.stvxl 4672// CHECK-LE: @llvm.ppc.altivec.stvxl 4673 4674 vec_stl(vus, 0, ¶m_us); 4675// CHECK: @llvm.ppc.altivec.stvxl 4676// CHECK-LE: @llvm.ppc.altivec.stvxl 4677 4678 vec_stl(vbs, 0, ¶m_s); 4679// CHECK: @llvm.ppc.altivec.stvxl 4680// CHECK-LE: @llvm.ppc.altivec.stvxl 4681 4682 vec_stl(vbs, 0, ¶m_us); 4683// CHECK: @llvm.ppc.altivec.stvxl 4684// CHECK-LE: @llvm.ppc.altivec.stvxl 4685 4686 vec_stl(vbs, 0, &vbs); 4687// CHECK: @llvm.ppc.altivec.stvxl 4688// CHECK-LE: @llvm.ppc.altivec.stvxl 4689 4690 vec_stl(vp, 0, ¶m_s); 4691// CHECK: @llvm.ppc.altivec.stvxl 4692// CHECK-LE: @llvm.ppc.altivec.stvxl 4693 4694 vec_stl(vp, 0, ¶m_us); 4695// CHECK: @llvm.ppc.altivec.stvxl 4696// CHECK-LE: @llvm.ppc.altivec.stvxl 4697 4698 vec_stl(vp, 0, &vp); 4699// CHECK: @llvm.ppc.altivec.stvxl 4700// CHECK-LE: @llvm.ppc.altivec.stvxl 4701 4702 vec_stl(vi, 0, &vi); 4703// CHECK: @llvm.ppc.altivec.stvxl 4704// CHECK-LE: @llvm.ppc.altivec.stvxl 4705 4706 vec_stl(vi, 0, ¶m_i); 4707// CHECK: @llvm.ppc.altivec.stvxl 4708// CHECK-LE: @llvm.ppc.altivec.stvxl 4709 4710 vec_stl(vui, 0, &vui); 4711// CHECK: @llvm.ppc.altivec.stvxl 4712// CHECK-LE: @llvm.ppc.altivec.stvxl 4713 4714 vec_stl(vui, 0, ¶m_ui); 4715// CHECK: @llvm.ppc.altivec.stvxl 4716// CHECK-LE: @llvm.ppc.altivec.stvxl 4717 4718 vec_stl(vbi, 0, ¶m_i); 4719// CHECK: @llvm.ppc.altivec.stvxl 4720// CHECK-LE: @llvm.ppc.altivec.stvxl 4721 4722 vec_stl(vbi, 0, ¶m_ui); 4723// CHECK: @llvm.ppc.altivec.stvxl 4724// CHECK-LE: @llvm.ppc.altivec.stvxl 4725 4726 vec_stl(vbi, 0, &vbi); 4727// CHECK: @llvm.ppc.altivec.stvxl 4728// CHECK-LE: @llvm.ppc.altivec.stvxl 4729 4730 vec_stl(vf, 0, &vf); 4731// CHECK: @llvm.ppc.altivec.stvxl 4732// CHECK-LE: @llvm.ppc.altivec.stvxl 4733 4734 vec_stl(vf, 0, ¶m_f); 4735// CHECK: @llvm.ppc.altivec.stvxl 4736// CHECK-LE: @llvm.ppc.altivec.stvxl 4737 4738 vec_stvxl(vsc, 0, &vsc); 4739// CHECK: @llvm.ppc.altivec.stvxl 4740// CHECK-LE: @llvm.ppc.altivec.stvxl 4741 4742 vec_stvxl(vsc, 0, ¶m_sc); 4743// CHECK: @llvm.ppc.altivec.stvxl 4744// CHECK-LE: @llvm.ppc.altivec.stvxl 4745 4746 vec_stvxl(vuc, 0, &vuc); 4747// CHECK: @llvm.ppc.altivec.stvxl 4748// CHECK-LE: @llvm.ppc.altivec.stvxl 4749 4750 vec_stvxl(vuc, 0, ¶m_uc); 4751// CHECK: @llvm.ppc.altivec.stvxl 4752// CHECK-LE: @llvm.ppc.altivec.stvxl 4753 4754 vec_stvxl(vbc, 0, ¶m_sc); 4755// CHECK: @llvm.ppc.altivec.stvxl 4756// CHECK-LE: @llvm.ppc.altivec.stvxl 4757 4758 vec_stvxl(vbc, 0, ¶m_uc); 4759// CHECK: @llvm.ppc.altivec.stvxl 4760// CHECK-LE: @llvm.ppc.altivec.stvxl 4761 4762 vec_stvxl(vbc, 0, &vbc); 4763// CHECK: @llvm.ppc.altivec.stvxl 4764// CHECK-LE: @llvm.ppc.altivec.stvxl 4765 4766 vec_stvxl(vs, 0, &vs); 4767// CHECK: @llvm.ppc.altivec.stvxl 4768// CHECK-LE: @llvm.ppc.altivec.stvxl 4769 4770 vec_stvxl(vs, 0, ¶m_s); 4771// CHECK: @llvm.ppc.altivec.stvxl 4772// CHECK-LE: @llvm.ppc.altivec.stvxl 4773 4774 vec_stvxl(vus, 0, &vus); 4775// CHECK: @llvm.ppc.altivec.stvxl 4776// CHECK-LE: @llvm.ppc.altivec.stvxl 4777 4778 vec_stvxl(vus, 0, ¶m_us); 4779// CHECK: @llvm.ppc.altivec.stvxl 4780// CHECK-LE: @llvm.ppc.altivec.stvxl 4781 4782 vec_stvxl(vbs, 0, ¶m_s); 4783// CHECK: @llvm.ppc.altivec.stvxl 4784// CHECK-LE: @llvm.ppc.altivec.stvxl 4785 4786 vec_stvxl(vbs, 0, ¶m_us); 4787// CHECK: @llvm.ppc.altivec.stvxl 4788// CHECK-LE: @llvm.ppc.altivec.stvxl 4789 4790 vec_stvxl(vbs, 0, &vbs); 4791// CHECK: @llvm.ppc.altivec.stvxl 4792// CHECK-LE: @llvm.ppc.altivec.stvxl 4793 4794 vec_stvxl(vp, 0, ¶m_s); 4795// CHECK: @llvm.ppc.altivec.stvxl 4796// CHECK-LE: @llvm.ppc.altivec.stvxl 4797 4798 vec_stvxl(vp, 0, ¶m_us); 4799// CHECK: @llvm.ppc.altivec.stvxl 4800// CHECK-LE: @llvm.ppc.altivec.stvxl 4801 4802 vec_stvxl(vp, 0, &vp); 4803// CHECK: @llvm.ppc.altivec.stvxl 4804// CHECK-LE: @llvm.ppc.altivec.stvxl 4805 4806 vec_stvxl(vi, 0, &vi); 4807// CHECK: @llvm.ppc.altivec.stvxl 4808// CHECK-LE: @llvm.ppc.altivec.stvxl 4809 4810 vec_stvxl(vi, 0, ¶m_i); 4811// CHECK: @llvm.ppc.altivec.stvxl 4812// CHECK-LE: @llvm.ppc.altivec.stvxl 4813 4814 vec_stvxl(vui, 0, &vui); 4815// CHECK: @llvm.ppc.altivec.stvxl 4816// CHECK-LE: @llvm.ppc.altivec.stvxl 4817 4818 vec_stvxl(vui, 0, ¶m_ui); 4819// CHECK: @llvm.ppc.altivec.stvxl 4820// CHECK-LE: @llvm.ppc.altivec.stvxl 4821 4822 vec_stvxl(vbi, 0, ¶m_i); 4823// CHECK: @llvm.ppc.altivec.stvxl 4824// CHECK-LE: @llvm.ppc.altivec.stvxl 4825 4826 vec_stvxl(vbi, 0, ¶m_ui); 4827// CHECK: @llvm.ppc.altivec.stvxl 4828// CHECK-LE: @llvm.ppc.altivec.stvxl 4829 4830 vec_stvxl(vbi, 0, &vbi); 4831// CHECK: @llvm.ppc.altivec.stvxl 4832// CHECK-LE: @llvm.ppc.altivec.stvxl 4833 4834 vec_stvxl(vf, 0, &vf); 4835// CHECK: @llvm.ppc.altivec.stvxl 4836// CHECK-LE: @llvm.ppc.altivec.stvxl 4837 4838 vec_stvxl(vf, 0, ¶m_f); 4839// CHECK: @llvm.ppc.altivec.stvxl 4840// CHECK-LE: @llvm.ppc.altivec.stvxl 4841 4842 /* vec_sub */ 4843 res_vsc = vec_sub(vsc, vsc); 4844// CHECK: sub <16 x i8> 4845// CHECK-LE: sub <16 x i8> 4846 4847 res_vsc = vec_sub(vbc, vsc); 4848// CHECK: sub <16 x i8> 4849// CHECK-LE: sub <16 x i8> 4850 4851 res_vsc = vec_sub(vsc, vbc); 4852// CHECK: sub <16 x i8> 4853// CHECK-LE: sub <16 x i8> 4854 4855 res_vuc = vec_sub(vuc, vuc); 4856// CHECK: sub <16 x i8> 4857// CHECK-LE: sub <16 x i8> 4858 4859 res_vuc = vec_sub(vbc, vuc); 4860// CHECK: sub <16 x i8> 4861// CHECK-LE: sub <16 x i8> 4862 4863 res_vuc = vec_sub(vuc, vbc); 4864// CHECK: sub <16 x i8> 4865// CHECK-LE: sub <16 x i8> 4866 4867 res_vs = vec_sub(vs, vs); 4868// CHECK: sub <8 x i16> 4869// CHECK-LE: sub <8 x i16> 4870 4871 res_vs = vec_sub(vbs, vs); 4872// CHECK: sub <8 x i16> 4873// CHECK-LE: sub <8 x i16> 4874 4875 res_vs = vec_sub(vs, vbs); 4876// CHECK: sub <8 x i16> 4877// CHECK-LE: sub <8 x i16> 4878 4879 res_vus = vec_sub(vus, vus); 4880// CHECK: sub <8 x i16> 4881// CHECK-LE: sub <8 x i16> 4882 4883 res_vus = vec_sub(vbs, vus); 4884// CHECK: sub <8 x i16> 4885// CHECK-LE: sub <8 x i16> 4886 4887 res_vus = vec_sub(vus, vbs); 4888// CHECK: sub <8 x i16> 4889// CHECK-LE: sub <8 x i16> 4890 4891 res_vi = vec_sub(vi, vi); 4892// CHECK: sub <4 x i32> 4893// CHECK-LE: sub <4 x i32> 4894 4895 res_vi = vec_sub(vbi, vi); 4896// CHECK: sub <4 x i32> 4897// CHECK-LE: sub <4 x i32> 4898 4899 res_vi = vec_sub(vi, vbi); 4900// CHECK: sub <4 x i32> 4901// CHECK-LE: sub <4 x i32> 4902 4903 res_vui = vec_sub(vui, vui); 4904// CHECK: sub <4 x i32> 4905// CHECK-LE: sub <4 x i32> 4906 4907 res_vui = vec_sub(vbi, vui); 4908// CHECK: sub <4 x i32> 4909// CHECK-LE: sub <4 x i32> 4910 4911 res_vui = vec_sub(vui, vbi); 4912// CHECK: sub <4 x i32> 4913// CHECK-LE: sub <4 x i32> 4914 4915 res_vf = vec_sub(vf, vf); 4916// CHECK: fsub <4 x float> 4917// CHECK-LE: fsub <4 x float> 4918 4919 res_vsc = vec_vsububm(vsc, vsc); 4920// CHECK: sub <16 x i8> 4921// CHECK-LE: sub <16 x i8> 4922 4923 res_vsc = vec_vsububm(vbc, vsc); 4924// CHECK: sub <16 x i8> 4925// CHECK-LE: sub <16 x i8> 4926 4927 res_vsc = vec_vsububm(vsc, vbc); 4928// CHECK: sub <16 x i8> 4929// CHECK-LE: sub <16 x i8> 4930 4931 res_vuc = vec_vsububm(vuc, vuc); 4932// CHECK: sub <16 x i8> 4933// CHECK-LE: sub <16 x i8> 4934 4935 res_vuc = vec_vsububm(vbc, vuc); 4936// CHECK: sub <16 x i8> 4937// CHECK-LE: sub <16 x i8> 4938 4939 res_vuc = vec_vsububm(vuc, vbc); 4940// CHECK: sub <16 x i8> 4941// CHECK-LE: sub <16 x i8> 4942 4943 res_vs = vec_vsubuhm(vs, vs); 4944// CHECK: sub <8 x i16> 4945// CHECK-LE: sub <8 x i16> 4946 4947 res_vs = vec_vsubuhm(vbs, vus); 4948// CHECK: sub <8 x i16> 4949// CHECK-LE: sub <8 x i16> 4950 4951 res_vs = vec_vsubuhm(vus, vbs); 4952// CHECK: sub <8 x i16> 4953// CHECK-LE: sub <8 x i16> 4954 4955 res_vus = vec_vsubuhm(vus, vus); 4956// CHECK: sub <8 x i16> 4957// CHECK-LE: sub <8 x i16> 4958 4959 res_vus = vec_vsubuhm(vbs, vus); 4960// CHECK: sub <8 x i16> 4961// CHECK-LE: sub <8 x i16> 4962 4963 res_vus = vec_vsubuhm(vus, vbs); 4964// CHECK: sub <8 x i16> 4965// CHECK-LE: sub <8 x i16> 4966 4967 res_vi = vec_vsubuwm(vi, vi); 4968// CHECK: sub <4 x i32> 4969// CHECK-LE: sub <4 x i32> 4970 4971 res_vi = vec_vsubuwm(vbi, vi); 4972// CHECK: sub <4 x i32> 4973// CHECK-LE: sub <4 x i32> 4974 4975 res_vi = vec_vsubuwm(vi, vbi); 4976// CHECK: sub <4 x i32> 4977// CHECK-LE: sub <4 x i32> 4978 4979 res_vui = vec_vsubuwm(vui, vui); 4980// CHECK: sub <4 x i32> 4981// CHECK-LE: sub <4 x i32> 4982 4983 res_vui = vec_vsubuwm(vbi, vui); 4984// CHECK: sub <4 x i32> 4985// CHECK-LE: sub <4 x i32> 4986 4987 res_vui = vec_vsubuwm(vui, vbi); 4988// CHECK: sub <4 x i32> 4989// CHECK-LE: sub <4 x i32> 4990 4991 res_vf = vec_vsubfp(vf, vf); 4992// CHECK: fsub <4 x float> 4993// CHECK-LE: fsub <4 x float> 4994 4995 /* vec_subc */ 4996 res_vui = vec_subc(vui, vui); 4997// CHECK: @llvm.ppc.altivec.vsubcuw 4998// CHECK-LE: @llvm.ppc.altivec.vsubcuw 4999 5000 res_vui = vec_vsubcuw(vui, vui); 5001// CHECK: @llvm.ppc.altivec.vsubcuw 5002// CHECK-LE: @llvm.ppc.altivec.vsubcuw 5003 5004 /* vec_subs */ 5005 res_vsc = vec_subs(vsc, vsc); 5006// CHECK: @llvm.ppc.altivec.vsubsbs 5007// CHECK-LE: @llvm.ppc.altivec.vsubsbs 5008 5009 res_vsc = vec_subs(vbc, vsc); 5010// CHECK: @llvm.ppc.altivec.vsubsbs 5011// CHECK-LE: @llvm.ppc.altivec.vsubsbs 5012 5013 res_vsc = vec_subs(vsc, vbc); 5014// CHECK: @llvm.ppc.altivec.vsubsbs 5015// CHECK-LE: @llvm.ppc.altivec.vsubsbs 5016 5017 res_vuc = vec_subs(vuc, vuc); 5018// CHECK: @llvm.ppc.altivec.vsububs 5019// CHECK-LE: @llvm.ppc.altivec.vsububs 5020 5021 res_vuc = vec_subs(vbc, vuc); 5022// CHECK: @llvm.ppc.altivec.vsububs 5023// CHECK-LE: @llvm.ppc.altivec.vsububs 5024 5025 res_vuc = vec_subs(vuc, vbc); 5026// CHECK: @llvm.ppc.altivec.vsububs 5027// CHECK-LE: @llvm.ppc.altivec.vsububs 5028 5029 res_vs = vec_subs(vs, vs); 5030// CHECK: @llvm.ppc.altivec.vsubshs 5031// CHECK-LE: @llvm.ppc.altivec.vsubshs 5032 5033 res_vs = vec_subs(vbs, vs); 5034// CHECK: @llvm.ppc.altivec.vsubshs 5035// CHECK-LE: @llvm.ppc.altivec.vsubshs 5036 5037 res_vs = vec_subs(vs, vbs); 5038// CHECK: @llvm.ppc.altivec.vsubshs 5039// CHECK-LE: @llvm.ppc.altivec.vsubshs 5040 5041 res_vus = vec_subs(vus, vus); 5042// CHECK: @llvm.ppc.altivec.vsubuhs 5043// CHECK-LE: @llvm.ppc.altivec.vsubuhs 5044 5045 res_vus = vec_subs(vbs, vus); 5046// CHECK: @llvm.ppc.altivec.vsubuhs 5047// CHECK-LE: @llvm.ppc.altivec.vsubuhs 5048 5049 res_vus = vec_subs(vus, vbs); 5050// CHECK: @llvm.ppc.altivec.vsubuhs 5051// CHECK-LE: @llvm.ppc.altivec.vsubuhs 5052 5053 res_vi = vec_subs(vi, vi); 5054// CHECK: @llvm.ppc.altivec.vsubsws 5055// CHECK-LE: @llvm.ppc.altivec.vsubsws 5056 5057 res_vi = vec_subs(vbi, vi); 5058// CHECK: @llvm.ppc.altivec.vsubsws 5059// CHECK-LE: @llvm.ppc.altivec.vsubsws 5060 5061 res_vi = vec_subs(vi, vbi); 5062// CHECK: @llvm.ppc.altivec.vsubsws 5063// CHECK-LE: @llvm.ppc.altivec.vsubsws 5064 5065 res_vui = vec_subs(vui, vui); 5066// CHECK: @llvm.ppc.altivec.vsubuws 5067// CHECK-LE: @llvm.ppc.altivec.vsubuws 5068 5069 res_vui = vec_subs(vbi, vui); 5070// CHECK: @llvm.ppc.altivec.vsubuws 5071// CHECK-LE: @llvm.ppc.altivec.vsubuws 5072 5073 res_vui = vec_subs(vui, vbi); 5074// CHECK: @llvm.ppc.altivec.vsubuws 5075// CHECK-LE: @llvm.ppc.altivec.vsubuws 5076 5077 res_vsc = vec_vsubsbs(vsc, vsc); 5078// CHECK: @llvm.ppc.altivec.vsubsbs 5079// CHECK-LE: @llvm.ppc.altivec.vsubsbs 5080 5081 res_vsc = vec_vsubsbs(vbc, vsc); 5082// CHECK: @llvm.ppc.altivec.vsubsbs 5083// CHECK-LE: @llvm.ppc.altivec.vsubsbs 5084 5085 res_vsc = vec_vsubsbs(vsc, vbc); 5086// CHECK: @llvm.ppc.altivec.vsubsbs 5087// CHECK-LE: @llvm.ppc.altivec.vsubsbs 5088 5089 res_vuc = vec_vsububs(vuc, vuc); 5090// CHECK: @llvm.ppc.altivec.vsububs 5091// CHECK-LE: @llvm.ppc.altivec.vsububs 5092 5093 res_vuc = vec_vsububs(vbc, vuc); 5094// CHECK: @llvm.ppc.altivec.vsububs 5095// CHECK-LE: @llvm.ppc.altivec.vsububs 5096 5097 res_vuc = vec_vsububs(vuc, vbc); 5098// CHECK: @llvm.ppc.altivec.vsububs 5099// CHECK-LE: @llvm.ppc.altivec.vsububs 5100 5101 res_vs = vec_vsubshs(vs, vs); 5102// CHECK: @llvm.ppc.altivec.vsubshs 5103// CHECK-LE: @llvm.ppc.altivec.vsubshs 5104 5105 res_vs = vec_vsubshs(vbs, vs); 5106// CHECK: @llvm.ppc.altivec.vsubshs 5107// CHECK-LE: @llvm.ppc.altivec.vsubshs 5108 5109 res_vs = vec_vsubshs(vs, vbs); 5110// CHECK: @llvm.ppc.altivec.vsubshs 5111// CHECK-LE: @llvm.ppc.altivec.vsubshs 5112 5113 res_vus = vec_vsubuhs(vus, vus); 5114// CHECK: @llvm.ppc.altivec.vsubuhs 5115// CHECK-LE: @llvm.ppc.altivec.vsubuhs 5116 5117 res_vus = vec_vsubuhs(vbs, vus); 5118// CHECK: @llvm.ppc.altivec.vsubuhs 5119// CHECK-LE: @llvm.ppc.altivec.vsubuhs 5120 5121 res_vus = vec_vsubuhs(vus, vbs); 5122// CHECK: @llvm.ppc.altivec.vsubuhs 5123// CHECK-LE: @llvm.ppc.altivec.vsubuhs 5124 5125 res_vi = vec_vsubsws(vi, vi); 5126// CHECK: @llvm.ppc.altivec.vsubsws 5127// CHECK-LE: @llvm.ppc.altivec.vsubsws 5128 5129 res_vi = vec_vsubsws(vbi, vi); 5130// CHECK: @llvm.ppc.altivec.vsubsws 5131// CHECK-LE: @llvm.ppc.altivec.vsubsws 5132 5133 res_vi = vec_vsubsws(vi, vbi); 5134// CHECK: @llvm.ppc.altivec.vsubsws 5135// CHECK-LE: @llvm.ppc.altivec.vsubsws 5136 5137 res_vui = vec_vsubuws(vui, vui); 5138// CHECK: @llvm.ppc.altivec.vsubuws 5139// CHECK-LE: @llvm.ppc.altivec.vsubuws 5140 5141 res_vui = vec_vsubuws(vbi, vui); 5142// CHECK: @llvm.ppc.altivec.vsubuws 5143// CHECK-LE: @llvm.ppc.altivec.vsubuws 5144 5145 res_vui = vec_vsubuws(vui, vbi); 5146// CHECK: @llvm.ppc.altivec.vsubuws 5147// CHECK-LE: @llvm.ppc.altivec.vsubuws 5148 5149 /* vec_sum4s */ 5150 res_vi = vec_sum4s(vsc, vi); 5151// CHECK: @llvm.ppc.altivec.vsum4sbs 5152// CHECK-LE: @llvm.ppc.altivec.vsum4sbs 5153 5154 res_vui = vec_sum4s(vuc, vui); 5155// CHECK: @llvm.ppc.altivec.vsum4ubs 5156// CHECK-LE: @llvm.ppc.altivec.vsum4ubs 5157 5158 res_vi = vec_sum4s(vs, vi); 5159// CHECK: @llvm.ppc.altivec.vsum4shs 5160// CHECK-LE: @llvm.ppc.altivec.vsum4shs 5161 5162 res_vi = vec_vsum4sbs(vsc, vi); 5163// CHECK: @llvm.ppc.altivec.vsum4sbs 5164// CHECK-LE: @llvm.ppc.altivec.vsum4sbs 5165 5166 res_vui = vec_vsum4ubs(vuc, vui); 5167// CHECK: @llvm.ppc.altivec.vsum4ubs 5168// CHECK-LE: @llvm.ppc.altivec.vsum4ubs 5169 5170 res_vi = vec_vsum4shs(vs, vi); 5171// CHECK: @llvm.ppc.altivec.vsum4shs 5172// CHECK-LE: @llvm.ppc.altivec.vsum4shs 5173 5174 /* vec_sum2s */ 5175 res_vi = vec_sum2s(vi, vi); 5176// CHECK: @llvm.ppc.altivec.vsum2sws 5177// CHECK-LE: @llvm.ppc.altivec.vperm 5178// CHECK-LE: @llvm.ppc.altivec.vsum2sws 5179// CHECK-LE: @llvm.ppc.altivec.vperm 5180 5181 res_vi = vec_vsum2sws(vi, vi); 5182// CHECK: @llvm.ppc.altivec.vsum2sws 5183// CHECK-LE: @llvm.ppc.altivec.vperm 5184// CHECK-LE: @llvm.ppc.altivec.vsum2sws 5185// CHECK-LE: @llvm.ppc.altivec.vperm 5186 5187 /* vec_sums */ 5188 res_vi = vec_sums(vi, vi); 5189// CHECK: @llvm.ppc.altivec.vsumsws 5190// CHECK-LE: @llvm.ppc.altivec.vperm 5191// CHECK-LE: @llvm.ppc.altivec.vsumsws 5192// CHECK-LE: @llvm.ppc.altivec.vperm 5193 5194 res_vi = vec_vsumsws(vi, vi); 5195// CHECK: @llvm.ppc.altivec.vsumsws 5196// CHECK-LE: @llvm.ppc.altivec.vperm 5197// CHECK-LE: @llvm.ppc.altivec.vsumsws 5198// CHECK-LE: @llvm.ppc.altivec.vperm 5199 5200 /* vec_trunc */ 5201 res_vf = vec_trunc(vf); 5202// CHECK: @llvm.ppc.altivec.vrfiz 5203// CHECK-LE: @llvm.ppc.altivec.vrfiz 5204 5205 res_vf = vec_vrfiz(vf); 5206// CHECK: @llvm.ppc.altivec.vrfiz 5207// CHECK-LE: @llvm.ppc.altivec.vrfiz 5208 5209 /* vec_unpackh */ 5210 res_vs = vec_unpackh(vsc); 5211// CHECK: @llvm.ppc.altivec.vupkhsb 5212// CHECK-LE: @llvm.ppc.altivec.vupklsb 5213 5214 res_vbs = vec_unpackh(vbc); 5215// CHECK: @llvm.ppc.altivec.vupkhsb 5216// CHECK-LE: @llvm.ppc.altivec.vupklsb 5217 5218 res_vi = vec_unpackh(vs); 5219// CHECK: @llvm.ppc.altivec.vupkhsh 5220// CHECK-LE: @llvm.ppc.altivec.vupklsh 5221 5222 res_vbi = vec_unpackh(vbs); 5223// CHECK: @llvm.ppc.altivec.vupkhsh 5224// CHECK-LE: @llvm.ppc.altivec.vupklsh 5225 5226 res_vui = vec_unpackh(vp); 5227// CHECK: @llvm.ppc.altivec.vupkhpx 5228// CHECK-LE: @llvm.ppc.altivec.vupklpx 5229 5230 res_vs = vec_vupkhsb(vsc); 5231// CHECK: @llvm.ppc.altivec.vupkhsb 5232// CHECK-LE: @llvm.ppc.altivec.vupklsb 5233 5234 res_vbs = vec_vupkhsb(vbc); 5235// CHECK: @llvm.ppc.altivec.vupkhsb 5236// CHECK-LE: @llvm.ppc.altivec.vupklsb 5237 5238 res_vi = vec_vupkhsh(vs); 5239// CHECK: @llvm.ppc.altivec.vupkhsh 5240// CHECK-LE: @llvm.ppc.altivec.vupklsh 5241 5242 res_vbi = vec_vupkhsh(vbs); 5243// CHECK: @llvm.ppc.altivec.vupkhsh 5244// CHECK-LE: @llvm.ppc.altivec.vupklsh 5245 5246 res_vui = vec_vupkhsh(vp); 5247// CHECK: @llvm.ppc.altivec.vupkhpx 5248// CHECK-LE: @llvm.ppc.altivec.vupklpx 5249 5250 /* vec_unpackl */ 5251 res_vs = vec_unpackl(vsc); 5252// CHECK: @llvm.ppc.altivec.vupklsb 5253// CHECK-LE: @llvm.ppc.altivec.vupkhsb 5254 5255 res_vbs = vec_unpackl(vbc); 5256// CHECK: @llvm.ppc.altivec.vupklsb 5257// CHECK-LE: @llvm.ppc.altivec.vupkhsb 5258 5259 res_vi = vec_unpackl(vs); 5260// CHECK: @llvm.ppc.altivec.vupklsh 5261// CHECK-LE: @llvm.ppc.altivec.vupkhsh 5262 5263 res_vbi = vec_unpackl(vbs); 5264// CHECK: @llvm.ppc.altivec.vupklsh 5265// CHECK-LE: @llvm.ppc.altivec.vupkhsh 5266 5267 res_vui = vec_unpackl(vp); 5268// CHECK: @llvm.ppc.altivec.vupklpx 5269// CHECK-LE: @llvm.ppc.altivec.vupkhpx 5270 5271 res_vs = vec_vupklsb(vsc); 5272// CHECK: @llvm.ppc.altivec.vupklsb 5273// CHECK-LE: @llvm.ppc.altivec.vupkhsb 5274 5275 res_vbs = vec_vupklsb(vbc); 5276// CHECK: @llvm.ppc.altivec.vupklsb 5277// CHECK-LE: @llvm.ppc.altivec.vupkhsb 5278 5279 res_vi = vec_vupklsh(vs); 5280// CHECK: @llvm.ppc.altivec.vupklsh 5281// CHECK-LE: @llvm.ppc.altivec.vupkhsh 5282 5283 res_vbi = vec_vupklsh(vbs); 5284// CHECK: @llvm.ppc.altivec.vupklsh 5285// CHECK-LE: @llvm.ppc.altivec.vupkhsh 5286 5287 res_vui = vec_vupklsh(vp); 5288// CHECK: @llvm.ppc.altivec.vupklpx 5289// CHECK-LE: @llvm.ppc.altivec.vupkhpx 5290 5291 /* vec_xor */ 5292 res_vsc = vec_xor(vsc, vsc); 5293// CHECK: xor <16 x i8> 5294// CHECK-LE: xor <16 x i8> 5295 5296 res_vsc = vec_xor(vbc, vsc); 5297// CHECK: xor <16 x i8> 5298// CHECK-LE: xor <16 x i8> 5299 5300 res_vsc = vec_xor(vsc, vbc); 5301// CHECK: xor <16 x i8> 5302// CHECK-LE: xor <16 x i8> 5303 5304 res_vuc = vec_xor(vuc, vuc); 5305// CHECK: xor <16 x i8> 5306// CHECK-LE: xor <16 x i8> 5307 5308 res_vuc = vec_xor(vbc, vuc); 5309// CHECK: xor <16 x i8> 5310// CHECK-LE: xor <16 x i8> 5311 5312 res_vuc = vec_xor(vuc, vbc); 5313// CHECK: xor <16 x i8> 5314// CHECK-LE: xor <16 x i8> 5315 5316 res_vbc = vec_xor(vbc, vbc); 5317// CHECK: xor <16 x i8> 5318// CHECK-LE: xor <16 x i8> 5319 5320 res_vs = vec_xor(vs, vs); 5321// CHECK: xor <8 x i16> 5322// CHECK-LE: xor <8 x i16> 5323 5324 res_vs = vec_xor(vbs, vs); 5325// CHECK: xor <8 x i16> 5326// CHECK-LE: xor <8 x i16> 5327 5328 res_vs = vec_xor(vs, vbs); 5329// CHECK: xor <8 x i16> 5330// CHECK-LE: xor <8 x i16> 5331 5332 res_vus = vec_xor(vus, vus); 5333// CHECK: xor <8 x i16> 5334// CHECK-LE: xor <8 x i16> 5335 5336 res_vus = vec_xor(vbs, vus); 5337// CHECK: xor <8 x i16> 5338// CHECK-LE: xor <8 x i16> 5339 5340 res_vus = vec_xor(vus, vbs); 5341// CHECK: xor <8 x i16> 5342// CHECK-LE: xor <8 x i16> 5343 5344 res_vbs = vec_xor(vbs, vbs); 5345// CHECK: xor <8 x i16> 5346// CHECK-LE: xor <8 x i16> 5347 5348 res_vi = vec_xor(vi, vi); 5349// CHECK: xor <4 x i32> 5350// CHECK-LE: xor <4 x i32> 5351 5352 res_vi = vec_xor(vbi, vi); 5353// CHECK: xor <4 x i32> 5354// CHECK-LE: xor <4 x i32> 5355 5356 res_vi = vec_xor(vi, vbi); 5357// CHECK: xor <4 x i32> 5358// CHECK-LE: xor <4 x i32> 5359 5360 res_vui = vec_xor(vui, vui); 5361// CHECK: xor <4 x i32> 5362// CHECK-LE: xor <4 x i32> 5363 5364 res_vui = vec_xor(vbi, vui); 5365// CHECK: xor <4 x i32> 5366// CHECK-LE: xor <4 x i32> 5367 5368 res_vui = vec_xor(vui, vbi); 5369// CHECK: xor <4 x i32> 5370// CHECK-LE: xor <4 x i32> 5371 5372 res_vbi = vec_xor(vbi, vbi); 5373// CHECK: xor <4 x i32> 5374// CHECK-LE: xor <4 x i32> 5375 5376 res_vf = vec_xor(vf, vf); 5377// CHECK: xor <4 x i32> 5378// CHECK-LE: xor <4 x i32> 5379 5380 res_vf = vec_xor(vbi, vf); 5381// CHECK: xor <4 x i32> 5382// CHECK-LE: xor <4 x i32> 5383 5384 res_vf = vec_xor(vf, vbi); 5385// CHECK: xor <4 x i32> 5386// CHECK-LE: xor <4 x i32> 5387 5388 res_vsc = vec_vxor(vsc, vsc); 5389// CHECK: xor <16 x i8> 5390// CHECK-LE: xor <16 x i8> 5391 5392 res_vsc = vec_vxor(vbc, vsc); 5393// CHECK: xor <16 x i8> 5394// CHECK-LE: xor <16 x i8> 5395 5396 res_vsc = vec_vxor(vsc, vbc); 5397// CHECK: xor <16 x i8> 5398// CHECK-LE: xor <16 x i8> 5399 5400 res_vuc = vec_vxor(vuc, vuc); 5401// CHECK: xor <16 x i8> 5402// CHECK-LE: xor <16 x i8> 5403 5404 res_vuc = vec_vxor(vbc, vuc); 5405// CHECK: xor <16 x i8> 5406// CHECK-LE: xor <16 x i8> 5407 5408 res_vuc = vec_vxor(vuc, vbc); 5409// CHECK: xor <16 x i8> 5410// CHECK-LE: xor <16 x i8> 5411 5412 res_vbc = vec_vxor(vbc, vbc); 5413// CHECK: xor <16 x i8> 5414// CHECK-LE: xor <16 x i8> 5415 5416 res_vs = vec_vxor(vs, vs); 5417// CHECK: xor <8 x i16> 5418// CHECK-LE: xor <8 x i16> 5419 5420 res_vs = vec_vxor(vbs, vs); 5421// CHECK: xor <8 x i16> 5422// CHECK-LE: xor <8 x i16> 5423 5424 res_vs = vec_vxor(vs, vbs); 5425// CHECK: xor <8 x i16> 5426// CHECK-LE: xor <8 x i16> 5427 5428 res_vus = vec_vxor(vus, vus); 5429// CHECK: xor <8 x i16> 5430// CHECK-LE: xor <8 x i16> 5431 5432 res_vus = vec_vxor(vbs, vus); 5433// CHECK: xor <8 x i16> 5434// CHECK-LE: xor <8 x i16> 5435 5436 res_vus = vec_vxor(vus, vbs); 5437// CHECK: xor <8 x i16> 5438// CHECK-LE: xor <8 x i16> 5439 5440 res_vbs = vec_vxor(vbs, vbs); 5441// CHECK: xor <8 x i16> 5442// CHECK-LE: xor <8 x i16> 5443 5444 res_vi = vec_vxor(vi, vi); 5445// CHECK: xor <4 x i32> 5446// CHECK-LE: xor <4 x i32> 5447 5448 res_vi = vec_vxor(vbi, vi); 5449// CHECK: xor <4 x i32> 5450// CHECK-LE: xor <4 x i32> 5451 5452 res_vi = vec_vxor(vi, vbi); 5453// CHECK: xor <4 x i32> 5454// CHECK-LE: xor <4 x i32> 5455 5456 res_vui = vec_vxor(vui, vui); 5457// CHECK: xor <4 x i32> 5458// CHECK-LE: xor <4 x i32> 5459 5460 res_vui = vec_vxor(vbi, vui); 5461// CHECK: xor <4 x i32> 5462// CHECK-LE: xor <4 x i32> 5463 5464 res_vui = vec_vxor(vui, vbi); 5465// CHECK: xor <4 x i32> 5466// CHECK-LE: xor <4 x i32> 5467 5468 res_vbi = vec_vxor(vbi, vbi); 5469// CHECK: xor <4 x i32> 5470// CHECK-LE: xor <4 x i32> 5471 5472 res_vf = vec_vxor(vf, vf); 5473// CHECK: xor <4 x i32> 5474// CHECK-LE: xor <4 x i32> 5475 5476 res_vf = vec_vxor(vbi, vf); 5477// CHECK: xor <4 x i32> 5478// CHECK-LE: xor <4 x i32> 5479 5480 res_vf = vec_vxor(vf, vbi); 5481// CHECK: xor <4 x i32> 5482// CHECK-LE: xor <4 x i32> 5483 5484 /* ------------------------------ extensions -------------------------------------- */ 5485 5486 /* vec_extract */ 5487 res_sc = vec_extract(vsc, param_i); 5488// CHECK: extractelement <16 x i8> 5489// CHECK-LE: extractelement <16 x i8> 5490 5491 res_uc = vec_extract(vuc, param_i); 5492// CHECK: extractelement <16 x i8> 5493// CHECK-LE: extractelement <16 x i8> 5494 5495 res_s = vec_extract(vs, param_i); 5496// CHECK: extractelement <8 x i16> 5497// CHECK-LE: extractelement <8 x i16> 5498 5499 res_us = vec_extract(vus, param_i); 5500// CHECK: extractelement <8 x i16> 5501// CHECK-LE: extractelement <8 x i16> 5502 5503 res_i = vec_extract(vi, param_i); 5504// CHECK: extractelement <4 x i32> 5505// CHECK-LE: extractelement <4 x i32> 5506 5507 res_ui = vec_extract(vui, param_i); 5508// CHECK: extractelement <4 x i32> 5509// CHECK-LE: extractelement <4 x i32> 5510 5511 res_f = vec_extract(vf, param_i); 5512// CHECK: extractelement <4 x float> 5513// CHECK-LE: extractelement <4 x float> 5514 5515 /* vec_insert */ 5516 res_vsc = vec_insert(param_sc, vsc, param_i); 5517// CHECK: insertelement <16 x i8> 5518// CHECK-LE: insertelement <16 x i8> 5519 5520 res_vuc = vec_insert(param_uc, vuc, param_i); 5521// CHECK: insertelement <16 x i8> 5522// CHECK-LE: insertelement <16 x i8> 5523 5524 res_vs = vec_insert(param_s, vs, param_i); 5525// CHECK: insertelement <8 x i16> 5526// CHECK-LE: insertelement <8 x i16> 5527 5528 res_vus = vec_insert(param_us, vus, param_i); 5529// CHECK: insertelement <8 x i16> 5530// CHECK-LE: insertelement <8 x i16> 5531 5532 res_vi = vec_insert(param_i, vi, param_i); 5533// CHECK: insertelement <4 x i32> 5534// CHECK-LE: insertelement <4 x i32> 5535 5536 res_vui = vec_insert(param_ui, vui, param_i); 5537// CHECK: insertelement <4 x i32> 5538// CHECK-LE: insertelement <4 x i32> 5539 5540 res_vf = vec_insert(param_f, vf, param_i); 5541// CHECK: insertelement <4 x float> 5542// CHECK-LE: insertelement <4 x float> 5543 5544 /* vec_lvlx */ 5545 res_vsc = vec_lvlx(0, ¶m_sc); 5546// CHECK: @llvm.ppc.altivec.lvx 5547// CHECK: @llvm.ppc.altivec.lvsl 5548// CHECK: store <16 x i8> zeroinitializer 5549// CHECK: @llvm.ppc.altivec.vperm 5550// CHECK-LE: @llvm.ppc.altivec.lvx 5551// CHECK-LE: @llvm.ppc.altivec.lvsl 5552// CHECK-LE: store <16 x i8> zeroinitializer 5553// CHECK-LE: @llvm.ppc.altivec.vperm 5554 5555 res_vsc = vec_lvlx(0, &vsc); 5556// CHECK: @llvm.ppc.altivec.lvx 5557// CHECK: @llvm.ppc.altivec.lvsl 5558// CHECK: store <16 x i8> zeroinitializer 5559// CHECK: @llvm.ppc.altivec.vperm 5560// CHECK-LE: @llvm.ppc.altivec.lvx 5561// CHECK-LE: @llvm.ppc.altivec.lvsl 5562// CHECK-LE: store <16 x i8> zeroinitializer 5563// CHECK-LE: @llvm.ppc.altivec.vperm 5564 5565 res_vuc = vec_lvlx(0, ¶m_uc); 5566// CHECK: @llvm.ppc.altivec.lvx 5567// CHECK: @llvm.ppc.altivec.lvsl 5568// CHECK: store <16 x i8> zeroinitializer 5569// CHECK: @llvm.ppc.altivec.vperm 5570// CHECK-LE: @llvm.ppc.altivec.lvx 5571// CHECK-LE: @llvm.ppc.altivec.lvsl 5572// CHECK-LE: store <16 x i8> zeroinitializer 5573// CHECK-LE: @llvm.ppc.altivec.vperm 5574 5575 res_vuc = vec_lvlx(0, &vuc); 5576// CHECK: @llvm.ppc.altivec.lvx 5577// CHECK: @llvm.ppc.altivec.lvsl 5578// CHECK: store <16 x i8> zeroinitializer 5579// CHECK: @llvm.ppc.altivec.vperm 5580// CHECK-LE: @llvm.ppc.altivec.lvx 5581// CHECK-LE: @llvm.ppc.altivec.lvsl 5582// CHECK-LE: store <16 x i8> zeroinitializer 5583// CHECK-LE: @llvm.ppc.altivec.vperm 5584 5585 res_vbc = vec_lvlx(0, &vbc); 5586// CHECK: @llvm.ppc.altivec.lvx 5587// CHECK: store <16 x i8> zeroinitializer 5588// CHECK: @llvm.ppc.altivec.lvsl 5589// CHECK: @llvm.ppc.altivec.vperm 5590// CHECK-LE: @llvm.ppc.altivec.lvx 5591// CHECK-LE: store <16 x i8> zeroinitializer 5592// CHECK-LE: @llvm.ppc.altivec.lvsl 5593// CHECK-LE: @llvm.ppc.altivec.vperm 5594 5595 res_vs = vec_lvlx(0, ¶m_s); 5596// CHECK: @llvm.ppc.altivec.lvx 5597// CHECK: @llvm.ppc.altivec.lvsl 5598// CHECK: store <8 x i16> zeroinitializer 5599// CHECK: @llvm.ppc.altivec.vperm 5600// CHECK-LE: @llvm.ppc.altivec.lvx 5601// CHECK-LE: @llvm.ppc.altivec.lvsl 5602// CHECK-LE: store <8 x i16> zeroinitializer 5603// CHECK-LE: @llvm.ppc.altivec.vperm 5604 5605 res_vs = vec_lvlx(0, &vs); 5606// CHECK: @llvm.ppc.altivec.lvx 5607// CHECK: @llvm.ppc.altivec.lvsl 5608// CHECK: store <8 x i16> zeroinitializer 5609// CHECK: @llvm.ppc.altivec.vperm 5610// CHECK-LE: @llvm.ppc.altivec.lvx 5611// CHECK-LE: @llvm.ppc.altivec.lvsl 5612// CHECK-LE: store <8 x i16> zeroinitializer 5613// CHECK-LE: @llvm.ppc.altivec.vperm 5614 5615 res_vus = vec_lvlx(0, ¶m_us); 5616// CHECK: @llvm.ppc.altivec.lvx 5617// CHECK: @llvm.ppc.altivec.lvsl 5618// CHECK: store <8 x i16> zeroinitializer 5619// CHECK: @llvm.ppc.altivec.vperm 5620// CHECK-LE: @llvm.ppc.altivec.lvx 5621// CHECK-LE: @llvm.ppc.altivec.lvsl 5622// CHECK-LE: store <8 x i16> zeroinitializer 5623// CHECK-LE: @llvm.ppc.altivec.vperm 5624 5625 res_vus = vec_lvlx(0, &vus); 5626// CHECK: @llvm.ppc.altivec.lvx 5627// CHECK: @llvm.ppc.altivec.lvsl 5628// CHECK: store <8 x i16> zeroinitializer 5629// CHECK: @llvm.ppc.altivec.vperm 5630// CHECK-LE: @llvm.ppc.altivec.lvx 5631// CHECK-LE: @llvm.ppc.altivec.lvsl 5632// CHECK-LE: store <8 x i16> zeroinitializer 5633// CHECK-LE: @llvm.ppc.altivec.vperm 5634 5635 res_vbs = vec_lvlx(0, &vbs); 5636// CHECK: @llvm.ppc.altivec.lvx 5637// CHECK: store <8 x i16> zeroinitializer 5638// CHECK: @llvm.ppc.altivec.lvsl 5639// CHECK: @llvm.ppc.altivec.vperm 5640// CHECK-LE: @llvm.ppc.altivec.lvx 5641// CHECK-LE: store <8 x i16> zeroinitializer 5642// CHECK-LE: @llvm.ppc.altivec.lvsl 5643// CHECK-LE: @llvm.ppc.altivec.vperm 5644 5645 res_vp = vec_lvlx(0, &vp); 5646// CHECK: @llvm.ppc.altivec.lvx 5647// CHECK: store <8 x i16> zeroinitializer 5648// CHECK: @llvm.ppc.altivec.lvsl 5649// CHECK: @llvm.ppc.altivec.vperm 5650// CHECK-LE: @llvm.ppc.altivec.lvx 5651// CHECK-LE: store <8 x i16> zeroinitializer 5652// CHECK-LE: @llvm.ppc.altivec.lvsl 5653// CHECK-LE: @llvm.ppc.altivec.vperm 5654 5655 res_vi = vec_lvlx(0, ¶m_i); 5656// CHECK: @llvm.ppc.altivec.lvx 5657// CHECK: @llvm.ppc.altivec.lvsl 5658// CHECK: store <4 x i32> zeroinitializer 5659// CHECK: @llvm.ppc.altivec.vperm 5660// CHECK-LE: @llvm.ppc.altivec.lvx 5661// CHECK-LE: @llvm.ppc.altivec.lvsl 5662// CHECK-LE: store <4 x i32> zeroinitializer 5663// CHECK-LE: @llvm.ppc.altivec.vperm 5664 5665 res_vi = vec_lvlx(0, &vi); 5666// CHECK: @llvm.ppc.altivec.lvx 5667// CHECK: @llvm.ppc.altivec.lvsl 5668// CHECK: store <4 x i32> zeroinitializer 5669// CHECK: @llvm.ppc.altivec.vperm 5670// CHECK-LE: @llvm.ppc.altivec.lvx 5671// CHECK-LE: @llvm.ppc.altivec.lvsl 5672// CHECK-LE: store <4 x i32> zeroinitializer 5673// CHECK-LE: @llvm.ppc.altivec.vperm 5674 5675 res_vui = vec_lvlx(0, ¶m_ui); 5676// CHECK: @llvm.ppc.altivec.lvx 5677// CHECK: @llvm.ppc.altivec.lvsl 5678// CHECK: store <4 x i32> zeroinitializer 5679// CHECK: @llvm.ppc.altivec.vperm 5680// CHECK-LE: @llvm.ppc.altivec.lvx 5681// CHECK-LE: @llvm.ppc.altivec.lvsl 5682// CHECK-LE: store <4 x i32> zeroinitializer 5683// CHECK-LE: @llvm.ppc.altivec.vperm 5684 5685 res_vui = vec_lvlx(0, &vui); 5686// CHECK: @llvm.ppc.altivec.lvx 5687// CHECK: @llvm.ppc.altivec.lvsl 5688// CHECK: store <4 x i32> zeroinitializer 5689// CHECK: @llvm.ppc.altivec.vperm 5690// CHECK-LE: @llvm.ppc.altivec.lvx 5691// CHECK-LE: @llvm.ppc.altivec.lvsl 5692// CHECK-LE: store <4 x i32> zeroinitializer 5693// CHECK-LE: @llvm.ppc.altivec.vperm 5694 5695 res_vbi = vec_lvlx(0, &vbi); 5696// CHECK: @llvm.ppc.altivec.lvx 5697// CHECK: store <4 x i32> zeroinitializer 5698// CHECK: @llvm.ppc.altivec.lvsl 5699// CHECK: @llvm.ppc.altivec.vperm 5700// CHECK-LE: @llvm.ppc.altivec.lvx 5701// CHECK-LE: store <4 x i32> zeroinitializer 5702// CHECK-LE: @llvm.ppc.altivec.lvsl 5703// CHECK-LE: @llvm.ppc.altivec.vperm 5704 5705 res_vf = vec_lvlx(0, &vf); 5706// CHECK: @llvm.ppc.altivec.lvx 5707// CHECK: @llvm.ppc.altivec.lvsl 5708// CHECK: store <4 x float> zeroinitializer 5709// CHECK: @llvm.ppc.altivec.vperm 5710// CHECK-LE: @llvm.ppc.altivec.lvx 5711// CHECK-LE: @llvm.ppc.altivec.lvsl 5712// CHECK-LE: store <4 x float> zeroinitializer 5713// CHECK-LE: @llvm.ppc.altivec.vperm 5714 5715 /* vec_lvlxl */ 5716 res_vsc = vec_lvlxl(0, ¶m_sc); 5717// CHECK: @llvm.ppc.altivec.lvxl 5718// CHECK: @llvm.ppc.altivec.lvsl 5719// CHECK: store <16 x i8> zeroinitializer 5720// CHECK: @llvm.ppc.altivec.vperm 5721// CHECK-LE: @llvm.ppc.altivec.lvxl 5722// CHECK-LE: @llvm.ppc.altivec.lvsl 5723// CHECK-LE: store <16 x i8> zeroinitializer 5724// CHECK-LE: @llvm.ppc.altivec.vperm 5725 5726 res_vsc = vec_lvlxl(0, &vsc); 5727// CHECK: @llvm.ppc.altivec.lvxl 5728// CHECK: @llvm.ppc.altivec.lvsl 5729// CHECK: store <16 x i8> zeroinitializer 5730// CHECK: @llvm.ppc.altivec.vperm 5731// CHECK-LE: @llvm.ppc.altivec.lvxl 5732// CHECK-LE: @llvm.ppc.altivec.lvsl 5733// CHECK-LE: store <16 x i8> zeroinitializer 5734// CHECK-LE: @llvm.ppc.altivec.vperm 5735 5736 res_vuc = vec_lvlxl(0, ¶m_uc); 5737// CHECK: @llvm.ppc.altivec.lvxl 5738// CHECK: @llvm.ppc.altivec.lvsl 5739// CHECK: store <16 x i8> zeroinitializer 5740// CHECK: @llvm.ppc.altivec.vperm 5741// CHECK-LE: @llvm.ppc.altivec.lvxl 5742// CHECK-LE: @llvm.ppc.altivec.lvsl 5743// CHECK-LE: store <16 x i8> zeroinitializer 5744// CHECK-LE: @llvm.ppc.altivec.vperm 5745 5746 res_vuc = vec_lvlxl(0, &vuc); 5747// CHECK: @llvm.ppc.altivec.lvxl 5748// CHECK: @llvm.ppc.altivec.lvsl 5749// CHECK: store <16 x i8> zeroinitializer 5750// CHECK: @llvm.ppc.altivec.vperm 5751// CHECK-LE: @llvm.ppc.altivec.lvxl 5752// CHECK-LE: @llvm.ppc.altivec.lvsl 5753// CHECK-LE: store <16 x i8> zeroinitializer 5754// CHECK-LE: @llvm.ppc.altivec.vperm 5755 5756 res_vbc = vec_lvlxl(0, &vbc); 5757// CHECK: @llvm.ppc.altivec.lvxl 5758// CHECK: store <16 x i8> zeroinitializer 5759// CHECK: @llvm.ppc.altivec.lvsl 5760// CHECK: @llvm.ppc.altivec.vperm 5761// CHECK-LE: @llvm.ppc.altivec.lvxl 5762// CHECK-LE: store <16 x i8> zeroinitializer 5763// CHECK-LE: @llvm.ppc.altivec.lvsl 5764// CHECK-LE: @llvm.ppc.altivec.vperm 5765 5766 res_vs = vec_lvlxl(0, ¶m_s); 5767// CHECK: @llvm.ppc.altivec.lvxl 5768// CHECK: @llvm.ppc.altivec.lvsl 5769// CHECK: store <8 x i16> zeroinitializer 5770// CHECK: @llvm.ppc.altivec.vperm 5771// CHECK-LE: @llvm.ppc.altivec.lvxl 5772// CHECK-LE: @llvm.ppc.altivec.lvsl 5773// CHECK-LE: store <8 x i16> zeroinitializer 5774// CHECK-LE: @llvm.ppc.altivec.vperm 5775 5776 res_vs = vec_lvlxl(0, &vs); 5777// CHECK: @llvm.ppc.altivec.lvxl 5778// CHECK: @llvm.ppc.altivec.lvsl 5779// CHECK: store <8 x i16> zeroinitializer 5780// CHECK: @llvm.ppc.altivec.vperm 5781// CHECK-LE: @llvm.ppc.altivec.lvxl 5782// CHECK-LE: @llvm.ppc.altivec.lvsl 5783// CHECK-LE: store <8 x i16> zeroinitializer 5784// CHECK-LE: @llvm.ppc.altivec.vperm 5785 5786 res_vus = vec_lvlxl(0, ¶m_us); 5787// CHECK: @llvm.ppc.altivec.lvxl 5788// CHECK: @llvm.ppc.altivec.lvsl 5789// CHECK: store <8 x i16> zeroinitializer 5790// CHECK: @llvm.ppc.altivec.vperm 5791// CHECK-LE: @llvm.ppc.altivec.lvxl 5792// CHECK-LE: @llvm.ppc.altivec.lvsl 5793// CHECK-LE: store <8 x i16> zeroinitializer 5794// CHECK-LE: @llvm.ppc.altivec.vperm 5795 5796 res_vus = vec_lvlxl(0, &vus); 5797// CHECK: @llvm.ppc.altivec.lvxl 5798// CHECK: @llvm.ppc.altivec.lvsl 5799// CHECK: store <8 x i16> zeroinitializer 5800// CHECK: @llvm.ppc.altivec.vperm 5801// CHECK-LE: @llvm.ppc.altivec.lvxl 5802// CHECK-LE: @llvm.ppc.altivec.lvsl 5803// CHECK-LE: store <8 x i16> zeroinitializer 5804// CHECK-LE: @llvm.ppc.altivec.vperm 5805 5806 res_vbs = vec_lvlxl(0, &vbs); 5807// CHECK: @llvm.ppc.altivec.lvxl 5808// CHECK: store <8 x i16> zeroinitializer 5809// CHECK: @llvm.ppc.altivec.lvsl 5810// CHECK: @llvm.ppc.altivec.vperm 5811// CHECK-LE: @llvm.ppc.altivec.lvxl 5812// CHECK-LE: store <8 x i16> zeroinitializer 5813// CHECK-LE: @llvm.ppc.altivec.lvsl 5814// CHECK-LE: @llvm.ppc.altivec.vperm 5815 5816 res_vp = vec_lvlxl(0, &vp); 5817// CHECK: @llvm.ppc.altivec.lvxl 5818// CHECK: store <8 x i16> zeroinitializer 5819// CHECK: @llvm.ppc.altivec.lvsl 5820// CHECK: @llvm.ppc.altivec.vperm 5821// CHECK-LE: @llvm.ppc.altivec.lvxl 5822// CHECK-LE: store <8 x i16> zeroinitializer 5823// CHECK-LE: @llvm.ppc.altivec.lvsl 5824// CHECK-LE: @llvm.ppc.altivec.vperm 5825 5826 res_vi = vec_lvlxl(0, ¶m_i); 5827// CHECK: @llvm.ppc.altivec.lvxl 5828// CHECK: @llvm.ppc.altivec.lvsl 5829// CHECK: store <4 x i32> zeroinitializer 5830// CHECK: @llvm.ppc.altivec.vperm 5831// CHECK-LE: @llvm.ppc.altivec.lvxl 5832// CHECK-LE: @llvm.ppc.altivec.lvsl 5833// CHECK-LE: store <4 x i32> zeroinitializer 5834// CHECK-LE: @llvm.ppc.altivec.vperm 5835 5836 res_vi = vec_lvlxl(0, &vi); 5837// CHECK: @llvm.ppc.altivec.lvxl 5838// CHECK: @llvm.ppc.altivec.lvsl 5839// CHECK: store <4 x i32> zeroinitializer 5840// CHECK: @llvm.ppc.altivec.vperm 5841// CHECK-LE: @llvm.ppc.altivec.lvxl 5842// CHECK-LE: @llvm.ppc.altivec.lvsl 5843// CHECK-LE: store <4 x i32> zeroinitializer 5844// CHECK-LE: @llvm.ppc.altivec.vperm 5845 5846 res_vui = vec_lvlxl(0, ¶m_ui); 5847// CHECK: @llvm.ppc.altivec.lvxl 5848// CHECK: @llvm.ppc.altivec.lvsl 5849// CHECK: store <4 x i32> zeroinitializer 5850// CHECK: @llvm.ppc.altivec.vperm 5851// CHECK-LE: @llvm.ppc.altivec.lvxl 5852// CHECK-LE: @llvm.ppc.altivec.lvsl 5853// CHECK-LE: store <4 x i32> zeroinitializer 5854// CHECK-LE: @llvm.ppc.altivec.vperm 5855 5856 res_vui = vec_lvlxl(0, &vui); 5857// CHECK: @llvm.ppc.altivec.lvxl 5858// CHECK: @llvm.ppc.altivec.lvsl 5859// CHECK: store <4 x i32> zeroinitializer 5860// CHECK: @llvm.ppc.altivec.vperm 5861// CHECK-LE: @llvm.ppc.altivec.lvxl 5862// CHECK-LE: @llvm.ppc.altivec.lvsl 5863// CHECK-LE: store <4 x i32> zeroinitializer 5864// CHECK-LE: @llvm.ppc.altivec.vperm 5865 5866 res_vbi = vec_lvlxl(0, &vbi); 5867// CHECK: @llvm.ppc.altivec.lvxl 5868// CHECK: store <4 x i32> zeroinitializer 5869// CHECK: @llvm.ppc.altivec.lvsl 5870// CHECK: @llvm.ppc.altivec.vperm 5871// CHECK-LE: @llvm.ppc.altivec.lvxl 5872// CHECK-LE: store <4 x i32> zeroinitializer 5873// CHECK-LE: @llvm.ppc.altivec.lvsl 5874// CHECK-LE: @llvm.ppc.altivec.vperm 5875 5876 res_vf = vec_lvlxl(0, &vf); 5877// CHECK: @llvm.ppc.altivec.lvxl 5878// CHECK: @llvm.ppc.altivec.lvsl 5879// CHECK: store <4 x float> zeroinitializer 5880// CHECK: @llvm.ppc.altivec.vperm 5881// CHECK-LE: @llvm.ppc.altivec.lvxl 5882// CHECK-LE: @llvm.ppc.altivec.lvsl 5883// CHECK-LE: store <4 x float> zeroinitializer 5884// CHECK-LE: @llvm.ppc.altivec.vperm 5885 5886 /* vec_lvrx */ 5887 res_vsc = vec_lvrx(0, ¶m_sc); 5888// CHECK: @llvm.ppc.altivec.lvx 5889// CHECK: @llvm.ppc.altivec.lvsl 5890// CHECK: store <16 x i8> zeroinitializer 5891// CHECK: @llvm.ppc.altivec.vperm 5892// CHECK-LE: @llvm.ppc.altivec.lvx 5893// CHECK-LE: @llvm.ppc.altivec.lvsl 5894// CHECK-LE: store <16 x i8> zeroinitializer 5895// CHECK-LE: @llvm.ppc.altivec.vperm 5896 5897 res_vsc = vec_lvrx(0, &vsc); 5898// CHECK: @llvm.ppc.altivec.lvx 5899// CHECK: @llvm.ppc.altivec.lvsl 5900// CHECK: store <16 x i8> zeroinitializer 5901// CHECK: @llvm.ppc.altivec.vperm 5902// CHECK-LE: @llvm.ppc.altivec.lvx 5903// CHECK-LE: @llvm.ppc.altivec.lvsl 5904// CHECK-LE: store <16 x i8> zeroinitializer 5905// CHECK-LE: @llvm.ppc.altivec.vperm 5906 5907 res_vuc = vec_lvrx(0, ¶m_uc); 5908// CHECK: @llvm.ppc.altivec.lvx 5909// CHECK: @llvm.ppc.altivec.lvsl 5910// CHECK: store <16 x i8> zeroinitializer 5911// CHECK: @llvm.ppc.altivec.vperm 5912// CHECK-LE: @llvm.ppc.altivec.lvx 5913// CHECK-LE: @llvm.ppc.altivec.lvsl 5914// CHECK-LE: store <16 x i8> zeroinitializer 5915// CHECK-LE: @llvm.ppc.altivec.vperm 5916 5917 res_vuc = vec_lvrx(0, &vuc); 5918// CHECK: @llvm.ppc.altivec.lvx 5919// CHECK: @llvm.ppc.altivec.lvsl 5920// CHECK: store <16 x i8> zeroinitializer 5921// CHECK: @llvm.ppc.altivec.vperm 5922// CHECK-LE: @llvm.ppc.altivec.lvx 5923// CHECK-LE: @llvm.ppc.altivec.lvsl 5924// CHECK-LE: store <16 x i8> zeroinitializer 5925// CHECK-LE: @llvm.ppc.altivec.vperm 5926 5927 res_vbc = vec_lvrx(0, &vbc); 5928// CHECK: store <16 x i8> zeroinitializer 5929// CHECK: @llvm.ppc.altivec.lvx 5930// CHECK: @llvm.ppc.altivec.lvsl 5931// CHECK: @llvm.ppc.altivec.vperm 5932// CHECK-LE: store <16 x i8> zeroinitializer 5933// CHECK-LE: @llvm.ppc.altivec.lvx 5934// CHECK-LE: @llvm.ppc.altivec.lvsl 5935// CHECK-LE: @llvm.ppc.altivec.vperm 5936 5937 res_vs = vec_lvrx(0, ¶m_s); 5938// CHECK: @llvm.ppc.altivec.lvx 5939// CHECK: @llvm.ppc.altivec.lvsl 5940// CHECK: store <8 x i16> zeroinitializer 5941// CHECK: @llvm.ppc.altivec.vperm 5942// CHECK-LE: @llvm.ppc.altivec.lvx 5943// CHECK-LE: @llvm.ppc.altivec.lvsl 5944// CHECK-LE: store <8 x i16> zeroinitializer 5945// CHECK-LE: @llvm.ppc.altivec.vperm 5946 5947 res_vs = vec_lvrx(0, &vs); 5948// CHECK: @llvm.ppc.altivec.lvx 5949// CHECK: @llvm.ppc.altivec.lvsl 5950// CHECK: store <8 x i16> zeroinitializer 5951// CHECK: @llvm.ppc.altivec.vperm 5952// CHECK-LE: @llvm.ppc.altivec.lvx 5953// CHECK-LE: @llvm.ppc.altivec.lvsl 5954// CHECK-LE: store <8 x i16> zeroinitializer 5955// CHECK-LE: @llvm.ppc.altivec.vperm 5956 5957 res_vus = vec_lvrx(0, ¶m_us); 5958// CHECK: @llvm.ppc.altivec.lvx 5959// CHECK: @llvm.ppc.altivec.lvsl 5960// CHECK: store <8 x i16> zeroinitializer 5961// CHECK: @llvm.ppc.altivec.vperm 5962// CHECK-LE: @llvm.ppc.altivec.lvx 5963// CHECK-LE: @llvm.ppc.altivec.lvsl 5964// CHECK-LE: store <8 x i16> zeroinitializer 5965// CHECK-LE: @llvm.ppc.altivec.vperm 5966 5967 res_vus = vec_lvrx(0, &vus); 5968// CHECK: @llvm.ppc.altivec.lvx 5969// CHECK: @llvm.ppc.altivec.lvsl 5970// CHECK: store <8 x i16> zeroinitializer 5971// CHECK: @llvm.ppc.altivec.vperm 5972// CHECK-LE: @llvm.ppc.altivec.lvx 5973// CHECK-LE: @llvm.ppc.altivec.lvsl 5974// CHECK-LE: store <8 x i16> zeroinitializer 5975// CHECK-LE: @llvm.ppc.altivec.vperm 5976 5977 res_vbs = vec_lvrx(0, &vbs); 5978// CHECK: store <8 x i16> zeroinitializer 5979// CHECK: @llvm.ppc.altivec.lvx 5980// CHECK: @llvm.ppc.altivec.lvsl 5981// CHECK: @llvm.ppc.altivec.vperm 5982// CHECK-LE: store <8 x i16> zeroinitializer 5983// CHECK-LE: @llvm.ppc.altivec.lvx 5984// CHECK-LE: @llvm.ppc.altivec.lvsl 5985// CHECK-LE: @llvm.ppc.altivec.vperm 5986 5987 res_vp = vec_lvrx(0, &vp); 5988// CHECK: store <8 x i16> zeroinitializer 5989// CHECK: @llvm.ppc.altivec.lvx 5990// CHECK: @llvm.ppc.altivec.lvsl 5991// CHECK: @llvm.ppc.altivec.vperm 5992// CHECK-LE: store <8 x i16> zeroinitializer 5993// CHECK-LE: @llvm.ppc.altivec.lvx 5994// CHECK-LE: @llvm.ppc.altivec.lvsl 5995// CHECK-LE: @llvm.ppc.altivec.vperm 5996 5997 res_vi = vec_lvrx(0, ¶m_i); 5998// CHECK: @llvm.ppc.altivec.lvx 5999// CHECK: @llvm.ppc.altivec.lvsl 6000// CHECK: store <4 x i32> zeroinitializer 6001// CHECK: @llvm.ppc.altivec.vperm 6002// CHECK-LE: @llvm.ppc.altivec.lvx 6003// CHECK-LE: @llvm.ppc.altivec.lvsl 6004// CHECK-LE: store <4 x i32> zeroinitializer 6005// CHECK-LE: @llvm.ppc.altivec.vperm 6006 6007 res_vi = vec_lvrx(0, &vi); 6008// CHECK: @llvm.ppc.altivec.lvx 6009// CHECK: @llvm.ppc.altivec.lvsl 6010// CHECK: store <4 x i32> zeroinitializer 6011// CHECK: @llvm.ppc.altivec.vperm 6012// CHECK-LE: @llvm.ppc.altivec.lvx 6013// CHECK-LE: @llvm.ppc.altivec.lvsl 6014// CHECK-LE: store <4 x i32> zeroinitializer 6015// CHECK-LE: @llvm.ppc.altivec.vperm 6016 6017 res_vui = vec_lvrx(0, ¶m_ui); 6018// CHECK: @llvm.ppc.altivec.lvx 6019// CHECK: @llvm.ppc.altivec.lvsl 6020// CHECK: store <4 x i32> zeroinitializer 6021// CHECK: @llvm.ppc.altivec.vperm 6022// CHECK-LE: @llvm.ppc.altivec.lvx 6023// CHECK-LE: @llvm.ppc.altivec.lvsl 6024// CHECK-LE: store <4 x i32> zeroinitializer 6025// CHECK-LE: @llvm.ppc.altivec.vperm 6026 6027 res_vui = vec_lvrx(0, &vui); 6028// CHECK: @llvm.ppc.altivec.lvx 6029// CHECK: @llvm.ppc.altivec.lvsl 6030// CHECK: store <4 x i32> zeroinitializer 6031// CHECK: @llvm.ppc.altivec.vperm 6032// CHECK-LE: @llvm.ppc.altivec.lvx 6033// CHECK-LE: @llvm.ppc.altivec.lvsl 6034// CHECK-LE: store <4 x i32> zeroinitializer 6035// CHECK-LE: @llvm.ppc.altivec.vperm 6036 6037 res_vbi = vec_lvrx(0, &vbi); 6038// CHECK: store <4 x i32> zeroinitializer 6039// CHECK: @llvm.ppc.altivec.lvx 6040// CHECK: @llvm.ppc.altivec.lvsl 6041// CHECK: @llvm.ppc.altivec.vperm 6042// CHECK-LE: store <4 x i32> zeroinitializer 6043// CHECK-LE: @llvm.ppc.altivec.lvx 6044// CHECK-LE: @llvm.ppc.altivec.lvsl 6045// CHECK-LE: @llvm.ppc.altivec.vperm 6046 6047 res_vf = vec_lvrx(0, &vf); 6048// CHECK: @llvm.ppc.altivec.lvx 6049// CHECK: @llvm.ppc.altivec.lvsl 6050// CHECK: store <4 x float> zeroinitializer 6051// CHECK: @llvm.ppc.altivec.vperm 6052// CHECK-LE: @llvm.ppc.altivec.lvx 6053// CHECK-LE: @llvm.ppc.altivec.lvsl 6054// CHECK-LE: store <4 x float> zeroinitializer 6055// CHECK-LE: @llvm.ppc.altivec.vperm 6056 6057 /* vec_lvrxl */ 6058 res_vsc = vec_lvrxl(0, ¶m_sc); 6059// CHECK: @llvm.ppc.altivec.lvxl 6060// CHECK: @llvm.ppc.altivec.lvsl 6061// CHECK: store <16 x i8> zeroinitializer 6062// CHECK: @llvm.ppc.altivec.vperm 6063// CHECK-LE: @llvm.ppc.altivec.lvxl 6064// CHECK-LE: @llvm.ppc.altivec.lvsl 6065// CHECK-LE: store <16 x i8> zeroinitializer 6066// CHECK-LE: @llvm.ppc.altivec.vperm 6067 6068 res_vsc = vec_lvrxl(0, &vsc); 6069// CHECK: @llvm.ppc.altivec.lvxl 6070// CHECK: @llvm.ppc.altivec.lvsl 6071// CHECK: store <16 x i8> zeroinitializer 6072// CHECK: @llvm.ppc.altivec.vperm 6073// CHECK-LE: @llvm.ppc.altivec.lvxl 6074// CHECK-LE: @llvm.ppc.altivec.lvsl 6075// CHECK-LE: store <16 x i8> zeroinitializer 6076// CHECK-LE: @llvm.ppc.altivec.vperm 6077 6078 res_vuc = vec_lvrxl(0, ¶m_uc); 6079// CHECK: @llvm.ppc.altivec.lvxl 6080// CHECK: @llvm.ppc.altivec.lvsl 6081// CHECK: store <16 x i8> zeroinitializer 6082// CHECK: @llvm.ppc.altivec.vperm 6083// CHECK-LE: @llvm.ppc.altivec.lvxl 6084// CHECK-LE: @llvm.ppc.altivec.lvsl 6085// CHECK-LE: store <16 x i8> zeroinitializer 6086// CHECK-LE: @llvm.ppc.altivec.vperm 6087 6088 res_vuc = vec_lvrxl(0, &vuc); 6089// CHECK: @llvm.ppc.altivec.lvxl 6090// CHECK: @llvm.ppc.altivec.lvsl 6091// CHECK: store <16 x i8> zeroinitializer 6092// CHECK: @llvm.ppc.altivec.vperm 6093// CHECK-LE: @llvm.ppc.altivec.lvxl 6094// CHECK-LE: @llvm.ppc.altivec.lvsl 6095// CHECK-LE: store <16 x i8> zeroinitializer 6096// CHECK-LE: @llvm.ppc.altivec.vperm 6097 6098 res_vbc = vec_lvrxl(0, &vbc); 6099// CHECK: store <16 x i8> zeroinitializer 6100// CHECK: @llvm.ppc.altivec.lvxl 6101// CHECK: @llvm.ppc.altivec.lvsl 6102// CHECK: @llvm.ppc.altivec.vperm 6103// CHECK-LE: store <16 x i8> zeroinitializer 6104// CHECK-LE: @llvm.ppc.altivec.lvxl 6105// CHECK-LE: @llvm.ppc.altivec.lvsl 6106// CHECK-LE: @llvm.ppc.altivec.vperm 6107 6108 res_vs = vec_lvrxl(0, ¶m_s); 6109// CHECK: @llvm.ppc.altivec.lvxl 6110// CHECK: @llvm.ppc.altivec.lvsl 6111// CHECK: store <8 x i16> zeroinitializer 6112// CHECK: @llvm.ppc.altivec.vperm 6113// CHECK-LE: @llvm.ppc.altivec.lvxl 6114// CHECK-LE: @llvm.ppc.altivec.lvsl 6115// CHECK-LE: store <8 x i16> zeroinitializer 6116// CHECK-LE: @llvm.ppc.altivec.vperm 6117 6118 res_vs = vec_lvrxl(0, &vs); 6119// CHECK: @llvm.ppc.altivec.lvxl 6120// CHECK: @llvm.ppc.altivec.lvsl 6121// CHECK: store <8 x i16> zeroinitializer 6122// CHECK: @llvm.ppc.altivec.vperm 6123// CHECK-LE: @llvm.ppc.altivec.lvxl 6124// CHECK-LE: @llvm.ppc.altivec.lvsl 6125// CHECK-LE: store <8 x i16> zeroinitializer 6126// CHECK-LE: @llvm.ppc.altivec.vperm 6127 6128 res_vus = vec_lvrxl(0, ¶m_us); 6129// CHECK: @llvm.ppc.altivec.lvxl 6130// CHECK: @llvm.ppc.altivec.lvsl 6131// CHECK: store <8 x i16> zeroinitializer 6132// CHECK: @llvm.ppc.altivec.vperm 6133// CHECK-LE: @llvm.ppc.altivec.lvxl 6134// CHECK-LE: @llvm.ppc.altivec.lvsl 6135// CHECK-LE: store <8 x i16> zeroinitializer 6136// CHECK-LE: @llvm.ppc.altivec.vperm 6137 6138 res_vus = vec_lvrxl(0, &vus); 6139// CHECK: @llvm.ppc.altivec.lvxl 6140// CHECK: @llvm.ppc.altivec.lvsl 6141// CHECK: store <8 x i16> zeroinitializer 6142// CHECK: @llvm.ppc.altivec.vperm 6143// CHECK-LE: @llvm.ppc.altivec.lvxl 6144// CHECK-LE: @llvm.ppc.altivec.lvsl 6145// CHECK-LE: store <8 x i16> zeroinitializer 6146// CHECK-LE: @llvm.ppc.altivec.vperm 6147 6148 res_vbs = vec_lvrxl(0, &vbs); 6149// CHECK: store <8 x i16> zeroinitializer 6150// CHECK: @llvm.ppc.altivec.lvxl 6151// CHECK: @llvm.ppc.altivec.lvsl 6152// CHECK: @llvm.ppc.altivec.vperm 6153// CHECK-LE: store <8 x i16> zeroinitializer 6154// CHECK-LE: @llvm.ppc.altivec.lvxl 6155// CHECK-LE: @llvm.ppc.altivec.lvsl 6156// CHECK-LE: @llvm.ppc.altivec.vperm 6157 6158 res_vp = vec_lvrxl(0, &vp); 6159// CHECK: store <8 x i16> zeroinitializer 6160// CHECK: @llvm.ppc.altivec.lvxl 6161// CHECK: @llvm.ppc.altivec.lvsl 6162// CHECK: @llvm.ppc.altivec.vperm 6163// CHECK-LE: store <8 x i16> zeroinitializer 6164// CHECK-LE: @llvm.ppc.altivec.lvxl 6165// CHECK-LE: @llvm.ppc.altivec.lvsl 6166// CHECK-LE: @llvm.ppc.altivec.vperm 6167 6168 res_vi = vec_lvrxl(0, ¶m_i); 6169// CHECK: @llvm.ppc.altivec.lvxl 6170// CHECK: @llvm.ppc.altivec.lvsl 6171// CHECK: store <4 x i32> zeroinitializer 6172// CHECK: @llvm.ppc.altivec.vperm 6173// CHECK-LE: @llvm.ppc.altivec.lvxl 6174// CHECK-LE: @llvm.ppc.altivec.lvsl 6175// CHECK-LE: store <4 x i32> zeroinitializer 6176// CHECK-LE: @llvm.ppc.altivec.vperm 6177 6178 res_vi = vec_lvrxl(0, &vi); 6179// CHECK: @llvm.ppc.altivec.lvxl 6180// CHECK: @llvm.ppc.altivec.lvsl 6181// CHECK: store <4 x i32> zeroinitializer 6182// CHECK: @llvm.ppc.altivec.vperm 6183// CHECK-LE: @llvm.ppc.altivec.lvxl 6184// CHECK-LE: @llvm.ppc.altivec.lvsl 6185// CHECK-LE: store <4 x i32> zeroinitializer 6186// CHECK-LE: @llvm.ppc.altivec.vperm 6187 6188 res_vui = vec_lvrxl(0, ¶m_ui); 6189// CHECK: @llvm.ppc.altivec.lvxl 6190// CHECK: @llvm.ppc.altivec.lvsl 6191// CHECK: store <4 x i32> zeroinitializer 6192// CHECK: @llvm.ppc.altivec.vperm 6193// CHECK-LE: @llvm.ppc.altivec.lvxl 6194// CHECK-LE: @llvm.ppc.altivec.lvsl 6195// CHECK-LE: store <4 x i32> zeroinitializer 6196// CHECK-LE: @llvm.ppc.altivec.vperm 6197 6198 res_vui = vec_lvrxl(0, &vui); 6199// CHECK: @llvm.ppc.altivec.lvxl 6200// CHECK: @llvm.ppc.altivec.lvsl 6201// CHECK: store <4 x i32> zeroinitializer 6202// CHECK: @llvm.ppc.altivec.vperm 6203// CHECK-LE: @llvm.ppc.altivec.lvxl 6204// CHECK-LE: @llvm.ppc.altivec.lvsl 6205// CHECK-LE: store <4 x i32> zeroinitializer 6206// CHECK-LE: @llvm.ppc.altivec.vperm 6207 6208 res_vbi = vec_lvrxl(0, &vbi); 6209// CHECK: store <4 x i32> zeroinitializer 6210// CHECK: @llvm.ppc.altivec.lvxl 6211// CHECK: @llvm.ppc.altivec.lvsl 6212// CHECK: @llvm.ppc.altivec.vperm 6213// CHECK-LE: store <4 x i32> zeroinitializer 6214// CHECK-LE: @llvm.ppc.altivec.lvxl 6215// CHECK-LE: @llvm.ppc.altivec.lvsl 6216// CHECK-LE: @llvm.ppc.altivec.vperm 6217 6218 res_vf = vec_lvrxl(0, &vf); 6219// CHECK: @llvm.ppc.altivec.lvxl 6220// CHECK: @llvm.ppc.altivec.lvsl 6221// CHECK: store <4 x float> zeroinitializer 6222// CHECK: @llvm.ppc.altivec.vperm 6223// CHECK-LE: @llvm.ppc.altivec.lvxl 6224// CHECK-LE: @llvm.ppc.altivec.lvsl 6225// CHECK-LE: store <4 x float> zeroinitializer 6226// CHECK-LE: @llvm.ppc.altivec.vperm 6227 6228 /* vec_stvlx */ 6229 vec_stvlx(vsc, 0, ¶m_sc); 6230// CHECK: @llvm.ppc.altivec.lvx 6231// CHECK: @llvm.ppc.altivec.lvsl 6232// CHECK: store <16 x i8> zeroinitializer 6233// CHECK: @llvm.ppc.altivec.vperm 6234// CHECK: @llvm.ppc.altivec.lvsr 6235// CHECK: @llvm.ppc.altivec.vperm 6236// CHECK: @llvm.ppc.altivec.stvx 6237// CHECK-LE: @llvm.ppc.altivec.lvx 6238// CHECK-LE: @llvm.ppc.altivec.lvsl 6239// CHECK-LE: store <16 x i8> zeroinitializer 6240// CHECK-LE: @llvm.ppc.altivec.vperm 6241// CHECK-LE: @llvm.ppc.altivec.lvsr 6242// CHECK-LE: @llvm.ppc.altivec.vperm 6243// CHECK-LE: @llvm.ppc.altivec.stvx 6244 6245 vec_stvlx(vsc, 0, &vsc); 6246// CHECK: @llvm.ppc.altivec.lvx 6247// CHECK: @llvm.ppc.altivec.lvsl 6248// CHECK: store <16 x i8> zeroinitializer 6249// CHECK: @llvm.ppc.altivec.vperm 6250// CHECK: @llvm.ppc.altivec.lvsr 6251// CHECK: @llvm.ppc.altivec.vperm 6252// CHECK: @llvm.ppc.altivec.stvx 6253// CHECK-LE: @llvm.ppc.altivec.lvx 6254// CHECK-LE: @llvm.ppc.altivec.lvsl 6255// CHECK-LE: store <16 x i8> zeroinitializer 6256// CHECK-LE: @llvm.ppc.altivec.vperm 6257// CHECK-LE: @llvm.ppc.altivec.lvsr 6258// CHECK-LE: @llvm.ppc.altivec.vperm 6259// CHECK-LE: @llvm.ppc.altivec.stvx 6260 6261 vec_stvlx(vuc, 0, ¶m_uc); 6262// CHECK: @llvm.ppc.altivec.lvx 6263// CHECK: @llvm.ppc.altivec.lvsl 6264// CHECK: store <16 x i8> zeroinitializer 6265// CHECK: @llvm.ppc.altivec.vperm 6266// CHECK: @llvm.ppc.altivec.lvsr 6267// CHECK: @llvm.ppc.altivec.vperm 6268// CHECK: @llvm.ppc.altivec.stvx 6269// CHECK-LE: @llvm.ppc.altivec.lvx 6270// CHECK-LE: @llvm.ppc.altivec.lvsl 6271// CHECK-LE: store <16 x i8> zeroinitializer 6272// CHECK-LE: @llvm.ppc.altivec.vperm 6273// CHECK-LE: @llvm.ppc.altivec.lvsr 6274// CHECK-LE: @llvm.ppc.altivec.vperm 6275// CHECK-LE: @llvm.ppc.altivec.stvx 6276 6277 vec_stvlx(vuc, 0, &vuc); 6278// CHECK: @llvm.ppc.altivec.lvx 6279// CHECK: @llvm.ppc.altivec.lvsl 6280// CHECK: store <16 x i8> zeroinitializer 6281// CHECK: @llvm.ppc.altivec.vperm 6282// CHECK: @llvm.ppc.altivec.lvsr 6283// CHECK: @llvm.ppc.altivec.vperm 6284// CHECK: @llvm.ppc.altivec.stvx 6285// CHECK-LE: @llvm.ppc.altivec.lvx 6286// CHECK-LE: @llvm.ppc.altivec.lvsl 6287// CHECK-LE: store <16 x i8> zeroinitializer 6288// CHECK-LE: @llvm.ppc.altivec.vperm 6289// CHECK-LE: @llvm.ppc.altivec.lvsr 6290// CHECK-LE: @llvm.ppc.altivec.vperm 6291// CHECK-LE: @llvm.ppc.altivec.stvx 6292 6293 vec_stvlx(vbc, 0, &vbc); 6294// CHECK: store <16 x i8> zeroinitializer 6295// CHECK: @llvm.ppc.altivec.lvx 6296// CHECK: @llvm.ppc.altivec.lvsl 6297// CHECK: @llvm.ppc.altivec.vperm 6298// CHECK: @llvm.ppc.altivec.lvsr 6299// CHECK: @llvm.ppc.altivec.vperm 6300// CHECK: @llvm.ppc.altivec.stvx 6301// CHECK-LE: store <16 x i8> zeroinitializer 6302// CHECK-LE: @llvm.ppc.altivec.lvx 6303// CHECK-LE: @llvm.ppc.altivec.lvsl 6304// CHECK-LE: @llvm.ppc.altivec.vperm 6305// CHECK-LE: @llvm.ppc.altivec.lvsr 6306// CHECK-LE: @llvm.ppc.altivec.vperm 6307// CHECK-LE: @llvm.ppc.altivec.stvx 6308 6309 vec_stvlx(vs, 0, ¶m_s); 6310// CHECK: @llvm.ppc.altivec.lvx 6311// CHECK: @llvm.ppc.altivec.lvsl 6312// CHECK: store <8 x i16> zeroinitializer 6313// CHECK: @llvm.ppc.altivec.vperm 6314// CHECK: @llvm.ppc.altivec.lvsr 6315// CHECK: @llvm.ppc.altivec.vperm 6316// CHECK: @llvm.ppc.altivec.stvx 6317// CHECK-LE: @llvm.ppc.altivec.lvx 6318// CHECK-LE: @llvm.ppc.altivec.lvsl 6319// CHECK-LE: store <8 x i16> zeroinitializer 6320// CHECK-LE: @llvm.ppc.altivec.vperm 6321// CHECK-LE: @llvm.ppc.altivec.lvsr 6322// CHECK-LE: @llvm.ppc.altivec.vperm 6323// CHECK-LE: @llvm.ppc.altivec.stvx 6324 6325 vec_stvlx(vs, 0, &vs); 6326// CHECK: @llvm.ppc.altivec.lvx 6327// CHECK: @llvm.ppc.altivec.lvsl 6328// CHECK: store <8 x i16> zeroinitializer 6329// CHECK: @llvm.ppc.altivec.vperm 6330// CHECK: @llvm.ppc.altivec.lvsr 6331// CHECK: @llvm.ppc.altivec.vperm 6332// CHECK: @llvm.ppc.altivec.stvx 6333// CHECK-LE: @llvm.ppc.altivec.lvx 6334// CHECK-LE: @llvm.ppc.altivec.lvsl 6335// CHECK-LE: store <8 x i16> zeroinitializer 6336// CHECK-LE: @llvm.ppc.altivec.vperm 6337// CHECK-LE: @llvm.ppc.altivec.lvsr 6338// CHECK-LE: @llvm.ppc.altivec.vperm 6339// CHECK-LE: @llvm.ppc.altivec.stvx 6340 6341 vec_stvlx(vus, 0, ¶m_us); 6342// CHECK: @llvm.ppc.altivec.lvx 6343// CHECK: @llvm.ppc.altivec.lvsl 6344// CHECK: store <8 x i16> zeroinitializer 6345// CHECK: @llvm.ppc.altivec.vperm 6346// CHECK: @llvm.ppc.altivec.lvsr 6347// CHECK: @llvm.ppc.altivec.vperm 6348// CHECK: @llvm.ppc.altivec.stvx 6349// CHECK-LE: @llvm.ppc.altivec.lvx 6350// CHECK-LE: @llvm.ppc.altivec.lvsl 6351// CHECK-LE: store <8 x i16> zeroinitializer 6352// CHECK-LE: @llvm.ppc.altivec.vperm 6353// CHECK-LE: @llvm.ppc.altivec.lvsr 6354// CHECK-LE: @llvm.ppc.altivec.vperm 6355// CHECK-LE: @llvm.ppc.altivec.stvx 6356 6357 vec_stvlx(vus, 0, &vus); 6358// CHECK: @llvm.ppc.altivec.lvx 6359// CHECK: @llvm.ppc.altivec.lvsl 6360// CHECK: store <8 x i16> zeroinitializer 6361// CHECK: @llvm.ppc.altivec.vperm 6362// CHECK: @llvm.ppc.altivec.lvsr 6363// CHECK: @llvm.ppc.altivec.vperm 6364// CHECK: @llvm.ppc.altivec.stvx 6365// CHECK-LE: @llvm.ppc.altivec.lvx 6366// CHECK-LE: @llvm.ppc.altivec.lvsl 6367// CHECK-LE: store <8 x i16> zeroinitializer 6368// CHECK-LE: @llvm.ppc.altivec.vperm 6369// CHECK-LE: @llvm.ppc.altivec.lvsr 6370// CHECK-LE: @llvm.ppc.altivec.vperm 6371// CHECK-LE: @llvm.ppc.altivec.stvx 6372 6373 vec_stvlx(vbs, 0, &vbs); 6374// CHECK: store <8 x i16> zeroinitializer 6375// CHECK: @llvm.ppc.altivec.lvx 6376// CHECK: @llvm.ppc.altivec.lvsl 6377// CHECK: @llvm.ppc.altivec.vperm 6378// CHECK: @llvm.ppc.altivec.lvsr 6379// CHECK: @llvm.ppc.altivec.vperm 6380// CHECK: @llvm.ppc.altivec.stvx 6381// CHECK-LE: store <8 x i16> zeroinitializer 6382// CHECK-LE: @llvm.ppc.altivec.lvx 6383// CHECK-LE: @llvm.ppc.altivec.lvsl 6384// CHECK-LE: @llvm.ppc.altivec.vperm 6385// CHECK-LE: @llvm.ppc.altivec.lvsr 6386// CHECK-LE: @llvm.ppc.altivec.vperm 6387// CHECK-LE: @llvm.ppc.altivec.stvx 6388 6389 vec_stvlx(vp, 0, &vp); 6390// CHECK: store <8 x i16> zeroinitializer 6391// CHECK: @llvm.ppc.altivec.lvx 6392// CHECK: @llvm.ppc.altivec.lvsl 6393// CHECK: @llvm.ppc.altivec.vperm 6394// CHECK: @llvm.ppc.altivec.lvsr 6395// CHECK: @llvm.ppc.altivec.vperm 6396// CHECK: @llvm.ppc.altivec.stvx 6397// CHECK-LE: store <8 x i16> zeroinitializer 6398// CHECK-LE: @llvm.ppc.altivec.lvx 6399// CHECK-LE: @llvm.ppc.altivec.lvsl 6400// CHECK-LE: @llvm.ppc.altivec.vperm 6401// CHECK-LE: @llvm.ppc.altivec.lvsr 6402// CHECK-LE: @llvm.ppc.altivec.vperm 6403// CHECK-LE: @llvm.ppc.altivec.stvx 6404 6405 vec_stvlx(vi, 0, ¶m_i); 6406// CHECK: @llvm.ppc.altivec.lvx 6407// CHECK: @llvm.ppc.altivec.lvsl 6408// CHECK: store <4 x i32> zeroinitializer 6409// CHECK: @llvm.ppc.altivec.vperm 6410// CHECK: @llvm.ppc.altivec.lvsr 6411// CHECK: @llvm.ppc.altivec.vperm 6412// CHECK: @llvm.ppc.altivec.stvx 6413// CHECK-LE: @llvm.ppc.altivec.lvx 6414// CHECK-LE: @llvm.ppc.altivec.lvsl 6415// CHECK-LE: store <4 x i32> zeroinitializer 6416// CHECK-LE: @llvm.ppc.altivec.vperm 6417// CHECK-LE: @llvm.ppc.altivec.lvsr 6418// CHECK-LE: @llvm.ppc.altivec.vperm 6419// CHECK-LE: @llvm.ppc.altivec.stvx 6420 6421 vec_stvlx(vi, 0, &vi); 6422// CHECK: @llvm.ppc.altivec.lvx 6423// CHECK: @llvm.ppc.altivec.lvsl 6424// CHECK: store <4 x i32> zeroinitializer 6425// CHECK: @llvm.ppc.altivec.vperm 6426// CHECK: @llvm.ppc.altivec.lvsr 6427// CHECK: @llvm.ppc.altivec.vperm 6428// CHECK: @llvm.ppc.altivec.stvx 6429// CHECK-LE: @llvm.ppc.altivec.lvx 6430// CHECK-LE: @llvm.ppc.altivec.lvsl 6431// CHECK-LE: store <4 x i32> zeroinitializer 6432// CHECK-LE: @llvm.ppc.altivec.vperm 6433// CHECK-LE: @llvm.ppc.altivec.lvsr 6434// CHECK-LE: @llvm.ppc.altivec.vperm 6435// CHECK-LE: @llvm.ppc.altivec.stvx 6436 6437 vec_stvlx(vui, 0, ¶m_ui); 6438// CHECK: @llvm.ppc.altivec.lvx 6439// CHECK: @llvm.ppc.altivec.lvsl 6440// CHECK: store <4 x i32> zeroinitializer 6441// CHECK: @llvm.ppc.altivec.vperm 6442// CHECK: @llvm.ppc.altivec.lvsr 6443// CHECK: @llvm.ppc.altivec.vperm 6444// CHECK: @llvm.ppc.altivec.stvx 6445// CHECK-LE: @llvm.ppc.altivec.lvx 6446// CHECK-LE: @llvm.ppc.altivec.lvsl 6447// CHECK-LE: store <4 x i32> zeroinitializer 6448// CHECK-LE: @llvm.ppc.altivec.vperm 6449// CHECK-LE: @llvm.ppc.altivec.lvsr 6450// CHECK-LE: @llvm.ppc.altivec.vperm 6451// CHECK-LE: @llvm.ppc.altivec.stvx 6452 6453 vec_stvlx(vui, 0, &vui); 6454// CHECK: @llvm.ppc.altivec.lvx 6455// CHECK: @llvm.ppc.altivec.lvsl 6456// CHECK: store <4 x i32> zeroinitializer 6457// CHECK: @llvm.ppc.altivec.vperm 6458// CHECK: @llvm.ppc.altivec.lvsr 6459// CHECK: @llvm.ppc.altivec.vperm 6460// CHECK: @llvm.ppc.altivec.stvx 6461// CHECK-LE: @llvm.ppc.altivec.lvx 6462// CHECK-LE: @llvm.ppc.altivec.lvsl 6463// CHECK-LE: store <4 x i32> zeroinitializer 6464// CHECK-LE: @llvm.ppc.altivec.vperm 6465// CHECK-LE: @llvm.ppc.altivec.lvsr 6466// CHECK-LE: @llvm.ppc.altivec.vperm 6467// CHECK-LE: @llvm.ppc.altivec.stvx 6468 6469 vec_stvlx(vbi, 0, &vbi); 6470// CHECK: store <4 x i32> zeroinitializer 6471// CHECK: @llvm.ppc.altivec.lvx 6472// CHECK: @llvm.ppc.altivec.lvsl 6473// CHECK: @llvm.ppc.altivec.vperm 6474// CHECK: @llvm.ppc.altivec.lvsr 6475// CHECK: @llvm.ppc.altivec.vperm 6476// CHECK: @llvm.ppc.altivec.stvx 6477// CHECK-LE: store <4 x i32> zeroinitializer 6478// CHECK-LE: @llvm.ppc.altivec.lvx 6479// CHECK-LE: @llvm.ppc.altivec.lvsl 6480// CHECK-LE: @llvm.ppc.altivec.vperm 6481// CHECK-LE: @llvm.ppc.altivec.lvsr 6482// CHECK-LE: @llvm.ppc.altivec.vperm 6483// CHECK-LE: @llvm.ppc.altivec.stvx 6484 6485 vec_stvlx(vf, 0, &vf); 6486// CHECK: @llvm.ppc.altivec.lvx 6487// CHECK: @llvm.ppc.altivec.lvsl 6488// CHECK: store <4 x float> zeroinitializer 6489// CHECK: @llvm.ppc.altivec.vperm 6490// CHECK: @llvm.ppc.altivec.lvsr 6491// CHECK: @llvm.ppc.altivec.vperm 6492// CHECK: @llvm.ppc.altivec.stvx 6493// CHECK-LE: @llvm.ppc.altivec.lvx 6494// CHECK-LE: @llvm.ppc.altivec.lvsl 6495// CHECK-LE: store <4 x float> zeroinitializer 6496// CHECK-LE: @llvm.ppc.altivec.vperm 6497// CHECK-LE: @llvm.ppc.altivec.lvsr 6498// CHECK-LE: @llvm.ppc.altivec.vperm 6499// CHECK-LE: @llvm.ppc.altivec.stvx 6500 6501 /* vec_stvlxl */ 6502 vec_stvlxl(vsc, 0, ¶m_sc); 6503// CHECK: @llvm.ppc.altivec.lvx 6504// CHECK: @llvm.ppc.altivec.lvsl 6505// CHECK: store <16 x i8> zeroinitializer 6506// CHECK: @llvm.ppc.altivec.vperm 6507// CHECK: @llvm.ppc.altivec.lvsr 6508// CHECK: @llvm.ppc.altivec.vperm 6509// CHECK: @llvm.ppc.altivec.stvxl 6510// CHECK-LE: @llvm.ppc.altivec.lvx 6511// CHECK-LE: @llvm.ppc.altivec.lvsl 6512// CHECK-LE: store <16 x i8> zeroinitializer 6513// CHECK-LE: @llvm.ppc.altivec.vperm 6514// CHECK-LE: @llvm.ppc.altivec.lvsr 6515// CHECK-LE: @llvm.ppc.altivec.vperm 6516// CHECK-LE: @llvm.ppc.altivec.stvxl 6517 6518 vec_stvlxl(vsc, 0, &vsc); 6519// CHECK: @llvm.ppc.altivec.lvx 6520// CHECK: @llvm.ppc.altivec.lvsl 6521// CHECK: store <16 x i8> zeroinitializer 6522// CHECK: @llvm.ppc.altivec.vperm 6523// CHECK: @llvm.ppc.altivec.lvsr 6524// CHECK: @llvm.ppc.altivec.vperm 6525// CHECK: @llvm.ppc.altivec.stvxl 6526// CHECK-LE: @llvm.ppc.altivec.lvx 6527// CHECK-LE: @llvm.ppc.altivec.lvsl 6528// CHECK-LE: store <16 x i8> zeroinitializer 6529// CHECK-LE: @llvm.ppc.altivec.vperm 6530// CHECK-LE: @llvm.ppc.altivec.lvsr 6531// CHECK-LE: @llvm.ppc.altivec.vperm 6532// CHECK-LE: @llvm.ppc.altivec.stvxl 6533 6534 vec_stvlxl(vuc, 0, ¶m_uc); 6535// CHECK: @llvm.ppc.altivec.lvx 6536// CHECK: @llvm.ppc.altivec.lvsl 6537// CHECK: store <16 x i8> zeroinitializer 6538// CHECK: @llvm.ppc.altivec.vperm 6539// CHECK: @llvm.ppc.altivec.lvsr 6540// CHECK: @llvm.ppc.altivec.vperm 6541// CHECK: @llvm.ppc.altivec.stvxl 6542// CHECK-LE: @llvm.ppc.altivec.lvx 6543// CHECK-LE: @llvm.ppc.altivec.lvsl 6544// CHECK-LE: store <16 x i8> zeroinitializer 6545// CHECK-LE: @llvm.ppc.altivec.vperm 6546// CHECK-LE: @llvm.ppc.altivec.lvsr 6547// CHECK-LE: @llvm.ppc.altivec.vperm 6548// CHECK-LE: @llvm.ppc.altivec.stvxl 6549 6550 vec_stvlxl(vuc, 0, &vuc); 6551// CHECK: @llvm.ppc.altivec.lvx 6552// CHECK: @llvm.ppc.altivec.lvsl 6553// CHECK: store <16 x i8> zeroinitializer 6554// CHECK: @llvm.ppc.altivec.vperm 6555// CHECK: @llvm.ppc.altivec.lvsr 6556// CHECK: @llvm.ppc.altivec.vperm 6557// CHECK: @llvm.ppc.altivec.stvxl 6558// CHECK-LE: @llvm.ppc.altivec.lvx 6559// CHECK-LE: @llvm.ppc.altivec.lvsl 6560// CHECK-LE: store <16 x i8> zeroinitializer 6561// CHECK-LE: @llvm.ppc.altivec.vperm 6562// CHECK-LE: @llvm.ppc.altivec.lvsr 6563// CHECK-LE: @llvm.ppc.altivec.vperm 6564// CHECK-LE: @llvm.ppc.altivec.stvxl 6565 6566 vec_stvlxl(vbc, 0, &vbc); 6567// CHECK: store <16 x i8> zeroinitializer 6568// CHECK: @llvm.ppc.altivec.lvx 6569// CHECK: @llvm.ppc.altivec.lvsl 6570// CHECK: @llvm.ppc.altivec.vperm 6571// CHECK: @llvm.ppc.altivec.lvsr 6572// CHECK: @llvm.ppc.altivec.vperm 6573// CHECK: @llvm.ppc.altivec.stvxl 6574// CHECK-LE: store <16 x i8> zeroinitializer 6575// CHECK-LE: @llvm.ppc.altivec.lvx 6576// CHECK-LE: @llvm.ppc.altivec.lvsl 6577// CHECK-LE: @llvm.ppc.altivec.vperm 6578// CHECK-LE: @llvm.ppc.altivec.lvsr 6579// CHECK-LE: @llvm.ppc.altivec.vperm 6580// CHECK-LE: @llvm.ppc.altivec.stvxl 6581 6582 vec_stvlxl(vs, 0, ¶m_s); 6583// CHECK: @llvm.ppc.altivec.lvx 6584// CHECK: @llvm.ppc.altivec.lvsl 6585// CHECK: store <8 x i16> zeroinitializer 6586// CHECK: @llvm.ppc.altivec.vperm 6587// CHECK: @llvm.ppc.altivec.lvsr 6588// CHECK: @llvm.ppc.altivec.vperm 6589// CHECK: @llvm.ppc.altivec.stvxl 6590// CHECK-LE: @llvm.ppc.altivec.lvx 6591// CHECK-LE: @llvm.ppc.altivec.lvsl 6592// CHECK-LE: store <8 x i16> zeroinitializer 6593// CHECK-LE: @llvm.ppc.altivec.vperm 6594// CHECK-LE: @llvm.ppc.altivec.lvsr 6595// CHECK-LE: @llvm.ppc.altivec.vperm 6596// CHECK-LE: @llvm.ppc.altivec.stvxl 6597 6598 vec_stvlxl(vs, 0, &vs); 6599// CHECK: @llvm.ppc.altivec.lvx 6600// CHECK: @llvm.ppc.altivec.lvsl 6601// CHECK: store <8 x i16> zeroinitializer 6602// CHECK: @llvm.ppc.altivec.vperm 6603// CHECK: @llvm.ppc.altivec.lvsr 6604// CHECK: @llvm.ppc.altivec.vperm 6605// CHECK: @llvm.ppc.altivec.stvxl 6606// CHECK-LE: @llvm.ppc.altivec.lvx 6607// CHECK-LE: @llvm.ppc.altivec.lvsl 6608// CHECK-LE: store <8 x i16> zeroinitializer 6609// CHECK-LE: @llvm.ppc.altivec.vperm 6610// CHECK-LE: @llvm.ppc.altivec.lvsr 6611// CHECK-LE: @llvm.ppc.altivec.vperm 6612// CHECK-LE: @llvm.ppc.altivec.stvxl 6613 6614 vec_stvlxl(vus, 0, ¶m_us); 6615// CHECK: @llvm.ppc.altivec.lvx 6616// CHECK: @llvm.ppc.altivec.lvsl 6617// CHECK: store <8 x i16> zeroinitializer 6618// CHECK: @llvm.ppc.altivec.vperm 6619// CHECK: @llvm.ppc.altivec.lvsr 6620// CHECK: @llvm.ppc.altivec.vperm 6621// CHECK: @llvm.ppc.altivec.stvxl 6622// CHECK-LE: @llvm.ppc.altivec.lvx 6623// CHECK-LE: @llvm.ppc.altivec.lvsl 6624// CHECK-LE: store <8 x i16> zeroinitializer 6625// CHECK-LE: @llvm.ppc.altivec.vperm 6626// CHECK-LE: @llvm.ppc.altivec.lvsr 6627// CHECK-LE: @llvm.ppc.altivec.vperm 6628// CHECK-LE: @llvm.ppc.altivec.stvxl 6629 6630 vec_stvlxl(vus, 0, &vus); 6631// CHECK: @llvm.ppc.altivec.lvx 6632// CHECK: @llvm.ppc.altivec.lvsl 6633// CHECK: store <8 x i16> zeroinitializer 6634// CHECK: @llvm.ppc.altivec.vperm 6635// CHECK: @llvm.ppc.altivec.lvsr 6636// CHECK: @llvm.ppc.altivec.vperm 6637// CHECK: @llvm.ppc.altivec.stvxl 6638// CHECK-LE: @llvm.ppc.altivec.lvx 6639// CHECK-LE: @llvm.ppc.altivec.lvsl 6640// CHECK-LE: store <8 x i16> zeroinitializer 6641// CHECK-LE: @llvm.ppc.altivec.vperm 6642// CHECK-LE: @llvm.ppc.altivec.lvsr 6643// CHECK-LE: @llvm.ppc.altivec.vperm 6644// CHECK-LE: @llvm.ppc.altivec.stvxl 6645 6646 vec_stvlxl(vbs, 0, &vbs); 6647// CHECK: store <8 x i16> zeroinitializer 6648// CHECK: @llvm.ppc.altivec.lvx 6649// CHECK: @llvm.ppc.altivec.lvsl 6650// CHECK: @llvm.ppc.altivec.vperm 6651// CHECK: @llvm.ppc.altivec.lvsr 6652// CHECK: @llvm.ppc.altivec.vperm 6653// CHECK: @llvm.ppc.altivec.stvxl 6654// CHECK-LE: store <8 x i16> zeroinitializer 6655// CHECK-LE: @llvm.ppc.altivec.lvx 6656// CHECK-LE: @llvm.ppc.altivec.lvsl 6657// CHECK-LE: @llvm.ppc.altivec.vperm 6658// CHECK-LE: @llvm.ppc.altivec.lvsr 6659// CHECK-LE: @llvm.ppc.altivec.vperm 6660// CHECK-LE: @llvm.ppc.altivec.stvxl 6661 6662 vec_stvlxl(vp, 0, &vp); 6663// CHECK: store <8 x i16> zeroinitializer 6664// CHECK: @llvm.ppc.altivec.lvx 6665// CHECK: @llvm.ppc.altivec.lvsl 6666// CHECK: @llvm.ppc.altivec.vperm 6667// CHECK: @llvm.ppc.altivec.lvsr 6668// CHECK: @llvm.ppc.altivec.vperm 6669// CHECK: @llvm.ppc.altivec.stvxl 6670// CHECK-LE: store <8 x i16> zeroinitializer 6671// CHECK-LE: @llvm.ppc.altivec.lvx 6672// CHECK-LE: @llvm.ppc.altivec.lvsl 6673// CHECK-LE: @llvm.ppc.altivec.vperm 6674// CHECK-LE: @llvm.ppc.altivec.lvsr 6675// CHECK-LE: @llvm.ppc.altivec.vperm 6676// CHECK-LE: @llvm.ppc.altivec.stvxl 6677 6678 vec_stvlxl(vi, 0, ¶m_i); 6679// CHECK: @llvm.ppc.altivec.lvx 6680// CHECK: @llvm.ppc.altivec.lvsl 6681// CHECK: store <4 x i32> zeroinitializer 6682// CHECK: @llvm.ppc.altivec.vperm 6683// CHECK: @llvm.ppc.altivec.lvsr 6684// CHECK: @llvm.ppc.altivec.vperm 6685// CHECK: @llvm.ppc.altivec.stvxl 6686// CHECK-LE: @llvm.ppc.altivec.lvx 6687// CHECK-LE: @llvm.ppc.altivec.lvsl 6688// CHECK-LE: store <4 x i32> zeroinitializer 6689// CHECK-LE: @llvm.ppc.altivec.vperm 6690// CHECK-LE: @llvm.ppc.altivec.lvsr 6691// CHECK-LE: @llvm.ppc.altivec.vperm 6692// CHECK-LE: @llvm.ppc.altivec.stvxl 6693 6694 vec_stvlxl(vi, 0, &vi); 6695// CHECK: @llvm.ppc.altivec.lvx 6696// CHECK: @llvm.ppc.altivec.lvsl 6697// CHECK: store <4 x i32> zeroinitializer 6698// CHECK: @llvm.ppc.altivec.vperm 6699// CHECK: @llvm.ppc.altivec.lvsr 6700// CHECK: @llvm.ppc.altivec.vperm 6701// CHECK: @llvm.ppc.altivec.stvxl 6702// CHECK-LE: @llvm.ppc.altivec.lvx 6703// CHECK-LE: @llvm.ppc.altivec.lvsl 6704// CHECK-LE: store <4 x i32> zeroinitializer 6705// CHECK-LE: @llvm.ppc.altivec.vperm 6706// CHECK-LE: @llvm.ppc.altivec.lvsr 6707// CHECK-LE: @llvm.ppc.altivec.vperm 6708// CHECK-LE: @llvm.ppc.altivec.stvxl 6709 6710 vec_stvlxl(vui, 0, ¶m_ui); 6711// CHECK: @llvm.ppc.altivec.lvx 6712// CHECK: @llvm.ppc.altivec.lvsl 6713// CHECK: store <4 x i32> zeroinitializer 6714// CHECK: @llvm.ppc.altivec.vperm 6715// CHECK: @llvm.ppc.altivec.lvsr 6716// CHECK: @llvm.ppc.altivec.vperm 6717// CHECK: @llvm.ppc.altivec.stvxl 6718// CHECK-LE: @llvm.ppc.altivec.lvx 6719// CHECK-LE: @llvm.ppc.altivec.lvsl 6720// CHECK-LE: store <4 x i32> zeroinitializer 6721// CHECK-LE: @llvm.ppc.altivec.vperm 6722// CHECK-LE: @llvm.ppc.altivec.lvsr 6723// CHECK-LE: @llvm.ppc.altivec.vperm 6724// CHECK-LE: @llvm.ppc.altivec.stvxl 6725 6726 vec_stvlxl(vui, 0, &vui); 6727// CHECK: @llvm.ppc.altivec.lvx 6728// CHECK: @llvm.ppc.altivec.lvsl 6729// CHECK: store <4 x i32> zeroinitializer 6730// CHECK: @llvm.ppc.altivec.vperm 6731// CHECK: @llvm.ppc.altivec.lvsr 6732// CHECK: @llvm.ppc.altivec.vperm 6733// CHECK: @llvm.ppc.altivec.stvxl 6734// CHECK-LE: @llvm.ppc.altivec.lvx 6735// CHECK-LE: @llvm.ppc.altivec.lvsl 6736// CHECK-LE: store <4 x i32> zeroinitializer 6737// CHECK-LE: @llvm.ppc.altivec.vperm 6738// CHECK-LE: @llvm.ppc.altivec.lvsr 6739// CHECK-LE: @llvm.ppc.altivec.vperm 6740// CHECK-LE: @llvm.ppc.altivec.stvxl 6741 6742 vec_stvlxl(vbi, 0, &vbi); 6743// CHECK: store <4 x i32> zeroinitializer 6744// CHECK: @llvm.ppc.altivec.lvx 6745// CHECK: @llvm.ppc.altivec.lvsl 6746// CHECK: @llvm.ppc.altivec.vperm 6747// CHECK: @llvm.ppc.altivec.lvsr 6748// CHECK: @llvm.ppc.altivec.vperm 6749// CHECK: @llvm.ppc.altivec.stvxl 6750// CHECK-LE: store <4 x i32> zeroinitializer 6751// CHECK-LE: @llvm.ppc.altivec.lvx 6752// CHECK-LE: @llvm.ppc.altivec.lvsl 6753// CHECK-LE: @llvm.ppc.altivec.vperm 6754// CHECK-LE: @llvm.ppc.altivec.lvsr 6755// CHECK-LE: @llvm.ppc.altivec.vperm 6756// CHECK-LE: @llvm.ppc.altivec.stvxl 6757 6758 vec_stvlxl(vf, 0, &vf); 6759// CHECK: @llvm.ppc.altivec.lvx 6760// CHECK: @llvm.ppc.altivec.lvsl 6761// CHECK: store <4 x float> zeroinitializer 6762// CHECK: @llvm.ppc.altivec.vperm 6763// CHECK: @llvm.ppc.altivec.lvsr 6764// CHECK: @llvm.ppc.altivec.vperm 6765// CHECK: @llvm.ppc.altivec.stvxl 6766// CHECK-LE: @llvm.ppc.altivec.lvx 6767// CHECK-LE: @llvm.ppc.altivec.lvsl 6768// CHECK-LE: store <4 x float> zeroinitializer 6769// CHECK-LE: @llvm.ppc.altivec.vperm 6770// CHECK-LE: @llvm.ppc.altivec.lvsr 6771// CHECK-LE: @llvm.ppc.altivec.vperm 6772// CHECK-LE: @llvm.ppc.altivec.stvxl 6773 6774 /* vec_stvrx */ 6775 vec_stvrx(vsc, 0, ¶m_sc); 6776// CHECK: @llvm.ppc.altivec.lvx 6777// CHECK: @llvm.ppc.altivec.lvsl 6778// CHECK: store <16 x i8> zeroinitializer 6779// CHECK: @llvm.ppc.altivec.vperm 6780// CHECK: @llvm.ppc.altivec.lvsr 6781// CHECK: @llvm.ppc.altivec.vperm 6782// CHECK: @llvm.ppc.altivec.stvx 6783// CHECK-LE: @llvm.ppc.altivec.lvx 6784// CHECK-LE: @llvm.ppc.altivec.lvsl 6785// CHECK-LE: store <16 x i8> zeroinitializer 6786// CHECK-LE: @llvm.ppc.altivec.vperm 6787// CHECK-LE: @llvm.ppc.altivec.lvsr 6788// CHECK-LE: @llvm.ppc.altivec.vperm 6789// CHECK-LE: @llvm.ppc.altivec.stvx 6790 6791 vec_stvrx(vsc, 0, &vsc); 6792// CHECK: @llvm.ppc.altivec.lvx 6793// CHECK: @llvm.ppc.altivec.lvsl 6794// CHECK: store <16 x i8> zeroinitializer 6795// CHECK: @llvm.ppc.altivec.vperm 6796// CHECK: @llvm.ppc.altivec.lvsr 6797// CHECK: @llvm.ppc.altivec.vperm 6798// CHECK: @llvm.ppc.altivec.stvx 6799// CHECK-LE: @llvm.ppc.altivec.lvx 6800// CHECK-LE: @llvm.ppc.altivec.lvsl 6801// CHECK-LE: store <16 x i8> zeroinitializer 6802// CHECK-LE: @llvm.ppc.altivec.vperm 6803// CHECK-LE: @llvm.ppc.altivec.lvsr 6804// CHECK-LE: @llvm.ppc.altivec.vperm 6805// CHECK-LE: @llvm.ppc.altivec.stvx 6806 6807 vec_stvrx(vuc, 0, ¶m_uc); 6808// CHECK: @llvm.ppc.altivec.lvx 6809// CHECK: @llvm.ppc.altivec.lvsl 6810// CHECK: store <16 x i8> zeroinitializer 6811// CHECK: @llvm.ppc.altivec.vperm 6812// CHECK: @llvm.ppc.altivec.lvsr 6813// CHECK: @llvm.ppc.altivec.vperm 6814// CHECK: @llvm.ppc.altivec.stvx 6815// CHECK-LE: @llvm.ppc.altivec.lvx 6816// CHECK-LE: @llvm.ppc.altivec.lvsl 6817// CHECK-LE: store <16 x i8> zeroinitializer 6818// CHECK-LE: @llvm.ppc.altivec.vperm 6819// CHECK-LE: @llvm.ppc.altivec.lvsr 6820// CHECK-LE: @llvm.ppc.altivec.vperm 6821// CHECK-LE: @llvm.ppc.altivec.stvx 6822 6823 vec_stvrx(vuc, 0, &vuc); 6824// CHECK: @llvm.ppc.altivec.lvx 6825// CHECK: @llvm.ppc.altivec.lvsl 6826// CHECK: store <16 x i8> zeroinitializer 6827// CHECK: @llvm.ppc.altivec.vperm 6828// CHECK: @llvm.ppc.altivec.lvsr 6829// CHECK: @llvm.ppc.altivec.vperm 6830// CHECK: @llvm.ppc.altivec.stvx 6831// CHECK-LE: @llvm.ppc.altivec.lvx 6832// CHECK-LE: @llvm.ppc.altivec.lvsl 6833// CHECK-LE: store <16 x i8> zeroinitializer 6834// CHECK-LE: @llvm.ppc.altivec.vperm 6835// CHECK-LE: @llvm.ppc.altivec.lvsr 6836// CHECK-LE: @llvm.ppc.altivec.vperm 6837// CHECK-LE: @llvm.ppc.altivec.stvx 6838 6839 vec_stvrx(vbc, 0, &vbc); 6840// CHECK: @llvm.ppc.altivec.lvx 6841// CHECK: store <16 x i8> zeroinitializer 6842// CHECK: @llvm.ppc.altivec.lvsl 6843// CHECK: @llvm.ppc.altivec.vperm 6844// CHECK: @llvm.ppc.altivec.lvsr 6845// CHECK: @llvm.ppc.altivec.vperm 6846// CHECK: @llvm.ppc.altivec.stvx 6847// CHECK-LE: @llvm.ppc.altivec.lvx 6848// CHECK-LE: store <16 x i8> zeroinitializer 6849// CHECK-LE: @llvm.ppc.altivec.lvsl 6850// CHECK-LE: @llvm.ppc.altivec.vperm 6851// CHECK-LE: @llvm.ppc.altivec.lvsr 6852// CHECK-LE: @llvm.ppc.altivec.vperm 6853// CHECK-LE: @llvm.ppc.altivec.stvx 6854 6855 vec_stvrx(vs, 0, ¶m_s); 6856// CHECK: @llvm.ppc.altivec.lvx 6857// CHECK: @llvm.ppc.altivec.lvsl 6858// CHECK: store <8 x i16> zeroinitializer 6859// CHECK: @llvm.ppc.altivec.vperm 6860// CHECK: @llvm.ppc.altivec.lvsr 6861// CHECK: @llvm.ppc.altivec.vperm 6862// CHECK: @llvm.ppc.altivec.stvx 6863// CHECK-LE: @llvm.ppc.altivec.lvx 6864// CHECK-LE: @llvm.ppc.altivec.lvsl 6865// CHECK-LE: store <8 x i16> zeroinitializer 6866// CHECK-LE: @llvm.ppc.altivec.vperm 6867// CHECK-LE: @llvm.ppc.altivec.lvsr 6868// CHECK-LE: @llvm.ppc.altivec.vperm 6869// CHECK-LE: @llvm.ppc.altivec.stvx 6870 6871 vec_stvrx(vs, 0, &vs); 6872// CHECK: @llvm.ppc.altivec.lvx 6873// CHECK: @llvm.ppc.altivec.lvsl 6874// CHECK: store <8 x i16> zeroinitializer 6875// CHECK: @llvm.ppc.altivec.vperm 6876// CHECK: @llvm.ppc.altivec.lvsr 6877// CHECK: @llvm.ppc.altivec.vperm 6878// CHECK: @llvm.ppc.altivec.stvx 6879// CHECK-LE: @llvm.ppc.altivec.lvx 6880// CHECK-LE: @llvm.ppc.altivec.lvsl 6881// CHECK-LE: store <8 x i16> zeroinitializer 6882// CHECK-LE: @llvm.ppc.altivec.vperm 6883// CHECK-LE: @llvm.ppc.altivec.lvsr 6884// CHECK-LE: @llvm.ppc.altivec.vperm 6885// CHECK-LE: @llvm.ppc.altivec.stvx 6886 6887 vec_stvrx(vus, 0, ¶m_us); 6888// CHECK: @llvm.ppc.altivec.lvx 6889// CHECK: @llvm.ppc.altivec.lvsl 6890// CHECK: store <8 x i16> zeroinitializer 6891// CHECK: @llvm.ppc.altivec.vperm 6892// CHECK: @llvm.ppc.altivec.lvsr 6893// CHECK: @llvm.ppc.altivec.vperm 6894// CHECK: @llvm.ppc.altivec.stvx 6895// CHECK-LE: @llvm.ppc.altivec.lvx 6896// CHECK-LE: @llvm.ppc.altivec.lvsl 6897// CHECK-LE: store <8 x i16> zeroinitializer 6898// CHECK-LE: @llvm.ppc.altivec.vperm 6899// CHECK-LE: @llvm.ppc.altivec.lvsr 6900// CHECK-LE: @llvm.ppc.altivec.vperm 6901// CHECK-LE: @llvm.ppc.altivec.stvx 6902 6903 vec_stvrx(vus, 0, &vus); 6904// CHECK: @llvm.ppc.altivec.lvx 6905// CHECK: @llvm.ppc.altivec.lvsl 6906// CHECK: store <8 x i16> zeroinitializer 6907// CHECK: @llvm.ppc.altivec.vperm 6908// CHECK: @llvm.ppc.altivec.lvsr 6909// CHECK: @llvm.ppc.altivec.vperm 6910// CHECK: @llvm.ppc.altivec.stvx 6911// CHECK-LE: @llvm.ppc.altivec.lvx 6912// CHECK-LE: @llvm.ppc.altivec.lvsl 6913// CHECK-LE: store <8 x i16> zeroinitializer 6914// CHECK-LE: @llvm.ppc.altivec.vperm 6915// CHECK-LE: @llvm.ppc.altivec.lvsr 6916// CHECK-LE: @llvm.ppc.altivec.vperm 6917// CHECK-LE: @llvm.ppc.altivec.stvx 6918 6919 vec_stvrx(vbs, 0, &vbs); 6920// CHECK: @llvm.ppc.altivec.lvx 6921// CHECK: store <8 x i16> zeroinitializer 6922// CHECK: @llvm.ppc.altivec.lvsl 6923// CHECK: @llvm.ppc.altivec.vperm 6924// CHECK: @llvm.ppc.altivec.lvsr 6925// CHECK: @llvm.ppc.altivec.vperm 6926// CHECK: @llvm.ppc.altivec.stvx 6927// CHECK-LE: @llvm.ppc.altivec.lvx 6928// CHECK-LE: store <8 x i16> zeroinitializer 6929// CHECK-LE: @llvm.ppc.altivec.lvsl 6930// CHECK-LE: @llvm.ppc.altivec.vperm 6931// CHECK-LE: @llvm.ppc.altivec.lvsr 6932// CHECK-LE: @llvm.ppc.altivec.vperm 6933// CHECK-LE: @llvm.ppc.altivec.stvx 6934 6935 vec_stvrx(vp, 0, &vp); 6936// CHECK: @llvm.ppc.altivec.lvx 6937// CHECK: store <8 x i16> zeroinitializer 6938// CHECK: @llvm.ppc.altivec.lvsl 6939// CHECK: @llvm.ppc.altivec.vperm 6940// CHECK: @llvm.ppc.altivec.lvsr 6941// CHECK: @llvm.ppc.altivec.vperm 6942// CHECK: @llvm.ppc.altivec.stvx 6943// CHECK-LE: @llvm.ppc.altivec.lvx 6944// CHECK-LE: store <8 x i16> zeroinitializer 6945// CHECK-LE: @llvm.ppc.altivec.lvsl 6946// CHECK-LE: @llvm.ppc.altivec.vperm 6947// CHECK-LE: @llvm.ppc.altivec.lvsr 6948// CHECK-LE: @llvm.ppc.altivec.vperm 6949// CHECK-LE: @llvm.ppc.altivec.stvx 6950 6951 vec_stvrx(vi, 0, ¶m_i); 6952// CHECK: @llvm.ppc.altivec.lvx 6953// CHECK: @llvm.ppc.altivec.lvsl 6954// CHECK: store <4 x i32> zeroinitializer 6955// CHECK: @llvm.ppc.altivec.vperm 6956// CHECK: @llvm.ppc.altivec.lvsr 6957// CHECK: @llvm.ppc.altivec.vperm 6958// CHECK: @llvm.ppc.altivec.stvx 6959// CHECK-LE: @llvm.ppc.altivec.lvx 6960// CHECK-LE: @llvm.ppc.altivec.lvsl 6961// CHECK-LE: store <4 x i32> zeroinitializer 6962// CHECK-LE: @llvm.ppc.altivec.vperm 6963// CHECK-LE: @llvm.ppc.altivec.lvsr 6964// CHECK-LE: @llvm.ppc.altivec.vperm 6965// CHECK-LE: @llvm.ppc.altivec.stvx 6966 6967 vec_stvrx(vi, 0, &vi); 6968// CHECK: @llvm.ppc.altivec.lvx 6969// CHECK: @llvm.ppc.altivec.lvsl 6970// CHECK: store <4 x i32> zeroinitializer 6971// CHECK: @llvm.ppc.altivec.vperm 6972// CHECK: @llvm.ppc.altivec.lvsr 6973// CHECK: @llvm.ppc.altivec.vperm 6974// CHECK: @llvm.ppc.altivec.stvx 6975// CHECK-LE: @llvm.ppc.altivec.lvx 6976// CHECK-LE: @llvm.ppc.altivec.lvsl 6977// CHECK-LE: store <4 x i32> zeroinitializer 6978// CHECK-LE: @llvm.ppc.altivec.vperm 6979// CHECK-LE: @llvm.ppc.altivec.lvsr 6980// CHECK-LE: @llvm.ppc.altivec.vperm 6981// CHECK-LE: @llvm.ppc.altivec.stvx 6982 6983 vec_stvrx(vui, 0, ¶m_ui); 6984// CHECK: @llvm.ppc.altivec.lvx 6985// CHECK: @llvm.ppc.altivec.lvsl 6986// CHECK: store <4 x i32> zeroinitializer 6987// CHECK: @llvm.ppc.altivec.vperm 6988// CHECK: @llvm.ppc.altivec.lvsr 6989// CHECK: @llvm.ppc.altivec.vperm 6990// CHECK: @llvm.ppc.altivec.stvx 6991// CHECK-LE: @llvm.ppc.altivec.lvx 6992// CHECK-LE: @llvm.ppc.altivec.lvsl 6993// CHECK-LE: store <4 x i32> zeroinitializer 6994// CHECK-LE: @llvm.ppc.altivec.vperm 6995// CHECK-LE: @llvm.ppc.altivec.lvsr 6996// CHECK-LE: @llvm.ppc.altivec.vperm 6997// CHECK-LE: @llvm.ppc.altivec.stvx 6998 6999 vec_stvrx(vui, 0, &vui); 7000// CHECK: @llvm.ppc.altivec.lvx 7001// CHECK: @llvm.ppc.altivec.lvsl 7002// CHECK: store <4 x i32> zeroinitializer 7003// CHECK: @llvm.ppc.altivec.vperm 7004// CHECK: @llvm.ppc.altivec.lvsr 7005// CHECK: @llvm.ppc.altivec.vperm 7006// CHECK: @llvm.ppc.altivec.stvx 7007// CHECK-LE: @llvm.ppc.altivec.lvx 7008// CHECK-LE: @llvm.ppc.altivec.lvsl 7009// CHECK-LE: store <4 x i32> zeroinitializer 7010// CHECK-LE: @llvm.ppc.altivec.vperm 7011// CHECK-LE: @llvm.ppc.altivec.lvsr 7012// CHECK-LE: @llvm.ppc.altivec.vperm 7013// CHECK-LE: @llvm.ppc.altivec.stvx 7014 7015 vec_stvrx(vbi, 0, &vbi); 7016// CHECK: @llvm.ppc.altivec.lvx 7017// CHECK: store <4 x i32> zeroinitializer 7018// CHECK: @llvm.ppc.altivec.lvsl 7019// CHECK: @llvm.ppc.altivec.vperm 7020// CHECK: @llvm.ppc.altivec.lvsr 7021// CHECK: @llvm.ppc.altivec.vperm 7022// CHECK: @llvm.ppc.altivec.stvx 7023// CHECK-LE: @llvm.ppc.altivec.lvx 7024// CHECK-LE: store <4 x i32> zeroinitializer 7025// CHECK-LE: @llvm.ppc.altivec.lvsl 7026// CHECK-LE: @llvm.ppc.altivec.vperm 7027// CHECK-LE: @llvm.ppc.altivec.lvsr 7028// CHECK-LE: @llvm.ppc.altivec.vperm 7029// CHECK-LE: @llvm.ppc.altivec.stvx 7030 7031 vec_stvrx(vf, 0, &vf); 7032// CHECK: @llvm.ppc.altivec.lvx 7033// CHECK: @llvm.ppc.altivec.lvsl 7034// CHECK: store <4 x float> zeroinitializer 7035// CHECK: @llvm.ppc.altivec.vperm 7036// CHECK: @llvm.ppc.altivec.lvsr 7037// CHECK: @llvm.ppc.altivec.vperm 7038// CHECK: @llvm.ppc.altivec.stvx 7039// CHECK-LE: @llvm.ppc.altivec.lvx 7040// CHECK-LE: @llvm.ppc.altivec.lvsl 7041// CHECK-LE: store <4 x float> zeroinitializer 7042// CHECK-LE: @llvm.ppc.altivec.vperm 7043// CHECK-LE: @llvm.ppc.altivec.lvsr 7044// CHECK-LE: @llvm.ppc.altivec.vperm 7045// CHECK-LE: @llvm.ppc.altivec.stvx 7046 7047 /* vec_stvrxl */ 7048 vec_stvrxl(vsc, 0, ¶m_sc); 7049// CHECK: @llvm.ppc.altivec.lvx 7050// CHECK: @llvm.ppc.altivec.lvsl 7051// CHECK: store <16 x i8> zeroinitializer 7052// CHECK: @llvm.ppc.altivec.vperm 7053// CHECK: @llvm.ppc.altivec.lvsr 7054// CHECK: @llvm.ppc.altivec.vperm 7055// CHECK: @llvm.ppc.altivec.stvxl 7056// CHECK-LE: @llvm.ppc.altivec.lvx 7057// CHECK-LE: @llvm.ppc.altivec.lvsl 7058// CHECK-LE: store <16 x i8> zeroinitializer 7059// CHECK-LE: @llvm.ppc.altivec.vperm 7060// CHECK-LE: @llvm.ppc.altivec.lvsr 7061// CHECK-LE: @llvm.ppc.altivec.vperm 7062// CHECK-LE: @llvm.ppc.altivec.stvxl 7063 7064 vec_stvrxl(vsc, 0, &vsc); 7065// CHECK: @llvm.ppc.altivec.lvx 7066// CHECK: @llvm.ppc.altivec.lvsl 7067// CHECK: store <16 x i8> zeroinitializer 7068// CHECK: @llvm.ppc.altivec.vperm 7069// CHECK: @llvm.ppc.altivec.lvsr 7070// CHECK: @llvm.ppc.altivec.vperm 7071// CHECK: @llvm.ppc.altivec.stvxl 7072// CHECK-LE: @llvm.ppc.altivec.lvx 7073// CHECK-LE: @llvm.ppc.altivec.lvsl 7074// CHECK-LE: store <16 x i8> zeroinitializer 7075// CHECK-LE: @llvm.ppc.altivec.vperm 7076// CHECK-LE: @llvm.ppc.altivec.lvsr 7077// CHECK-LE: @llvm.ppc.altivec.vperm 7078// CHECK-LE: @llvm.ppc.altivec.stvxl 7079 7080 vec_stvrxl(vuc, 0, ¶m_uc); 7081// CHECK: @llvm.ppc.altivec.lvx 7082// CHECK: @llvm.ppc.altivec.lvsl 7083// CHECK: store <16 x i8> zeroinitializer 7084// CHECK: @llvm.ppc.altivec.vperm 7085// CHECK: @llvm.ppc.altivec.lvsr 7086// CHECK: @llvm.ppc.altivec.vperm 7087// CHECK: @llvm.ppc.altivec.stvxl 7088// CHECK-LE: @llvm.ppc.altivec.lvx 7089// CHECK-LE: @llvm.ppc.altivec.lvsl 7090// CHECK-LE: store <16 x i8> zeroinitializer 7091// CHECK-LE: @llvm.ppc.altivec.vperm 7092// CHECK-LE: @llvm.ppc.altivec.lvsr 7093// CHECK-LE: @llvm.ppc.altivec.vperm 7094// CHECK-LE: @llvm.ppc.altivec.stvxl 7095 7096 vec_stvrxl(vuc, 0, &vuc); 7097// CHECK: @llvm.ppc.altivec.lvx 7098// CHECK: @llvm.ppc.altivec.lvsl 7099// CHECK: store <16 x i8> zeroinitializer 7100// CHECK: @llvm.ppc.altivec.vperm 7101// CHECK: @llvm.ppc.altivec.lvsr 7102// CHECK: @llvm.ppc.altivec.vperm 7103// CHECK: @llvm.ppc.altivec.stvxl 7104// CHECK-LE: @llvm.ppc.altivec.lvx 7105// CHECK-LE: @llvm.ppc.altivec.lvsl 7106// CHECK-LE: store <16 x i8> zeroinitializer 7107// CHECK-LE: @llvm.ppc.altivec.vperm 7108// CHECK-LE: @llvm.ppc.altivec.lvsr 7109// CHECK-LE: @llvm.ppc.altivec.vperm 7110// CHECK-LE: @llvm.ppc.altivec.stvxl 7111 7112 vec_stvrxl(vbc, 0, &vbc); 7113// CHECK: @llvm.ppc.altivec.lvx 7114// CHECK: store <16 x i8> zeroinitializer 7115// CHECK: @llvm.ppc.altivec.lvsl 7116// CHECK: @llvm.ppc.altivec.vperm 7117// CHECK: @llvm.ppc.altivec.lvsr 7118// CHECK: @llvm.ppc.altivec.vperm 7119// CHECK: @llvm.ppc.altivec.stvxl 7120// CHECK-LE: @llvm.ppc.altivec.lvx 7121// CHECK-LE: store <16 x i8> zeroinitializer 7122// CHECK-LE: @llvm.ppc.altivec.lvsl 7123// CHECK-LE: @llvm.ppc.altivec.vperm 7124// CHECK-LE: @llvm.ppc.altivec.lvsr 7125// CHECK-LE: @llvm.ppc.altivec.vperm 7126// CHECK-LE: @llvm.ppc.altivec.stvxl 7127 7128 vec_stvrxl(vs, 0, ¶m_s); 7129// CHECK: @llvm.ppc.altivec.lvx 7130// CHECK: @llvm.ppc.altivec.lvsl 7131// CHECK: store <8 x i16> zeroinitializer 7132// CHECK: @llvm.ppc.altivec.vperm 7133// CHECK: @llvm.ppc.altivec.lvsr 7134// CHECK: @llvm.ppc.altivec.vperm 7135// CHECK: @llvm.ppc.altivec.stvxl 7136// CHECK-LE: @llvm.ppc.altivec.lvx 7137// CHECK-LE: @llvm.ppc.altivec.lvsl 7138// CHECK-LE: store <8 x i16> zeroinitializer 7139// CHECK-LE: @llvm.ppc.altivec.vperm 7140// CHECK-LE: @llvm.ppc.altivec.lvsr 7141// CHECK-LE: @llvm.ppc.altivec.vperm 7142// CHECK-LE: @llvm.ppc.altivec.stvxl 7143 7144 vec_stvrxl(vs, 0, &vs); 7145// CHECK: @llvm.ppc.altivec.lvx 7146// CHECK: @llvm.ppc.altivec.lvsl 7147// CHECK: store <8 x i16> zeroinitializer 7148// CHECK: @llvm.ppc.altivec.vperm 7149// CHECK: @llvm.ppc.altivec.lvsr 7150// CHECK: @llvm.ppc.altivec.vperm 7151// CHECK: @llvm.ppc.altivec.stvxl 7152// CHECK-LE: @llvm.ppc.altivec.lvx 7153// CHECK-LE: @llvm.ppc.altivec.lvsl 7154// CHECK-LE: store <8 x i16> zeroinitializer 7155// CHECK-LE: @llvm.ppc.altivec.vperm 7156// CHECK-LE: @llvm.ppc.altivec.lvsr 7157// CHECK-LE: @llvm.ppc.altivec.vperm 7158// CHECK-LE: @llvm.ppc.altivec.stvxl 7159 7160 vec_stvrxl(vus, 0, ¶m_us); 7161// CHECK: @llvm.ppc.altivec.lvx 7162// CHECK: @llvm.ppc.altivec.lvsl 7163// CHECK: store <8 x i16> zeroinitializer 7164// CHECK: @llvm.ppc.altivec.vperm 7165// CHECK: @llvm.ppc.altivec.lvsr 7166// CHECK: @llvm.ppc.altivec.vperm 7167// CHECK: @llvm.ppc.altivec.stvxl 7168// CHECK-LE: @llvm.ppc.altivec.lvx 7169// CHECK-LE: @llvm.ppc.altivec.lvsl 7170// CHECK-LE: store <8 x i16> zeroinitializer 7171// CHECK-LE: @llvm.ppc.altivec.vperm 7172// CHECK-LE: @llvm.ppc.altivec.lvsr 7173// CHECK-LE: @llvm.ppc.altivec.vperm 7174// CHECK-LE: @llvm.ppc.altivec.stvxl 7175 7176 vec_stvrxl(vus, 0, &vus); 7177// CHECK: @llvm.ppc.altivec.lvx 7178// CHECK: @llvm.ppc.altivec.lvsl 7179// CHECK: store <8 x i16> zeroinitializer 7180// CHECK: @llvm.ppc.altivec.vperm 7181// CHECK: @llvm.ppc.altivec.lvsr 7182// CHECK: @llvm.ppc.altivec.vperm 7183// CHECK: @llvm.ppc.altivec.stvxl 7184// CHECK-LE: @llvm.ppc.altivec.lvx 7185// CHECK-LE: @llvm.ppc.altivec.lvsl 7186// CHECK-LE: store <8 x i16> zeroinitializer 7187// CHECK-LE: @llvm.ppc.altivec.vperm 7188// CHECK-LE: @llvm.ppc.altivec.lvsr 7189// CHECK-LE: @llvm.ppc.altivec.vperm 7190// CHECK-LE: @llvm.ppc.altivec.stvxl 7191 7192 vec_stvrxl(vbs, 0, &vbs); 7193// CHECK: @llvm.ppc.altivec.lvx 7194// CHECK: store <8 x i16> zeroinitializer 7195// CHECK: @llvm.ppc.altivec.lvsl 7196// CHECK: @llvm.ppc.altivec.vperm 7197// CHECK: @llvm.ppc.altivec.lvsr 7198// CHECK: @llvm.ppc.altivec.vperm 7199// CHECK: @llvm.ppc.altivec.stvxl 7200// CHECK-LE: @llvm.ppc.altivec.lvx 7201// CHECK-LE: store <8 x i16> zeroinitializer 7202// CHECK-LE: @llvm.ppc.altivec.lvsl 7203// CHECK-LE: @llvm.ppc.altivec.vperm 7204// CHECK-LE: @llvm.ppc.altivec.lvsr 7205// CHECK-LE: @llvm.ppc.altivec.vperm 7206// CHECK-LE: @llvm.ppc.altivec.stvxl 7207 7208 vec_stvrxl(vp, 0, &vp); 7209// CHECK: @llvm.ppc.altivec.lvx 7210// CHECK: store <8 x i16> zeroinitializer 7211// CHECK: @llvm.ppc.altivec.lvsl 7212// CHECK: @llvm.ppc.altivec.vperm 7213// CHECK: @llvm.ppc.altivec.lvsr 7214// CHECK: @llvm.ppc.altivec.vperm 7215// CHECK: @llvm.ppc.altivec.stvxl 7216// CHECK-LE: @llvm.ppc.altivec.lvx 7217// CHECK-LE: store <8 x i16> zeroinitializer 7218// CHECK-LE: @llvm.ppc.altivec.lvsl 7219// CHECK-LE: @llvm.ppc.altivec.vperm 7220// CHECK-LE: @llvm.ppc.altivec.lvsr 7221// CHECK-LE: @llvm.ppc.altivec.vperm 7222// CHECK-LE: @llvm.ppc.altivec.stvxl 7223 7224 vec_stvrxl(vi, 0, ¶m_i); 7225// CHECK: @llvm.ppc.altivec.lvx 7226// CHECK: @llvm.ppc.altivec.lvsl 7227// CHECK: store <4 x i32> zeroinitializer 7228// CHECK: @llvm.ppc.altivec.vperm 7229// CHECK: @llvm.ppc.altivec.lvsr 7230// CHECK: @llvm.ppc.altivec.vperm 7231// CHECK: @llvm.ppc.altivec.stvxl 7232// CHECK-LE: @llvm.ppc.altivec.lvx 7233// CHECK-LE: @llvm.ppc.altivec.lvsl 7234// CHECK-LE: store <4 x i32> zeroinitializer 7235// CHECK-LE: @llvm.ppc.altivec.vperm 7236// CHECK-LE: @llvm.ppc.altivec.lvsr 7237// CHECK-LE: @llvm.ppc.altivec.vperm 7238// CHECK-LE: @llvm.ppc.altivec.stvxl 7239 7240 vec_stvrxl(vi, 0, &vi); 7241// CHECK: @llvm.ppc.altivec.lvx 7242// CHECK: @llvm.ppc.altivec.lvsl 7243// CHECK: store <4 x i32> zeroinitializer 7244// CHECK: @llvm.ppc.altivec.vperm 7245// CHECK: @llvm.ppc.altivec.lvsr 7246// CHECK: @llvm.ppc.altivec.vperm 7247// CHECK: @llvm.ppc.altivec.stvxl 7248// CHECK-LE: @llvm.ppc.altivec.lvx 7249// CHECK-LE: @llvm.ppc.altivec.lvsl 7250// CHECK-LE: store <4 x i32> zeroinitializer 7251// CHECK-LE: @llvm.ppc.altivec.vperm 7252// CHECK-LE: @llvm.ppc.altivec.lvsr 7253// CHECK-LE: @llvm.ppc.altivec.vperm 7254// CHECK-LE: @llvm.ppc.altivec.stvxl 7255 7256 vec_stvrxl(vui, 0, ¶m_ui); 7257// CHECK: @llvm.ppc.altivec.lvx 7258// CHECK: @llvm.ppc.altivec.lvsl 7259// CHECK: store <4 x i32> zeroinitializer 7260// CHECK: @llvm.ppc.altivec.vperm 7261// CHECK: @llvm.ppc.altivec.lvsr 7262// CHECK: @llvm.ppc.altivec.vperm 7263// CHECK: @llvm.ppc.altivec.stvxl 7264// CHECK-LE: @llvm.ppc.altivec.lvx 7265// CHECK-LE: @llvm.ppc.altivec.lvsl 7266// CHECK-LE: store <4 x i32> zeroinitializer 7267// CHECK-LE: @llvm.ppc.altivec.vperm 7268// CHECK-LE: @llvm.ppc.altivec.lvsr 7269// CHECK-LE: @llvm.ppc.altivec.vperm 7270// CHECK-LE: @llvm.ppc.altivec.stvxl 7271 7272 vec_stvrxl(vui, 0, &vui); 7273// CHECK: @llvm.ppc.altivec.lvx 7274// CHECK: @llvm.ppc.altivec.lvsl 7275// CHECK: store <4 x i32> zeroinitializer 7276// CHECK: @llvm.ppc.altivec.vperm 7277// CHECK: @llvm.ppc.altivec.lvsr 7278// CHECK: @llvm.ppc.altivec.vperm 7279// CHECK: @llvm.ppc.altivec.stvxl 7280// CHECK-LE: @llvm.ppc.altivec.lvx 7281// CHECK-LE: @llvm.ppc.altivec.lvsl 7282// CHECK-LE: store <4 x i32> zeroinitializer 7283// CHECK-LE: @llvm.ppc.altivec.vperm 7284// CHECK-LE: @llvm.ppc.altivec.lvsr 7285// CHECK-LE: @llvm.ppc.altivec.vperm 7286// CHECK-LE: @llvm.ppc.altivec.stvxl 7287 7288 vec_stvrxl(vbi, 0, &vbi); 7289// CHECK: @llvm.ppc.altivec.lvx 7290// CHECK: store <4 x i32> zeroinitializer 7291// CHECK: @llvm.ppc.altivec.lvsl 7292// CHECK: @llvm.ppc.altivec.vperm 7293// CHECK: @llvm.ppc.altivec.lvsr 7294// CHECK: @llvm.ppc.altivec.vperm 7295// CHECK: @llvm.ppc.altivec.stvxl 7296// CHECK-LE: @llvm.ppc.altivec.lvx 7297// CHECK-LE: store <4 x i32> zeroinitializer 7298// CHECK-LE: @llvm.ppc.altivec.lvsl 7299// CHECK-LE: @llvm.ppc.altivec.vperm 7300// CHECK-LE: @llvm.ppc.altivec.lvsr 7301// CHECK-LE: @llvm.ppc.altivec.vperm 7302// CHECK-LE: @llvm.ppc.altivec.stvxl 7303 7304 vec_stvrxl(vf, 0, &vf); 7305// CHECK: @llvm.ppc.altivec.lvx 7306// CHECK: @llvm.ppc.altivec.lvsl 7307// CHECK: store <4 x float> zeroinitializer 7308// CHECK: @llvm.ppc.altivec.vperm 7309// CHECK: @llvm.ppc.altivec.lvsr 7310// CHECK: @llvm.ppc.altivec.vperm 7311// CHECK: @llvm.ppc.altivec.stvxl 7312// CHECK-LE: @llvm.ppc.altivec.lvx 7313// CHECK-LE: @llvm.ppc.altivec.lvsl 7314// CHECK-LE: store <4 x float> zeroinitializer 7315// CHECK-LE: @llvm.ppc.altivec.vperm 7316// CHECK-LE: @llvm.ppc.altivec.lvsr 7317// CHECK-LE: @llvm.ppc.altivec.vperm 7318// CHECK-LE: @llvm.ppc.altivec.stvxl 7319 7320 /* vec_promote */ 7321 res_vsc = vec_promote(param_sc, 0); 7322// CHECK: store <16 x i8> zeroinitializer 7323// CHECK: insertelement <16 x i8> 7324// CHECK-LE: store <16 x i8> zeroinitializer 7325// CHECK-LE: insertelement <16 x i8> 7326 7327 res_vuc = vec_promote(param_uc, 0); 7328// CHECK: store <16 x i8> zeroinitializer 7329// CHECK: insertelement <16 x i8> 7330// CHECK-LE: store <16 x i8> zeroinitializer 7331// CHECK-LE: insertelement <16 x i8> 7332 7333 res_vs = vec_promote(param_s, 0); 7334// CHECK: store <8 x i16> zeroinitializer 7335// CHECK: insertelement <8 x i16> 7336// CHECK-LE: store <8 x i16> zeroinitializer 7337// CHECK-LE: insertelement <8 x i16> 7338 7339 res_vus = vec_promote(param_us, 0); 7340// CHECK: store <8 x i16> zeroinitializer 7341// CHECK: insertelement <8 x i16> 7342// CHECK-LE: store <8 x i16> zeroinitializer 7343// CHECK-LE: insertelement <8 x i16> 7344 7345 res_vi = vec_promote(param_i, 0); 7346// CHECK: store <4 x i32> zeroinitializer 7347// CHECK: insertelement <4 x i32> 7348// CHECK-LE: store <4 x i32> zeroinitializer 7349// CHECK-LE: insertelement <4 x i32> 7350 7351 res_vui = vec_promote(param_ui, 0); 7352// CHECK: store <4 x i32> zeroinitializer 7353// CHECK: insertelement <4 x i32> 7354// CHECK-LE: store <4 x i32> zeroinitializer 7355// CHECK-LE: insertelement <4 x i32> 7356 7357 res_vf = vec_promote(param_f, 0); 7358// CHECK: store <4 x float> zeroinitializer 7359// CHECK: insertelement <4 x float> 7360// CHECK-LE: store <4 x float> zeroinitializer 7361// CHECK-LE: insertelement <4 x float> 7362 7363 /* vec_splats */ 7364 res_vsc = vec_splats(param_sc); 7365// CHECK: insertelement <16 x i8> 7366// CHECK-LE: insertelement <16 x i8> 7367 7368 res_vuc = vec_splats(param_uc); 7369// CHECK: insertelement <16 x i8> 7370// CHECK-LE: insertelement <16 x i8> 7371 7372 res_vs = vec_splats(param_s); 7373// CHECK: insertelement <8 x i16> 7374// CHECK-LE: insertelement <8 x i16> 7375 7376 res_vus = vec_splats(param_us); 7377// CHECK: insertelement <8 x i16> 7378// CHECK-LE: insertelement <8 x i16> 7379 7380 res_vi = vec_splats(param_i); 7381// CHECK: insertelement <4 x i32> 7382// CHECK-LE: insertelement <4 x i32> 7383 7384 res_vui = vec_splats(param_ui); 7385// CHECK: insertelement <4 x i32> 7386// CHECK-LE: insertelement <4 x i32> 7387 7388 res_vf = vec_splats(param_f); 7389// CHECK: insertelement <4 x float> 7390// CHECK-LE: insertelement <4 x float> 7391 7392 /* ------------------------------ predicates -------------------------------------- */ 7393 7394 /* vec_all_eq */ 7395 res_i = vec_all_eq(vsc, vsc); 7396// CHECK: @llvm.ppc.altivec.vcmpequb.p 7397// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7398 7399 res_i = vec_all_eq(vsc, vbc); 7400// CHECK: @llvm.ppc.altivec.vcmpequb.p 7401// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7402 7403 res_i = vec_all_eq(vuc, vuc); 7404// CHECK: @llvm.ppc.altivec.vcmpequb.p 7405// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7406 7407 res_i = vec_all_eq(vuc, vbc); 7408// CHECK: @llvm.ppc.altivec.vcmpequb.p 7409// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7410 7411 res_i = vec_all_eq(vbc, vsc); 7412// CHECK: @llvm.ppc.altivec.vcmpequb.p 7413// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7414 7415 res_i = vec_all_eq(vbc, vuc); 7416// CHECK: @llvm.ppc.altivec.vcmpequb.p 7417// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7418 7419 res_i = vec_all_eq(vbc, vbc); 7420// CHECK: @llvm.ppc.altivec.vcmpequb.p 7421// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7422 7423 res_i = vec_all_eq(vs, vs); 7424// CHECK: @llvm.ppc.altivec.vcmpequh.p 7425// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7426 7427 res_i = vec_all_eq(vs, vbs); 7428// CHECK: @llvm.ppc.altivec.vcmpequh.p 7429// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7430 7431 res_i = vec_all_eq(vus, vus); 7432// CHECK: @llvm.ppc.altivec.vcmpequh.p 7433// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7434 7435 res_i = vec_all_eq(vus, vbs); 7436// CHECK: @llvm.ppc.altivec.vcmpequh.p 7437// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7438 7439 res_i = vec_all_eq(vbs, vs); 7440// CHECK: @llvm.ppc.altivec.vcmpequh.p 7441// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7442 7443 res_i = vec_all_eq(vbs, vus); 7444// CHECK: @llvm.ppc.altivec.vcmpequh.p 7445// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7446 7447 res_i = vec_all_eq(vbs, vbs); 7448// CHECK: @llvm.ppc.altivec.vcmpequh.p 7449// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7450 7451 res_i = vec_all_eq(vp, vp); 7452// CHECK: @llvm.ppc.altivec.vcmpequh.p 7453// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7454 7455 res_i = vec_all_eq(vi, vi); 7456// CHECK: @llvm.ppc.altivec.vcmpequw.p 7457// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7458 7459 res_i = vec_all_eq(vi, vbi); 7460// CHECK: @llvm.ppc.altivec.vcmpequw.p 7461// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7462 7463 res_i = vec_all_eq(vui, vui); 7464// CHECK: @llvm.ppc.altivec.vcmpequw.p 7465// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7466 7467 res_i = vec_all_eq(vui, vbi); 7468// CHECK: @llvm.ppc.altivec.vcmpequw.p 7469// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7470 7471 res_i = vec_all_eq(vbi, vi); 7472// CHECK: @llvm.ppc.altivec.vcmpequw.p 7473// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7474 7475 res_i = vec_all_eq(vbi, vui); 7476// CHECK: @llvm.ppc.altivec.vcmpequw.p 7477// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7478 7479 res_i = vec_all_eq(vbi, vbi); 7480// CHECK: @llvm.ppc.altivec.vcmpequw.p 7481// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7482 7483 res_i = vec_all_eq(vf, vf); 7484// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 7485// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 7486 7487 /* vec_all_ge */ 7488 res_i = vec_all_ge(vsc, vsc); 7489// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7490// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7491 7492 res_i = vec_all_ge(vsc, vbc); 7493// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7494// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7495 7496 res_i = vec_all_ge(vuc, vuc); 7497// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7498// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7499 7500 res_i = vec_all_ge(vuc, vbc); 7501// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7502// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7503 7504 res_i = vec_all_ge(vbc, vsc); 7505// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7506// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7507 7508 res_i = vec_all_ge(vbc, vuc); 7509// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7510// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7511 7512 res_i = vec_all_ge(vbc, vbc); 7513// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7514// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7515 7516 res_i = vec_all_ge(vs, vs); 7517// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7518// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7519 7520 res_i = vec_all_ge(vs, vbs); 7521// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7522// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7523 7524 res_i = vec_all_ge(vus, vus); 7525// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7526// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7527 7528 res_i = vec_all_ge(vus, vbs); 7529// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7530// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7531 7532 res_i = vec_all_ge(vbs, vs); 7533// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7534// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7535 7536 res_i = vec_all_ge(vbs, vus); 7537// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7538// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7539 7540 res_i = vec_all_ge(vbs, vbs); 7541// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7542// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7543 7544 res_i = vec_all_ge(vi, vi); 7545// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7546// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7547 7548 res_i = vec_all_ge(vi, vbi); 7549// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7550// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7551 7552 res_i = vec_all_ge(vui, vui); 7553// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7554// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7555 7556 res_i = vec_all_ge(vui, vbi); 7557// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7558// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7559 7560 res_i = vec_all_ge(vbi, vi); 7561// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7562// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7563 7564 res_i = vec_all_ge(vbi, vui); 7565// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7566// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7567 7568 res_i = vec_all_ge(vbi, vbi); 7569// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7570// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7571 7572 res_i = vec_all_ge(vf, vf); 7573// CHECK: @llvm.ppc.altivec.vcmpgefp.p 7574// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 7575 7576 /* vec_all_gt */ 7577 res_i = vec_all_gt(vsc, vsc); 7578// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7579// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7580 7581 res_i = vec_all_gt(vsc, vbc); 7582// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7583// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7584 7585 res_i = vec_all_gt(vuc, vuc); 7586// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7587// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7588 7589 res_i = vec_all_gt(vuc, vbc); 7590// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7591// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7592 7593 res_i = vec_all_gt(vbc, vsc); 7594// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7595// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7596 7597 res_i = vec_all_gt(vbc, vuc); 7598// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7599// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7600 7601 res_i = vec_all_gt(vbc, vbc); 7602// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7603// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7604 7605 res_i = vec_all_gt(vs, vs); 7606// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7607// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7608 7609 res_i = vec_all_gt(vs, vbs); 7610// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7611// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7612 7613 res_i = vec_all_gt(vus, vus); 7614// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7615// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7616 7617 res_i = vec_all_gt(vus, vbs); 7618// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7619// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7620 7621 res_i = vec_all_gt(vbs, vs); 7622// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7623// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7624 7625 res_i = vec_all_gt(vbs, vus); 7626// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7627// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7628 7629 res_i = vec_all_gt(vbs, vbs); 7630// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7631// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7632 7633 res_i = vec_all_gt(vi, vi); 7634// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7635// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7636 7637 res_i = vec_all_gt(vi, vbi); 7638// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7639// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7640 7641 res_i = vec_all_gt(vui, vui); 7642// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7643// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7644 7645 res_i = vec_all_gt(vui, vbi); 7646// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7647// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7648 7649 res_i = vec_all_gt(vbi, vi); 7650// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7651// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7652 7653 res_i = vec_all_gt(vbi, vui); 7654// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7655// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7656 7657 res_i = vec_all_gt(vbi, vbi); 7658// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7659// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7660 7661 res_i = vec_all_gt(vf, vf); 7662// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 7663// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 7664 7665 /* vec_all_in */ 7666 res_i = vec_all_in(vf, vf); 7667// CHECK: @llvm.ppc.altivec.vcmpbfp.p 7668// CHECK-LE: @llvm.ppc.altivec.vcmpbfp.p 7669 7670 /* vec_all_le */ 7671 res_i = vec_all_le(vsc, vsc); 7672// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7673// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7674 7675 res_i = vec_all_le(vsc, vbc); 7676// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7677// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7678 7679 res_i = vec_all_le(vuc, vuc); 7680// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7681// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7682 7683 res_i = vec_all_le(vuc, vbc); 7684// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7685// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7686 7687 res_i = vec_all_le(vbc, vsc); 7688// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7689// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7690 7691 res_i = vec_all_le(vbc, vuc); 7692// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7693// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7694 7695 res_i = vec_all_le(vbc, vbc); 7696// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7697// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7698 7699 res_i = vec_all_le(vs, vs); 7700// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7701// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7702 7703 res_i = vec_all_le(vs, vbs); 7704// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7705// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7706 7707 res_i = vec_all_le(vus, vus); 7708// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7709// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7710 7711 res_i = vec_all_le(vus, vbs); 7712// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7713// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7714 7715 res_i = vec_all_le(vbs, vs); 7716// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7717// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7718 7719 res_i = vec_all_le(vbs, vus); 7720// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7721// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7722 7723 res_i = vec_all_le(vbs, vbs); 7724// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7725// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7726 7727 res_i = vec_all_le(vi, vi); 7728// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7729// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7730 7731 res_i = vec_all_le(vi, vbi); 7732// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7733// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7734 7735 res_i = vec_all_le(vui, vui); 7736// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7737// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7738 7739 res_i = vec_all_le(vui, vbi); 7740// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7741// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7742 7743 res_i = vec_all_le(vbi, vi); 7744// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7745// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7746 7747 res_i = vec_all_le(vbi, vui); 7748// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7749// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7750 7751 res_i = vec_all_le(vbi, vbi); 7752// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7753// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7754 7755 res_i = vec_all_le(vf, vf); 7756// CHECK: @llvm.ppc.altivec.vcmpgefp.p 7757// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 7758 7759 /* vec_all_lt */ 7760 res_i = vec_all_lt(vsc, vsc); 7761// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7762// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7763 7764 res_i = vec_all_lt(vsc, vbc); 7765// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 7766// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 7767 7768 res_i = vec_all_lt(vuc, vuc); 7769// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7770// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7771 7772 res_i = vec_all_lt(vuc, vbc); 7773// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7774// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7775 7776 res_i = vec_all_lt(vbc, vsc); 7777// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7778// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7779 7780 res_i = vec_all_lt(vbc, vuc); 7781// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7782// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7783 7784 res_i = vec_all_lt(vbc, vbc); 7785// CHECK: @llvm.ppc.altivec.vcmpgtub.p 7786// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 7787 7788 res_i = vec_all_lt(vs, vs); 7789// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7790// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7791 7792 res_i = vec_all_lt(vs, vbs); 7793// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 7794// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 7795 7796 res_i = vec_all_lt(vus, vus); 7797// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7798// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7799 7800 res_i = vec_all_lt(vus, vbs); 7801// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7802// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7803 7804 res_i = vec_all_lt(vbs, vs); 7805// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7806// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7807 7808 res_i = vec_all_lt(vbs, vus); 7809// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7810// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7811 7812 res_i = vec_all_lt(vbs, vbs); 7813// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 7814// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 7815 7816 res_i = vec_all_lt(vi, vi); 7817// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7818// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7819 7820 res_i = vec_all_lt(vi, vbi); 7821// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 7822// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 7823 7824 res_i = vec_all_lt(vui, vui); 7825// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7826// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7827 7828 res_i = vec_all_lt(vui, vbi); 7829// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7830// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7831 7832 res_i = vec_all_lt(vbi, vi); 7833// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7834// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7835 7836 res_i = vec_all_lt(vbi, vui); 7837// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7838// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7839 7840 res_i = vec_all_lt(vbi, vbi); 7841// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 7842// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 7843 7844 res_i = vec_all_lt(vf, vf); 7845// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 7846// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 7847 7848 /* vec_all_nan */ 7849 res_i = vec_all_nan(vf); 7850// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 7851// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 7852 7853 /* vec_all_ne */ 7854 res_i = vec_all_ne(vsc, vsc); 7855// CHECK: @llvm.ppc.altivec.vcmpequb.p 7856// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7857 7858 res_i = vec_all_ne(vsc, vbc); 7859// CHECK: @llvm.ppc.altivec.vcmpequb.p 7860// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7861 7862 res_i = vec_all_ne(vuc, vuc); 7863// CHECK: @llvm.ppc.altivec.vcmpequb.p 7864// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7865 7866 res_i = vec_all_ne(vuc, vbc); 7867// CHECK: @llvm.ppc.altivec.vcmpequb.p 7868// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7869 7870 res_i = vec_all_ne(vbc, vsc); 7871// CHECK: @llvm.ppc.altivec.vcmpequb.p 7872// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7873 7874 res_i = vec_all_ne(vbc, vuc); 7875// CHECK: @llvm.ppc.altivec.vcmpequb.p 7876// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7877 7878 res_i = vec_all_ne(vbc, vbc); 7879// CHECK: @llvm.ppc.altivec.vcmpequb.p 7880// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7881 7882 res_i = vec_all_ne(vs, vs); 7883// CHECK: @llvm.ppc.altivec.vcmpequh.p 7884// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7885 7886 res_i = vec_all_ne(vs, vbs); 7887// CHECK: @llvm.ppc.altivec.vcmpequh.p 7888// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7889 7890 res_i = vec_all_ne(vus, vus); 7891// CHECK: @llvm.ppc.altivec.vcmpequh.p 7892// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7893 7894 res_i = vec_all_ne(vus, vbs); 7895// CHECK: @llvm.ppc.altivec.vcmpequh.p 7896// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7897 7898 res_i = vec_all_ne(vbs, vs); 7899// CHECK: @llvm.ppc.altivec.vcmpequh.p 7900// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7901 7902 res_i = vec_all_ne(vbs, vus); 7903// CHECK: @llvm.ppc.altivec.vcmpequh.p 7904// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7905 7906 res_i = vec_all_ne(vbs, vbs); 7907// CHECK: @llvm.ppc.altivec.vcmpequh.p 7908// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7909 7910 res_i = vec_all_ne(vp, vp); 7911// CHECK: @llvm.ppc.altivec.vcmpequh.p 7912// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 7913 7914 res_i = vec_all_ne(vi, vi); 7915// CHECK: @llvm.ppc.altivec.vcmpequw.p 7916// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7917 7918 res_i = vec_all_ne(vi, vbi); 7919// CHECK: @llvm.ppc.altivec.vcmpequw.p 7920// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7921 7922 res_i = vec_all_ne(vui, vui); 7923// CHECK: @llvm.ppc.altivec.vcmpequw.p 7924// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7925 7926 res_i = vec_all_ne(vui, vbi); 7927// CHECK: @llvm.ppc.altivec.vcmpequw.p 7928// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7929 7930 res_i = vec_all_ne(vbi, vi); 7931// CHECK: @llvm.ppc.altivec.vcmpequw.p 7932// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7933 7934 res_i = vec_all_ne(vbi, vui); 7935// CHECK: @llvm.ppc.altivec.vcmpequw.p 7936// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7937 7938 res_i = vec_all_ne(vbi, vbi); 7939// CHECK: @llvm.ppc.altivec.vcmpequw.p 7940// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 7941 7942 res_i = vec_all_ne(vf, vf); 7943// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 7944// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 7945 7946 /* vec_all_nge */ 7947 res_i = vec_all_nge(vf, vf); 7948// CHECK: @llvm.ppc.altivec.vcmpgefp.p 7949// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 7950 7951 /* vec_all_ngt */ 7952 res_i = vec_all_ngt(vf, vf); 7953// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 7954// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 7955 7956 /* vec_all_nle */ 7957 res_i = vec_all_nle(vf, vf); 7958// CHECK: @llvm.ppc.altivec.vcmpgefp.p 7959// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 7960 7961 /* vec_all_nlt */ 7962 res_i = vec_all_nlt(vf, vf); 7963// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 7964// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 7965 7966 /* vec_all_numeric */ 7967 res_i = vec_all_numeric(vf); 7968// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 7969// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 7970 7971 /* vec_any_eq */ 7972 res_i = vec_any_eq(vsc, vsc); 7973// CHECK: @llvm.ppc.altivec.vcmpequb.p 7974// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7975 7976 res_i = vec_any_eq(vsc, vbc); 7977// CHECK: @llvm.ppc.altivec.vcmpequb.p 7978// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7979 7980 res_i = vec_any_eq(vuc, vuc); 7981// CHECK: @llvm.ppc.altivec.vcmpequb.p 7982// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7983 7984 res_i = vec_any_eq(vuc, vbc); 7985// CHECK: @llvm.ppc.altivec.vcmpequb.p 7986// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7987 7988 res_i = vec_any_eq(vbc, vsc); 7989// CHECK: @llvm.ppc.altivec.vcmpequb.p 7990// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7991 7992 res_i = vec_any_eq(vbc, vuc); 7993// CHECK: @llvm.ppc.altivec.vcmpequb.p 7994// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7995 7996 res_i = vec_any_eq(vbc, vbc); 7997// CHECK: @llvm.ppc.altivec.vcmpequb.p 7998// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 7999 8000 res_i = vec_any_eq(vs, vs); 8001// CHECK: @llvm.ppc.altivec.vcmpequh.p 8002// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8003 8004 res_i = vec_any_eq(vs, vbs); 8005// CHECK: @llvm.ppc.altivec.vcmpequh.p 8006// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8007 8008 res_i = vec_any_eq(vus, vus); 8009// CHECK: @llvm.ppc.altivec.vcmpequh.p 8010// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8011 8012 res_i = vec_any_eq(vus, vbs); 8013// CHECK: @llvm.ppc.altivec.vcmpequh.p 8014// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8015 8016 res_i = vec_any_eq(vbs, vs); 8017// CHECK: @llvm.ppc.altivec.vcmpequh.p 8018// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8019 8020 res_i = vec_any_eq(vbs, vus); 8021// CHECK: @llvm.ppc.altivec.vcmpequh.p 8022// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8023 8024 res_i = vec_any_eq(vbs, vbs); 8025// CHECK: @llvm.ppc.altivec.vcmpequh.p 8026// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8027 8028 res_i = vec_any_eq(vp, vp); 8029// CHECK: @llvm.ppc.altivec.vcmpequh.p 8030// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8031 8032 res_i = vec_any_eq(vi, vi); 8033// CHECK: @llvm.ppc.altivec.vcmpequw.p 8034// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8035 8036 res_i = vec_any_eq(vi, vbi); 8037// CHECK: @llvm.ppc.altivec.vcmpequw.p 8038// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8039 8040 res_i = vec_any_eq(vui, vui); 8041// CHECK: @llvm.ppc.altivec.vcmpequw.p 8042// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8043 8044 res_i = vec_any_eq(vui, vbi); 8045// CHECK: @llvm.ppc.altivec.vcmpequw.p 8046// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8047 8048 res_i = vec_any_eq(vbi, vi); 8049// CHECK: @llvm.ppc.altivec.vcmpequw.p 8050// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8051 8052 res_i = vec_any_eq(vbi, vui); 8053// CHECK: @llvm.ppc.altivec.vcmpequw.p 8054// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8055 8056 res_i = vec_any_eq(vbi, vbi); 8057// CHECK: @llvm.ppc.altivec.vcmpequw.p 8058// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8059 8060 res_i = vec_any_eq(vf, vf); 8061// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 8062// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 8063 8064 /* vec_any_ge */ 8065 res_i = vec_any_ge(vsc, vsc); 8066// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8067// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8068 8069 res_i = vec_any_ge(vsc, vbc); 8070// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8071// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8072 8073 res_i = vec_any_ge(vuc, vuc); 8074// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8075// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8076 8077 res_i = vec_any_ge(vuc, vbc); 8078// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8079// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8080 8081 res_i = vec_any_ge(vbc, vsc); 8082// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8083// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8084 8085 res_i = vec_any_ge(vbc, vuc); 8086// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8087// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8088 8089 res_i = vec_any_ge(vbc, vbc); 8090// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8091// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8092 8093 res_i = vec_any_ge(vs, vs); 8094// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8095// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8096 8097 res_i = vec_any_ge(vs, vbs); 8098// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8099// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8100 8101 res_i = vec_any_ge(vus, vus); 8102// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8103// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8104 8105 res_i = vec_any_ge(vus, vbs); 8106// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8107// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8108 8109 res_i = vec_any_ge(vbs, vs); 8110// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8111// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8112 8113 res_i = vec_any_ge(vbs, vus); 8114// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8115// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8116 8117 res_i = vec_any_ge(vbs, vbs); 8118// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8119// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8120 8121 res_i = vec_any_ge(vi, vi); 8122// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8123// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8124 8125 res_i = vec_any_ge(vi, vbi); 8126// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8127// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8128 8129 res_i = vec_any_ge(vui, vui); 8130// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8131// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8132 8133 res_i = vec_any_ge(vui, vbi); 8134// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8135// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8136 8137 res_i = vec_any_ge(vbi, vi); 8138// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8139// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8140 8141 res_i = vec_any_ge(vbi, vui); 8142// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8143// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8144 8145 res_i = vec_any_ge(vbi, vbi); 8146// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8147// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8148 8149 res_i = vec_any_ge(vf, vf); 8150// CHECK: @llvm.ppc.altivec.vcmpgefp.p 8151// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 8152 8153 /* vec_any_gt */ 8154 res_i = vec_any_gt(vsc, vsc); 8155// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8156// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8157 8158 res_i = vec_any_gt(vsc, vbc); 8159// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8160// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8161 8162 res_i = vec_any_gt(vuc, vuc); 8163// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8164// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8165 8166 res_i = vec_any_gt(vuc, vbc); 8167// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8168// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8169 8170 res_i = vec_any_gt(vbc, vsc); 8171// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8172// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8173 8174 res_i = vec_any_gt(vbc, vuc); 8175// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8176// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8177 8178 res_i = vec_any_gt(vbc, vbc); 8179// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8180// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8181 8182 res_i = vec_any_gt(vs, vs); 8183// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8184// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8185 8186 res_i = vec_any_gt(vs, vbs); 8187// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8188// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8189 8190 res_i = vec_any_gt(vus, vus); 8191// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8192// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8193 8194 res_i = vec_any_gt(vus, vbs); 8195// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8196// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8197 8198 res_i = vec_any_gt(vbs, vs); 8199// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8200// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8201 8202 res_i = vec_any_gt(vbs, vus); 8203// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8204// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8205 8206 res_i = vec_any_gt(vbs, vbs); 8207// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8208// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8209 8210 res_i = vec_any_gt(vi, vi); 8211// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8212// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8213 8214 res_i = vec_any_gt(vi, vbi); 8215// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8216// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8217 8218 res_i = vec_any_gt(vui, vui); 8219// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8220// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8221 8222 res_i = vec_any_gt(vui, vbi); 8223// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8224// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8225 8226 res_i = vec_any_gt(vbi, vi); 8227// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8228// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8229 8230 res_i = vec_any_gt(vbi, vui); 8231// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8232// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8233 8234 res_i = vec_any_gt(vbi, vbi); 8235// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8236// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8237 8238 res_i = vec_any_gt(vf, vf); 8239// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 8240// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 8241 8242 /* vec_any_le */ 8243 res_i = vec_any_le(vsc, vsc); 8244// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8245// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8246 8247 res_i = vec_any_le(vsc, vbc); 8248// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8249// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8250 8251 res_i = vec_any_le(vuc, vuc); 8252// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8253// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8254 8255 res_i = vec_any_le(vuc, vbc); 8256// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8257// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8258 8259 res_i = vec_any_le(vbc, vsc); 8260// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8261// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8262 8263 res_i = vec_any_le(vbc, vuc); 8264// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8265// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8266 8267 res_i = vec_any_le(vbc, vbc); 8268// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8269// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8270 8271 res_i = vec_any_le(vs, vs); 8272// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8273// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8274 8275 res_i = vec_any_le(vs, vbs); 8276// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8277// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8278 8279 res_i = vec_any_le(vus, vus); 8280// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8281// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8282 8283 res_i = vec_any_le(vus, vbs); 8284// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8285// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8286 8287 res_i = vec_any_le(vbs, vs); 8288// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8289// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8290 8291 res_i = vec_any_le(vbs, vus); 8292// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8293// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8294 8295 res_i = vec_any_le(vbs, vbs); 8296// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8297// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8298 8299 res_i = vec_any_le(vi, vi); 8300// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8301// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8302 8303 res_i = vec_any_le(vi, vbi); 8304// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8305// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8306 8307 res_i = vec_any_le(vui, vui); 8308// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8309// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8310 8311 res_i = vec_any_le(vui, vbi); 8312// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8313// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8314 8315 res_i = vec_any_le(vbi, vi); 8316// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8317// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8318 8319 res_i = vec_any_le(vbi, vui); 8320// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8321// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8322 8323 res_i = vec_any_le(vbi, vbi); 8324// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8325// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8326 8327 res_i = vec_any_le(vf, vf); 8328// CHECK: @llvm.ppc.altivec.vcmpgefp.p 8329// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 8330 8331 /* vec_any_lt */ 8332 res_i = vec_any_lt(vsc, vsc); 8333// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8334// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8335 8336 res_i = vec_any_lt(vsc, vbc); 8337// CHECK: @llvm.ppc.altivec.vcmpgtsb.p 8338// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p 8339 8340 res_i = vec_any_lt(vuc, vuc); 8341// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8342// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8343 8344 res_i = vec_any_lt(vuc, vbc); 8345// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8346// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8347 8348 res_i = vec_any_lt(vbc, vsc); 8349// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8350// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8351 8352 res_i = vec_any_lt(vbc, vuc); 8353// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8354// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8355 8356 res_i = vec_any_lt(vbc, vbc); 8357// CHECK: @llvm.ppc.altivec.vcmpgtub.p 8358// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p 8359 8360 res_i = vec_any_lt(vs, vs); 8361// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8362// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8363 8364 res_i = vec_any_lt(vs, vbs); 8365// CHECK: @llvm.ppc.altivec.vcmpgtsh.p 8366// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p 8367 8368 res_i = vec_any_lt(vus, vus); 8369// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8370// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8371 8372 res_i = vec_any_lt(vus, vbs); 8373// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8374// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8375 8376 res_i = vec_any_lt(vbs, vs); 8377// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8378// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8379 8380 res_i = vec_any_lt(vbs, vus); 8381// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8382// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8383 8384 res_i = vec_any_lt(vbs, vbs); 8385// CHECK: @llvm.ppc.altivec.vcmpgtuh.p 8386// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p 8387 8388 res_i = vec_any_lt(vi, vi); 8389// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8390// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8391 8392 res_i = vec_any_lt(vi, vbi); 8393// CHECK: @llvm.ppc.altivec.vcmpgtsw.p 8394// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p 8395 8396 res_i = vec_any_lt(vui, vui); 8397// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8398// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8399 8400 res_i = vec_any_lt(vui, vbi); 8401// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8402// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8403 8404 res_i = vec_any_lt(vbi, vi); 8405// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8406// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8407 8408 res_i = vec_any_lt(vbi, vui); 8409// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8410// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8411 8412 res_i = vec_any_lt(vbi, vbi); 8413// CHECK: @llvm.ppc.altivec.vcmpgtuw.p 8414// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p 8415 8416 res_i = vec_any_lt(vf, vf); 8417// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 8418// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 8419 8420 /* vec_any_nan */ 8421 res_i = vec_any_nan(vf); 8422// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 8423// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 8424 8425 /* vec_any_ne */ 8426 res_i = vec_any_ne(vsc, vsc); 8427// CHECK: @llvm.ppc.altivec.vcmpequb.p 8428// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8429 8430 res_i = vec_any_ne(vsc, vbc); 8431// CHECK: @llvm.ppc.altivec.vcmpequb.p 8432// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8433 8434 res_i = vec_any_ne(vuc, vuc); 8435// CHECK: @llvm.ppc.altivec.vcmpequb.p 8436// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8437 8438 res_i = vec_any_ne(vuc, vbc); 8439// CHECK: @llvm.ppc.altivec.vcmpequb.p 8440// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8441 8442 res_i = vec_any_ne(vbc, vsc); 8443// CHECK: @llvm.ppc.altivec.vcmpequb.p 8444// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8445 8446 res_i = vec_any_ne(vbc, vuc); 8447// CHECK: @llvm.ppc.altivec.vcmpequb.p 8448// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8449 8450 res_i = vec_any_ne(vbc, vbc); 8451// CHECK: @llvm.ppc.altivec.vcmpequb.p 8452// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p 8453 8454 res_i = vec_any_ne(vs, vs); 8455// CHECK: @llvm.ppc.altivec.vcmpequh.p 8456// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8457 8458 res_i = vec_any_ne(vs, vbs); 8459// CHECK: @llvm.ppc.altivec.vcmpequh.p 8460// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8461 8462 res_i = vec_any_ne(vus, vus); 8463// CHECK: @llvm.ppc.altivec.vcmpequh.p 8464// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8465 8466 res_i = vec_any_ne(vus, vbs); 8467// CHECK: @llvm.ppc.altivec.vcmpequh.p 8468// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8469 8470 res_i = vec_any_ne(vbs, vs); 8471// CHECK: @llvm.ppc.altivec.vcmpequh.p 8472// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8473 8474 res_i = vec_any_ne(vbs, vus); 8475// CHECK: @llvm.ppc.altivec.vcmpequh.p 8476// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8477 8478 res_i = vec_any_ne(vbs, vbs); 8479// CHECK: @llvm.ppc.altivec.vcmpequh.p 8480// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8481 8482 res_i = vec_any_ne(vp, vp); 8483// CHECK: @llvm.ppc.altivec.vcmpequh.p 8484// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p 8485 8486 res_i = vec_any_ne(vi, vi); 8487// CHECK: @llvm.ppc.altivec.vcmpequw.p 8488// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8489 8490 res_i = vec_any_ne(vi, vbi); 8491// CHECK: @llvm.ppc.altivec.vcmpequw.p 8492// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8493 8494 res_i = vec_any_ne(vui, vui); 8495// CHECK: @llvm.ppc.altivec.vcmpequw.p 8496// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8497 8498 res_i = vec_any_ne(vui, vbi); 8499// CHECK: @llvm.ppc.altivec.vcmpequw.p 8500// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8501 8502 res_i = vec_any_ne(vbi, vi); 8503// CHECK: @llvm.ppc.altivec.vcmpequw.p 8504// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8505 8506 res_i = vec_any_ne(vbi, vui); 8507// CHECK: @llvm.ppc.altivec.vcmpequw.p 8508// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8509 8510 res_i = vec_any_ne(vbi, vbi); 8511// CHECK: @llvm.ppc.altivec.vcmpequw.p 8512// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p 8513 8514 res_i = vec_any_ne(vf, vf); 8515// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 8516// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 8517 8518 /* vec_any_nge */ 8519 res_i = vec_any_nge(vf, vf); 8520// CHECK: @llvm.ppc.altivec.vcmpgefp.p 8521// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 8522 8523 /* vec_any_ngt */ 8524 res_i = vec_any_ngt(vf, vf); 8525// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 8526// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 8527 8528 /* vec_any_nle */ 8529 res_i = vec_any_nle(vf, vf); 8530// CHECK: @llvm.ppc.altivec.vcmpgefp.p 8531// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p 8532 8533 /* vec_any_nlt */ 8534 res_i = vec_any_nlt(vf, vf); 8535// CHECK: @llvm.ppc.altivec.vcmpgtfp.p 8536// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p 8537 8538 /* vec_any_numeric */ 8539 res_i = vec_any_numeric(vf); 8540// CHECK: @llvm.ppc.altivec.vcmpeqfp.p 8541// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p 8542 8543 /* vec_any_out */ 8544 res_i = vec_any_out(vf, vf); 8545// CHECK: @llvm.ppc.altivec.vcmpbfp.p 8546// CHECK-LE: @llvm.ppc.altivec.vcmpbfp.p 8547} 8548 8549/* ------------------------------ Relational Operators ------------------------------ */ 8550// CHECK-LABEL: define void @test7 8551void test7() { 8552 vector signed char vsc1 = (vector signed char)(-1); 8553 vector signed char vsc2 = (vector signed char)(-2); 8554 res_i = (vsc1 == vsc2); 8555// CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 2 8556// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 2 8557 8558 res_i = (vsc1 != vsc2); 8559// CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 0 8560// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 0 8561 8562 res_i = (vsc1 < vsc2); 8563// CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 2 8564// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 2 8565 8566 res_i = (vsc1 > vsc2); 8567// CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 2 8568// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 2 8569 8570 res_i = (vsc1 <= vsc2); 8571// CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 0 8572// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 0 8573 8574 res_i = (vsc1 >= vsc2); 8575// CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 0 8576// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 0 8577 8578 vector unsigned char vuc1 = (vector unsigned char)(1); 8579 vector unsigned char vuc2 = (vector unsigned char)(2); 8580 res_i = (vuc1 == vuc2); 8581// CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 2 8582// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 2 8583 8584 res_i = (vuc1 != vuc2); 8585// CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 0 8586// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 0 8587 8588 res_i = (vuc1 < vuc2); 8589// CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 2 8590// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 2 8591 8592 res_i = (vuc1 > vuc2); 8593// CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 2 8594// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 2 8595 8596 res_i = (vuc1 <= vuc2); 8597// CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 0 8598// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 0 8599 8600 res_i = (vuc1 >= vuc2); 8601// CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 0 8602// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 0 8603 8604 vector short vs1 = (vector short)(-1); 8605 vector short vs2 = (vector short)(-2); 8606 res_i = (vs1 == vs2); 8607// CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 2 8608// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 2 8609 8610 res_i = (vs1 != vs2); 8611// CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 0 8612// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 0 8613 8614 res_i = (vs1 < vs2); 8615// CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 2 8616// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 2 8617 8618 res_i = (vs1 > vs2); 8619// CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 2 8620// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 2 8621 8622 res_i = (vs1 <= vs2); 8623// CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 0 8624// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 0 8625 8626 res_i = (vs1 >= vs2); 8627// CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 0 8628// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 0 8629 8630 vector unsigned short vus1 = (vector unsigned short)(1); 8631 vector unsigned short vus2 = (vector unsigned short)(2); 8632 res_i = (vus1 == vus2); 8633// CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 2 8634// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 2 8635 8636 res_i = (vus1 != vus2); 8637// CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 0 8638// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 0 8639 8640 res_i = (vus1 < vus2); 8641// CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 2 8642// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 2 8643 8644 res_i = (vus1 > vus2); 8645// CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 2 8646// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 2 8647 8648 res_i = (vus1 <= vus2); 8649// CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 0 8650// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 0 8651 8652 res_i = (vus1 >= vus2); 8653// CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 0 8654// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 0 8655 8656 vector int vi1 = (vector int)(-1); 8657 vector int vi2 = (vector int)(-2); 8658 res_i = (vi1 == vi2); 8659// CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 2 8660// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 2 8661 8662 res_i = (vi1 != vi2); 8663// CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 0 8664// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 0 8665 8666 res_i = (vi1 < vi2); 8667// CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 2 8668// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 2 8669 8670 res_i = (vi1 > vi2); 8671// CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 2 8672// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 2 8673 8674 res_i = (vi1 <= vi2); 8675// CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 0 8676// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 0 8677 8678 res_i = (vi1 >= vi2); 8679// CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 0 8680// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 0 8681 8682 vector unsigned int vui1 = (vector unsigned int)(1); 8683 vector unsigned int vui2 = (vector unsigned int)(2); 8684 res_i = (vui1 == vui2); 8685// CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 2 8686// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 2 8687 8688 res_i = (vui1 != vui2); 8689// CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 0 8690// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 0 8691 8692 res_i = (vui1 < vui2); 8693// CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 2 8694// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 2 8695 8696 res_i = (vui1 > vui2); 8697// CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 2 8698// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 2 8699 8700 res_i = (vui1 <= vui2); 8701// CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 0 8702// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 0 8703 8704 res_i = (vui1 >= vui2); 8705// CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 0 8706// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 0 8707 8708 vector float vf1 = (vector float)(1.0); 8709 vector float vf2 = (vector float)(2.0); 8710 res_i = (vf1 == vf2); 8711// CHECK: @llvm.ppc.altivec.vcmpeqfp.p(i32 2 8712// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p(i32 2 8713 8714 res_i = (vf1 != vf2); 8715// CHECK: @llvm.ppc.altivec.vcmpeqfp.p(i32 0 8716// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p(i32 0 8717 8718 res_i = (vf1 < vf2); 8719// CHECK: @llvm.ppc.altivec.vcmpgtfp.p(i32 2 8720// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p(i32 2 8721 8722 res_i = (vf1 > vf2); 8723// CHECK: @llvm.ppc.altivec.vcmpgtfp.p(i32 2 8724// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p(i32 2 8725 8726 res_i = (vf1 <= vf2); 8727// CHECK: @llvm.ppc.altivec.vcmpgefp.p(i32 2 8728// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p(i32 2 8729 8730 res_i = (vf1 >= vf2); 8731// CHECK: @llvm.ppc.altivec.vcmpgefp.p(i32 2 8732// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p(i32 2 8733} 8734