brintos

brintos / llvm-project-archived public Read only

0
0
Text · 263.9 KiB · 91d1ebd Raw
9546 lines · c
1// REQUIRES: powerpc-registered-target2// RUN: %clang_cc1 -target-feature +altivec -triple powerpc-unknown-unknown -emit-llvm %s \3// RUN:            -flax-vector-conversions=none  -faltivec-src-compat=mixed \4// RUN:            -o - | FileCheck %s5// RUN: %clang_cc1 -target-feature +altivec -triple powerpcle-unknown-unknown -emit-llvm %s \6// RUN:            -flax-vector-conversions=none  -faltivec-src-compat=mixed \7// RUN:            -o - | FileCheck %s -check-prefix=CHECK-LE8// RUN: %clang_cc1 -target-feature +altivec -triple powerpc64-unknown-unknown -emit-llvm %s \9// RUN:            -flax-vector-conversions=none  -faltivec-src-compat=mixed \10// RUN:            -o - | FileCheck %s11// RUN: %clang_cc1 -target-feature +altivec -triple powerpc64le-unknown-unknown -emit-llvm %s \12// RUN:            -flax-vector-conversions=none  -faltivec-src-compat=mixed \13// RUN:            -o - | FileCheck %s -check-prefix=CHECK-LE14// RUN: not %clang_cc1 -triple powerpc64le-unknown-unknown -emit-llvm %s \15// RUN:            -ferror-limit 0 -DNO_ALTIVEC -o - 2>&1 \16// RUN:            | FileCheck %s -check-prefix=CHECK-NOALTIVEC17#ifndef NO_ALTIVEC18#include <altivec.h>19#endif20 21vector bool char vbc = { 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 };22vector signed char vsc = { 1, -2, 3, -4, 5, -6, 7, -8, 9, -10, 11, -12, 13, -14, 15, -16 };23vector unsigned char vuc = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };24vector bool short vbs = { 1, 0, 1, 0, 1, 0, 1, 0 };25vector short vs = { -1, 2, -3, 4, -5, 6, -7, 8 };26vector unsigned short vus = { 1, 2, 3, 4, 5, 6, 7, 8 };27vector pixel vp = { 1, 2, 3, 4, 5, 6, 7, 8 };28vector bool int vbi = { 1, 0, 1, 0 };29vector int vi = { -1, 2, -3, 4 };30vector unsigned int vui = { 1, 2, 3, 4 };31vector float vf = { -1.5, 2.5, -3.5, 4.5 };32 33vector bool char res_vbc;34vector signed char res_vsc;35vector unsigned char res_vuc;36vector bool short res_vbs;37vector short res_vs;38vector unsigned short res_vus;39vector pixel res_vp;40vector bool int res_vbi;41vector int res_vi;42vector unsigned int res_vui;43vector float res_vf;44 45// CHECK-NOALTIVEC: error: unknown type name 'vector'46// CHECK-NOALTIVEC-NOT: '(error)'47const signed char *param_sc_ld;48const unsigned char *param_uc_ld;49const short *param_s_ld;50const unsigned short *param_us_ld;51const int *param_i_ld;52const unsigned int *param_ui_ld;53const float *param_f_ld;54 55signed char param_sc;56unsigned char param_uc;57short param_s;58unsigned short param_us;59int param_i;60unsigned int param_ui;61float param_f;62signed long long param_sll;63 64int res_sc;65int res_uc;66int res_s;67int res_us;68int res_i;69int res_ui;70int res_f;71 72// CHECK-LABEL: define{{.*}} void @test173void test1() {74 75  /* vec_abs */76  vsc = vec_abs(vsc);77// CHECK: sub <16 x i8> zeroinitializer78// CHECK: @llvm.ppc.altivec.vmaxsb79// CHECK-LE: sub <16 x i8> zeroinitializer80// CHECK-LE: @llvm.ppc.altivec.vmaxsb81 82  vs = vec_abs(vs);83// CHECK: sub <8 x i16> zeroinitializer84// CHECK: @llvm.ppc.altivec.vmaxsh85// CHECK-LE: sub <8 x i16> zeroinitializer86// CHECK-LE: @llvm.ppc.altivec.vmaxsh87 88  vi = vec_abs(vi);89// CHECK: sub <4 x i32> zeroinitializer90// CHECK: @llvm.ppc.altivec.vmaxsw91// CHECK-LE: sub <4 x i32> zeroinitializer92// CHECK-LE: @llvm.ppc.altivec.vmaxsw93 94  vf = vec_abs(vf);95// CHECK: and <4 x i32> {{.*}}, splat (i32 2147483647)96// CHECK: store <4 x float> %{{.*}}, ptr @vf97// CHECK-LE: bitcast <4 x float> %{{.*}} to <4 x i32>98// CHECK-LE: and <4 x i32> {{.*}}, splat (i32 2147483647)99// CHECK-LE: bitcast <4 x i32> %{{.*}} to <4 x float>100// CHECK-LE: store <4 x float> %{{.*}}, ptr @vf101 102  vsc = vec_nabs(vsc);103// CHECK: sub <16 x i8> zeroinitializer104// CHECK: @llvm.ppc.altivec.vminsb105// CHECK-LE: sub <16 x i8> zeroinitializer106// CHECK-LE: @llvm.ppc.altivec.vminsb107 108  vs = vec_nabs(vs);109// CHECK: sub <8 x i16> zeroinitializer110// CHECK: @llvm.ppc.altivec.vminsh111// CHECK-LE: sub <8 x i16> zeroinitializer112// CHECK-LE: @llvm.ppc.altivec.vminsh113 114  vi = vec_nabs(vi);115// CHECK: sub <4 x i32> zeroinitializer116// CHECK: @llvm.ppc.altivec.vminsw117// CHECK-LE: sub <4 x i32> zeroinitializer118// CHECK-LE: @llvm.ppc.altivec.vminsw119 120  res_vi = vec_neg(vi);121// CHECK: sub <4 x i32> zeroinitializer, {{%[0-9]+}}122// CHECK-LE: sub <4 x i32> zeroinitializer, {{%[0-9]+}}123 124  res_vs = vec_neg(vs);125// CHECK: sub <8 x i16> zeroinitializer, {{%[0-9]+}}126// CHECK-LE: sub <8 x i16> zeroinitializer, {{%[0-9]+}}127 128  res_vsc = vec_neg(vsc);129// CHECK: sub <16 x i8> zeroinitializer, {{%[0-9]+}}130// CHECK-LE: sub <16 x i8> zeroinitializer, {{%[0-9]+}}131 132 133  /* vec_abs */134  vsc = vec_abss(vsc);135// CHECK: @llvm.ppc.altivec.vsubsbs136// CHECK: @llvm.ppc.altivec.vmaxsb137// CHECK-LE: @llvm.ppc.altivec.vsubsbs138// CHECK-LE: @llvm.ppc.altivec.vmaxsb139 140  vs = vec_abss(vs);141// CHECK: @llvm.ppc.altivec.vsubshs142// CHECK: @llvm.ppc.altivec.vmaxsh143// CHECK-LE: @llvm.ppc.altivec.vsubshs144// CHECK-LE: @llvm.ppc.altivec.vmaxsh145 146  vi = vec_abss(vi);147// CHECK: @llvm.ppc.altivec.vsubsws148// CHECK: @llvm.ppc.altivec.vmaxsw149// CHECK-LE: @llvm.ppc.altivec.vsubsws150// CHECK-LE: @llvm.ppc.altivec.vmaxsw151 152  /*  vec_add */153  res_vsc = vec_add(vsc, vsc);154// CHECK: add <16 x i8>155// CHECK-LE: add <16 x i8>156 157  res_vsc = vec_add(vbc, vsc);158// CHECK: add <16 x i8>159// CHECK-LE: add <16 x i8>160 161  res_vsc = vec_add(vsc, vbc);162// CHECK: add <16 x i8>163// CHECK-LE: add <16 x i8>164 165  res_vuc = vec_add(vuc, vuc);166// CHECK: add <16 x i8>167// CHECK-LE: add <16 x i8>168 169  res_vuc = vec_add(vbc, vuc);170// CHECK: add <16 x i8>171// CHECK-LE: add <16 x i8>172 173  res_vuc = vec_add(vuc, vbc);174// CHECK: add <16 x i8>175// CHECK-LE: add <16 x i8>176 177  res_vs  = vec_add(vs, vs);178// CHECK: add <8 x i16>179// CHECK-LE: add <8 x i16>180 181  res_vs  = vec_add(vbs, vs);182// CHECK: add <8 x i16>183// CHECK-LE: add <8 x i16>184 185  res_vs  = vec_add(vs, vbs);186// CHECK: add <8 x i16>187// CHECK-LE: add <8 x i16>188 189  res_vus = vec_add(vus, vus);190// CHECK: add <8 x i16>191// CHECK-LE: add <8 x i16>192 193  res_vus = vec_add(vbs, vus);194// CHECK: add <8 x i16>195// CHECK-LE: add <8 x i16>196 197  res_vus = vec_add(vus, vbs);198// CHECK: add <8 x i16>199// CHECK-LE: add <8 x i16>200 201  res_vi  = vec_add(vi, vi);202// CHECK: add <4 x i32>203// CHECK-LE: add <4 x i32>204 205  res_vi  = vec_add(vbi, vi);206// CHECK: add <4 x i32>207// CHECK-LE: add <4 x i32>208 209  res_vi  = vec_add(vi, vbi);210// CHECK: add <4 x i32>211// CHECK-LE: add <4 x i32>212 213  res_vui = vec_add(vui, vui);214// CHECK: add <4 x i32>215// CHECK-LE: add <4 x i32>216 217  res_vui = vec_add(vbi, vui);218// CHECK: add <4 x i32>219// CHECK-LE: add <4 x i32>220 221  res_vui = vec_add(vui, vbi);222// CHECK: add <4 x i32>223// CHECK-LE: add <4 x i32>224 225  res_vf  = vec_add(vf, vf);226// CHECK: fadd <4 x float>227// CHECK-LE: fadd <4 x float>228 229  res_vi  = vec_adde(vi, vi, vi);230// CHECK: and <4 x i32>231// CHECK: add <4 x i32>232// CHECK: add <4 x i32>233// CHECK-LE: and <4 x i32>234// CHECK-LE: add <4 x i32>235// CHECK-LE: add <4 x i32>236 237  res_vui  = vec_adde(vui, vui, vui);238// CHECK: and <4 x i32>239// CHECK: add <4 x i32>240// CHECK: add <4 x i32>241// CHECK-LE: and <4 x i32>242// CHECK-LE: add <4 x i32>243// CHECK-LE: add <4 x i32>244 245  res_vsc = vec_vaddubm(vsc, vsc);246// CHECK: add <16 x i8>247// CHECK-LE: add <16 x i8>248 249  res_vsc = vec_vaddubm(vbc, vsc);250// CHECK: add <16 x i8>251// CHECK-LE: add <16 x i8>252 253  res_vsc = vec_vaddubm(vsc, vbc);254// CHECK: add <16 x i8>255// CHECK-LE: add <16 x i8>256 257  res_vuc = vec_vaddubm(vuc, vuc);258// CHECK: add <16 x i8>259// CHECK-LE: add <16 x i8>260 261  res_vuc = vec_vaddubm(vbc, vuc);262// CHECK: add <16 x i8>263// CHECK-LE: add <16 x i8>264 265  res_vuc = vec_vaddubm(vuc, vbc);266// CHECK: add <16 x i8>267// CHECK-LE: add <16 x i8>268 269  res_vs  = vec_vadduhm(vs, vs);270// CHECK: add <8 x i16>271// CHECK-LE: add <8 x i16>272 273  res_vs  = vec_vadduhm(vbs, vs);274// CHECK: add <8 x i16>275// CHECK-LE: add <8 x i16>276 277  res_vs  = vec_vadduhm(vs, vbs);278// CHECK: add <8 x i16>279// CHECK-LE: add <8 x i16>280 281  res_vus = vec_vadduhm(vus, vus);282// CHECK: add <8 x i16>283// CHECK-LE: add <8 x i16>284 285  res_vus = vec_vadduhm(vbs, vus);286// CHECK: add <8 x i16>287// CHECK-LE: add <8 x i16>288 289  res_vus = vec_vadduhm(vus, vbs);290// CHECK: add <8 x i16>291// CHECK-LE: add <8 x i16>292 293  res_vi  = vec_vadduwm(vi, vi);294// CHECK: add <4 x i32>295// CHECK-LE: add <4 x i32>296 297  res_vi  = vec_vadduwm(vbi, vi);298// CHECK: add <4 x i32>299// CHECK-LE: add <4 x i32>300 301  res_vi  = vec_vadduwm(vi, vbi);302// CHECK: add <4 x i32>303// CHECK-LE: add <4 x i32>304 305  res_vui = vec_vadduwm(vui, vui);306// CHECK: add <4 x i32>307// CHECK-LE: add <4 x i32>308 309  res_vui = vec_vadduwm(vbi, vui);310// CHECK: add <4 x i32>311// CHECK-LE: add <4 x i32>312 313  res_vui = vec_vadduwm(vui, vbi);314// CHECK: add <4 x i32>315// CHECK-LE: add <4 x i32>316 317  res_vf  = vec_vaddfp(vf, vf);318// CHECK: fadd <4 x float>319// CHECK-LE: fadd <4 x float>320 321  /* vec_addc */322  res_vui = vec_addc(vui, vui);323// CHECK: @llvm.ppc.altivec.vaddcuw324// CHECK-LE: @llvm.ppc.altivec.vaddcuw325 326  res_vui = vec_vaddcuw(vui, vui);327// CHECK: @llvm.ppc.altivec.vaddcuw328// CHECK-LE: @llvm.ppc.altivec.vaddcuw329 330  /* vec_adds */331  res_vsc = vec_adds(vsc, vsc);332// CHECK: @llvm.ppc.altivec.vaddsbs333// CHECK-LE: @llvm.ppc.altivec.vaddsbs334 335  res_vsc = vec_adds(vbc, vsc);336// CHECK: @llvm.ppc.altivec.vaddsbs337// CHECK-LE: @llvm.ppc.altivec.vaddsbs338 339  res_vsc = vec_adds(vsc, vbc);340// CHECK: @llvm.ppc.altivec.vaddsbs341// CHECK-LE: @llvm.ppc.altivec.vaddsbs342 343  res_vuc = vec_adds(vuc, vuc);344// CHECK: @llvm.ppc.altivec.vaddubs345// CHECK-LE: @llvm.ppc.altivec.vaddubs346 347  res_vuc = vec_adds(vbc, vuc);348// CHECK: @llvm.ppc.altivec.vaddubs349// CHECK-LE: @llvm.ppc.altivec.vaddubs350 351  res_vuc = vec_adds(vuc, vbc);352// CHECK: @llvm.ppc.altivec.vaddubs353// CHECK-LE: @llvm.ppc.altivec.vaddubs354 355  res_vs  = vec_adds(vs, vs);356// CHECK: @llvm.ppc.altivec.vaddshs357// CHECK-LE: @llvm.ppc.altivec.vaddshs358 359  res_vs  = vec_adds(vbs, vs);360// CHECK: @llvm.ppc.altivec.vaddshs361// CHECK-LE: @llvm.ppc.altivec.vaddshs362 363  res_vs  = vec_adds(vs, vbs);364// CHECK: @llvm.ppc.altivec.vaddshs365// CHECK-LE: @llvm.ppc.altivec.vaddshs366 367  res_vus = vec_adds(vus, vus);368// CHECK: @llvm.ppc.altivec.vadduhs369// CHECK-LE: @llvm.ppc.altivec.vadduhs370 371  res_vus = vec_adds(vbs, vus);372// CHECK: @llvm.ppc.altivec.vadduhs373// CHECK-LE: @llvm.ppc.altivec.vadduhs374 375  res_vus = vec_adds(vus, vbs);376// CHECK: @llvm.ppc.altivec.vadduhs377// CHECK-LE: @llvm.ppc.altivec.vadduhs378 379  res_vi  = vec_adds(vi, vi);380// CHECK: @llvm.ppc.altivec.vaddsws381// CHECK-LE: @llvm.ppc.altivec.vaddsws382 383  res_vi  = vec_adds(vbi, vi);384// CHECK: @llvm.ppc.altivec.vaddsws385// CHECK-LE: @llvm.ppc.altivec.vaddsws386 387  res_vi  = vec_adds(vi, vbi);388// CHECK: @llvm.ppc.altivec.vaddsws389// CHECK-LE: @llvm.ppc.altivec.vaddsws390 391  res_vui = vec_adds(vui, vui);392// CHECK: @llvm.ppc.altivec.vadduws393// CHECK-LE: @llvm.ppc.altivec.vadduws394 395  res_vui = vec_adds(vbi, vui);396// CHECK: @llvm.ppc.altivec.vadduws397// CHECK-LE: @llvm.ppc.altivec.vadduws398 399  res_vui = vec_adds(vui, vbi);400// CHECK: @llvm.ppc.altivec.vadduws401// CHECK-LE: @llvm.ppc.altivec.vadduws402 403  res_vsc = vec_vaddsbs(vsc, vsc);404// CHECK: @llvm.ppc.altivec.vaddsbs405// CHECK-LE: @llvm.ppc.altivec.vaddsbs406 407  res_vsc = vec_vaddsbs(vbc, vsc);408// CHECK: @llvm.ppc.altivec.vaddsbs409// CHECK-LE: @llvm.ppc.altivec.vaddsbs410 411  res_vsc = vec_vaddsbs(vsc, vbc);412// CHECK: @llvm.ppc.altivec.vaddsbs413// CHECK-LE: @llvm.ppc.altivec.vaddsbs414 415  res_vuc = vec_vaddubs(vuc, vuc);416// CHECK: @llvm.ppc.altivec.vaddubs417// CHECK-LE: @llvm.ppc.altivec.vaddubs418 419  res_vuc = vec_vaddubs(vbc, vuc);420// CHECK: @llvm.ppc.altivec.vaddubs421// CHECK-LE: @llvm.ppc.altivec.vaddubs422 423  res_vuc = vec_vaddubs(vuc, vbc);424// CHECK: @llvm.ppc.altivec.vaddubs425// CHECK-LE: @llvm.ppc.altivec.vaddubs426 427  res_vs  = vec_vaddshs(vs, vs);428// CHECK: @llvm.ppc.altivec.vaddshs429// CHECK-LE: @llvm.ppc.altivec.vaddshs430 431  res_vs  = vec_vaddshs(vbs, vs);432// CHECK: @llvm.ppc.altivec.vaddshs433// CHECK-LE: @llvm.ppc.altivec.vaddshs434 435  res_vs  = vec_vaddshs(vs, vbs);436// CHECK: @llvm.ppc.altivec.vaddshs437// CHECK-LE: @llvm.ppc.altivec.vaddshs438 439  res_vus = vec_vadduhs(vus, vus);440// CHECK: @llvm.ppc.altivec.vadduhs441// CHECK-LE: @llvm.ppc.altivec.vadduhs442 443  res_vus = vec_vadduhs(vbs, vus);444// CHECK: @llvm.ppc.altivec.vadduhs445// CHECK-LE: @llvm.ppc.altivec.vadduhs446 447  res_vus = vec_vadduhs(vus, vbs);448// CHECK: @llvm.ppc.altivec.vadduhs449// CHECK-LE: @llvm.ppc.altivec.vadduhs450 451  res_vi  = vec_vaddsws(vi, vi);452// CHECK: @llvm.ppc.altivec.vaddsws453// CHECK-LE: @llvm.ppc.altivec.vaddsws454 455  res_vi  = vec_vaddsws(vbi, vi);456// CHECK: @llvm.ppc.altivec.vaddsws457// CHECK-LE: @llvm.ppc.altivec.vaddsws458 459  res_vi  = vec_vaddsws(vi, vbi);460// CHECK: @llvm.ppc.altivec.vaddsws461// CHECK-LE: @llvm.ppc.altivec.vaddsws462 463  res_vui = vec_vadduws(vui, vui);464// CHECK: @llvm.ppc.altivec.vadduws465// CHECK-LE: @llvm.ppc.altivec.vadduws466 467  res_vui = vec_vadduws(vbi, vui);468// CHECK: @llvm.ppc.altivec.vadduws469// CHECK-LE: @llvm.ppc.altivec.vadduws470 471  res_vui = vec_vadduws(vui, vbi);472// CHECK: @llvm.ppc.altivec.vadduws473// CHECK-LE: @llvm.ppc.altivec.vadduws474 475  /* vec_and */476  res_vsc = vec_and(vsc, vsc);477// CHECK: and <16 x i8>478// CHECK-LE: and <16 x i8>479 480  res_vsc = vec_and(vbc, vsc);481// CHECK: and <16 x i8>482// CHECK-LE: and <16 x i8>483 484  res_vsc = vec_and(vsc, vbc);485// CHECK: and <16 x i8>486// CHECK-LE: and <16 x i8>487 488  res_vuc = vec_and(vuc, vuc);489// CHECK: and <16 x i8>490// CHECK-LE: and <16 x i8>491 492  res_vuc = vec_and(vbc, vuc);493// CHECK: and <16 x i8>494// CHECK-LE: and <16 x i8>495 496  res_vuc = vec_and(vuc, vbc);497// CHECK: and <16 x i8>498// CHECK-LE: and <16 x i8>499 500  res_vbc = vec_and(vbc, vbc);501// CHECK: and <16 x i8>502// CHECK-LE: and <16 x i8>503 504  res_vs  = vec_and(vs, vs);505// CHECK: and <8 x i16>506// CHECK-LE: and <8 x i16>507 508  res_vs  = vec_and(vbs, vs);509// CHECK: and <8 x i16>510// CHECK-LE: and <8 x i16>511 512  res_vs  = vec_and(vs, vbs);513// CHECK: and <8 x i16>514// CHECK-LE: and <8 x i16>515 516  res_vus = vec_and(vus, vus);517// CHECK: and <8 x i16>518// CHECK-LE: and <8 x i16>519 520  res_vus = vec_and(vbs, vus);521// CHECK: and <8 x i16>522// CHECK-LE: and <8 x i16>523 524  res_vus = vec_and(vus, vbs);525// CHECK: and <8 x i16>526// CHECK-LE: and <8 x i16>527 528  res_vbs = vec_and(vbs, vbs);529// CHECK: and <8 x i16>530// CHECK-LE: and <8 x i16>531 532  res_vi  = vec_and(vi, vi);533// CHECK: and <4 x i32>534// CHECK-LE: and <4 x i32>535 536  res_vi  = vec_and(vbi, vi);537// CHECK: and <4 x i32>538// CHECK-le: and <4 x i32>539 540  res_vi  = vec_and(vi, vbi);541// CHECK: and <4 x i32>542// CHECK-LE: and <4 x i32>543 544  res_vui = vec_and(vui, vui);545// CHECK: and <4 x i32>546// CHECK-LE: and <4 x i32>547 548  res_vui = vec_and(vbi, vui);549// CHECK: and <4 x i32>550// CHECK-LE: and <4 x i32>551 552  res_vui = vec_and(vui, vbi);553// CHECK: and <4 x i32>554// CHECK-LE: and <4 x i32>555 556  res_vbi = vec_and(vbi, vbi);557// CHECK: and <4 x i32>558// CHECK-LE: and <4 x i32>559 560  res_vsc = vec_vand(vsc, vsc);561// CHECK: and <16 x i8>562// CHECK-LE: and <16 x i8>563 564  res_vsc = vec_vand(vbc, vsc);565// CHECK: and <16 x i8>566// CHECK-LE: and <16 x i8>567 568  res_vsc = vec_vand(vsc, vbc);569// CHECK: and <16 x i8>570// CHECK-LE: and <16 x i8>571 572  res_vuc = vec_vand(vuc, vuc);573// CHECK: and <16 x i8>574// CHECK-LE: and <16 x i8>575 576  res_vuc = vec_vand(vbc, vuc);577// CHECK: and <16 x i8>578// CHECK-LE: and <16 x i8>579 580  res_vuc = vec_vand(vuc, vbc);581// CHECK: and <16 x i8>582// CHECK-LE: and <16 x i8>583 584  res_vbc = vec_vand(vbc, vbc);585// CHECK: and <16 x i8>586// CHECK-LE: and <16 x i8>587 588  res_vs  = vec_vand(vs, vs);589// CHECK: and <8 x i16>590// CHECK-LE: and <8 x i16>591 592  res_vs  = vec_vand(vbs, vs);593// CHECK: and <8 x i16>594// CHECK-LE: and <8 x i16>595 596  res_vs  = vec_vand(vs, vbs);597// CHECK: and <8 x i16>598// CHECK-LE: and <8 x i16>599 600  res_vus = vec_vand(vus, vus);601// CHECK: and <8 x i16>602// CHECK-LE: and <8 x i16>603 604  res_vus = vec_vand(vbs, vus);605// CHECK: and <8 x i16>606// CHECK-LE: and <8 x i16>607 608  res_vus = vec_vand(vus, vbs);609// CHECK: and <8 x i16>610// CHECK-LE: and <8 x i16>611 612  res_vbs = vec_vand(vbs, vbs);613// CHECK: and <8 x i16>614// CHECK-LE: and <8 x i16>615 616  res_vi  = vec_vand(vi, vi);617// CHECK: and <4 x i32>618// CHECK-LE: and <4 x i32>619 620  res_vi  = vec_vand(vbi, vi);621// CHECK: and <4 x i32>622// CHECK-LE: and <4 x i32>623 624  res_vi  = vec_vand(vi, vbi);625// CHECK: and <4 x i32>626// CHECK-LE: and <4 x i32>627 628  res_vui = vec_vand(vui, vui);629// CHECK: and <4 x i32>630// CHECK-LE: and <4 x i32>631 632  res_vui = vec_vand(vbi, vui);633// CHECK: and <4 x i32>634// CHECK-LE: and <4 x i32>635 636  res_vui = vec_vand(vui, vbi);637// CHECK: and <4 x i32>638// CHECK-LE: and <4 x i32>639 640  res_vbi = vec_vand(vbi, vbi);641// CHECK: and <4 x i32>642// CHECK-LE: and <4 x i32>643 644  /* vec_andc */645  res_vsc = vec_andc(vsc, vsc);646// CHECK: xor <16 x i8>647// CHECK: and <16 x i8>648// CHECK-LE: xor <16 x i8>649// CHECK-LE: and <16 x i8>650 651  res_vsc = vec_andc(vbc, vsc);652// CHECK: xor <16 x i8>653// CHECK: and <16 x i8>654// CHECK-LE: xor <16 x i8>655// CHECK-LE: and <16 x i8>656 657  res_vsc = vec_andc(vsc, vbc);658// CHECK: xor <16 x i8>659// CHECK: and <16 x i8>660// CHECK-LE: xor <16 x i8>661// CHECK-LE: and <16 x i8>662 663  res_vuc = vec_andc(vuc, vuc);664// CHECK: xor <16 x i8>665// CHECK: and <16 x i8>666// CHECK-LE: xor <16 x i8>667// CHECK-LE: and <16 x i8>668 669  res_vuc = vec_andc(vbc, vuc);670// CHECK: xor <16 x i8>671// CHECK: and <16 x i8>672// CHECK-LE: xor <16 x i8>673// CHECK-LE: and <16 x i8>674 675  res_vuc = vec_andc(vuc, vbc);676// CHECK-LE: xor <16 x i8>677// CHECK-LE: and <16 x i8>678 679  res_vbc = vec_andc(vbc, vbc);680// CHECK: xor <16 x i8>681// CHECK: and <16 x i8>682// CHECK-LE: xor <16 x i8>683// CHECK-LE: and <16 x i8>684 685  res_vs  = vec_andc(vs, vs);686// CHECK: xor <8 x i16>687// CHECK: and <8 x i16>688// CHECK-LE: xor <8 x i16>689// CHECK-LE: and <8 x i16>690 691  res_vs  = vec_andc(vbs, vs);692// CHECK: xor <8 x i16>693// CHECK: and <8 x i16>694// CHECK-LE: xor <8 x i16>695// CHECK-LE: and <8 x i16>696 697  res_vs  = vec_andc(vs, vbs);698// CHECK: xor <8 x i16>699// CHECK: and <8 x i16>700// CHECK-LE: xor <8 x i16>701// CHECK-LE: and <8 x i16>702 703  res_vus = vec_andc(vus, vus);704// CHECK: xor <8 x i16>705// CHECK: and <8 x i16>706// CHECK-LE: xor <8 x i16>707// CHECK-LE: and <8 x i16>708 709  res_vus = vec_andc(vbs, vus);710// CHECK: xor <8 x i16>711// CHECK: and <8 x i16>712// CHECK-LE: xor <8 x i16>713// CHECK-LE: and <8 x i16>714 715  res_vus = vec_andc(vus, vbs);716// CHECK: xor <8 x i16>717// CHECK: and <8 x i16>718// CHECK-LE: xor <8 x i16>719// CHECK-LE: and <8 x i16>720 721  res_vbs = vec_andc(vbs, vbs);722// CHECK: xor <8 x i16>723// CHECK: and <8 x i16>724// CHECK-LE: xor <8 x i16>725// CHECK-LE: and <8 x i16>726 727  res_vi  = vec_andc(vi, vi);728// CHECK: xor <4 x i32>729// CHECK: and <4 x i32>730// CHECK-LE: xor <4 x i32>731// CHECK-LE: and <4 x i32>732 733  res_vi  = vec_andc(vbi, vi);734// CHECK: xor <4 x i32>735// CHECK: and <4 x i32>736// CHECK-LE: xor <4 x i32>737// CHECK-LE: and <4 x i32>738 739  res_vi  = vec_andc(vi, vbi);740// CHECK: xor <4 x i32>741// CHECK: and <4 x i32>742// CHECK-LE: xor <4 x i32>743// CHECK-LE: and <4 x i32>744 745  res_vui = vec_andc(vui, vui);746// CHECK: xor <4 x i32>747// CHECK: and <4 x i32>748// CHECK-LE: xor <4 x i32>749// CHECK-LE: and <4 x i32>750 751  res_vui = vec_andc(vbi, vui);752// CHECK: xor <4 x i32>753// CHECK: and <4 x i32>754// CHECK-LE: xor <4 x i32>755// CHECK-LE: and <4 x i32>756 757  res_vui = vec_andc(vui, vbi);758// CHECK: xor <4 x i32>759// CHECK: and <4 x i32>760// CHECK-LE: xor <4 x i32>761// CHECK-LE: and <4 x i32>762 763  res_vf = vec_andc(vf, vf);764// CHECK: xor <4 x i32>765// CHECK: and <4 x i32>766// CHECK-LE: xor <4 x i32>767// CHECK-LE: and <4 x i32>768 769  res_vf = vec_andc(vbi, vf);770// CHECK: xor <4 x i32>771// CHECK: and <4 x i32>772// CHECK-LE: xor <4 x i32>773// CHECK-LE: and <4 x i32>774 775  res_vf = vec_andc(vf, vbi);776// CHECK: xor <4 x i32>777// CHECK: and <4 x i32>778// CHECK-LE: xor <4 x i32>779// CHECK-LE: and <4 x i32>780 781  res_vsc = vec_vandc(vsc, vsc);782// CHECK: xor <16 x i8>783// CHECK: and <16 x i8>784// CHECK-LE: xor <16 x i8>785// CHECK-LE: and <16 x i8>786 787  res_vsc = vec_vandc(vbc, vsc);788// CHECK: xor <16 x i8>789// CHECK: and <16 x i8>790// CHECK-LE: xor <16 x i8>791// CHECK-LE: and <16 x i8>792 793  res_vsc = vec_vandc(vsc, vbc);794// CHECK: xor <16 x i8>795// CHECK: and <16 x i8>796// CHECK-LE: xor <16 x i8>797// CHECK-LE: and <16 x i8>798 799  res_vuc = vec_vandc(vuc, vuc);800// CHECK: xor <16 x i8>801// CHECK: and <16 x i8>802// CHECK-LE: xor <16 x i8>803// CHECK-LE: and <16 x i8>804 805  res_vuc = vec_vandc(vbc, vuc);806// CHECK: xor <16 x i8>807// CHECK: and <16 x i8>808// CHECK-LE: xor <16 x i8>809// CHECK-LE: and <16 x i8>810 811  res_vuc = vec_vandc(vuc, vbc);812// CHECK: xor <16 x i8>813// CHECK: and <16 x i8>814// CHECK-LE: xor <16 x i8>815// CHECK-LE: and <16 x i8>816 817  res_vbc = vec_vandc(vbc, vbc);818// CHECK: xor <16 x i8>819// CHECK: and <16 x i8>820// CHECK-LE: xor <16 x i8>821// CHECK-LE: and <16 x i8>822 823  res_vs  = vec_vandc(vs, vs);824// CHECK: xor <8 x i16>825// CHECK: and <8 x i16>826// CHECK-LE: xor <8 x i16>827// CHECK-LE: and <8 x i16>828 829  res_vs  = vec_vandc(vbs, vs);830// CHECK: xor <8 x i16>831// CHECK: and <8 x i16>832// CHECK-LE: xor <8 x i16>833// CHECK-LE: and <8 x i16>834 835  res_vs  = vec_vandc(vs, vbs);836// CHECK: xor <8 x i16>837// CHECK: and <8 x i16>838// CHECK-LE: xor <8 x i16>839// CHECK-LE: and <8 x i16>840 841  res_vus = vec_vandc(vus, vus);842// CHECK: xor <8 x i16>843// CHECK: and <8 x i16>844// CHECK-LE: xor <8 x i16>845// CHECK-LE: and <8 x i16>846 847  res_vus = vec_vandc(vbs, vus);848// CHECK: xor <8 x i16>849// CHECK: and <8 x i16>850// CHECK-LE: xor <8 x i16>851// CHECK-LE: and <8 x i16>852 853  res_vus = vec_vandc(vus, vbs);854// CHECK: xor <8 x i16>855// CHECK: and <8 x i16>856// CHECK-LE: xor <8 x i16>857// CHECK-LE: and <8 x i16>858 859  res_vbs = vec_vandc(vbs, vbs);860// CHECK: xor <8 x i16>861// CHECK: and <8 x i16>862// CHECK-LE: xor <8 x i16>863// CHECK-LE: and <8 x i16>864 865  res_vi  = vec_vandc(vi, vi);866// CHECK: xor <4 x i32>867// CHECK: and <4 x i32>868// CHECK-LE: xor <4 x i32>869// CHECK-LE: and <4 x i32>870 871  res_vi  = vec_vandc(vbi, vi);872// CHECK: xor <4 x i32>873// CHECK: and <4 x i32>874// CHECK-LE: xor <4 x i32>875// CHECK-LE: and <4 x i32>876 877  res_vi  = vec_vandc(vi, vbi);878// CHECK: xor <4 x i32>879// CHECK: and <4 x i32>880// CHECK-LE: xor <4 x i32>881// CHECK-LE: and <4 x i32>882 883  res_vui = vec_vandc(vui, vui);884// CHECK: xor <4 x i32>885// CHECK: and <4 x i32>886// CHECK-LE: xor <4 x i32>887// CHECK-LE: and <4 x i32>888 889  res_vui = vec_vandc(vbi, vui);890// CHECK: xor <4 x i32>891// CHECK: and <4 x i32>892// CHECK-LE: xor <4 x i32>893// CHECK-LE: and <4 x i32>894 895  res_vui = vec_vandc(vui, vbi);896// CHECK: xor <4 x i32>897// CHECK: and <4 x i32>898// CHECK-LE: xor <4 x i32>899// CHECK-LE: and <4 x i32>900 901  res_vf = vec_vandc(vf, vf);902// CHECK: xor <4 x i32>903// CHECK: and <4 x i32>904// CHECK-LE: xor <4 x i32>905// CHECK-LE: and <4 x i32>906 907  res_vf = vec_vandc(vbi, vf);908// CHECK: xor <4 x i32>909// CHECK: and <4 x i32>910// CHECK-LE: xor <4 x i32>911// CHECK-LE: and <4 x i32>912 913  res_vf = vec_vandc(vf, vbi);914// CHECK: xor <4 x i32>915// CHECK: and <4 x i32>916// CHECK-LE: xor <4 x i32>917// CHECK-LE: and <4 x i32>918 919}920 921// CHECK-LABEL: define{{.*}} void @test2922void test2() {923  /* vec_avg */924  res_vsc = vec_avg(vsc, vsc);925// CHECK: @llvm.ppc.altivec.vavgsb926// CHECK-LE: @llvm.ppc.altivec.vavgsb927 928  res_vuc = vec_avg(vuc, vuc);929// CHECK: @llvm.ppc.altivec.vavgub930// CHECK-LE: @llvm.ppc.altivec.vavgub931 932  res_vs  = vec_avg(vs, vs);933// CHECK: @llvm.ppc.altivec.vavgsh934// CHECK-LE: @llvm.ppc.altivec.vavgsh935 936  res_vus = vec_avg(vus, vus);937// CHECK: @llvm.ppc.altivec.vavguh938// CHECK-LE: @llvm.ppc.altivec.vavguh939 940  res_vi  = vec_avg(vi, vi);941// CHECK: @llvm.ppc.altivec.vavgsw942// CHECK-LE: @llvm.ppc.altivec.vavgsw943 944  res_vui = vec_avg(vui, vui);945// CHECK: @llvm.ppc.altivec.vavguw946// CHECK-LE: @llvm.ppc.altivec.vavguw947 948  res_vsc = vec_vavgsb(vsc, vsc);949// CHECK: @llvm.ppc.altivec.vavgsb950// CHECK-LE: @llvm.ppc.altivec.vavgsb951 952  res_vuc = vec_vavgub(vuc, vuc);953// CHECK: @llvm.ppc.altivec.vavgub954// CHECK-LE: @llvm.ppc.altivec.vavgub955 956  res_vs  = vec_vavgsh(vs, vs);957// CHECK: @llvm.ppc.altivec.vavgsh958// CHECK-LE: @llvm.ppc.altivec.vavgsh959 960  res_vus = vec_vavguh(vus, vus);961// CHECK: @llvm.ppc.altivec.vavguh962// CHECK-LE: @llvm.ppc.altivec.vavguh963 964  res_vi  = vec_vavgsw(vi, vi);965// CHECK: @llvm.ppc.altivec.vavgsw966// CHECK-LE: @llvm.ppc.altivec.vavgsw967 968  res_vui = vec_vavguw(vui, vui);969// CHECK: @llvm.ppc.altivec.vavguw970// CHECK-LE: @llvm.ppc.altivec.vavguw971 972  /* vec_ceil */973  res_vf = vec_ceil(vf);974// CHECK: @llvm.ppc.altivec.vrfip975// CHECK-LE: @llvm.ppc.altivec.vrfip976 977  res_vf = vec_vrfip(vf);978// CHECK: @llvm.ppc.altivec.vrfip979// CHECK-LE: @llvm.ppc.altivec.vrfip980 981  /* vec_cmpb */982  res_vi = vec_cmpb(vf, vf);983// CHECK: @llvm.ppc.altivec.vcmpbfp984// CHECK-LE: @llvm.ppc.altivec.vcmpbfp985 986  res_vi = vec_vcmpbfp(vf, vf);987// CHECK: @llvm.ppc.altivec.vcmpbfp988// CHECK-LE: @llvm.ppc.altivec.vcmpbfp989 990  /* vec_cmpeq */991  res_vbc = vec_cmpeq(vsc, vsc);992// CHECK: @llvm.ppc.altivec.vcmpequb993// CHECK-LE: @llvm.ppc.altivec.vcmpequb994 995  res_vbc = vec_cmpeq(vuc, vuc);996// CHECK: @llvm.ppc.altivec.vcmpequb997// CHECK-LE: @llvm.ppc.altivec.vcmpequb998 999  res_vbc = vec_cmpeq(vbc, vbc);1000// CHECK: @llvm.ppc.altivec.vcmpequb1001// CHECK-LE: @llvm.ppc.altivec.vcmpequb1002 1003  res_vbc = vec_cmpeq(vbc, vbc);1004// CHECK: @llvm.ppc.altivec.vcmpequb1005// CHECK-LE: @llvm.ppc.altivec.vcmpequb1006 1007  res_vbs = vec_cmpeq(vs, vs);1008// CHECK: @llvm.ppc.altivec.vcmpequh1009// CHECK-LE: @llvm.ppc.altivec.vcmpequh1010 1011  res_vbs = vec_cmpeq(vus, vus);1012// CHECK: @llvm.ppc.altivec.vcmpequh1013// CHECK-LE: @llvm.ppc.altivec.vcmpequh1014 1015  res_vbs = vec_cmpeq(vbs, vbs);1016// CHECK: @llvm.ppc.altivec.vcmpequh1017// CHECK-LE: @llvm.ppc.altivec.vcmpequh1018 1019  res_vbs = vec_cmpeq(vbs, vbs);1020// CHECK: @llvm.ppc.altivec.vcmpequh1021// CHECK-LE: @llvm.ppc.altivec.vcmpequh1022 1023  res_vbi = vec_cmpeq(vi, vi);1024// CHECK: @llvm.ppc.altivec.vcmpequw1025// CHECK-LE: @llvm.ppc.altivec.vcmpequw1026 1027  res_vbi = vec_cmpeq(vui, vui);1028// CHECK: @llvm.ppc.altivec.vcmpequw1029// CHECK-LE: @llvm.ppc.altivec.vcmpequw1030 1031  res_vbi = vec_cmpeq(vbi, vbi);1032// CHECK: @llvm.ppc.altivec.vcmpequw1033// CHECK-LE: @llvm.ppc.altivec.vcmpequw1034 1035  res_vbi = vec_cmpeq(vbi, vbi);1036// CHECK: @llvm.ppc.altivec.vcmpequw1037// CHECK-LE: @llvm.ppc.altivec.vcmpequw1038 1039  res_vbi = vec_cmpeq(vf, vf);1040// CHECK: @llvm.ppc.altivec.vcmpeqfp1041// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp1042 1043  /* vec_cmpne */1044  res_vbc = vec_cmpne(vsc, vsc);1045// CHECK: @llvm.ppc.altivec.vcmpequb1046// CHECK: xor1047// CHECK-LE: @llvm.ppc.altivec.vcmpequb1048// CHECK-LE: xor1049 1050  res_vbc = vec_cmpne(vuc, vuc);1051// CHECK: @llvm.ppc.altivec.vcmpequb1052// CHECK: xor1053// CHECK-LE: @llvm.ppc.altivec.vcmpequb1054// CHECK-LE: xor1055 1056  res_vbc = vec_cmpne(vbc, vbc);1057// CHECK: @llvm.ppc.altivec.vcmpequb1058// CHECK: xor1059// CHECK-LE: @llvm.ppc.altivec.vcmpequb1060// CHECK-LE: xor1061 1062  res_vbc = vec_cmpne(vbc, vbc);1063// CHECK: @llvm.ppc.altivec.vcmpequb1064// CHECK: xor1065// CHECK-LE: @llvm.ppc.altivec.vcmpequb1066// CHECK-LE: xor1067 1068  res_vbs = vec_cmpne(vs, vs);1069// CHECK: @llvm.ppc.altivec.vcmpequh1070// CHECK: xor1071// CHECK-LE: @llvm.ppc.altivec.vcmpequh1072// CHECK-LE: xor1073 1074  res_vbs = vec_cmpne(vus, vus);1075// CHECK: @llvm.ppc.altivec.vcmpequh1076// CHECK: xor1077// CHECK-LE: @llvm.ppc.altivec.vcmpequh1078// CHECK-LE: xor1079 1080  res_vbs = vec_cmpne(vbs, vbs);1081// CHECK: @llvm.ppc.altivec.vcmpequh1082// CHECK: xor1083// CHECK-LE: @llvm.ppc.altivec.vcmpequh1084// CHECK-LE: xor1085 1086  res_vbs = vec_cmpne(vbs, vbs);1087// CHECK: @llvm.ppc.altivec.vcmpequh1088// CHECK: xor1089// CHECK-LE: @llvm.ppc.altivec.vcmpequh1090// CHECK-LE: xor1091 1092  res_vbi = vec_cmpne(vi, vi);1093// CHECK: @llvm.ppc.altivec.vcmpequw1094// CHECK: xor1095// CHECK-LE: @llvm.ppc.altivec.vcmpequw1096// CHECK-LE: xor1097 1098  res_vbi = vec_cmpne(vui, vui);1099// CHECK: @llvm.ppc.altivec.vcmpequw1100// CHECK: xor1101// CHECK-LE: @llvm.ppc.altivec.vcmpequw1102// CHECK-LE: xor1103 1104  res_vbi = vec_cmpne(vbi, vbi);1105// CHECK: @llvm.ppc.altivec.vcmpequw1106// CHECK: xor1107// CHECK-LE: @llvm.ppc.altivec.vcmpequw1108// CHECK-LE: xor1109 1110  res_vbi = vec_cmpne(vbi, vbi);1111// CHECK: @llvm.ppc.altivec.vcmpequw1112// CHECK: xor1113// CHECK-LE: @llvm.ppc.altivec.vcmpequw1114// CHECK-LE: xor1115 1116  res_vbi = vec_cmpne(vf, vf);1117// CHECK: @llvm.ppc.altivec.vcmpeqfp1118// CHECK: xor1119// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp1120// CHECK-LE: xor1121 1122  /* vec_cmpge */1123  res_vbc = vec_cmpge(vsc, vsc);1124// CHECK: @llvm.ppc.altivec.vcmpgtsb1125// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb1126 1127  res_vbc = vec_cmpge(vuc, vuc);1128// CHECK: @llvm.ppc.altivec.vcmpgtub1129// CHECK-LE: @llvm.ppc.altivec.vcmpgtub1130 1131  res_vbs = vec_cmpge(vs, vs);1132// CHECK: @llvm.ppc.altivec.vcmpgtsh1133// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh1134 1135  res_vbs = vec_cmpge(vus, vus);1136// CHECK: @llvm.ppc.altivec.vcmpgtuh1137// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh1138 1139  res_vbi = vec_cmpge(vi, vi);1140// CHECK: @llvm.ppc.altivec.vcmpgtsw1141// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw1142 1143  res_vbi = vec_cmpge(vui, vui);1144// CHECK: @llvm.ppc.altivec.vcmpgtuw1145// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw1146 1147  res_vbi = vec_cmpge(vf, vf);1148// CHECK: @llvm.ppc.altivec.vcmpgefp1149// CHECK-LE: @llvm.ppc.altivec.vcmpgefp1150 1151  res_vbi = vec_vcmpgefp(vf, vf);1152// CHECK: @llvm.ppc.altivec.vcmpgefp1153// CHECK-LE: @llvm.ppc.altivec.vcmpgefp1154}1155 1156// CHECK-LABEL: define{{.*}} void @test51157void test5() {1158 1159  /* vec_cmpgt */1160  res_vbc = vec_cmpgt(vsc, vsc);1161// CHECK: @llvm.ppc.altivec.vcmpgtsb1162// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb1163 1164  res_vbc = vec_cmpgt(vuc, vuc);1165// CHECK: @llvm.ppc.altivec.vcmpgtub1166// CHECK-LE: @llvm.ppc.altivec.vcmpgtub1167 1168  res_vbs = vec_cmpgt(vs, vs);1169// CHECK: @llvm.ppc.altivec.vcmpgtsh1170// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh1171 1172  res_vbs = vec_cmpgt(vus, vus);1173// CHECK: @llvm.ppc.altivec.vcmpgtuh1174// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh1175 1176  res_vbi = vec_cmpgt(vi, vi);1177// CHECK: @llvm.ppc.altivec.vcmpgtsw1178// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw1179 1180  res_vbi = vec_cmpgt(vui, vui);1181// CHECK: @llvm.ppc.altivec.vcmpgtuw1182// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw1183 1184  res_vbi = vec_cmpgt(vf, vf);1185// CHECK: @llvm.ppc.altivec.vcmpgtfp1186// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp1187 1188  res_vbc = vec_vcmpgtsb(vsc, vsc);1189// CHECK: @llvm.ppc.altivec.vcmpgtsb1190// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb1191 1192  res_vbc = vec_vcmpgtub(vuc, vuc);1193// CHECK: @llvm.ppc.altivec.vcmpgtub1194// CHECK-LE: @llvm.ppc.altivec.vcmpgtub1195 1196  res_vbs = vec_vcmpgtsh(vs, vs);1197// CHECK: @llvm.ppc.altivec.vcmpgtsh1198// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh1199 1200  res_vbs = vec_vcmpgtuh(vus, vus);1201// CHECK: @llvm.ppc.altivec.vcmpgtuh1202// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh1203 1204  res_vbi = vec_vcmpgtsw(vi, vi);1205// CHECK: @llvm.ppc.altivec.vcmpgtsw1206// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw1207 1208  res_vbi = vec_vcmpgtuw(vui, vui);1209// CHECK: @llvm.ppc.altivec.vcmpgtuw1210// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw1211 1212  res_vbi = vec_vcmpgtfp(vf, vf);1213// CHECK: @llvm.ppc.altivec.vcmpgtfp1214// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp1215 1216  /* vec_cmple */1217  res_vbc = vec_cmple(vsc, vsc);1218// CHECK: @llvm.ppc.altivec.vcmpgtsb1219// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb1220 1221  res_vbc = vec_cmple(vuc, vuc);1222// CHECK: @llvm.ppc.altivec.vcmpgtub1223// CHECK-LE: @llvm.ppc.altivec.vcmpgtub1224 1225  res_vbs = vec_cmple(vs, vs);1226// CHECK: @llvm.ppc.altivec.vcmpgtsh1227// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh1228 1229  res_vbs = vec_cmple(vus, vus);1230// CHECK: @llvm.ppc.altivec.vcmpgtuh1231// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh1232 1233  res_vbi = vec_cmple(vi, vi);1234// CHECK: @llvm.ppc.altivec.vcmpgtsw1235// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw1236 1237  res_vbi = vec_cmple(vui, vui);1238// CHECK: @llvm.ppc.altivec.vcmpgtuw1239// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw1240 1241  res_vbi = vec_cmple(vf, vf);1242// CHECK: @llvm.ppc.altivec.vcmpgefp1243// CHECK-LE: @llvm.ppc.altivec.vcmpgefp1244}1245 1246// CHECK-LABEL: define{{.*}} void @test61247void test6() {1248  /* vec_cmplt */1249  res_vbc = vec_cmplt(vsc, vsc);1250// CHECK: @llvm.ppc.altivec.vcmpgtsb1251// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb1252 1253  res_vbc = vec_cmplt(vuc, vuc);1254// CHECK: @llvm.ppc.altivec.vcmpgtub1255// CHECK-LE: @llvm.ppc.altivec.vcmpgtub1256 1257  res_vbs = vec_cmplt(vs, vs);1258// CHECK: @llvm.ppc.altivec.vcmpgtsh1259// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh1260 1261  res_vbs = vec_cmplt(vus, vus);1262// CHECK: @llvm.ppc.altivec.vcmpgtuh1263// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh1264 1265  res_vbi = vec_cmplt(vi, vi);1266// CHECK: @llvm.ppc.altivec.vcmpgtsw1267// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw1268 1269  res_vbi = vec_cmplt(vui, vui);1270// CHECK: @llvm.ppc.altivec.vcmpgtuw1271// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw1272 1273  res_vbi = vec_cmplt(vf, vf);1274// CHECK: @llvm.ppc.altivec.vcmpgtfp1275// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp1276 1277  /* vec_ctf */1278  res_vf  = vec_ctf(vi, 0);1279// CHECK: @llvm.ppc.altivec.vcfsx1280// CHECK-LE: @llvm.ppc.altivec.vcfsx1281 1282  res_vf  = vec_ctf(vui, 0);1283// CHECK: @llvm.ppc.altivec.vcfux1284// CHECK-LE: @llvm.ppc.altivec.vcfux1285 1286  res_vf  = vec_vcfsx(vi, 0);1287// CHECK: @llvm.ppc.altivec.vcfsx1288// CHECK-LE: @llvm.ppc.altivec.vcfsx1289 1290  res_vf  = vec_vcfux(vui, 0);1291// CHECK: @llvm.ppc.altivec.vcfux1292// CHECK-LE: @llvm.ppc.altivec.vcfux1293 1294  /* vec_cts */1295  res_vi = vec_cts(vf, 0);1296// CHECK: @llvm.ppc.altivec.vctsxs1297// CHECK-LE: @llvm.ppc.altivec.vctsxs1298 1299  res_vi = vec_vctsxs(vf, 0);1300// CHECK: @llvm.ppc.altivec.vctsxs1301// CHECK-LE: @llvm.ppc.altivec.vctsxs1302 1303  /* vec_ctu */1304  res_vui = vec_ctu(vf, 0);1305// CHECK: @llvm.ppc.altivec.vctuxs1306// CHECK-LE: @llvm.ppc.altivec.vctuxs1307 1308  res_vui = vec_vctuxs(vf, 0);1309// CHECK: @llvm.ppc.altivec.vctuxs1310// CHECK-LE: @llvm.ppc.altivec.vctuxs1311 1312  res_vi = vec_signed(vf);1313// CHECK: fptosi <4 x float>1314// CHECK-LE: fptosi <4 x float>1315 1316  res_vui = vec_unsigned(vf);1317// CHECK: fptoui <4 x float>1318// CHECK-LE: fptoui <4 x float>1319 1320  res_vf = vec_float(vi);1321// CHECK: sitofp <4 x i32>1322// CHECK-LE: sitofp <4 x i32>1323 1324  res_vf = vec_float(vui);1325// CHECK: uitofp <4 x i32>1326// CHECK-LE: uitofp <4 x i32>1327 1328  /* vec_div */1329  res_vsc = vec_div(vsc, vsc);1330// CHECK: sdiv <16 x i8>1331// CHECK-LE: sdiv <16 x i8>1332 1333  res_vuc = vec_div(vuc, vuc);1334// CHECK: udiv <16 x i8>1335// CHECK-LE: udiv <16 x i8>1336 1337  res_vs = vec_div(vs, vs);1338// CHECK: sdiv <8 x i16>1339// CHECK-LE: sdiv <8 x i16>1340 1341  res_vus = vec_div(vus, vus);1342// CHECK: udiv <8 x i16>1343// CHECK-LE: udiv <8 x i16>1344 1345  res_vi = vec_div(vi, vi);1346// CHECK: sdiv <4 x i32>1347// CHECK-LE: sdiv <4 x i32>1348 1349  res_vui = vec_div(vui, vui);1350// CHECK: udiv <4 x i32>1351// CHECK-LE: udiv <4 x i32>1352 1353  /* vec_dss */1354  vec_dss(0);1355// CHECK: @llvm.ppc.altivec.dss1356// CHECK-LE: @llvm.ppc.altivec.dss1357 1358  /* vec_dssall */1359  vec_dssall();1360// CHECK: @llvm.ppc.altivec.dssall1361// CHECK-LE: @llvm.ppc.altivec.dssall1362 1363  /* vec_dst */1364  vec_dst(&vsc, 0, 0);1365// CHECK: @llvm.ppc.altivec.dst1366// CHECK-LE: @llvm.ppc.altivec.dst1367 1368  /* vec_dstst */1369  vec_dstst(&vs, 0, 0);1370// CHECK: @llvm.ppc.altivec.dstst1371// CHECK-LE: @llvm.ppc.altivec.dstst1372 1373  /* vec_dststt */1374  vec_dststt(&param_i, 0, 0);1375// CHECK: @llvm.ppc.altivec.dststt1376// CHECK-LE: @llvm.ppc.altivec.dststt1377 1378  /* vec_dstt */1379  vec_dstt(&vf, 0, 0);1380// CHECK: @llvm.ppc.altivec.dstt1381// CHECK-LE: @llvm.ppc.altivec.dstt1382 1383  /* vec_expte */1384  res_vf = vec_expte(vf);1385// CHECK: @llvm.ppc.altivec.vexptefp1386// CHECK-LE: @llvm.ppc.altivec.vexptefp1387 1388  res_vf = vec_vexptefp(vf);1389// CHECK: @llvm.ppc.altivec.vexptefp1390// CHECK-LE: @llvm.ppc.altivec.vexptefp1391 1392  /* vec_floor */1393  res_vf = vec_floor(vf);1394// CHECK: @llvm.ppc.altivec.vrfim1395// CHECK-LE: @llvm.ppc.altivec.vrfim1396 1397  res_vf = vec_vrfim(vf);1398// CHECK: @llvm.ppc.altivec.vrfim1399// CHECK-LE: @llvm.ppc.altivec.vrfim1400 1401  /* vec_ld */1402  res_vsc = vec_ld(0, &vsc);1403// CHECK: @llvm.ppc.altivec.lvx1404// CHECK-LE: @llvm.ppc.altivec.lvx1405 1406  res_vsc = vec_ld(0, param_sc_ld);1407// CHECK: @llvm.ppc.altivec.lvx1408// CHECK-LE: @llvm.ppc.altivec.lvx1409 1410  res_vuc = vec_ld(0, &vuc);1411// CHECK: @llvm.ppc.altivec.lvx1412// CHECK-LE: @llvm.ppc.altivec.lvx1413 1414  res_vuc = vec_ld(0, param_uc_ld);1415// CHECK: @llvm.ppc.altivec.lvx1416// CHECK-LE: @llvm.ppc.altivec.lvx1417 1418  res_vbc = vec_ld(0, &vbc);1419// CHECK: @llvm.ppc.altivec.lvx1420// CHECK-LE: @llvm.ppc.altivec.lvx1421 1422  res_vs  = vec_ld(0, &vs);1423// CHECK: @llvm.ppc.altivec.lvx1424// CHECK-LE: @llvm.ppc.altivec.lvx1425 1426  res_vs  = vec_ld(0, param_s_ld);1427// CHECK: @llvm.ppc.altivec.lvx1428// CHECK-LE: @llvm.ppc.altivec.lvx1429 1430  res_vus = vec_ld(0, &vus);1431// CHECK: @llvm.ppc.altivec.lvx1432// CHECK-LE: @llvm.ppc.altivec.lvx1433 1434  res_vus = vec_ld(0, param_us_ld);1435// CHECK: @llvm.ppc.altivec.lvx1436// CHECK-LE: @llvm.ppc.altivec.lvx1437 1438  res_vbs = vec_ld(0, &vbs);1439// CHECK: @llvm.ppc.altivec.lvx1440// CHECK-LE: @llvm.ppc.altivec.lvx1441 1442  res_vp  = vec_ld(0, &vp);1443// CHECK: @llvm.ppc.altivec.lvx1444// CHECK-LE: @llvm.ppc.altivec.lvx1445 1446  res_vi  = vec_ld(0, &vi);1447// CHECK: @llvm.ppc.altivec.lvx1448// CHECK-LE: @llvm.ppc.altivec.lvx1449 1450  res_vi  = vec_ld(0, param_i_ld);1451// CHECK: @llvm.ppc.altivec.lvx1452// CHECK-LE: @llvm.ppc.altivec.lvx1453 1454  res_vui = vec_ld(0, &vui);1455// CHECK: @llvm.ppc.altivec.lvx1456// CHECK-LE: @llvm.ppc.altivec.lvx1457 1458  res_vui = vec_ld(0, param_ui_ld);1459// CHECK: @llvm.ppc.altivec.lvx1460// CHECK-LE: @llvm.ppc.altivec.lvx1461 1462  res_vbi = vec_ld(0, &vbi);1463// CHECK: @llvm.ppc.altivec.lvx1464// CHECK-LE: @llvm.ppc.altivec.lvx1465 1466  res_vf  = vec_ld(0, &vf);1467// CHECK: @llvm.ppc.altivec.lvx1468// CHECK-LE: @llvm.ppc.altivec.lvx1469 1470  res_vf  = vec_ld(0, param_f_ld);1471// CHECK: @llvm.ppc.altivec.lvx1472// CHECK-LE: @llvm.ppc.altivec.lvx1473 1474  res_vsc = vec_lvx(0, &vsc);1475// CHECK: @llvm.ppc.altivec.lvx1476// CHECK-LE: @llvm.ppc.altivec.lvx1477 1478  res_vsc = vec_lvx(0, param_sc_ld);1479// CHECK: @llvm.ppc.altivec.lvx1480// CHECK-LE: @llvm.ppc.altivec.lvx1481 1482  res_vuc = vec_lvx(0, &vuc);1483// CHECK: @llvm.ppc.altivec.lvx1484// CHECK-LE: @llvm.ppc.altivec.lvx1485 1486  res_vuc = vec_lvx(0, param_uc_ld);1487// CHECK: @llvm.ppc.altivec.lvx1488// CHECK-LE: @llvm.ppc.altivec.lvx1489 1490  res_vbc = vec_lvx(0, &vbc);1491// CHECK: @llvm.ppc.altivec.lvx1492// CHECK-LE: @llvm.ppc.altivec.lvx1493 1494  res_vs  = vec_lvx(0, &vs);1495// CHECK: @llvm.ppc.altivec.lvx1496// CHECK-LE: @llvm.ppc.altivec.lvx1497 1498  res_vs  = vec_lvx(0, param_s_ld);1499// CHECK: @llvm.ppc.altivec.lvx1500// CHECK-LE: @llvm.ppc.altivec.lvx1501 1502  res_vus = vec_lvx(0, &vus);1503// CHECK: @llvm.ppc.altivec.lvx1504// CHECK-LE: @llvm.ppc.altivec.lvx1505 1506  res_vus = vec_lvx(0, param_us_ld);1507// CHECK: @llvm.ppc.altivec.lvx1508// CHECK-LE: @llvm.ppc.altivec.lvx1509 1510  res_vbs = vec_lvx(0, &vbs);1511// CHECK: @llvm.ppc.altivec.lvx1512// CHECK-LE: @llvm.ppc.altivec.lvx1513 1514  res_vp  = vec_lvx(0, &vp);1515// CHECK: @llvm.ppc.altivec.lvx1516// CHECK-LE: @llvm.ppc.altivec.lvx1517 1518  res_vi  = vec_lvx(0, &vi);1519// CHECK: @llvm.ppc.altivec.lvx1520// CHECK-LE: @llvm.ppc.altivec.lvx1521 1522  res_vi  = vec_lvx(0, param_i_ld);1523// CHECK: @llvm.ppc.altivec.lvx1524// CHECK-LE: @llvm.ppc.altivec.lvx1525 1526  res_vui = vec_lvx(0, &vui);1527// CHECK: @llvm.ppc.altivec.lvx1528// CHECK-LE: @llvm.ppc.altivec.lvx1529 1530  res_vui = vec_lvx(0, param_ui_ld);1531// CHECK: @llvm.ppc.altivec.lvx1532// CHECK-LE: @llvm.ppc.altivec.lvx1533 1534  res_vbi = vec_lvx(0, &vbi);1535// CHECK: @llvm.ppc.altivec.lvx1536// CHECK-LE: @llvm.ppc.altivec.lvx1537 1538  res_vf  = vec_lvx(0, &vf);1539// CHECK: @llvm.ppc.altivec.lvx1540// CHECK-LE: @llvm.ppc.altivec.lvx1541 1542  res_vf  = vec_lvx(0, param_f_ld);1543// CHECK: @llvm.ppc.altivec.lvx1544// CHECK-LE: @llvm.ppc.altivec.lvx1545 1546  /* vec_lde */1547  res_vsc = vec_lde(0, param_sc_ld);1548// CHECK: @llvm.ppc.altivec.lvebx1549// CHECK-LE: @llvm.ppc.altivec.lvebx1550 1551  res_vuc = vec_lde(0, param_uc_ld);1552// CHECK: @llvm.ppc.altivec.lvebx1553// CHECK-LE: @llvm.ppc.altivec.lvebx1554 1555  res_vs  = vec_lde(0, param_s_ld);1556// CHECK: @llvm.ppc.altivec.lvehx1557// CHECK-LE: @llvm.ppc.altivec.lvehx1558 1559  res_vus = vec_lde(0, param_us_ld);1560// CHECK: @llvm.ppc.altivec.lvehx1561// CHECK-LE: @llvm.ppc.altivec.lvehx1562 1563  res_vi  = vec_lde(0, param_i_ld);1564// CHECK: @llvm.ppc.altivec.lvewx1565// CHECK-LE: @llvm.ppc.altivec.lvewx1566 1567  res_vui = vec_lde(0, param_ui_ld);1568// CHECK: @llvm.ppc.altivec.lvewx1569// CHECK-LE: @llvm.ppc.altivec.lvewx1570 1571  res_vf  = vec_lde(0, param_f_ld);1572// CHECK: @llvm.ppc.altivec.lvewx1573// CHECK-LE: @llvm.ppc.altivec.lvewx1574 1575  res_vsc = vec_lvebx(0, param_sc_ld);1576// CHECK: @llvm.ppc.altivec.lvebx1577// CHECK-LE: @llvm.ppc.altivec.lvebx1578 1579  res_vuc = vec_lvebx(0, param_uc_ld);1580// CHECK: @llvm.ppc.altivec.lvebx1581// CHECK-LE: @llvm.ppc.altivec.lvebx1582 1583  res_vs  = vec_lvehx(0, param_s_ld);1584// CHECK: @llvm.ppc.altivec.lvehx1585// CHECK-LE: @llvm.ppc.altivec.lvehx1586 1587  res_vus = vec_lvehx(0, param_us_ld);1588// CHECK: @llvm.ppc.altivec.lvehx1589// CHECK-LE: @llvm.ppc.altivec.lvehx1590 1591  res_vi  = vec_lvewx(0, param_i_ld);1592// CHECK: @llvm.ppc.altivec.lvewx1593// CHECK-LE: @llvm.ppc.altivec.lvewx1594 1595  res_vui = vec_lvewx(0, param_ui_ld);1596// CHECK: @llvm.ppc.altivec.lvewx1597// CHECK-LE: @llvm.ppc.altivec.lvewx1598 1599  res_vf  = vec_lvewx(0, param_f_ld);1600// CHECK: @llvm.ppc.altivec.lvewx1601// CHECK-LE: @llvm.ppc.altivec.lvewx1602 1603  /* vec_ldl */1604  res_vsc = vec_ldl(0, &vsc);1605// CHECK: @llvm.ppc.altivec.lvxl1606// CHECK-LE: @llvm.ppc.altivec.lvxl1607 1608  res_vsc = vec_ldl(0, param_sc_ld);1609// CHECK: @llvm.ppc.altivec.lvxl1610// CHECK-LE: @llvm.ppc.altivec.lvxl1611 1612  res_vuc = vec_ldl(0, &vuc);1613// CHECK: @llvm.ppc.altivec.lvxl1614// CHECK-LE: @llvm.ppc.altivec.lvxl1615 1616  res_vuc = vec_ldl(0, param_uc_ld);1617// CHECK: @llvm.ppc.altivec.lvxl1618// CHECK-LE: @llvm.ppc.altivec.lvxl1619 1620  res_vbc = vec_ldl(0, &vbc);1621// CHECK: @llvm.ppc.altivec.lvxl1622// CHECK-LE: @llvm.ppc.altivec.lvxl1623 1624  res_vs  = vec_ldl(0, &vs);1625// CHECK: @llvm.ppc.altivec.lvxl1626// CHECK-LE: @llvm.ppc.altivec.lvxl1627 1628  res_vs  = vec_ldl(0, param_s_ld);1629// CHECK: @llvm.ppc.altivec.lvxl1630// CHECK-LE: @llvm.ppc.altivec.lvxl1631 1632  res_vus = vec_ldl(0, &vus);1633// CHECK: @llvm.ppc.altivec.lvxl1634// CHECK-LE: @llvm.ppc.altivec.lvxl1635 1636  res_vus = vec_ldl(0, param_us_ld);1637// CHECK: @llvm.ppc.altivec.lvxl1638// CHECK-LE: @llvm.ppc.altivec.lvxl1639 1640  res_vbs = vec_ldl(0, &vbs);1641// CHECK: @llvm.ppc.altivec.lvxl1642// CHECK-LE: @llvm.ppc.altivec.lvxl1643 1644  res_vp  = vec_ldl(0, &vp);1645// CHECK: @llvm.ppc.altivec.lvxl1646// CHECK-LE: @llvm.ppc.altivec.lvxl1647 1648  res_vi  = vec_ldl(0, &vi);1649// CHECK: @llvm.ppc.altivec.lvxl1650// CHECK-LE: @llvm.ppc.altivec.lvxl1651 1652  res_vi  = vec_ldl(0, param_i_ld);1653// CHECK: @llvm.ppc.altivec.lvxl1654// CHECK-LE: @llvm.ppc.altivec.lvxl1655 1656  res_vui = vec_ldl(0, &vui);1657// CHECK: @llvm.ppc.altivec.lvxl1658// CHECK-LE: @llvm.ppc.altivec.lvxl1659 1660  res_vui = vec_ldl(0, param_ui_ld);1661// CHECK: @llvm.ppc.altivec.lvxl1662// CHECK-LE: @llvm.ppc.altivec.lvxl1663 1664  res_vbi = vec_ldl(0, &vbi);1665// CHECK: @llvm.ppc.altivec.lvxl1666// CHECK-LE: @llvm.ppc.altivec.lvxl1667 1668  res_vf  = vec_ldl(0, &vf);1669// CHECK: @llvm.ppc.altivec.lvxl1670// CHECK-LE: @llvm.ppc.altivec.lvxl1671 1672  res_vf  = vec_ldl(0, param_f_ld);1673// CHECK: @llvm.ppc.altivec.lvxl1674// CHECK-LE: @llvm.ppc.altivec.lvxl1675 1676  res_vsc = vec_lvxl(0, &vsc);1677// CHECK: @llvm.ppc.altivec.lvxl1678// CHECK-LE: @llvm.ppc.altivec.lvxl1679 1680  res_vsc = vec_lvxl(0, param_sc_ld);1681// CHECK: @llvm.ppc.altivec.lvxl1682// CHECK-LE: @llvm.ppc.altivec.lvxl1683 1684  res_vuc = vec_lvxl(0, &vuc);1685// CHECK: @llvm.ppc.altivec.lvxl1686// CHECK-LE: @llvm.ppc.altivec.lvxl1687 1688  res_vbc = vec_lvxl(0, &vbc);1689// CHECK: @llvm.ppc.altivec.lvxl1690// CHECK-LE: @llvm.ppc.altivec.lvxl1691 1692  res_vuc = vec_lvxl(0, param_uc_ld);1693// CHECK: @llvm.ppc.altivec.lvxl1694// CHECK-LE: @llvm.ppc.altivec.lvxl1695 1696  res_vs  = vec_lvxl(0, &vs);1697// CHECK: @llvm.ppc.altivec.lvxl1698// CHECK-LE: @llvm.ppc.altivec.lvxl1699 1700  res_vs  = vec_lvxl(0, param_s_ld);1701// CHECK: @llvm.ppc.altivec.lvxl1702// CHECK-LE: @llvm.ppc.altivec.lvxl1703 1704  res_vus = vec_lvxl(0, &vus);1705// CHECK: @llvm.ppc.altivec.lvxl1706// CHECK-LE: @llvm.ppc.altivec.lvxl1707 1708  res_vus = vec_lvxl(0, param_us_ld);1709// CHECK: @llvm.ppc.altivec.lvxl1710// CHECK-LE: @llvm.ppc.altivec.lvxl1711 1712  res_vbs = vec_lvxl(0, &vbs);1713// CHECK: @llvm.ppc.altivec.lvxl1714// CHECK-LE: @llvm.ppc.altivec.lvxl1715 1716  res_vp  = vec_lvxl(0, &vp);1717// CHECK: @llvm.ppc.altivec.lvxl1718// CHECK-LE: @llvm.ppc.altivec.lvxl1719 1720  res_vi  = vec_lvxl(0, &vi);1721// CHECK: @llvm.ppc.altivec.lvxl1722// CHECK-LE: @llvm.ppc.altivec.lvxl1723 1724  res_vi  = vec_lvxl(0, param_i_ld);1725// CHECK: @llvm.ppc.altivec.lvxl1726// CHECK-LE: @llvm.ppc.altivec.lvxl1727 1728  res_vui = vec_lvxl(0, &vui);1729// CHECK: @llvm.ppc.altivec.lvxl1730// CHECK-LE: @llvm.ppc.altivec.lvxl1731 1732  res_vui = vec_lvxl(0, param_ui_ld);1733// CHECK: @llvm.ppc.altivec.lvxl1734// CHECK-LE: @llvm.ppc.altivec.lvxl1735 1736  res_vbi = vec_lvxl(0, &vbi);1737// CHECK: @llvm.ppc.altivec.lvxl1738// CHECK-LE: @llvm.ppc.altivec.lvxl1739 1740  res_vf  = vec_lvxl(0, &vf);1741// CHECK: @llvm.ppc.altivec.lvxl1742// CHECK-LE: @llvm.ppc.altivec.lvxl1743 1744  res_vf  = vec_lvxl(0, param_f_ld);1745// CHECK: @llvm.ppc.altivec.lvxl1746// CHECK-LE: @llvm.ppc.altivec.lvxl1747 1748  /* vec_loge */1749  res_vf = vec_loge(vf);1750// CHECK: @llvm.ppc.altivec.vlogefp1751// CHECK-LE: @llvm.ppc.altivec.vlogefp1752 1753  res_vf = vec_vlogefp(vf);1754// CHECK: @llvm.ppc.altivec.vlogefp1755// CHECK-LE: @llvm.ppc.altivec.vlogefp1756 1757  /* vec_lvsl */1758  res_vuc = vec_lvsl(0, param_i_ld);1759// CHECK: @llvm.ppc.altivec.lvsl1760// CHECK-LE: @llvm.ppc.altivec.lvsl1761 1762  /* vec_lvsr */1763  res_vuc = vec_lvsr(0, param_i_ld);1764// CHECK: @llvm.ppc.altivec.lvsr1765// CHECK-LE: @llvm.ppc.altivec.lvsr1766 1767  /* vec_madd */1768  res_vf =vec_madd(vf, vf, vf);1769// CHECK: @llvm.ppc.altivec.vmaddfp1770// CHECK-LE: @llvm.ppc.altivec.vmaddfp1771 1772  res_vf = vec_vmaddfp(vf, vf, vf);1773// CHECK: @llvm.ppc.altivec.vmaddfp1774// CHECK-LE: @llvm.ppc.altivec.vmaddfp1775 1776  /* vec_madds */1777  res_vs = vec_madds(vs, vs, vs);1778// CHECK: @llvm.ppc.altivec.vmhaddshs1779// CHECK-LE: @llvm.ppc.altivec.vmhaddshs1780 1781  res_vs = vec_vmhaddshs(vs, vs, vs);1782// CHECK: @llvm.ppc.altivec.vmhaddshs1783// CHECK-LE: @llvm.ppc.altivec.vmhaddshs1784 1785  /* vec_max */1786  res_vsc = vec_max(vsc, vsc);1787// CHECK: @llvm.ppc.altivec.vmaxsb1788// CHECK-LE: @llvm.ppc.altivec.vmaxsb1789 1790  res_vsc = vec_max(vbc, vsc);1791// CHECK: @llvm.ppc.altivec.vmaxsb1792// CHECK-LE: @llvm.ppc.altivec.vmaxsb1793 1794  res_vsc = vec_max(vsc, vbc);1795// CHECK: @llvm.ppc.altivec.vmaxsb1796// CHECK-LE: @llvm.ppc.altivec.vmaxsb1797 1798  res_vuc = vec_max(vuc, vuc);1799// CHECK: @llvm.ppc.altivec.vmaxub1800// CHECK-LE: @llvm.ppc.altivec.vmaxub1801 1802  res_vuc = vec_max(vbc, vuc);1803// CHECK: @llvm.ppc.altivec.vmaxub1804// CHECK-LE: @llvm.ppc.altivec.vmaxub1805 1806  res_vuc = vec_max(vuc, vbc);1807// CHECK: @llvm.ppc.altivec.vmaxub1808// CHECK-LE: @llvm.ppc.altivec.vmaxub1809 1810  res_vs  = vec_max(vs, vs);1811// CHECK: @llvm.ppc.altivec.vmaxsh1812// CHECK-LE: @llvm.ppc.altivec.vmaxsh1813 1814  res_vs  = vec_max(vbs, vs);1815// CHECK: @llvm.ppc.altivec.vmaxsh1816// CHECK-LE: @llvm.ppc.altivec.vmaxsh1817 1818  res_vs  = vec_max(vs, vbs);1819// CHECK: @llvm.ppc.altivec.vmaxsh1820// CHECK-LE: @llvm.ppc.altivec.vmaxsh1821 1822  res_vus = vec_max(vus, vus);1823// CHECK: @llvm.ppc.altivec.vmaxuh1824// CHECK-LE: @llvm.ppc.altivec.vmaxuh1825 1826  res_vus = vec_max(vbs, vus);1827// CHECK: @llvm.ppc.altivec.vmaxuh1828// CHECK-LE: @llvm.ppc.altivec.vmaxuh1829 1830  res_vus = vec_max(vus, vbs);1831// CHECK: @llvm.ppc.altivec.vmaxuh1832// CHECK-LE: @llvm.ppc.altivec.vmaxuh1833 1834  res_vi  = vec_max(vi, vi);1835// CHECK: @llvm.ppc.altivec.vmaxsw1836// CHECK-LE: @llvm.ppc.altivec.vmaxsw1837 1838  res_vi  = vec_max(vbi, vi);1839// CHECK: @llvm.ppc.altivec.vmaxsw1840// CHECK-LE: @llvm.ppc.altivec.vmaxsw1841 1842  res_vi  = vec_max(vi, vbi);1843// CHECK: @llvm.ppc.altivec.vmaxsw1844// CHECK-LE: @llvm.ppc.altivec.vmaxsw1845 1846  res_vui = vec_max(vui, vui);1847// CHECK: @llvm.ppc.altivec.vmaxuw1848// CHECK-LE: @llvm.ppc.altivec.vmaxuw1849 1850  res_vui = vec_max(vbi, vui);1851// CHECK: @llvm.ppc.altivec.vmaxuw1852// CHECK-LE: @llvm.ppc.altivec.vmaxuw1853 1854  res_vui = vec_max(vui, vbi);1855// CHECK: @llvm.ppc.altivec.vmaxuw1856// CHECK-LE: @llvm.ppc.altivec.vmaxuw1857 1858  res_vf  = vec_max(vf, vf);1859// CHECK: @llvm.ppc.altivec.vmaxfp1860// CHECK-LE: @llvm.ppc.altivec.vmaxfp1861 1862  res_vsc = vec_vmaxsb(vsc, vsc);1863// CHECK: @llvm.ppc.altivec.vmaxsb1864// CHECK-LE: @llvm.ppc.altivec.vmaxsb1865 1866  res_vsc = vec_vmaxsb(vbc, vsc);1867// CHECK: @llvm.ppc.altivec.vmaxsb1868// CHECK-LE: @llvm.ppc.altivec.vmaxsb1869 1870  res_vsc = vec_vmaxsb(vsc, vbc);1871// CHECK: @llvm.ppc.altivec.vmaxsb1872// CHECK-LE: @llvm.ppc.altivec.vmaxsb1873 1874  res_vuc = vec_vmaxub(vuc, vuc);1875// CHECK: @llvm.ppc.altivec.vmaxub1876// CHECK-LE: @llvm.ppc.altivec.vmaxub1877 1878  res_vuc = vec_vmaxub(vbc, vuc);1879// CHECK: @llvm.ppc.altivec.vmaxub1880// CHECK-LE: @llvm.ppc.altivec.vmaxub1881 1882  res_vuc = vec_vmaxub(vuc, vbc);1883// CHECK: @llvm.ppc.altivec.vmaxub1884// CHECK-LE: @llvm.ppc.altivec.vmaxub1885 1886  res_vs  = vec_vmaxsh(vs, vs);1887// CHECK: @llvm.ppc.altivec.vmaxsh1888// CHECK-LE: @llvm.ppc.altivec.vmaxsh1889 1890  res_vs  = vec_vmaxsh(vbs, vs);1891// CHECK: @llvm.ppc.altivec.vmaxsh1892// CHECK-LE: @llvm.ppc.altivec.vmaxsh1893 1894  res_vs  = vec_vmaxsh(vs, vbs);1895// CHECK: @llvm.ppc.altivec.vmaxsh1896// CHECK-LE: @llvm.ppc.altivec.vmaxsh1897 1898  res_vus = vec_vmaxuh(vus, vus);1899// CHECK: @llvm.ppc.altivec.vmaxuh1900// CHECK-LE: @llvm.ppc.altivec.vmaxuh1901 1902  res_vus = vec_vmaxuh(vbs, vus);1903// CHECK: @llvm.ppc.altivec.vmaxuh1904// CHECK-LE: @llvm.ppc.altivec.vmaxuh1905 1906  res_vus = vec_vmaxuh(vus, vbs);1907// CHECK: @llvm.ppc.altivec.vmaxuh1908// CHECK-LE: @llvm.ppc.altivec.vmaxuh1909 1910  res_vi  = vec_vmaxsw(vi, vi);1911// CHECK: @llvm.ppc.altivec.vmaxsw1912// CHECK-LE: @llvm.ppc.altivec.vmaxsw1913 1914  res_vi  = vec_vmaxsw(vbi, vi);1915// CHECK: @llvm.ppc.altivec.vmaxsw1916// CHECK-LE: @llvm.ppc.altivec.vmaxsw1917 1918  res_vi  = vec_vmaxsw(vi, vbi);1919// CHECK: @llvm.ppc.altivec.vmaxsw1920// CHECK-LE: @llvm.ppc.altivec.vmaxsw1921 1922  res_vui = vec_vmaxuw(vui, vui);1923// CHECK: @llvm.ppc.altivec.vmaxuw1924// CHECK-LE: @llvm.ppc.altivec.vmaxuw1925 1926  res_vui = vec_vmaxuw(vbi, vui);1927// CHECK: @llvm.ppc.altivec.vmaxuw1928// CHECK-LE: @llvm.ppc.altivec.vmaxuw1929 1930  res_vui = vec_vmaxuw(vui, vbi);1931// CHECK: @llvm.ppc.altivec.vmaxuw1932// CHECK-LE: @llvm.ppc.altivec.vmaxuw1933 1934  res_vf  = vec_vmaxfp(vf, vf);1935// CHECK: @llvm.ppc.altivec.vmaxfp1936// CHECK-LE: @llvm.ppc.altivec.vmaxfp1937 1938  /* vec_mergeh */1939  res_vsc = vec_mergeh(vsc, vsc);1940// CHECK: @llvm.ppc.altivec.vperm1941// CHECK-LE: @llvm.ppc.altivec.vperm1942 1943  res_vuc = vec_mergeh(vuc, vuc);1944// CHECK: @llvm.ppc.altivec.vperm1945// CHECK-LE: @llvm.ppc.altivec.vperm1946 1947  res_vbc = vec_mergeh(vbc, vbc);1948// CHECK: @llvm.ppc.altivec.vperm1949// CHECK-LE: @llvm.ppc.altivec.vperm1950 1951  res_vs  = vec_mergeh(vs, vs);1952// CHECK: @llvm.ppc.altivec.vperm1953// CHECK-LE: @llvm.ppc.altivec.vperm1954 1955  res_vp  = vec_mergeh(vp, vp);1956// CHECK: @llvm.ppc.altivec.vperm1957// CHECK-LE: @llvm.ppc.altivec.vperm1958 1959  res_vus = vec_mergeh(vus, vus);1960// CHECK: @llvm.ppc.altivec.vperm1961// CHECK-LE: @llvm.ppc.altivec.vperm1962 1963  res_vbs = vec_mergeh(vbs, vbs);1964// CHECK: @llvm.ppc.altivec.vperm1965// CHECK-LE: @llvm.ppc.altivec.vperm1966 1967  res_vi  = vec_mergeh(vi, vi);1968// CHECK: @llvm.ppc.altivec.vperm1969// CHECK-LE: @llvm.ppc.altivec.vperm1970 1971  res_vui = vec_mergeh(vui, vui);1972// CHECK: @llvm.ppc.altivec.vperm1973// CHECK-LE: @llvm.ppc.altivec.vperm1974 1975  res_vbi = vec_mergeh(vbi, vbi);1976// CHECK: @llvm.ppc.altivec.vperm1977// CHECK-LE: @llvm.ppc.altivec.vperm1978 1979  res_vf  = vec_mergeh(vf, vf);1980// CHECK: @llvm.ppc.altivec.vperm1981// CHECK-LE: @llvm.ppc.altivec.vperm1982 1983  res_vsc = vec_vmrghb(vsc, vsc);1984// CHECK: @llvm.ppc.altivec.vperm1985// CHECK-LE: @llvm.ppc.altivec.vperm1986 1987  res_vuc = vec_vmrghb(vuc, vuc);1988// CHECK: @llvm.ppc.altivec.vperm1989// CHECK-LE: @llvm.ppc.altivec.vperm1990 1991  res_vbc = vec_vmrghb(vbc, vbc);1992// CHECK: @llvm.ppc.altivec.vperm1993// CHECK-LE: @llvm.ppc.altivec.vperm1994 1995  res_vs  = vec_vmrghh(vs, vs);1996// CHECK: @llvm.ppc.altivec.vperm1997// CHECK-LE: @llvm.ppc.altivec.vperm1998 1999  res_vp  = vec_vmrghh(vp, vp);2000// CHECK: @llvm.ppc.altivec.vperm2001// CHECK-LE: @llvm.ppc.altivec.vperm2002 2003  res_vus = vec_vmrghh(vus, vus);2004// CHECK: @llvm.ppc.altivec.vperm2005// CHECK-LE: @llvm.ppc.altivec.vperm2006 2007  res_vbs = vec_vmrghh(vbs, vbs);2008// CHECK: @llvm.ppc.altivec.vperm2009// CHECK-LE: @llvm.ppc.altivec.vperm2010 2011  res_vi  = vec_vmrghw(vi, vi);2012// CHECK: @llvm.ppc.altivec.vperm2013// CHECK-LE: @llvm.ppc.altivec.vperm2014 2015  res_vui = vec_vmrghw(vui, vui);2016// CHECK: @llvm.ppc.altivec.vperm2017// CHECK-LE: @llvm.ppc.altivec.vperm2018 2019  res_vbi = vec_vmrghw(vbi, vbi);2020// CHECK: @llvm.ppc.altivec.vperm2021// CHECK-LE: @llvm.ppc.altivec.vperm2022 2023  res_vf  = vec_vmrghw(vf, vf);2024// CHECK: @llvm.ppc.altivec.vperm2025// CHECK-LE: @llvm.ppc.altivec.vperm2026 2027  /* vec_mergel */2028  res_vsc = vec_mergel(vsc, vsc);2029// CHECK: @llvm.ppc.altivec.vperm2030// CHECK-LE: @llvm.ppc.altivec.vperm2031 2032  res_vuc = vec_mergel(vuc, vuc);2033// CHECK: @llvm.ppc.altivec.vperm2034// CHECK-LE: @llvm.ppc.altivec.vperm2035 2036  res_vbc = vec_mergel(vbc, vbc);2037// CHECK: @llvm.ppc.altivec.vperm2038// CHECK-LE: @llvm.ppc.altivec.vperm2039 2040  res_vs  = vec_mergel(vs, vs);2041// CHECK: @llvm.ppc.altivec.vperm2042// CHECK-LE: @llvm.ppc.altivec.vperm2043 2044  res_vp  = vec_mergeh(vp, vp);2045// CHECK: @llvm.ppc.altivec.vperm2046// CHECK-LE: @llvm.ppc.altivec.vperm2047 2048  res_vus = vec_mergel(vus, vus);2049// CHECK: @llvm.ppc.altivec.vperm2050// CHECK-LE: @llvm.ppc.altivec.vperm2051 2052  res_vbs = vec_mergel(vbs, vbs);2053// CHECK: @llvm.ppc.altivec.vperm2054// CHECK-LE: @llvm.ppc.altivec.vperm2055 2056  res_vi  = vec_mergel(vi, vi);2057// CHECK: @llvm.ppc.altivec.vperm2058// CHECK-LE: @llvm.ppc.altivec.vperm2059 2060  res_vui = vec_mergel(vui, vui);2061// CHECK: @llvm.ppc.altivec.vperm2062// CHECK-LE: @llvm.ppc.altivec.vperm2063 2064  res_vbi = vec_mergel(vbi, vbi);2065// CHECK: @llvm.ppc.altivec.vperm2066// CHECK-LE: @llvm.ppc.altivec.vperm2067 2068  res_vf  = vec_mergel(vf, vf);2069// CHECK: @llvm.ppc.altivec.vperm2070// CHECK-LE: @llvm.ppc.altivec.vperm2071 2072  res_vsc = vec_vmrglb(vsc, vsc);2073// CHECK: @llvm.ppc.altivec.vperm2074// CHECK-LE: @llvm.ppc.altivec.vperm2075 2076  res_vuc = vec_vmrglb(vuc, vuc);2077// CHECK: @llvm.ppc.altivec.vperm2078// CHECK-LE: @llvm.ppc.altivec.vperm2079 2080  res_vbc = vec_vmrglb(vbc, vbc);2081// CHECK: @llvm.ppc.altivec.vperm2082// CHECK-LE: @llvm.ppc.altivec.vperm2083 2084  res_vs  = vec_vmrglh(vs, vs);2085// CHECK: @llvm.ppc.altivec.vperm2086// CHECK-LE: @llvm.ppc.altivec.vperm2087 2088  res_vp  = vec_vmrglh(vp, vp);2089// CHECK: @llvm.ppc.altivec.vperm2090// CHECK-LE: @llvm.ppc.altivec.vperm2091 2092  res_vus = vec_vmrglh(vus, vus);2093// CHECK: @llvm.ppc.altivec.vperm2094// CHECK-LE: @llvm.ppc.altivec.vperm2095 2096  res_vbs = vec_vmrglh(vbs, vbs);2097// CHECK: @llvm.ppc.altivec.vperm2098// CHECK-LE: @llvm.ppc.altivec.vperm2099 2100  res_vi  = vec_vmrglw(vi, vi);2101// CHECK: @llvm.ppc.altivec.vperm2102// CHECK-LE: @llvm.ppc.altivec.vperm2103 2104  res_vui = vec_vmrglw(vui, vui);2105// CHECK: @llvm.ppc.altivec.vperm2106// CHECK-LE: @llvm.ppc.altivec.vperm2107 2108  res_vbi = vec_vmrglw(vbi, vbi);2109// CHECK: @llvm.ppc.altivec.vperm2110// CHECK-LE: @llvm.ppc.altivec.vperm2111 2112  res_vf  = vec_vmrglw(vf, vf);2113// CHECK: @llvm.ppc.altivec.vperm2114// CHECK-LE: @llvm.ppc.altivec.vperm2115 2116  /* vec_mfvscr */2117  vus = vec_mfvscr();2118// CHECK: @llvm.ppc.altivec.mfvscr2119// CHECK-LE: @llvm.ppc.altivec.mfvscr2120 2121  /* vec_min */2122  res_vsc = vec_min(vsc, vsc);2123// CHECK: @llvm.ppc.altivec.vminsb2124// CHECK-LE: @llvm.ppc.altivec.vminsb2125 2126  res_vsc = vec_min(vbc, vsc);2127// CHECK: @llvm.ppc.altivec.vminsb2128// CHECK-LE: @llvm.ppc.altivec.vminsb2129 2130  res_vsc = vec_min(vsc, vbc);2131// CHECK: @llvm.ppc.altivec.vminsb2132// CHECK-LE: @llvm.ppc.altivec.vminsb2133 2134  res_vuc = vec_min(vuc, vuc);2135// CHECK: @llvm.ppc.altivec.vminub2136// CHECK-LE: @llvm.ppc.altivec.vminub2137 2138  res_vuc = vec_min(vbc, vuc);2139// CHECK: @llvm.ppc.altivec.vminub2140// CHECK-LE: @llvm.ppc.altivec.vminub2141 2142  res_vuc = vec_min(vuc, vbc);2143// CHECK: @llvm.ppc.altivec.vminub2144// CHECK-LE: @llvm.ppc.altivec.vminub2145 2146  res_vs  = vec_min(vs, vs);2147// CHECK: @llvm.ppc.altivec.vminsh2148// CHECK-LE: @llvm.ppc.altivec.vminsh2149 2150  res_vs  = vec_min(vbs, vs);2151// CHECK: @llvm.ppc.altivec.vminsh2152// CHECK-LE: @llvm.ppc.altivec.vminsh2153 2154  res_vs  = vec_min(vs, vbs);2155// CHECK: @llvm.ppc.altivec.vminsh2156// CHECK-LE: @llvm.ppc.altivec.vminsh2157 2158  res_vus = vec_min(vus, vus);2159// CHECK: @llvm.ppc.altivec.vminuh2160// CHECK-LE: @llvm.ppc.altivec.vminuh2161 2162  res_vus = vec_min(vbs, vus);2163// CHECK: @llvm.ppc.altivec.vminuh2164// CHECK-LE: @llvm.ppc.altivec.vminuh2165 2166  res_vus = vec_min(vus, vbs);2167// CHECK: @llvm.ppc.altivec.vminuh2168// CHECK-LE: @llvm.ppc.altivec.vminuh2169 2170  res_vi  = vec_min(vi, vi);2171// CHECK: @llvm.ppc.altivec.vminsw2172// CHECK-LE: @llvm.ppc.altivec.vminsw2173 2174  res_vi  = vec_min(vbi, vi);2175// CHECK: @llvm.ppc.altivec.vminsw2176// CHECK-LE: @llvm.ppc.altivec.vminsw2177 2178  res_vi  = vec_min(vi, vbi);2179// CHECK: @llvm.ppc.altivec.vminsw2180// CHECK-LE: @llvm.ppc.altivec.vminsw2181 2182  res_vui = vec_min(vui, vui);2183// CHECK: @llvm.ppc.altivec.vminuw2184// CHECK-LE: @llvm.ppc.altivec.vminuw2185 2186  res_vui = vec_min(vbi, vui);2187// CHECK: @llvm.ppc.altivec.vminuw2188// CHECK-LE: @llvm.ppc.altivec.vminuw2189 2190  res_vui = vec_min(vui, vbi);2191// CHECK: @llvm.ppc.altivec.vminuw2192// CHECK-LE: @llvm.ppc.altivec.vminuw2193 2194  res_vf  = vec_min(vf, vf);2195// CHECK: @llvm.ppc.altivec.vminfp2196// CHECK-LE: @llvm.ppc.altivec.vminfp2197 2198  res_vsc = vec_vminsb(vsc, vsc);2199// CHECK: @llvm.ppc.altivec.vminsb2200// CHECK-LE: @llvm.ppc.altivec.vminsb2201 2202  res_vsc = vec_vminsb(vbc, vsc);2203// CHECK: @llvm.ppc.altivec.vminsb2204// CHECK-LE: @llvm.ppc.altivec.vminsb2205 2206  res_vsc = vec_vminsb(vsc, vbc);2207// CHECK: @llvm.ppc.altivec.vminsb2208// CHECK-LE: @llvm.ppc.altivec.vminsb2209 2210  res_vuc = vec_vminub(vuc, vuc);2211// CHECK: @llvm.ppc.altivec.vminub2212// CHECK-LE: @llvm.ppc.altivec.vminub2213 2214  res_vuc = vec_vminub(vbc, vuc);2215// CHECK: @llvm.ppc.altivec.vminub2216// CHECK-LE: @llvm.ppc.altivec.vminub2217 2218  res_vuc = vec_vminub(vuc, vbc);2219// CHECK: @llvm.ppc.altivec.vminub2220// CHECK-LE: @llvm.ppc.altivec.vminub2221 2222  res_vs  = vec_vminsh(vs, vs);2223// CHECK: @llvm.ppc.altivec.vminsh2224// CHECK-LE: @llvm.ppc.altivec.vminsh2225 2226  res_vs  = vec_vminsh(vbs, vs);2227// CHECK: @llvm.ppc.altivec.vminsh2228// CHECK-LE: @llvm.ppc.altivec.vminsh2229 2230  res_vs  = vec_vminsh(vs, vbs);2231// CHECK: @llvm.ppc.altivec.vminsh2232// CHECK-LE: @llvm.ppc.altivec.vminsh2233 2234  res_vus = vec_vminuh(vus, vus);2235// CHECK: @llvm.ppc.altivec.vminuh2236// CHECK-LE: @llvm.ppc.altivec.vminuh2237 2238  res_vus = vec_vminuh(vbs, vus);2239// CHECK: @llvm.ppc.altivec.vminuh2240// CHECK-LE: @llvm.ppc.altivec.vminuh2241 2242  res_vus = vec_vminuh(vus, vbs);2243// CHECK: @llvm.ppc.altivec.vminuh2244// CHECK-LE: @llvm.ppc.altivec.vminuh2245 2246  res_vi  = vec_vminsw(vi, vi);2247// CHECK: @llvm.ppc.altivec.vminsw2248// CHECK-LE: @llvm.ppc.altivec.vminsw2249 2250  res_vi  = vec_vminsw(vbi, vi);2251// CHECK: @llvm.ppc.altivec.vminsw2252// CHECK-LE: @llvm.ppc.altivec.vminsw2253 2254  res_vi  = vec_vminsw(vi, vbi);2255// CHECK: @llvm.ppc.altivec.vminsw2256// CHECK-LE: @llvm.ppc.altivec.vminsw2257 2258  res_vui = vec_vminuw(vui, vui);2259// CHECK: @llvm.ppc.altivec.vminuw2260// CHECK-LE: @llvm.ppc.altivec.vminuw2261 2262  res_vui = vec_vminuw(vbi, vui);2263// CHECK: @llvm.ppc.altivec.vminuw2264// CHECK-LE: @llvm.ppc.altivec.vminuw2265 2266  res_vui = vec_vminuw(vui, vbi);2267// CHECK: @llvm.ppc.altivec.vminuw2268// CHECK-LE: @llvm.ppc.altivec.vminuw2269 2270  res_vf  = vec_vminfp(vf, vf);2271// CHECK: @llvm.ppc.altivec.vminfp2272// CHECK-LE: @llvm.ppc.altivec.vminfp2273 2274  /* vec_mladd */2275  res_vus = vec_mladd(vus, vus, vus);2276// CHECK: mul <8 x i16>2277// CHECK: add <8 x i16>2278// CHECK-LE: mul <8 x i16>2279// CHECK-LE: add <8 x i16>2280 2281  res_vs = vec_mladd(vus, vs, vs);2282// CHECK: mul <8 x i16>2283// CHECK: add <8 x i16>2284// CHECK-LE: mul <8 x i16>2285// CHECK-LE: add <8 x i16>2286 2287  res_vs = vec_mladd(vs, vus, vus);2288// CHECK: mul <8 x i16>2289// CHECK: add <8 x i16>2290// CHECK-LE: mul <8 x i16>2291// CHECK-LE: add <8 x i16>2292 2293  res_vs = vec_mladd(vs, vs, vs);2294// CHECK: mul <8 x i16>2295// CHECK: add <8 x i16>2296// CHECK-LE: mul <8 x i16>2297// CHECK-LE: add <8 x i16>2298 2299  /* vec_mradds */2300  res_vs = vec_mradds(vs, vs, vs);2301// CHECK: @llvm.ppc.altivec.vmhraddshs2302// CHECK-LE: @llvm.ppc.altivec.vmhraddshs2303 2304  res_vs = vec_vmhraddshs(vs, vs, vs);2305// CHECK: @llvm.ppc.altivec.vmhraddshs2306// CHECK-LE: @llvm.ppc.altivec.vmhraddshs2307 2308  /* vec_msum */2309  res_vi  = vec_msum(vsc, vuc, vi);2310// CHECK: @llvm.ppc.altivec.vmsummbm2311// CHECK-LE: @llvm.ppc.altivec.vmsummbm2312 2313  res_vui = vec_msum(vuc, vuc, vui);2314// CHECK: @llvm.ppc.altivec.vmsumubm2315// CHECK-LE: @llvm.ppc.altivec.vmsumubm2316 2317  res_vi  = vec_msum(vs, vs, vi);2318// CHECK: @llvm.ppc.altivec.vmsumshm2319// CHECK-LE: @llvm.ppc.altivec.vmsumshm2320 2321  res_vui = vec_msum(vus, vus, vui);2322// CHECK: @llvm.ppc.altivec.vmsumuhm2323// CHECK-LE: @llvm.ppc.altivec.vmsumuhm2324 2325  res_vi  = vec_vmsummbm(vsc, vuc, vi);2326// CHECK: @llvm.ppc.altivec.vmsummbm2327// CHECK-LE: @llvm.ppc.altivec.vmsummbm2328 2329  res_vui = vec_vmsumubm(vuc, vuc, vui);2330// CHECK: @llvm.ppc.altivec.vmsumubm2331// CHECK-LE: @llvm.ppc.altivec.vmsumubm2332 2333  res_vi  = vec_vmsumshm(vs, vs, vi);2334// CHECK: @llvm.ppc.altivec.vmsumshm2335// CHECK-LE: @llvm.ppc.altivec.vmsumshm2336 2337  res_vui = vec_vmsumuhm(vus, vus, vui);2338// CHECK: @llvm.ppc.altivec.vmsumuhm2339// CHECK-LE: @llvm.ppc.altivec.vmsumuhm2340 2341  /* vec_msums */2342  res_vi  = vec_msums(vs, vs, vi);2343// CHECK: @llvm.ppc.altivec.vmsumshs2344// CHECK-LE: @llvm.ppc.altivec.vmsumshs2345 2346  res_vui = vec_msums(vus, vus, vui);2347// CHECK: @llvm.ppc.altivec.vmsumuhs2348// CHECK-LE: @llvm.ppc.altivec.vmsumuhs2349 2350  res_vi  = vec_vmsumshs(vs, vs, vi);2351// CHECK: @llvm.ppc.altivec.vmsumshs2352// CHECK-LE: @llvm.ppc.altivec.vmsumshs2353 2354  res_vui = vec_vmsumuhs(vus, vus, vui);2355// CHECK: @llvm.ppc.altivec.vmsumuhs2356// CHECK-LE: @llvm.ppc.altivec.vmsumuhs2357 2358  /* vec_mtvscr */2359  vec_mtvscr(vsc);2360// CHECK: @llvm.ppc.altivec.mtvscr2361// CHECK-LE: @llvm.ppc.altivec.mtvscr2362 2363  vec_mtvscr(vuc);2364// CHECK: @llvm.ppc.altivec.mtvscr2365// CHECK-LE: @llvm.ppc.altivec.mtvscr2366 2367  vec_mtvscr(vbc);2368// CHECK: @llvm.ppc.altivec.mtvscr2369// CHECK-LE: @llvm.ppc.altivec.mtvscr2370 2371  vec_mtvscr(vs);2372// CHECK: @llvm.ppc.altivec.mtvscr2373// CHECK-LE: @llvm.ppc.altivec.mtvscr2374 2375  vec_mtvscr(vus);2376// CHECK: @llvm.ppc.altivec.mtvscr2377// CHECK-LE: @llvm.ppc.altivec.mtvscr2378 2379  vec_mtvscr(vbs);2380// CHECK: @llvm.ppc.altivec.mtvscr2381// CHECK-LE: @llvm.ppc.altivec.mtvscr2382 2383  vec_mtvscr(vp);2384// CHECK: @llvm.ppc.altivec.mtvscr2385// CHECK-LE: @llvm.ppc.altivec.mtvscr2386 2387  vec_mtvscr(vi);2388// CHECK: @llvm.ppc.altivec.mtvscr2389// CHECK-LE: @llvm.ppc.altivec.mtvscr2390 2391  vec_mtvscr(vui);2392// CHECK: @llvm.ppc.altivec.mtvscr2393// CHECK-LE: @llvm.ppc.altivec.mtvscr2394 2395  vec_mtvscr(vbi);2396// CHECK: @llvm.ppc.altivec.mtvscr2397// CHECK-LE: @llvm.ppc.altivec.mtvscr2398 2399  /* vec_mul */2400  res_vsc = vec_mul(vsc, vsc);2401// CHECK: mul <16 x i8>2402// CHECK-LE: mul <16 x i8>2403 2404  res_vuc = vec_mul(vuc, vuc);2405// CHECK: mul <16 x i8>2406// CHECK-LE: mul <16 x i8>2407 2408  res_vs = vec_mul(vs, vs);2409// CHECK: mul <8 x i16>2410// CHECK-LE: mul <8 x i16>2411 2412  res_vus = vec_mul(vus, vus);2413// CHECK: mul <8 x i16>2414// CHECK-LE: mul <8 x i16>2415 2416  res_vi = vec_mul(vi, vi);2417// CHECK: mul <4 x i32>2418// CHECK-LE: mul <4 x i32>2419 2420  res_vui = vec_mul(vui, vui);2421// CHECK: mul <4 x i32>2422// CHECK-LE: mul <4 x i32>2423 2424  /* vec_mule */2425  res_vs  = vec_mule(vsc, vsc);2426// CHECK: @llvm.ppc.altivec.vmulesb2427// CHECK-LE: @llvm.ppc.altivec.vmulosb2428 2429  res_vus = vec_mule(vuc, vuc);2430// CHECK: @llvm.ppc.altivec.vmuleub2431// CHECK-LE: @llvm.ppc.altivec.vmuloub2432 2433  res_vi  = vec_mule(vs, vs);2434// CHECK: @llvm.ppc.altivec.vmulesh2435// CHECK-LE: @llvm.ppc.altivec.vmulosh2436 2437  res_vui = vec_mule(vus, vus);2438// CHECK: @llvm.ppc.altivec.vmuleuh2439// CHECK-LE: @llvm.ppc.altivec.vmulouh2440 2441  res_vs  = vec_vmulesb(vsc, vsc);2442// CHECK: @llvm.ppc.altivec.vmulesb2443// CHECK-LE: @llvm.ppc.altivec.vmulosb2444 2445  res_vus = vec_vmuleub(vuc, vuc);2446// CHECK: @llvm.ppc.altivec.vmuleub2447// CHECK-LE: @llvm.ppc.altivec.vmuloub2448 2449  res_vi  = vec_vmulesh(vs, vs);2450// CHECK: @llvm.ppc.altivec.vmulesh2451// CHECK-LE: @llvm.ppc.altivec.vmulosh2452 2453  res_vui = vec_vmuleuh(vus, vus);2454// CHECK: @llvm.ppc.altivec.vmuleuh2455// CHECK-LE: @llvm.ppc.altivec.vmulouh2456 2457  /* vec_mulo */2458  res_vs  = vec_mulo(vsc, vsc);2459// CHECK: @llvm.ppc.altivec.vmulosb2460// CHECK-LE: @llvm.ppc.altivec.vmulesb2461 2462  res_vus = vec_mulo(vuc, vuc);2463// CHECK: @llvm.ppc.altivec.vmuloub2464// CHECK-LE: @llvm.ppc.altivec.vmuleub2465 2466  res_vi  = vec_mulo(vs, vs);2467// CHECK: @llvm.ppc.altivec.vmulosh2468// CHECK-LE: @llvm.ppc.altivec.vmulesh2469 2470  res_vui = vec_mulo(vus, vus);2471// CHECK: @llvm.ppc.altivec.vmulouh2472// CHECK-LE: @llvm.ppc.altivec.vmuleuh2473 2474  res_vs  = vec_vmulosb(vsc, vsc);2475// CHECK: @llvm.ppc.altivec.vmulosb2476// CHECK-LE: @llvm.ppc.altivec.vmulesb2477 2478  res_vus = vec_vmuloub(vuc, vuc);2479// CHECK: @llvm.ppc.altivec.vmuloub2480// CHECK-LE: @llvm.ppc.altivec.vmuleub2481 2482  res_vi  = vec_vmulosh(vs, vs);2483// CHECK: @llvm.ppc.altivec.vmulosh2484// CHECK-LE: @llvm.ppc.altivec.vmulesh2485 2486  res_vui = vec_vmulouh(vus, vus);2487// CHECK: @llvm.ppc.altivec.vmulouh2488// CHECK-LE: @llvm.ppc.altivec.vmuleuh2489 2490  /* vec_nmsub */2491  res_vf = vec_nmsub(vf, vf, vf);2492// CHECK: @llvm.ppc.altivec.vnmsubfp2493// CHECK-LE: @llvm.ppc.altivec.vnmsubfp2494 2495  res_vf = vec_vnmsubfp(vf, vf, vf);2496// CHECK: @llvm.ppc.altivec.vnmsubfp2497// CHECK-LE: @llvm.ppc.altivec.vnmsubfp2498 2499  /* vec_nor */2500  res_vsc = vec_nor(vsc, vsc);2501// CHECK: or <16 x i8>2502// CHECK: xor <16 x i8>2503// CHECK-LE: or <16 x i8>2504// CHECK-LE: xor <16 x i8>2505 2506  res_vuc = vec_nor(vuc, vuc);2507// CHECK: or <16 x i8>2508// CHECK: xor <16 x i8>2509// CHECK-LE: or <16 x i8>2510// CHECK-LE: xor <16 x i8>2511 2512  res_vbc = vec_nor(vbc, vbc);2513// CHECK: or <16 x i8>2514// CHECK: xor <16 x i8>2515// CHECK-LE: or <16 x i8>2516// CHECK-LE: xor <16 x i8>2517 2518  res_vs  = vec_nor(vs, vs);2519// CHECK: or <8 x i16>2520// CHECK: xor <8 x i16>2521// CHECK-LE: or <8 x i16>2522// CHECK-LE: xor <8 x i16>2523 2524  res_vus = vec_nor(vus, vus);2525// CHECK: or <8 x i16>2526// CHECK: xor <8 x i16>2527// CHECK-LE: or <8 x i16>2528// CHECK-LE: xor <8 x i16>2529 2530  res_vbs = vec_nor(vbs, vbs);2531// CHECK: or <8 x i16>2532// CHECK: xor <8 x i16>2533// CHECK-LE: or <8 x i16>2534// CHECK-LE: xor <8 x i16>2535 2536  res_vi  = vec_nor(vi, vi);2537// CHECK: or <4 x i32>2538// CHECK: xor <4 x i32>2539// CHECK-LE: or <4 x i32>2540// CHECK-LE: xor <4 x i32>2541 2542  res_vui = vec_nor(vui, vui);2543// CHECK: or <4 x i32>2544// CHECK: xor <4 x i32>2545// CHECK-LE: or <4 x i32>2546// CHECK-LE: xor <4 x i32>2547 2548  res_vbi = vec_nor(vbi, vbi);2549// CHECK: or <4 x i32>2550// CHECK: xor <4 x i32>2551// CHECK-LE: or <4 x i32>2552// CHECK-LE: xor <4 x i32>2553 2554  res_vf  = vec_nor(vf, vf);2555// CHECK: or <4 x i32>2556// CHECK: xor <4 x i32>2557// CHECK-LE: or <4 x i32>2558// CHECK-LE: xor <4 x i32>2559 2560  res_vsc = vec_vnor(vsc, vsc);2561// CHECK: or <16 x i8>2562// CHECK: xor <16 x i8>2563// CHECK-LE: or <16 x i8>2564// CHECK-LE: xor <16 x i8>2565 2566  res_vuc = vec_vnor(vuc, vuc);2567// CHECK: or <16 x i8>2568// CHECK: xor <16 x i8>2569// CHECK-LE: or <16 x i8>2570// CHECK-LE: xor <16 x i8>2571 2572  res_vbc = vec_vnor(vbc, vbc);2573// CHECK: or <16 x i8>2574// CHECK: xor <16 x i8>2575// CHECK-LE: or <16 x i8>2576// CHECK-LE: xor <16 x i8>2577 2578  res_vs  = vec_vnor(vs, vs);2579// CHECK: or <8 x i16>2580// CHECK: xor <8 x i16>2581// CHECK-LE: or <8 x i16>2582// CHECK-LE: xor <8 x i16>2583 2584  res_vus = vec_vnor(vus, vus);2585// CHECK: or <8 x i16>2586// CHECK: xor <8 x i16>2587// CHECK-LE: or <8 x i16>2588// CHECK-LE: xor <8 x i16>2589 2590  res_vbs = vec_vnor(vbs, vbs);2591// CHECK: or <8 x i16>2592// CHECK: xor <8 x i16>2593// CHECK-LE: or <8 x i16>2594// CHECK-LE: xor <8 x i16>2595 2596  res_vi  = vec_vnor(vi, vi);2597// CHECK: or <4 x i32>2598// CHECK: xor <4 x i32>2599// CHECK-LE: or <4 x i32>2600// CHECK-LE: xor <4 x i32>2601 2602  res_vui = vec_vnor(vui, vui);2603// CHECK: or <4 x i32>2604// CHECK: xor <4 x i32>2605// CHECK-LE: or <4 x i32>2606// CHECK-LE: xor <4 x i32>2607 2608  res_vbi = vec_vnor(vbi, vbi);2609// CHECK: or <4 x i32>2610// CHECK: xor <4 x i32>2611// CHECK-LE: or <4 x i32>2612// CHECK-LE: xor <4 x i32>2613 2614  res_vf  = vec_vnor(vf, vf);2615// CHECK: or <4 x i32>2616// CHECK: xor <4 x i32>2617// CHECK-LE: or <4 x i32>2618// CHECK-LE: xor <4 x i32>2619 2620  /* vec_or */2621  res_vsc = vec_or(vsc, vsc);2622// CHECK: or <16 x i8>2623// CHECK-LE: or <16 x i8>2624 2625  res_vsc = vec_or(vbc, vsc);2626// CHECK: or <16 x i8>2627// CHECK-LE: or <16 x i8>2628 2629  res_vsc = vec_or(vsc, vbc);2630// CHECK: or <16 x i8>2631// CHECK-LE: or <16 x i8>2632 2633  res_vuc = vec_or(vuc, vuc);2634// CHECK: or <16 x i8>2635// CHECK-LE: or <16 x i8>2636 2637  res_vuc = vec_or(vbc, vuc);2638// CHECK: or <16 x i8>2639// CHECK-LE: or <16 x i8>2640 2641  res_vuc = vec_or(vuc, vbc);2642// CHECK: or <16 x i8>2643// CHECK-LE: or <16 x i8>2644 2645  res_vbc = vec_or(vbc, vbc);2646// CHECK: or <16 x i8>2647// CHECK-LE: or <16 x i8>2648 2649  res_vs  = vec_or(vs, vs);2650// CHECK: or <8 x i16>2651// CHECK-LE: or <8 x i16>2652 2653  res_vs  = vec_or(vbs, vs);2654// CHECK: or <8 x i16>2655// CHECK-LE: or <8 x i16>2656 2657  res_vs  = vec_or(vs, vbs);2658// CHECK: or <8 x i16>2659// CHECK-LE: or <8 x i16>2660 2661  res_vus = vec_or(vus, vus);2662// CHECK: or <8 x i16>2663// CHECK-LE: or <8 x i16>2664 2665  res_vus = vec_or(vbs, vus);2666// CHECK: or <8 x i16>2667// CHECK-LE: or <8 x i16>2668 2669  res_vus = vec_or(vus, vbs);2670// CHECK: or <8 x i16>2671// CHECK-LE: or <8 x i16>2672 2673  res_vbs = vec_or(vbs, vbs);2674// CHECK: or <8 x i16>2675// CHECK-LE: or <8 x i16>2676 2677  res_vi  = vec_or(vi, vi);2678// CHECK: or <4 x i32>2679// CHECK-LE: or <4 x i32>2680 2681  res_vi  = vec_or(vbi, vi);2682// CHECK: or <4 x i32>2683// CHECK-LE: or <4 x i32>2684 2685  res_vi  = vec_or(vi, vbi);2686// CHECK: or <4 x i32>2687// CHECK-LE: or <4 x i32>2688 2689  res_vui = vec_or(vui, vui);2690// CHECK: or <4 x i32>2691// CHECK-LE: or <4 x i32>2692 2693  res_vui = vec_or(vbi, vui);2694// CHECK: or <4 x i32>2695// CHECK-LE: or <4 x i32>2696 2697  res_vui = vec_or(vui, vbi);2698// CHECK: or <4 x i32>2699// CHECK-LE: or <4 x i32>2700 2701  res_vbi = vec_or(vbi, vbi);2702// CHECK: or <4 x i32>2703// CHECK-LE: or <4 x i32>2704 2705  res_vf  = vec_or(vf, vf);2706// CHECK: or <4 x i32>2707// CHECK-LE: or <4 x i32>2708 2709  res_vf  = vec_or(vbi, vf);2710// CHECK: or <4 x i32>2711// CHECK-LE: or <4 x i32>2712 2713  res_vf  = vec_or(vf, vbi);2714// CHECK: or <4 x i32>2715// CHECK-LE: or <4 x i32>2716 2717  res_vsc = vec_vor(vsc, vsc);2718// CHECK: or <16 x i8>2719// CHECK-LE: or <16 x i8>2720 2721  res_vsc = vec_vor(vbc, vsc);2722// CHECK: or <16 x i8>2723// CHECK-LE: or <16 x i8>2724 2725  res_vsc = vec_vor(vsc, vbc);2726// CHECK: or <16 x i8>2727// CHECK-LE: or <16 x i8>2728 2729  res_vuc = vec_vor(vuc, vuc);2730// CHECK: or <16 x i8>2731// CHECK-LE: or <16 x i8>2732 2733  res_vuc = vec_vor(vbc, vuc);2734// CHECK: or <16 x i8>2735// CHECK-LE: or <16 x i8>2736 2737  res_vuc = vec_vor(vuc, vbc);2738// CHECK: or <16 x i8>2739// CHECK-LE: or <16 x i8>2740 2741  res_vbc = vec_vor(vbc, vbc);2742// CHECK: or <16 x i8>2743// CHECK-LE: or <16 x i8>2744 2745  res_vs  = vec_vor(vs, vs);2746// CHECK: or <8 x i16>2747// CHECK-LE: or <8 x i16>2748 2749  res_vs  = vec_vor(vbs, vs);2750// CHECK: or <8 x i16>2751// CHECK-LE: or <8 x i16>2752 2753  res_vs  = vec_vor(vs, vbs);2754// CHECK: or <8 x i16>2755// CHECK-LE: or <8 x i16>2756 2757  res_vus = vec_vor(vus, vus);2758// CHECK: or <8 x i16>2759// CHECK-LE: or <8 x i16>2760 2761  res_vus = vec_vor(vbs, vus);2762// CHECK: or <8 x i16>2763// CHECK-LE: or <8 x i16>2764 2765  res_vus = vec_vor(vus, vbs);2766// CHECK: or <8 x i16>2767// CHECK-LE: or <8 x i16>2768 2769  res_vbs = vec_vor(vbs, vbs);2770// CHECK: or <8 x i16>2771// CHECK-LE: or <8 x i16>2772 2773  res_vi  = vec_vor(vi, vi);2774// CHECK: or <4 x i32>2775// CHECK-LE: or <4 x i32>2776 2777  res_vi  = vec_vor(vbi, vi);2778// CHECK: or <4 x i32>2779// CHECK-LE: or <4 x i32>2780 2781  res_vi  = vec_vor(vi, vbi);2782// CHECK: or <4 x i32>2783// CHECK-LE: or <4 x i32>2784 2785  res_vui = vec_vor(vui, vui);2786// CHECK: or <4 x i32>2787// CHECK-LE: or <4 x i32>2788 2789  res_vui = vec_vor(vbi, vui);2790// CHECK: or <4 x i32>2791// CHECK-LE: or <4 x i32>2792 2793  res_vui = vec_vor(vui, vbi);2794// CHECK: or <4 x i32>2795// CHECK-LE: or <4 x i32>2796 2797  res_vbi = vec_vor(vbi, vbi);2798// CHECK: or <4 x i32>2799// CHECK-LE: or <4 x i32>2800 2801  res_vf  = vec_vor(vf, vf);2802// CHECK: or <4 x i32>2803// CHECK-LE: or <4 x i32>2804 2805  res_vf  = vec_vor(vbi, vf);2806// CHECK: or <4 x i32>2807// CHECK-LE: or <4 x i32>2808 2809  res_vf  = vec_vor(vf, vbi);2810// CHECK: or <4 x i32>2811// CHECK-LE: or <4 x i32>2812 2813  /* vec_pack */2814  res_vsc = vec_pack(vs, vs);2815// CHECK: @llvm.ppc.altivec.vperm2816// CHECK-LE: @llvm.ppc.altivec.vperm2817 2818  res_vuc = vec_pack(vus, vus);2819// CHECK: @llvm.ppc.altivec.vperm2820// CHECK-LE: @llvm.ppc.altivec.vperm2821 2822  res_vbc = vec_pack(vbs, vbs);2823// CHECK: @llvm.ppc.altivec.vperm2824// CHECK-LE: @llvm.ppc.altivec.vperm2825 2826  res_vs  = vec_pack(vi, vi);2827// CHECK: @llvm.ppc.altivec.vperm2828// CHECK-LE: @llvm.ppc.altivec.vperm2829 2830  res_vus = vec_pack(vui, vui);2831// CHECK: @llvm.ppc.altivec.vperm2832// CHECK-LE: @llvm.ppc.altivec.vperm2833 2834  res_vbs = vec_pack(vbi, vbi);2835// CHECK: @llvm.ppc.altivec.vperm2836// CHECK-LE: @llvm.ppc.altivec.vperm2837 2838  res_vsc = vec_vpkuhum(vs, vs);2839// CHECK: @llvm.ppc.altivec.vperm2840// CHECK-LE: @llvm.ppc.altivec.vperm2841 2842  res_vuc = vec_vpkuhum(vus, vus);2843// CHECK: @llvm.ppc.altivec.vperm2844// CHECK-LE: @llvm.ppc.altivec.vperm2845 2846  res_vbc = vec_vpkuhum(vbs, vbs);2847// CHECK: @llvm.ppc.altivec.vperm2848// CHECK-LE: @llvm.ppc.altivec.vperm2849 2850  res_vs  = vec_vpkuwum(vi, vi);2851// CHECK: @llvm.ppc.altivec.vperm2852// CHECK-LE: @llvm.ppc.altivec.vperm2853 2854  res_vus = vec_vpkuwum(vui, vui);2855// CHECK: @llvm.ppc.altivec.vperm2856// CHECK-LE: @llvm.ppc.altivec.vperm2857 2858  res_vbs = vec_vpkuwum(vbi, vbi);2859// CHECK: @llvm.ppc.altivec.vperm2860// CHECK-LE: @llvm.ppc.altivec.vperm2861 2862  /* vec_packpx */2863  res_vp = vec_packpx(vui, vui);2864// CHECK: @llvm.ppc.altivec.vpkpx2865// CHECK-LE: @llvm.ppc.altivec.vpkpx2866 2867  res_vp = vec_vpkpx(vui, vui);2868// CHECK: @llvm.ppc.altivec.vpkpx2869// CHECK-LE: @llvm.ppc.altivec.vpkpx2870 2871  /* vec_packs */2872  res_vsc = vec_packs(vs, vs);2873// CHECK: @llvm.ppc.altivec.vpkshss2874// CHECK-LE: @llvm.ppc.altivec.vpkshss2875 2876  res_vuc = vec_packs(vus, vus);2877// CHECK: @llvm.ppc.altivec.vpkuhus2878// CHECK-LE: @llvm.ppc.altivec.vpkuhus2879 2880  res_vs  = vec_packs(vi, vi);2881// CHECK: @llvm.ppc.altivec.vpkswss2882// CHECK-LE: @llvm.ppc.altivec.vpkswss2883 2884  res_vus = vec_packs(vui, vui);2885// CHECK: @llvm.ppc.altivec.vpkuwus2886// CHECK-LE: @llvm.ppc.altivec.vpkuwus2887 2888  res_vsc = vec_vpkshss(vs, vs);2889// CHECK: @llvm.ppc.altivec.vpkshss2890// CHECK-LE: @llvm.ppc.altivec.vpkshss2891 2892  res_vuc = vec_vpkuhus(vus, vus);2893// CHECK: @llvm.ppc.altivec.vpkuhus2894// CHECK-LE: @llvm.ppc.altivec.vpkuhus2895 2896  res_vs  = vec_vpkswss(vi, vi);2897// CHECK: @llvm.ppc.altivec.vpkswss2898// CHECK-LE: @llvm.ppc.altivec.vpkswss2899 2900  res_vus = vec_vpkuwus(vui, vui);2901// CHECK: @llvm.ppc.altivec.vpkuwus2902// CHECK-LE: @llvm.ppc.altivec.vpkuwus2903 2904  /* vec_packsu */2905  res_vuc = vec_packsu(vs, vs);2906// CHECK: @llvm.ppc.altivec.vpkshus2907// CHECK-LE: @llvm.ppc.altivec.vpkshus2908 2909  res_vuc = vec_packsu(vus, vus);2910// CHECK: @llvm.ppc.altivec.vpkuhus2911// CHECK-LE: @llvm.ppc.altivec.vpkuhus2912 2913  res_vus = vec_packsu(vi, vi);2914// CHECK: @llvm.ppc.altivec.vpkswus2915// CHECK-LE: @llvm.ppc.altivec.vpkswus2916 2917  res_vus = vec_packsu(vui, vui);2918// CHECK: @llvm.ppc.altivec.vpkuwus2919// CHECK-LE: @llvm.ppc.altivec.vpkuwus2920 2921  res_vuc = vec_vpkshus(vs, vs);2922// CHECK: @llvm.ppc.altivec.vpkshus2923// CHECK-LE: @llvm.ppc.altivec.vpkshus2924 2925  res_vuc = vec_vpkshus(vus, vus);2926// CHECK: @llvm.ppc.altivec.vpkuhus2927// CHECK-LE: @llvm.ppc.altivec.vpkuhus2928 2929  res_vus = vec_vpkswus(vi, vi);2930// CHECK: @llvm.ppc.altivec.vpkswus2931// CHECK-LE: @llvm.ppc.altivec.vpkswus2932 2933  res_vus = vec_vpkswus(vui, vui);2934// CHECK: @llvm.ppc.altivec.vpkuwus2935// CHECK-LE: @llvm.ppc.altivec.vpkuwus2936 2937  /* vec_perm */2938  res_vsc = vec_perm(vsc, vsc, vuc);2939// CHECK: @llvm.ppc.altivec.vperm2940// CHECK-LE: @llvm.ppc.altivec.vperm2941 2942  res_vuc = vec_perm(vuc, vuc, vuc);2943// CHECK: @llvm.ppc.altivec.vperm2944// CHECK-LE: @llvm.ppc.altivec.vperm2945 2946  res_vbc = vec_perm(vbc, vbc, vuc);2947// CHECK: @llvm.ppc.altivec.vperm2948// CHECK-LE: @llvm.ppc.altivec.vperm2949 2950  res_vs  = vec_perm(vs, vs, vuc);2951// CHECK: @llvm.ppc.altivec.vperm2952// CHECK-LE: @llvm.ppc.altivec.vperm2953 2954  res_vus = vec_perm(vus, vus, vuc);2955// CHECK: @llvm.ppc.altivec.vperm2956// CHECK-LE: @llvm.ppc.altivec.vperm2957 2958  res_vbs = vec_perm(vbs, vbs, vuc);2959// CHECK: @llvm.ppc.altivec.vperm2960// CHECK-LE: @llvm.ppc.altivec.vperm2961 2962  res_vp  = vec_perm(vp, vp, vuc);2963// CHECK: @llvm.ppc.altivec.vperm2964// CHECK-LE: @llvm.ppc.altivec.vperm2965 2966  res_vi  = vec_perm(vi, vi, vuc);2967// CHECK: @llvm.ppc.altivec.vperm2968// CHECK-LE: @llvm.ppc.altivec.vperm2969 2970  res_vui = vec_perm(vui, vui, vuc);2971// CHECK: @llvm.ppc.altivec.vperm2972// CHECK-LE: @llvm.ppc.altivec.vperm2973 2974  res_vbi = vec_perm(vbi, vbi, vuc);2975// CHECK: @llvm.ppc.altivec.vperm2976// CHECK-LE: @llvm.ppc.altivec.vperm2977 2978  res_vf  = vec_perm(vf, vf, vuc);2979// CHECK: @llvm.ppc.altivec.vperm2980// CHECK-LE: @llvm.ppc.altivec.vperm2981 2982  res_vsc = vec_vperm(vsc, vsc, vuc);2983// CHECK: @llvm.ppc.altivec.vperm2984// CHECK-LE: @llvm.ppc.altivec.vperm2985 2986  res_vuc = vec_vperm(vuc, vuc, vuc);2987// CHECK: @llvm.ppc.altivec.vperm2988// CHECK-LE: @llvm.ppc.altivec.vperm2989 2990  res_vbc = vec_vperm(vbc, vbc, vuc);2991// CHECK: @llvm.ppc.altivec.vperm2992// CHECK-LE: @llvm.ppc.altivec.vperm2993 2994  res_vs  = vec_vperm(vs, vs, vuc);2995// CHECK: @llvm.ppc.altivec.vperm2996// CHECK-LE: @llvm.ppc.altivec.vperm2997 2998  res_vus = vec_vperm(vus, vus, vuc);2999// CHECK: @llvm.ppc.altivec.vperm3000// CHECK-LE: @llvm.ppc.altivec.vperm3001 3002  res_vbs = vec_vperm(vbs, vbs, vuc);3003// CHECK: @llvm.ppc.altivec.vperm3004// CHECK-LE: @llvm.ppc.altivec.vperm3005 3006  res_vp  = vec_vperm(vp, vp, vuc);3007// CHECK: @llvm.ppc.altivec.vperm3008// CHECK-LE: @llvm.ppc.altivec.vperm3009 3010  res_vi  = vec_vperm(vi, vi, vuc);3011// CHECK: @llvm.ppc.altivec.vperm3012// CHECK-LE: @llvm.ppc.altivec.vperm3013 3014  res_vui = vec_vperm(vui, vui, vuc);3015// CHECK: @llvm.ppc.altivec.vperm3016// CHECK-LE: @llvm.ppc.altivec.vperm3017 3018  res_vbi = vec_vperm(vbi, vbi, vuc);3019// CHECK: @llvm.ppc.altivec.vperm3020// CHECK-LE: @llvm.ppc.altivec.vperm3021 3022  res_vf  = vec_vperm(vf, vf, vuc);3023// CHECK: @llvm.ppc.altivec.vperm3024// CHECK-LE: @llvm.ppc.altivec.vperm3025 3026  /* vec_re */3027  res_vf = vec_re(vf);3028// CHECK: @llvm.ppc.altivec.vrefp3029// CHECK-LE: @llvm.ppc.altivec.vrefp3030 3031  res_vf = vec_vrefp(vf);3032// CHECK: @llvm.ppc.altivec.vrefp3033// CHECK-LE: @llvm.ppc.altivec.vrefp3034 3035  /* vec_rl */3036  res_vsc = vec_rl(vsc, vuc);3037// CHECK: @llvm.ppc.altivec.vrlb3038// CHECK-LE: @llvm.ppc.altivec.vrlb3039 3040  res_vuc = vec_rl(vuc, vuc);3041// CHECK: @llvm.ppc.altivec.vrlb3042// CHECK-LE: @llvm.ppc.altivec.vrlb3043 3044  res_vs  = vec_rl(vs, vus);3045// CHECK: @llvm.ppc.altivec.vrlh3046// CHECK-LE: @llvm.ppc.altivec.vrlh3047 3048  res_vus = vec_rl(vus, vus);3049// CHECK: @llvm.ppc.altivec.vrlh3050// CHECK-LE: @llvm.ppc.altivec.vrlh3051 3052  res_vi  = vec_rl(vi, vui);3053// CHECK: @llvm.ppc.altivec.vrlw3054// CHECK-LE: @llvm.ppc.altivec.vrlw3055 3056  res_vui = vec_rl(vui, vui);3057// CHECK: @llvm.ppc.altivec.vrlw3058// CHECK-LE: @llvm.ppc.altivec.vrlw3059 3060  res_vsc = vec_vrlb(vsc, vuc);3061// CHECK: @llvm.ppc.altivec.vrlb3062// CHECK-LE: @llvm.ppc.altivec.vrlb3063 3064  res_vuc = vec_vrlb(vuc, vuc);3065// CHECK: @llvm.ppc.altivec.vrlb3066// CHECK-LE: @llvm.ppc.altivec.vrlb3067 3068  res_vs  = vec_vrlh(vs, vus);3069// CHECK: @llvm.ppc.altivec.vrlh3070// CHECK-LE: @llvm.ppc.altivec.vrlh3071 3072  res_vus = vec_vrlh(vus, vus);3073// CHECK: @llvm.ppc.altivec.vrlh3074// CHECK-LE: @llvm.ppc.altivec.vrlh3075 3076  res_vi  = vec_vrlw(vi, vui);3077// CHECK: @llvm.ppc.altivec.vrlw3078// CHECK-LE: @llvm.ppc.altivec.vrlw3079 3080  res_vui = vec_vrlw(vui, vui);3081// CHECK: @llvm.ppc.altivec.vrlw3082// CHECK-LE: @llvm.ppc.altivec.vrlw3083 3084  /* vec_round */3085  res_vf = vec_round(vf);3086// CHECK: @llvm.ppc.altivec.vrfin3087// CHECK-LE: @llvm.ppc.altivec.vrfin3088 3089  res_vf = vec_vrfin(vf);3090// CHECK: @llvm.ppc.altivec.vrfin3091// CHECK-LE: @llvm.ppc.altivec.vrfin3092 3093  /* vec_rsqrte */3094  res_vf = vec_rsqrte(vf);3095// CHECK: @llvm.ppc.altivec.vrsqrtefp3096// CHECK-LE: @llvm.ppc.altivec.vrsqrtefp3097 3098  res_vf = vec_vrsqrtefp(vf);3099// CHECK: @llvm.ppc.altivec.vrsqrtefp3100// CHECK-LE: @llvm.ppc.altivec.vrsqrtefp3101 3102  /* vec_sel */3103  res_vsc = vec_sel(vsc, vsc, vuc);3104// CHECK: xor <16 x i8>3105// CHECK: and <16 x i8>3106// CHECK: and <16 x i8>3107// CHECK: or <16 x i8>3108// CHECK-LE: xor <16 x i8>3109// CHECK-LE: and <16 x i8>3110// CHECK-LE: and <16 x i8>3111// CHECK-LE: or <16 x i8>3112 3113  res_vsc = vec_sel(vsc, vsc, vbc);3114// CHECK: xor <16 x i8>3115// CHECK: and <16 x i8>3116// CHECK: and <16 x i8>3117// CHECK: or <16 x i8>3118// CHECK-LE: xor <16 x i8>3119// CHECK-LE: and <16 x i8>3120// CHECK-LE: and <16 x i8>3121// CHECK-LE: or <16 x i8>3122 3123  res_vuc = vec_sel(vuc, vuc, vuc);3124// CHECK: xor <16 x i8>3125// CHECK: and <16 x i8>3126// CHECK: and <16 x i8>3127// CHECK: or <16 x i8>3128// CHECK-LE: xor <16 x i8>3129// CHECK-LE: and <16 x i8>3130// CHECK-LE: and <16 x i8>3131// CHECK-LE: or <16 x i8>3132 3133  res_vuc = vec_sel(vuc, vuc, vbc);3134// CHECK: xor <16 x i8>3135// CHECK: and <16 x i8>3136// CHECK: and <16 x i8>3137// CHECK: or <16 x i8>3138// CHECK-LE: xor <16 x i8>3139// CHECK-LE: and <16 x i8>3140// CHECK-LE: and <16 x i8>3141// CHECK-LE: or <16 x i8>3142 3143  res_vbc = vec_sel(vbc, vbc, vuc);3144// CHECK: xor <16 x i8>3145// CHECK: and <16 x i8>3146// CHECK: and <16 x i8>3147// CHECK: or <16 x i8>3148// CHECK-LE: xor <16 x i8>3149// CHECK-LE: and <16 x i8>3150// CHECK-LE: and <16 x i8>3151// CHECK-LE: or <16 x i8>3152 3153  res_vbc = vec_sel(vbc, vbc, vbc);3154// CHECK: xor <16 x i8>3155// CHECK: and <16 x i8>3156// CHECK: and <16 x i8>3157// CHECK: or <16 x i8>3158// CHECK-LE: xor <16 x i8>3159// CHECK-LE: and <16 x i8>3160// CHECK-LE: and <16 x i8>3161// CHECK-LE: or <16 x i8>3162 3163  res_vs  = vec_sel(vs, vs, vus);3164// CHECK: xor <8 x i16>3165// CHECK: and <8 x i16>3166// CHECK: and <8 x i16>3167// CHECK: or <8 x i16>3168// CHECK-LE: xor <8 x i16>3169// CHECK-LE: and <8 x i16>3170// CHECK-LE: and <8 x i16>3171// CHECK-LE: or <8 x i16>3172 3173  res_vs  = vec_sel(vs, vs, vbs);3174// CHECK: xor <8 x i16>3175// CHECK: and <8 x i16>3176// CHECK: and <8 x i16>3177// CHECK: or <8 x i16>3178// CHECK-LE: xor <8 x i16>3179// CHECK-LE: and <8 x i16>3180// CHECK-LE: and <8 x i16>3181// CHECK-LE: or <8 x i16>3182 3183  res_vus = vec_sel(vus, vus, vus);3184// CHECK: xor <8 x i16>3185// CHECK: and <8 x i16>3186// CHECK: and <8 x i16>3187// CHECK: or <8 x i16>3188// CHECK-LE: xor <8 x i16>3189// CHECK-LE: and <8 x i16>3190// CHECK-LE: and <8 x i16>3191// CHECK-LE: or <8 x i16>3192 3193  res_vus = vec_sel(vus, vus, vbs);3194// CHECK: xor <8 x i16>3195// CHECK: and <8 x i16>3196// CHECK: and <8 x i16>3197// CHECK: or <8 x i16>3198// CHECK-LE: xor <8 x i16>3199// CHECK-LE: and <8 x i16>3200// CHECK-LE: and <8 x i16>3201// CHECK-LE: or <8 x i16>3202 3203  res_vbs = vec_sel(vbs, vbs, vus);3204// CHECK: xor <8 x i16>3205// CHECK: and <8 x i16>3206// CHECK: and <8 x i16>3207// CHECK: or <8 x i16>3208// CHECK-LE: xor <8 x i16>3209// CHECK-LE: and <8 x i16>3210// CHECK-LE: and <8 x i16>3211// CHECK-LE: or <8 x i16>3212 3213  res_vbs = vec_sel(vbs, vbs, vbs);3214// CHECK: xor <8 x i16>3215// CHECK: and <8 x i16>3216// CHECK: and <8 x i16>3217// CHECK: or <8 x i16>3218// CHECK-LE: xor <8 x i16>3219// CHECK-LE: and <8 x i16>3220// CHECK-LE: and <8 x i16>3221// CHECK-LE: or <8 x i16>3222 3223  res_vi  = vec_sel(vi, vi, vui);3224// CHECK: xor <4 x i32>3225// CHECK: and <4 x i32>3226// CHECK: and <4 x i32>3227// CHECK: or <4 x i32>3228// CHECK-LE: xor <4 x i32>3229// CHECK-LE: and <4 x i32>3230// CHECK-LE: and <4 x i32>3231// CHECK-LE: or <4 x i32>3232 3233  res_vi  = vec_sel(vi, vi, vbi);3234// CHECK: xor <4 x i32>3235// CHECK: and <4 x i32>3236// CHECK: and <4 x i32>3237// CHECK: or <4 x i32>3238// CHECK-LE: xor <4 x i32>3239// CHECK-LE: and <4 x i32>3240// CHECK-LE: and <4 x i32>3241// CHECK-LE: or <4 x i32>3242 3243  res_vui = vec_sel(vui, vui, vui);3244// CHECK: xor <4 x i32>3245// CHECK: and <4 x i32>3246// CHECK: and <4 x i32>3247// CHECK: or <4 x i32>3248// CHECK-LE: xor <4 x i32>3249// CHECK-LE: and <4 x i32>3250// CHECK-LE: and <4 x i32>3251// CHECK-LE: or <4 x i32>3252 3253  res_vui = vec_sel(vui, vui, vbi);3254// CHECK: xor <4 x i32>3255// CHECK: and <4 x i32>3256// CHECK: and <4 x i32>3257// CHECK: or <4 x i32>3258// CHECK-LE: xor <4 x i32>3259// CHECK-LE: and <4 x i32>3260// CHECK-LE: and <4 x i32>3261// CHECK-LE: or <4 x i32>3262 3263  res_vbi = vec_sel(vbi, vbi, vui);3264// CHECK: xor <4 x i32>3265// CHECK: and <4 x i32>3266// CHECK: and <4 x i32>3267// CHECK: or <4 x i32>3268// CHECK-LE: xor <4 x i32>3269// CHECK-LE: and <4 x i32>3270// CHECK-LE: and <4 x i32>3271// CHECK-LE: or <4 x i32>3272 3273  res_vbi = vec_sel(vbi, vbi, vbi);3274// CHECK: xor <4 x i32>3275// CHECK: and <4 x i32>3276// CHECK: and <4 x i32>3277// CHECK: or <4 x i32>3278// CHECK-LE: xor <4 x i32>3279// CHECK-LE: and <4 x i32>3280// CHECK-LE: and <4 x i32>3281// CHECK-LE: or <4 x i32>3282 3283  res_vf  = vec_sel(vf, vf, vui);3284// CHECK: xor <4 x i32>3285// CHECK: and <4 x i32>3286// CHECK: and <4 x i32>3287// CHECK: or <4 x i32>3288// CHECK-LE: xor <4 x i32>3289// CHECK-LE: and <4 x i32>3290// CHECK-LE: and <4 x i32>3291// CHECK-LE: or <4 x i32>3292 3293  res_vf  = vec_sel(vf, vf, vbi);3294// CHECK: xor <4 x i32>3295// CHECK: and <4 x i32>3296// CHECK: and <4 x i32>3297// CHECK: or <4 x i32>3298// CHECK-LE: xor <4 x i32>3299// CHECK-LE: and <4 x i32>3300// CHECK-LE: and <4 x i32>3301// CHECK-LE: or <4 x i32>3302 3303  res_vsc = vec_vsel(vsc, vsc, vuc);3304// CHECK: xor <16 x i8>3305// CHECK: and <16 x i8>3306// CHECK: and <16 x i8>3307// CHECK: or <16 x i8>3308// CHECK-LE: xor <16 x i8>3309// CHECK-LE: and <16 x i8>3310// CHECK-LE: and <16 x i8>3311// CHECK-LE: or <16 x i8>3312 3313  res_vsc = vec_vsel(vsc, vsc, vbc);3314// CHECK: xor <16 x i8>3315// CHECK: and <16 x i8>3316// CHECK: and <16 x i8>3317// CHECK: or <16 x i8>3318// CHECK-LE: xor <16 x i8>3319// CHECK-LE: and <16 x i8>3320// CHECK-LE: and <16 x i8>3321// CHECK-LE: or <16 x i8>3322 3323  res_vuc = vec_vsel(vuc, vuc, vuc);3324// CHECK: xor <16 x i8>3325// CHECK: and <16 x i8>3326// CHECK: and <16 x i8>3327// CHECK: or <16 x i8>3328// CHECK-LE: xor <16 x i8>3329// CHECK-LE: and <16 x i8>3330// CHECK-LE: and <16 x i8>3331// CHECK-LE: or <16 x i8>3332 3333  res_vuc = vec_vsel(vuc, vuc, vbc);3334// CHECK: xor <16 x i8>3335// CHECK: and <16 x i8>3336// CHECK: and <16 x i8>3337// CHECK: or <16 x i8>3338// CHECK-LE: xor <16 x i8>3339// CHECK-LE: and <16 x i8>3340// CHECK-LE: and <16 x i8>3341// CHECK-LE: or <16 x i8>3342 3343  res_vbc = vec_vsel(vbc, vbc, vuc);3344// CHECK: xor <16 x i8>3345// CHECK: and <16 x i8>3346// CHECK: and <16 x i8>3347// CHECK: or <16 x i8>3348// CHECK-LE: xor <16 x i8>3349// CHECK-LE: and <16 x i8>3350// CHECK-LE: and <16 x i8>3351// CHECK-LE: or <16 x i8>3352 3353  res_vbc = vec_vsel(vbc, vbc, vbc);3354// CHECK: xor <16 x i8>3355// CHECK: and <16 x i8>3356// CHECK: and <16 x i8>3357// CHECK: or <16 x i8>3358// CHECK-LE: xor <16 x i8>3359// CHECK-LE: and <16 x i8>3360// CHECK-LE: and <16 x i8>3361// CHECK-LE: or <16 x i8>3362 3363  res_vs  = vec_vsel(vs, vs, vus);3364// CHECK: xor <8 x i16>3365// CHECK: and <8 x i16>3366// CHECK: and <8 x i16>3367// CHECK: or <8 x i16>3368// CHECK-LE: xor <8 x i16>3369// CHECK-LE: and <8 x i16>3370// CHECK-LE: and <8 x i16>3371// CHECK-LE: or <8 x i16>3372 3373  res_vs  = vec_vsel(vs, vs, vbs);3374// CHECK: xor <8 x i16>3375// CHECK: and <8 x i16>3376// CHECK: and <8 x i16>3377// CHECK: or <8 x i16>3378// CHECK-LE: xor <8 x i16>3379// CHECK-LE: and <8 x i16>3380// CHECK-LE: and <8 x i16>3381// CHECK-LE: or <8 x i16>3382 3383  res_vus = vec_vsel(vus, vus, vus);3384// CHECK: xor <8 x i16>3385// CHECK: and <8 x i16>3386// CHECK: and <8 x i16>3387// CHECK: or <8 x i16>3388// CHECK-LE: xor <8 x i16>3389// CHECK-LE: and <8 x i16>3390// CHECK-LE: and <8 x i16>3391// CHECK-LE: or <8 x i16>3392 3393  res_vus = vec_vsel(vus, vus, vbs);3394// CHECK: xor <8 x i16>3395// CHECK: and <8 x i16>3396// CHECK: and <8 x i16>3397// CHECK: or <8 x i16>3398// CHECK-LE: xor <8 x i16>3399// CHECK-LE: and <8 x i16>3400// CHECK-LE: and <8 x i16>3401// CHECK-LE: or <8 x i16>3402 3403  res_vbs = vec_vsel(vbs, vbs, vus);3404// CHECK: xor <8 x i16>3405// CHECK: and <8 x i16>3406// CHECK: and <8 x i16>3407// CHECK: or <8 x i16>3408// CHECK-LE: xor <8 x i16>3409// CHECK-LE: and <8 x i16>3410// CHECK-LE: and <8 x i16>3411// CHECK-LE: or <8 x i16>3412 3413  res_vbs = vec_vsel(vbs, vbs, vbs);3414// CHECK: xor <8 x i16>3415// CHECK: and <8 x i16>3416// CHECK: and <8 x i16>3417// CHECK: or <8 x i16>3418// CHECK-LE: xor <8 x i16>3419// CHECK-LE: and <8 x i16>3420// CHECK-LE: and <8 x i16>3421// CHECK-LE: or <8 x i16>3422 3423  res_vi  = vec_vsel(vi, vi, vui);3424// CHECK: xor <4 x i32>3425// CHECK: and <4 x i32>3426// CHECK: and <4 x i32>3427// CHECK: or <4 x i32>3428// CHECK-LE: xor <4 x i32>3429// CHECK-LE: and <4 x i32>3430// CHECK-LE: and <4 x i32>3431// CHECK-LE: or <4 x i32>3432 3433  res_vi  = vec_vsel(vi, vi, vbi);3434// CHECK: xor <4 x i32>3435// CHECK: and <4 x i32>3436// CHECK: and <4 x i32>3437// CHECK: or <4 x i32>3438// CHECK-LE: xor <4 x i32>3439// CHECK-LE: and <4 x i32>3440// CHECK-LE: and <4 x i32>3441// CHECK-LE: or <4 x i32>3442 3443  res_vui = vec_vsel(vui, vui, vui);3444// CHECK: xor <4 x i32>3445// CHECK: and <4 x i32>3446// CHECK: and <4 x i32>3447// CHECK: or <4 x i32>3448// CHECK-LE: xor <4 x i32>3449// CHECK-LE: and <4 x i32>3450// CHECK-LE: and <4 x i32>3451// CHECK-LE: or <4 x i32>3452 3453  res_vui = vec_vsel(vui, vui, vbi);3454// CHECK: xor <4 x i32>3455// CHECK: and <4 x i32>3456// CHECK: and <4 x i32>3457// CHECK: or <4 x i32>3458// CHECK-LE: xor <4 x i32>3459// CHECK-LE: and <4 x i32>3460// CHECK-LE: and <4 x i32>3461// CHECK-LE: or <4 x i32>3462 3463  res_vbi = vec_vsel(vbi, vbi, vui);3464// CHECK: xor <4 x i32>3465// CHECK: and <4 x i32>3466// CHECK: and <4 x i32>3467// CHECK: or <4 x i32>3468// CHECK-LE: xor <4 x i32>3469// CHECK-LE: and <4 x i32>3470// CHECK-LE: and <4 x i32>3471// CHECK-LE: or <4 x i32>3472 3473  res_vbi = vec_vsel(vbi, vbi, vbi);3474// CHECK: xor <4 x i32>3475// CHECK: and <4 x i32>3476// CHECK: and <4 x i32>3477// CHECK: or <4 x i32>3478// CHECK-LE: xor <4 x i32>3479// CHECK-LE: and <4 x i32>3480// CHECK-LE: and <4 x i32>3481// CHECK-LE: or <4 x i32>3482 3483  res_vf  = vec_vsel(vf, vf, vui);3484// CHECK: xor <4 x i32>3485// CHECK: and <4 x i32>3486// CHECK: and <4 x i32>3487// CHECK: or <4 x i32>3488// CHECK-LE: xor <4 x i32>3489// CHECK-LE: and <4 x i32>3490// CHECK-LE: and <4 x i32>3491// CHECK-LE: or <4 x i32>3492 3493  res_vf  = vec_vsel(vf, vf, vbi);3494// CHECK: xor <4 x i32>3495// CHECK: and <4 x i32>3496// CHECK: and <4 x i32>3497// CHECK: or <4 x i32>3498// CHECK-LE: xor <4 x i32>3499// CHECK-LE: and <4 x i32>3500// CHECK-LE: and <4 x i32>3501// CHECK-LE: or <4 x i32>3502 3503  /* vec_sl */3504  res_vsc = vec_sl(vsc, vuc);3505// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <16 x i8> {{[0-9a-zA-Z%.]+}}, splat (i8 8)3506// CHECK: shl <16 x i8> {{[0-9a-zA-Z%.]+}}, [[UREM]]3507// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <16 x i8> {{[0-9a-zA-Z%.]+}}, splat (i8 8)3508// CHECK-LE: shl <16 x i8> {{[0-9a-zA-Z%.]+}}, [[UREM]]3509 3510  res_vuc = vec_sl(vuc, vuc);3511// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <16 x i8> {{[0-9a-zA-Z%.]+}}, splat (i8 8)3512// CHECK: shl <16 x i8> {{[0-9a-zA-Z%.]+}}, [[UREM]]3513// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <16 x i8> {{[0-9a-zA-Z%.]+}}, splat (i8 8)3514// CHECK-LE: shl <16 x i8> {{[0-9a-zA-Z%.]+}}, [[UREM]]3515 3516  res_vs  = vec_sl(vs, vus);3517// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <8 x i16> {{[0-9a-zA-Z%.]+}}, splat (i16 16)3518// CHECK: shl <8 x i16> {{[0-9a-zA-Z%.]+}}, [[UREM]]3519// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <8 x i16> {{[0-9a-zA-Z%.]+}}, splat (i16 16)3520// CHECK-LE: shl <8 x i16> {{[0-9a-zA-Z%.]+}}, [[UREM]]3521 3522  res_vus = vec_sl(vus, vus);3523// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <8 x i16> {{[0-9a-zA-Z%.]+}}, splat (i16 16)3524// CHECK: shl <8 x i16> {{[0-9a-zA-Z%.]+}}, [[UREM]]3525// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <8 x i16> {{[0-9a-zA-Z%.]+}}, splat (i16 16)3526// CHECK-LE: shl <8 x i16> {{[0-9a-zA-Z%.]+}}, [[UREM]]3527 3528  res_vi  = vec_sl(vi, vui);3529// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <4 x i32> {{[0-9a-zA-Z%.]+}}, splat (i32 32)3530// CHECK: shl <4 x i32> {{[0-9a-zA-Z%.]+}}, [[UREM]]3531// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <4 x i32> {{[0-9a-zA-Z%.]+}}, splat (i32 32)3532// CHECK-LE: shl <4 x i32> {{[0-9a-zA-Z%.]+}}, [[UREM]]3533 3534  res_vui = vec_sl(vui, vui);3535// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <4 x i32> {{[0-9a-zA-Z%.]+}}, splat (i32 32)3536// CHECK: shl <4 x i32> {{[0-9a-zA-Z%.]+}}, [[UREM]]3537// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <4 x i32> {{[0-9a-zA-Z%.]+}}, splat (i32 32)3538// CHECK-LE: shl <4 x i32> {{[0-9a-zA-Z%.]+}}, [[UREM]]3539 3540  res_vsc = vec_vslb(vsc, vuc);3541// CHECK: shl <16 x i8>3542// CHECK-LE: shl <16 x i8>3543 3544  res_vuc = vec_vslb(vuc, vuc);3545// CHECK: shl <16 x i8>3546// CHECK-LE: shl <16 x i8>3547 3548  res_vs  = vec_vslh(vs, vus);3549// CHECK: shl <8 x i16>3550// CHECK-LE: shl <8 x i16>3551 3552  res_vus = vec_vslh(vus, vus);3553// CHECK: shl <8 x i16>3554// CHECK-LE: shl <8 x i16>3555 3556  res_vi  = vec_vslw(vi, vui);3557// CHECK: shl <4 x i32>3558// CHECK-LE: shl <4 x i32>3559 3560  res_vui = vec_vslw(vui, vui);3561// CHECK: shl <4 x i32>3562// CHECK-LE: shl <4 x i32>3563 3564  /* vec_sld */3565  res_vsc = vec_sld(vsc, vsc, 0);3566// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13567// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23568// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33569// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153570// CHECK: @llvm.ppc.altivec.vperm3571// CHECK-LE: sub nsw i32 163572// CHECK-LE: sub nsw i32 173573// CHECK-LE: sub nsw i32 183574// CHECK-LE: sub nsw i32 313575// CHECK-LE: @llvm.ppc.altivec.vperm3576 3577  res_vuc = vec_sld(vuc, vuc, 0);3578// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13579// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23580// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33581// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153582// CHECK: @llvm.ppc.altivec.vperm3583// CHECK-LE: sub nsw i32 163584// CHECK-LE: sub nsw i32 173585// CHECK-LE: sub nsw i32 183586// CHECK-LE: sub nsw i32 313587// CHECK-LE: @llvm.ppc.altivec.vperm3588 3589  res_vs  = vec_sld(vs, vs, 0);3590// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13591// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23592// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33593// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153594// CHECK: @llvm.ppc.altivec.vperm3595// CHECK-LE: sub nsw i32 163596// CHECK-LE: sub nsw i32 173597// CHECK-LE: sub nsw i32 183598// CHECK-LE: sub nsw i32 313599// CHECK-LE: @llvm.ppc.altivec.vperm3600 3601  res_vus = vec_sld(vus, vus, 0);3602// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13603// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23604// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33605// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153606// CHECK: @llvm.ppc.altivec.vperm3607// CHECK-LE: sub nsw i32 163608// CHECK-LE: sub nsw i32 173609// CHECK-LE: sub nsw i32 183610// CHECK-LE: sub nsw i32 313611// CHECK-LE: @llvm.ppc.altivec.vperm3612 3613  res_vbs = vec_sld(vbs, vbs, 0);3614// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13615// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23616// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33617// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153618// CHECK: [[T1:%.+]] = bitcast <8 x i16> {{.+}} to <4 x i32>3619// CHECK: [[T2:%.+]] = bitcast <8 x i16> {{.+}} to <4 x i32>3620// CHECK: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> [[T1]], <4 x i32> [[T2]], <16 x i8>3621// CHECK-LE: sub nsw i32 163622// CHECK-LE: sub nsw i32 173623// CHECK-LE: sub nsw i32 183624// CHECK-LE: sub nsw i32 313625// CHECK-LE: xor <16 x i8>3626// CHECK-LE: [[T1:%.+]] = bitcast <8 x i16> {{.+}} to <4 x i32>3627// CHECK-LE: [[T2:%.+]] = bitcast <8 x i16> {{.+}} to <4 x i32>3628// CHECK-LE: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> [[T1]], <4 x i32> [[T2]], <16 x i8>3629 3630  res_vp  = vec_sld(vp, vp, 0);3631// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13632// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23633// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33634// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153635// CHECK: @llvm.ppc.altivec.vperm3636// CHECK-LE: sub nsw i32 163637// CHECK-LE: sub nsw i32 173638// CHECK-LE: sub nsw i32 183639// CHECK-LE: sub nsw i32 313640// CHECK-LE: @llvm.ppc.altivec.vperm3641 3642  res_vi  = vec_sld(vi, vi, 0);3643// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13644// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23645// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33646// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153647// CHECK: @llvm.ppc.altivec.vperm3648// CHECK-LE: sub nsw i32 163649// CHECK-LE: sub nsw i32 173650// CHECK-LE: sub nsw i32 183651// CHECK-LE: sub nsw i32 313652// CHECK-LE: @llvm.ppc.altivec.vperm3653 3654  res_vui = vec_sld(vui, vui, 0);3655// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13656// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23657// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33658// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153659// CHECK: @llvm.ppc.altivec.vperm3660// CHECK-LE: sub nsw i32 163661// CHECK-LE: sub nsw i32 173662// CHECK-LE: sub nsw i32 183663// CHECK-LE: sub nsw i32 313664// CHECK-LE: @llvm.ppc.altivec.vperm3665 3666  res_vbi = vec_sld(vbi, vbi, 0);3667// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13668// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23669// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33670// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153671// CHECK: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{.+}}, <4 x i32> {{.+}}, <16 x i8>3672// CHECK-LE: sub nsw i32 163673// CHECK-LE: sub nsw i32 173674// CHECK-LE: sub nsw i32 183675// CHECK-LE: sub nsw i32 313676// CHECK-LE: xor <16 x i8>3677// CHECK-LE: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{.+}}, <4 x i32> {{.+}}, <16 x i8>3678 3679  res_vf  = vec_sld(vf, vf, 0);3680// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13681// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23682// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33683// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153684// CHECK: @llvm.ppc.altivec.vperm3685// CHECK-LE: sub nsw i32 163686// CHECK-LE: sub nsw i32 173687// CHECK-LE: sub nsw i32 183688// CHECK-LE: sub nsw i32 313689// CHECK-LE: @llvm.ppc.altivec.vperm3690 3691  /* vec_sldw */3692  res_vsc = vec_sldw(vsc, vsc, 0);3693  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13694  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23695  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33696  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153697  // CHECK: @llvm.ppc.altivec.vperm3698  // CHECK-LE: sub nsw i32 163699  // CHECK-LE: sub nsw i32 173700  // CHECK-LE: sub nsw i32 183701  // CHECK-LE: sub nsw i32 313702  // CHECK-LE: @llvm.ppc.altivec.vperm3703 3704  res_vuc = vec_sldw(vuc, vuc, 0);3705  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13706  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23707  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33708  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153709  // CHECK: @llvm.ppc.altivec.vperm3710  // CHECK-LE: sub nsw i32 163711  // CHECK-LE: sub nsw i32 173712  // CHECK-LE: sub nsw i32 183713  // CHECK-LE: sub nsw i32 313714  // CHECK-LE: @llvm.ppc.altivec.vperm3715 3716  res_vi = vec_sldw(vi, vi, 0);3717  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13718  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23719  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33720  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153721  // CHECK: @llvm.ppc.altivec.vperm3722  // CHECK-LE: sub nsw i32 163723  // CHECK-LE: sub nsw i32 173724  // CHECK-LE: sub nsw i32 183725  // CHECK-LE: sub nsw i32 313726  // CHECK-LE: @llvm.ppc.altivec.vperm3727 3728  res_vui = vec_sldw(vui, vui, 0);3729  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13730  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23731  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33732  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153733  // CHECK: @llvm.ppc.altivec.vperm3734  // CHECK-LE: sub nsw i32 163735  // CHECK-LE: sub nsw i32 173736  // CHECK-LE: sub nsw i32 183737  // CHECK-LE: sub nsw i32 313738  // CHECK-LE: @llvm.ppc.altivec.vperm3739 3740  res_vs = vec_sldw(vs, vs, 0);3741  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13742  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23743  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33744  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153745  // CHECK: @llvm.ppc.altivec.vperm3746  // CHECK-LE: sub nsw i32 163747  // CHECK-LE: sub nsw i32 173748  // CHECK-LE: sub nsw i32 183749  // CHECK-LE: sub nsw i32 313750  // CHECK-LE: @llvm.ppc.altivec.vperm3751 3752  res_vus = vec_sldw(vus, vus, 0);3753  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13754  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23755  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33756  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153757  // CHECK: @llvm.ppc.altivec.vperm3758  // CHECK-LE: sub nsw i32 163759  // CHECK-LE: sub nsw i32 173760  // CHECK-LE: sub nsw i32 183761  // CHECK-LE: sub nsw i32 313762  // CHECK-LE: @llvm.ppc.altivec.vperm3763 3764  res_vf = vec_sldw(vf, vf, 0);3765  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13766  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23767  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33768  // CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153769  // CHECK: @llvm.ppc.altivec.vperm3770  // CHECK-LE: sub nsw i32 163771  // CHECK-LE: sub nsw i32 173772  // CHECK-LE: sub nsw i32 183773  // CHECK-LE: sub nsw i32 313774  // CHECK-LE: @llvm.ppc.altivec.vperm3775 3776  res_vsc = vec_vsldoi(vsc, vsc, 0);3777// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13778// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23779// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33780// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153781// CHECK: @llvm.ppc.altivec.vperm3782// CHECK-LE: sub nsw i32 163783// CHECK-LE: sub nsw i32 173784// CHECK-LE: sub nsw i32 183785// CHECK-LE: sub nsw i32 313786// CHECK-LE: @llvm.ppc.altivec.vperm3787 3788  res_vuc = vec_vsldoi(vuc, vuc, 0);3789// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13790// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23791// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33792// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153793// CHECK: @llvm.ppc.altivec.vperm3794// CHECK-LE: sub nsw i32 163795// CHECK-LE: sub nsw i32 173796// CHECK-LE: sub nsw i32 183797// CHECK-LE: sub nsw i32 313798// CHECK-LE: @llvm.ppc.altivec.vperm3799 3800  res_vs  = vec_vsldoi(vs, vs, 0);3801// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13802// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23803// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33804// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153805// CHECK: @llvm.ppc.altivec.vperm3806// CHECK-LE: sub nsw i32 163807// CHECK-LE: sub nsw i32 173808// CHECK-LE: sub nsw i32 183809// CHECK-LE: sub nsw i32 313810// CHECK-LE: @llvm.ppc.altivec.vperm3811 3812  res_vus = vec_vsldoi(vus, vus, 0);3813// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13814// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23815// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33816// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153817// CHECK: @llvm.ppc.altivec.vperm3818// CHECK-LE: sub nsw i32 163819// CHECK-LE: sub nsw i32 173820// CHECK-LE: sub nsw i32 183821// CHECK-LE: sub nsw i32 313822// CHECK-LE: @llvm.ppc.altivec.vperm3823 3824  res_vp  = vec_vsldoi(vp, vp, 0);3825// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13826// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23827// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33828// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153829// CHECK: @llvm.ppc.altivec.vperm3830// CHECK-LE: sub nsw i32 163831// CHECK-LE: sub nsw i32 173832// CHECK-LE: sub nsw i32 183833// CHECK-LE: sub nsw i32 313834// CHECK-LE: @llvm.ppc.altivec.vperm3835 3836  res_vi  = vec_vsldoi(vi, vi, 0);3837// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13838// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23839// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33840// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153841// CHECK: @llvm.ppc.altivec.vperm3842// CHECK-LE: sub nsw i32 163843// CHECK-LE: sub nsw i32 173844// CHECK-LE: sub nsw i32 183845// CHECK-LE: sub nsw i32 313846// CHECK-LE: @llvm.ppc.altivec.vperm3847 3848  res_vui = vec_vsldoi(vui, vui, 0);3849// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13850// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23851// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33852// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153853// CHECK: @llvm.ppc.altivec.vperm3854// CHECK-LE: sub nsw i32 163855// CHECK-LE: sub nsw i32 173856// CHECK-LE: sub nsw i32 183857// CHECK-LE: sub nsw i32 313858// CHECK-LE: @llvm.ppc.altivec.vperm3859 3860  res_vf  = vec_vsldoi(vf, vf, 0);3861// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 13862// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 23863// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 33864// CHECK: add nsw i32 {{[0-9a-zA-Z%.]+}}, 153865// CHECK: @llvm.ppc.altivec.vperm3866// CHECK-LE: sub nsw i32 163867// CHECK-LE: sub nsw i32 173868// CHECK-LE: sub nsw i32 183869// CHECK-LE: sub nsw i32 313870// CHECK-LE: @llvm.ppc.altivec.vperm3871 3872  /* vec_sll */3873  res_vsc = vec_sll(vsc, vuc);3874// CHECK: @llvm.ppc.altivec.vsl3875// CHECK-LE: @llvm.ppc.altivec.vsl3876 3877  res_vsc = vec_sll(vsc, vus);3878// CHECK: @llvm.ppc.altivec.vsl3879// CHECK-LE: @llvm.ppc.altivec.vsl3880 3881  res_vsc = vec_sll(vsc, vui);3882// CHECK: @llvm.ppc.altivec.vsl3883// CHECK-LE: @llvm.ppc.altivec.vsl3884 3885  res_vuc = vec_sll(vuc, vuc);3886// CHECK: @llvm.ppc.altivec.vsl3887// CHECK-LE: @llvm.ppc.altivec.vsl3888 3889  res_vuc = vec_sll(vuc, vus);3890// CHECK: @llvm.ppc.altivec.vsl3891// CHECK-LE: @llvm.ppc.altivec.vsl3892 3893  res_vuc = vec_sll(vuc, vui);3894// CHECK: @llvm.ppc.altivec.vsl3895// CHECK-LE: @llvm.ppc.altivec.vsl3896 3897  res_vbc = vec_sll(vbc, vuc);3898// CHECK: @llvm.ppc.altivec.vsl3899// CHECK-LE: @llvm.ppc.altivec.vsl3900 3901  res_vbc = vec_sll(vbc, vus);3902// CHECK: @llvm.ppc.altivec.vsl3903// CHECK-LE: @llvm.ppc.altivec.vsl3904 3905  res_vbc = vec_sll(vbc, vui);3906// CHECK: @llvm.ppc.altivec.vsl3907// CHECK-LE: @llvm.ppc.altivec.vsl3908 3909  res_vs  = vec_sll(vs, vuc);3910// CHECK: @llvm.ppc.altivec.vsl3911// CHECK-LE: @llvm.ppc.altivec.vsl3912 3913  res_vs  = vec_sll(vs, vus);3914// CHECK: @llvm.ppc.altivec.vsl3915// CHECK-LE: @llvm.ppc.altivec.vsl3916 3917  res_vs  = vec_sll(vs, vui);3918// CHECK: @llvm.ppc.altivec.vsl3919// CHECK-LE: @llvm.ppc.altivec.vsl3920 3921  res_vus = vec_sll(vus, vuc);3922// CHECK: @llvm.ppc.altivec.vsl3923// CHECK-LE: @llvm.ppc.altivec.vsl3924 3925  res_vus = vec_sll(vus, vus);3926// CHECK: @llvm.ppc.altivec.vsl3927// CHECK-LE: @llvm.ppc.altivec.vsl3928 3929  res_vus = vec_sll(vus, vui);3930// CHECK: @llvm.ppc.altivec.vsl3931// CHECK-LE: @llvm.ppc.altivec.vsl3932 3933  res_vbs = vec_sll(vbs, vuc);3934// CHECK: @llvm.ppc.altivec.vsl3935// CHECK-LE: @llvm.ppc.altivec.vsl3936 3937  res_vbs = vec_sll(vbs, vus);3938// CHECK: @llvm.ppc.altivec.vsl3939// CHECK-LE: @llvm.ppc.altivec.vsl3940 3941  res_vbs = vec_sll(vbs, vui);3942// CHECK: @llvm.ppc.altivec.vsl3943// CHECK-LE: @llvm.ppc.altivec.vsl3944 3945  res_vp  = vec_sll(vp, vuc);3946// CHECK: @llvm.ppc.altivec.vsl3947// CHECK-LE: @llvm.ppc.altivec.vsl3948 3949  res_vp  = vec_sll(vp, vus);3950// CHECK: @llvm.ppc.altivec.vsl3951// CHECK-LE: @llvm.ppc.altivec.vsl3952 3953  res_vp  = vec_sll(vp, vui);3954// CHECK: @llvm.ppc.altivec.vsl3955// CHECK-LE: @llvm.ppc.altivec.vsl3956 3957  res_vi  = vec_sll(vi, vuc);3958// CHECK: @llvm.ppc.altivec.vsl3959// CHECK-LE: @llvm.ppc.altivec.vsl3960 3961  res_vi  = vec_sll(vi, vus);3962// CHECK: @llvm.ppc.altivec.vsl3963// CHECK-LE: @llvm.ppc.altivec.vsl3964 3965  res_vi  = vec_sll(vi, vui);3966// CHECK: @llvm.ppc.altivec.vsl3967// CHECK-LE: @llvm.ppc.altivec.vsl3968 3969  res_vui = vec_sll(vui, vuc);3970// CHECK: @llvm.ppc.altivec.vsl3971// CHECK-LE: @llvm.ppc.altivec.vsl3972 3973  res_vui = vec_sll(vui, vus);3974// CHECK: @llvm.ppc.altivec.vsl3975// CHECK-LE: @llvm.ppc.altivec.vsl3976 3977  res_vui = vec_sll(vui, vui);3978// CHECK: @llvm.ppc.altivec.vsl3979// CHECK-LE: @llvm.ppc.altivec.vsl3980 3981  res_vbi = vec_sll(vbi, vuc);3982// CHECK: @llvm.ppc.altivec.vsl3983// CHECK-LE: @llvm.ppc.altivec.vsl3984 3985  res_vbi = vec_sll(vbi, vus);3986// CHECK: @llvm.ppc.altivec.vsl3987// CHECK-LE: @llvm.ppc.altivec.vsl3988 3989  res_vbi = vec_sll(vbi, vui);3990// CHECK: @llvm.ppc.altivec.vsl3991// CHECK-LE: @llvm.ppc.altivec.vsl3992 3993  res_vsc = vec_vsl(vsc, vuc);3994// CHECK: @llvm.ppc.altivec.vsl3995// CHECK-LE: @llvm.ppc.altivec.vsl3996 3997  res_vsc = vec_vsl(vsc, vus);3998// CHECK: @llvm.ppc.altivec.vsl3999// CHECK-LE: @llvm.ppc.altivec.vsl4000 4001  res_vsc = vec_vsl(vsc, vui);4002// CHECK: @llvm.ppc.altivec.vsl4003// CHECK-LE: @llvm.ppc.altivec.vsl4004 4005  res_vuc = vec_vsl(vuc, vuc);4006// CHECK: @llvm.ppc.altivec.vsl4007// CHECK-LE: @llvm.ppc.altivec.vsl4008 4009  res_vuc = vec_vsl(vuc, vus);4010// CHECK: @llvm.ppc.altivec.vsl4011// CHECK-LE: @llvm.ppc.altivec.vsl4012 4013  res_vuc = vec_vsl(vuc, vui);4014// CHECK: @llvm.ppc.altivec.vsl4015// CHECK-LE: @llvm.ppc.altivec.vsl4016 4017  res_vbc = vec_vsl(vbc, vuc);4018// CHECK: @llvm.ppc.altivec.vsl4019// CHECK-LE: @llvm.ppc.altivec.vsl4020 4021  res_vbc = vec_vsl(vbc, vus);4022// CHECK: @llvm.ppc.altivec.vsl4023// CHECK-LE: @llvm.ppc.altivec.vsl4024 4025  res_vbc = vec_vsl(vbc, vui);4026// CHECK: @llvm.ppc.altivec.vsl4027// CHECK-LE: @llvm.ppc.altivec.vsl4028 4029  res_vs  = vec_vsl(vs, vuc);4030// CHECK: @llvm.ppc.altivec.vsl4031// CHECK-LE: @llvm.ppc.altivec.vsl4032 4033  res_vs  = vec_vsl(vs, vus);4034// CHECK: @llvm.ppc.altivec.vsl4035// CHECK-LE: @llvm.ppc.altivec.vsl4036 4037  res_vs  = vec_vsl(vs, vui);4038// CHECK: @llvm.ppc.altivec.vsl4039// CHECK-LE: @llvm.ppc.altivec.vsl4040 4041  res_vus = vec_vsl(vus, vuc);4042// CHECK: @llvm.ppc.altivec.vsl4043// CHECK-LE: @llvm.ppc.altivec.vsl4044 4045  res_vus = vec_vsl(vus, vus);4046// CHECK: @llvm.ppc.altivec.vsl4047// CHECK-LE: @llvm.ppc.altivec.vsl4048 4049  res_vus = vec_vsl(vus, vui);4050// CHECK: @llvm.ppc.altivec.vsl4051// CHECK-LE: @llvm.ppc.altivec.vsl4052 4053  res_vbs = vec_vsl(vbs, vuc);4054// CHECK: @llvm.ppc.altivec.vsl4055// CHECK-LE: @llvm.ppc.altivec.vsl4056 4057  res_vbs = vec_vsl(vbs, vus);4058// CHECK: @llvm.ppc.altivec.vsl4059// CHECK-LE: @llvm.ppc.altivec.vsl4060 4061  res_vbs = vec_vsl(vbs, vui);4062// CHECK: @llvm.ppc.altivec.vsl4063// CHECK-LE: @llvm.ppc.altivec.vsl4064 4065  res_vp  = vec_vsl(vp, vuc);4066// CHECK: @llvm.ppc.altivec.vsl4067// CHECK-LE: @llvm.ppc.altivec.vsl4068 4069  res_vp  = vec_vsl(vp, vus);4070// CHECK: @llvm.ppc.altivec.vsl4071// CHECK-LE: @llvm.ppc.altivec.vsl4072 4073  res_vp  = vec_vsl(vp, vui);4074// CHECK: @llvm.ppc.altivec.vsl4075// CHECK-LE: @llvm.ppc.altivec.vsl4076 4077  res_vi  = vec_vsl(vi, vuc);4078// CHECK: @llvm.ppc.altivec.vsl4079// CHECK-LE: @llvm.ppc.altivec.vsl4080 4081  res_vi  = vec_vsl(vi, vus);4082// CHECK: @llvm.ppc.altivec.vsl4083// CHECK-LE: @llvm.ppc.altivec.vsl4084 4085  res_vi  = vec_vsl(vi, vui);4086// CHECK: @llvm.ppc.altivec.vsl4087// CHECK-LE: @llvm.ppc.altivec.vsl4088 4089  res_vui = vec_vsl(vui, vuc);4090// CHECK: @llvm.ppc.altivec.vsl4091// CHECK-LE: @llvm.ppc.altivec.vsl4092 4093  res_vui = vec_vsl(vui, vus);4094// CHECK: @llvm.ppc.altivec.vsl4095// CHECK-LE: @llvm.ppc.altivec.vsl4096 4097  res_vui = vec_vsl(vui, vui);4098// CHECK: @llvm.ppc.altivec.vsl4099// CHECK-LE: @llvm.ppc.altivec.vsl4100 4101  res_vbi = vec_vsl(vbi, vuc);4102// CHECK: @llvm.ppc.altivec.vsl4103// CHECK-LE: @llvm.ppc.altivec.vsl4104 4105  res_vbi = vec_vsl(vbi, vus);4106// CHECK: @llvm.ppc.altivec.vsl4107// CHECK-LE: @llvm.ppc.altivec.vsl4108 4109  res_vbi = vec_vsl(vbi, vui);4110// CHECK: @llvm.ppc.altivec.vsl4111// CHECK-LE: @llvm.ppc.altivec.vsl4112 4113  /* vec_slo */4114  res_vsc = vec_slo(vsc, vsc);4115// CHECK: @llvm.ppc.altivec.vslo4116// CHECK-LE: @llvm.ppc.altivec.vslo4117 4118  res_vsc = vec_slo(vsc, vuc);4119// CHECK: @llvm.ppc.altivec.vslo4120// CHECK-LE: @llvm.ppc.altivec.vslo4121 4122  res_vuc = vec_slo(vuc, vsc);4123// CHECK: @llvm.ppc.altivec.vslo4124// CHECK-LE: @llvm.ppc.altivec.vslo4125 4126  res_vuc = vec_slo(vuc, vuc);4127// CHECK: @llvm.ppc.altivec.vslo4128// CHECK-LE: @llvm.ppc.altivec.vslo4129 4130  res_vs  = vec_slo(vs, vsc);4131// CHECK: @llvm.ppc.altivec.vslo4132// CHECK-LE: @llvm.ppc.altivec.vslo4133 4134  res_vs  = vec_slo(vs, vuc);4135// CHECK: @llvm.ppc.altivec.vslo4136// CHECK-LE: @llvm.ppc.altivec.vslo4137 4138  res_vus = vec_slo(vus, vsc);4139// CHECK: @llvm.ppc.altivec.vslo4140// CHECK-LE: @llvm.ppc.altivec.vslo4141 4142  res_vus = vec_slo(vus, vuc);4143// CHECK: @llvm.ppc.altivec.vslo4144// CHECK-LE: @llvm.ppc.altivec.vslo4145 4146  res_vp  = vec_slo(vp, vsc);4147// CHECK: @llvm.ppc.altivec.vslo4148// CHECK-LE: @llvm.ppc.altivec.vslo4149 4150  res_vp  = vec_slo(vp, vuc);4151// CHECK: @llvm.ppc.altivec.vslo4152// CHECK-LE: @llvm.ppc.altivec.vslo4153 4154  res_vi  = vec_slo(vi, vsc);4155// CHECK: @llvm.ppc.altivec.vslo4156// CHECK-LE: @llvm.ppc.altivec.vslo4157 4158  res_vi  = vec_slo(vi, vuc);4159// CHECK: @llvm.ppc.altivec.vslo4160// CHECK-LE: @llvm.ppc.altivec.vslo4161 4162  res_vui = vec_slo(vui, vsc);4163// CHECK: @llvm.ppc.altivec.vslo4164// CHECK-LE: @llvm.ppc.altivec.vslo4165 4166  res_vui = vec_slo(vui, vuc);4167// CHECK: @llvm.ppc.altivec.vslo4168// CHECK-LE: @llvm.ppc.altivec.vslo4169 4170  res_vf  = vec_slo(vf, vsc);4171// CHECK: @llvm.ppc.altivec.vslo4172// CHECK-LE: @llvm.ppc.altivec.vslo4173 4174  res_vf  = vec_slo(vf, vuc);4175// CHECK: @llvm.ppc.altivec.vslo4176// CHECK-LE: @llvm.ppc.altivec.vslo4177 4178  res_vsc = vec_vslo(vsc, vsc);4179// CHECK: @llvm.ppc.altivec.vslo4180// CHECK-LE: @llvm.ppc.altivec.vslo4181 4182  res_vsc = vec_vslo(vsc, vuc);4183// CHECK: @llvm.ppc.altivec.vslo4184// CHECK-LE: @llvm.ppc.altivec.vslo4185 4186  res_vuc = vec_vslo(vuc, vsc);4187// CHECK: @llvm.ppc.altivec.vslo4188// CHECK-LE: @llvm.ppc.altivec.vslo4189 4190  res_vuc = vec_vslo(vuc, vuc);4191// CHECK: @llvm.ppc.altivec.vslo4192// CHECK-LE: @llvm.ppc.altivec.vslo4193 4194  res_vs  = vec_vslo(vs, vsc);4195// CHECK: @llvm.ppc.altivec.vslo4196// CHECK-LE: @llvm.ppc.altivec.vslo4197 4198  res_vs  = vec_vslo(vs, vuc);4199// CHECK: @llvm.ppc.altivec.vslo4200// CHECK-LE: @llvm.ppc.altivec.vslo4201 4202  res_vus = vec_vslo(vus, vsc);4203// CHECK: @llvm.ppc.altivec.vslo4204// CHECK-LE: @llvm.ppc.altivec.vslo4205 4206  res_vus = vec_vslo(vus, vuc);4207// CHECK: @llvm.ppc.altivec.vslo4208// CHECK-LE: @llvm.ppc.altivec.vslo4209 4210  res_vp  = vec_vslo(vp, vsc);4211// CHECK: @llvm.ppc.altivec.vslo4212// CHECK-LE: @llvm.ppc.altivec.vslo4213 4214  res_vp  = vec_vslo(vp, vuc);4215// CHECK: @llvm.ppc.altivec.vslo4216// CHECK-LE: @llvm.ppc.altivec.vslo4217 4218  res_vi  = vec_vslo(vi, vsc);4219// CHECK: @llvm.ppc.altivec.vslo4220// CHECK-LE: @llvm.ppc.altivec.vslo4221 4222  res_vi  = vec_vslo(vi, vuc);4223// CHECK: @llvm.ppc.altivec.vslo4224// CHECK-LE: @llvm.ppc.altivec.vslo4225 4226  res_vui = vec_vslo(vui, vsc);4227// CHECK: @llvm.ppc.altivec.vslo4228// CHECK-LE: @llvm.ppc.altivec.vslo4229 4230  res_vui = vec_vslo(vui, vuc);4231// CHECK: @llvm.ppc.altivec.vslo4232// CHECK-LE: @llvm.ppc.altivec.vslo4233 4234  res_vf  = vec_vslo(vf, vsc);4235// CHECK: @llvm.ppc.altivec.vslo4236// CHECK-LE: @llvm.ppc.altivec.vslo4237 4238  res_vf  = vec_vslo(vf, vuc);4239// CHECK: @llvm.ppc.altivec.vslo4240// CHECK-LE: @llvm.ppc.altivec.vslo4241 4242  /* vec_splat */4243  res_vsc = vec_splat(vsc, 0);4244// CHECK: @llvm.ppc.altivec.vperm4245// CHECK-LE: @llvm.ppc.altivec.vperm4246 4247  res_vuc = vec_splat(vuc, 0);4248// CHECK: @llvm.ppc.altivec.vperm4249// CHECK-LE: @llvm.ppc.altivec.vperm4250 4251  res_vbc = vec_splat(vbc, 0);4252// CHECK: @llvm.ppc.altivec.vperm4253// CHECK-LE: @llvm.ppc.altivec.vperm4254 4255  res_vs  = vec_splat(vs, 0);4256// CHECK: @llvm.ppc.altivec.vperm4257// CHECK-LE: @llvm.ppc.altivec.vperm4258 4259  res_vus = vec_splat(vus, 0);4260// CHECK: @llvm.ppc.altivec.vperm4261// CHECK-LE: @llvm.ppc.altivec.vperm4262 4263  res_vbs = vec_splat(vbs, 0);4264// CHECK: @llvm.ppc.altivec.vperm4265// CHECK-LE: @llvm.ppc.altivec.vperm4266 4267  res_vp  = vec_splat(vp, 0);4268// CHECK: @llvm.ppc.altivec.vperm4269// CHECK-LE: @llvm.ppc.altivec.vperm4270 4271  res_vi  = vec_splat(vi, 0);4272// CHECK: @llvm.ppc.altivec.vperm4273// CHECK-LE: @llvm.ppc.altivec.vperm4274 4275  res_vui = vec_splat(vui, 0);4276// CHECK: @llvm.ppc.altivec.vperm4277// CHECK-LE: @llvm.ppc.altivec.vperm4278 4279  res_vbi = vec_splat(vbi, 0);4280// CHECK: @llvm.ppc.altivec.vperm4281// CHECK-LE: @llvm.ppc.altivec.vperm4282 4283  res_vf  = vec_splat(vf, 0);4284// CHECK: @llvm.ppc.altivec.vperm4285// CHECK-LE: @llvm.ppc.altivec.vperm4286 4287  res_vsc = vec_vspltb(vsc, 0);4288// CHECK: @llvm.ppc.altivec.vperm4289// CHECK-LE: @llvm.ppc.altivec.vperm4290 4291  res_vuc = vec_vspltb(vuc, 0);4292// CHECK: @llvm.ppc.altivec.vperm4293// CHECK-LE: @llvm.ppc.altivec.vperm4294 4295  res_vbc = vec_vspltb(vbc, 0);4296// CHECK: @llvm.ppc.altivec.vperm4297// CHECK-LE: @llvm.ppc.altivec.vperm4298 4299  res_vs  = vec_vsplth(vs, 0);4300// CHECK: @llvm.ppc.altivec.vperm4301// CHECK-LE: @llvm.ppc.altivec.vperm4302 4303  res_vus = vec_vsplth(vus, 0);4304// CHECK: @llvm.ppc.altivec.vperm4305// CHECK-LE: @llvm.ppc.altivec.vperm4306 4307  res_vbs = vec_vsplth(vbs, 0);4308// CHECK: @llvm.ppc.altivec.vperm4309// CHECK-LE: @llvm.ppc.altivec.vperm4310 4311  res_vp  = vec_vsplth(vp, 0);4312// CHECK: @llvm.ppc.altivec.vperm4313// CHECK-LE: @llvm.ppc.altivec.vperm4314 4315  res_vi  = vec_vspltw(vi, 0);4316// CHECK: @llvm.ppc.altivec.vperm4317// CHECK-LE: @llvm.ppc.altivec.vperm4318 4319  res_vui = vec_vspltw(vui, 0);4320// CHECK: @llvm.ppc.altivec.vperm4321// CHECK-LE: @llvm.ppc.altivec.vperm4322 4323  res_vbi = vec_vspltw(vbi, 0);4324// CHECK: @llvm.ppc.altivec.vperm4325// CHECK-LE: @llvm.ppc.altivec.vperm4326 4327  res_vf  = vec_vspltw(vf, 0);4328// CHECK: @llvm.ppc.altivec.vperm4329// CHECK-LE: @llvm.ppc.altivec.vperm4330 4331  /* vec_splat_s8 */4332  res_vsc = vec_splat_s8(0x09);                 // TODO: add check4333  res_vsc = vec_vspltisb(0x09);                 // TODO: add check4334 4335  /* vec_splat_s16 */4336  res_vs = vec_splat_s16(0x09);                 // TODO: add check4337  res_vs = vec_vspltish(0x09);                  // TODO: add check4338 4339  /* vec_splat_s32 */4340  res_vi = vec_splat_s32(0x09);                 // TODO: add check4341  res_vi = vec_vspltisw(0x09);                  // TODO: add check4342 4343  /* vec_splat_u8 */4344  res_vuc = vec_splat_u8(0x09);                 // TODO: add check4345 4346  /* vec_splat_u16 */4347  res_vus = vec_splat_u16(0x09);                // TODO: add check4348 4349  /* vec_splat_u32 */4350  res_vui = vec_splat_u32(0x09);                // TODO: add check4351 4352  /* vec_sr */4353  res_vsc = vec_sr(vsc, vuc);4354// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <16 x i8> {{[0-9a-zA-Z%.]+}}, splat (i8 8)4355// CHECK: lshr <16 x i8> {{[0-9a-zA-Z%.]+}}, [[UREM]]4356// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <16 x i8> {{[0-9a-zA-Z%.]+}}, splat (i8 8)4357// CHECK-LE: lshr <16 x i8> {{[0-9a-zA-Z%.]+}}, [[UREM]]4358 4359  res_vuc = vec_sr(vuc, vuc);4360// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <16 x i8> {{[0-9a-zA-Z%.]+}}, splat (i8 8)4361// CHECK: lshr <16 x i8> {{[0-9a-zA-Z%.]+}}, [[UREM]]4362// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <16 x i8> {{[0-9a-zA-Z%.]+}}, splat (i8 8)4363// CHECK-LE: lshr <16 x i8> {{[0-9a-zA-Z%.]+}}, [[UREM]]4364 4365  res_vs  = vec_sr(vs, vus);4366// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <8 x i16> {{[0-9a-zA-Z%.]+}}, splat (i16 16)4367// CHECK: lshr <8 x i16> {{[0-9a-zA-Z%.]+}}, [[UREM]]4368// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <8 x i16> {{[0-9a-zA-Z%.]+}}, splat (i16 16)4369// CHECK-LE: lshr <8 x i16> {{[0-9a-zA-Z%.]+}}, [[UREM]]4370 4371  res_vus = vec_sr(vus, vus);4372// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <8 x i16> {{[0-9a-zA-Z%.]+}}, splat (i16 16)4373// CHECK: lshr <8 x i16> {{[0-9a-zA-Z%.]+}}, [[UREM]]4374// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <8 x i16> {{[0-9a-zA-Z%.]+}}, splat (i16 16)4375// CHECK-LE: lshr <8 x i16> {{[0-9a-zA-Z%.]+}}, [[UREM]]4376 4377  res_vi  = vec_sr(vi, vui);4378// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <4 x i32> {{[0-9a-zA-Z%.]+}}, splat (i32 32)4379// CHECK: lshr <4 x i32> {{[0-9a-zA-Z%.]+}}, [[UREM]]4380// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <4 x i32> {{[0-9a-zA-Z%.]+}}, splat (i32 32)4381// CHECK-LE: lshr <4 x i32> {{[0-9a-zA-Z%.]+}}, [[UREM]]4382 4383  res_vui = vec_sr(vui, vui);4384// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <4 x i32> {{[0-9a-zA-Z%.]+}}, splat (i32 32)4385// CHECK: lshr <4 x i32> {{[0-9a-zA-Z%.]+}}, [[UREM]]4386// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <4 x i32> {{[0-9a-zA-Z%.]+}}, splat (i32 32)4387// CHECK-LE: lshr <4 x i32> {{[0-9a-zA-Z%.]+}}, [[UREM]]4388 4389  res_vsc = vec_vsrb(vsc, vuc);4390// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <16 x i8> {{[0-9a-zA-Z%.]+}}, splat (i8 8)4391// CHECK: lshr <16 x i8> {{[0-9a-zA-Z%.]+}}, [[UREM]]4392// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <16 x i8> {{[0-9a-zA-Z%.]+}}, splat (i8 8)4393// CHECK-LE: lshr <16 x i8> {{[0-9a-zA-Z%.]+}}, [[UREM]]4394 4395  res_vuc = vec_vsrb(vuc, vuc);4396// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <16 x i8> {{[0-9a-zA-Z%.]+}}, splat (i8 8)4397// CHECK: lshr <16 x i8> {{[0-9a-zA-Z%.]+}}, [[UREM]]4398// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <16 x i8> {{[0-9a-zA-Z%.]+}}, splat (i8 8)4399// CHECK-LE: lshr <16 x i8> {{[0-9a-zA-Z%.]+}}, [[UREM]]4400 4401  res_vs  = vec_vsrh(vs, vus);4402// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <8 x i16> {{[0-9a-zA-Z%.]+}}, splat (i16 16)4403// CHECK: lshr <8 x i16> {{[0-9a-zA-Z%.]+}}, [[UREM]]4404// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <8 x i16> {{[0-9a-zA-Z%.]+}}, splat (i16 16)4405// CHECK-LE: lshr <8 x i16> {{[0-9a-zA-Z%.]+}}, [[UREM]]4406 4407  res_vus = vec_vsrh(vus, vus);4408// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <8 x i16> {{[0-9a-zA-Z%.]+}}, splat (i16 16)4409// CHECK: lshr <8 x i16> {{[0-9a-zA-Z%.]+}}, [[UREM]]4410// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <8 x i16> {{[0-9a-zA-Z%.]+}}, splat (i16 16)4411// CHECK-LE: lshr <8 x i16> {{[0-9a-zA-Z%.]+}}, [[UREM]]4412 4413  res_vi  = vec_vsrw(vi, vui);4414// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <4 x i32> {{[0-9a-zA-Z%.]+}}, splat (i32 32)4415// CHECK: lshr <4 x i32> {{[0-9a-zA-Z%.]+}}, [[UREM]]4416// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <4 x i32> {{[0-9a-zA-Z%.]+}}, splat (i32 32)4417// CHECK-LE: lshr <4 x i32> {{[0-9a-zA-Z%.]+}}, [[UREM]]4418 4419  res_vui = vec_vsrw(vui, vui);4420// CHECK: [[UREM:[0-9a-zA-Z%.]+]] = urem <4 x i32> {{[0-9a-zA-Z%.]+}}, splat (i32 32)4421// CHECK: lshr <4 x i32> {{[0-9a-zA-Z%.]+}}, [[UREM]]4422// CHECK-LE: [[UREM:[0-9a-zA-Z%.]+]] = urem <4 x i32> {{[0-9a-zA-Z%.]+}}, splat (i32 32)4423// CHECK-LE: lshr <4 x i32> {{[0-9a-zA-Z%.]+}}, [[UREM]]4424 4425  /* vec_sra */4426  res_vsc = vec_sra(vsc, vuc);4427// CHECK: @llvm.ppc.altivec.vsrab4428// CHECK-LE: @llvm.ppc.altivec.vsrab4429 4430  res_vuc = vec_sra(vuc, vuc);4431// CHECK: @llvm.ppc.altivec.vsrab4432// CHECK-LE: @llvm.ppc.altivec.vsrab4433 4434  res_vs  = vec_sra(vs, vus);4435// CHECK: @llvm.ppc.altivec.vsrah4436// CHECK-LE: @llvm.ppc.altivec.vsrah4437 4438  res_vus = vec_sra(vus, vus);4439// CHECK: @llvm.ppc.altivec.vsrah4440// CHECK-LE: @llvm.ppc.altivec.vsrah4441 4442  res_vi  = vec_sra(vi, vui);4443// CHECK: @llvm.ppc.altivec.vsraw4444// CHECK-LE: @llvm.ppc.altivec.vsraw4445 4446  res_vui = vec_sra(vui, vui);4447// CHECK: @llvm.ppc.altivec.vsraw4448// CHECK-LE: @llvm.ppc.altivec.vsraw4449 4450  res_vsc = vec_vsrab(vsc, vuc);4451// CHECK: @llvm.ppc.altivec.vsrab4452// CHECK-LE: @llvm.ppc.altivec.vsrab4453 4454  res_vuc = vec_vsrab(vuc, vuc);4455// CHECK: @llvm.ppc.altivec.vsrab4456// CHECK-LE: @llvm.ppc.altivec.vsrab4457 4458  res_vs  = vec_vsrah(vs, vus);4459// CHECK: @llvm.ppc.altivec.vsrah4460// CHECK-LE: @llvm.ppc.altivec.vsrah4461 4462  res_vus = vec_vsrah(vus, vus);4463// CHECK: @llvm.ppc.altivec.vsrah4464// CHECK-LE: @llvm.ppc.altivec.vsrah4465 4466  res_vi  = vec_vsraw(vi, vui);4467// CHECK: @llvm.ppc.altivec.vsraw4468// CHECK-LE: @llvm.ppc.altivec.vsraw4469 4470  res_vui = vec_vsraw(vui, vui);4471// CHECK: @llvm.ppc.altivec.vsraw4472// CHECK-LE: @llvm.ppc.altivec.vsraw4473 4474  /* vec_srl */4475  res_vsc = vec_srl(vsc, vuc);4476// CHECK: @llvm.ppc.altivec.vsr4477// CHECK-LE: @llvm.ppc.altivec.vsr4478 4479  res_vsc = vec_srl(vsc, vus);4480// CHECK: @llvm.ppc.altivec.vsr4481// CHECK-LE: @llvm.ppc.altivec.vsr4482 4483  res_vsc = vec_srl(vsc, vui);4484// CHECK: @llvm.ppc.altivec.vsr4485// CHECK-LE: @llvm.ppc.altivec.vsr4486 4487  res_vuc = vec_srl(vuc, vuc);4488// CHECK: @llvm.ppc.altivec.vsr4489// CHECK-LE: @llvm.ppc.altivec.vsr4490 4491  res_vuc = vec_srl(vuc, vus);4492// CHECK: @llvm.ppc.altivec.vsr4493// CHECK-LE: @llvm.ppc.altivec.vsr4494 4495  res_vuc = vec_srl(vuc, vui);4496// CHECK: @llvm.ppc.altivec.vsr4497// CHECK-LE: @llvm.ppc.altivec.vsr4498 4499  res_vbc = vec_srl(vbc, vuc);4500// CHECK: @llvm.ppc.altivec.vsr4501// CHECK-LE: @llvm.ppc.altivec.vsr4502 4503  res_vbc = vec_srl(vbc, vus);4504// CHECK: @llvm.ppc.altivec.vsr4505// CHECK-LE: @llvm.ppc.altivec.vsr4506 4507  res_vbc = vec_srl(vbc, vui);4508// CHECK: @llvm.ppc.altivec.vsr4509// CHECK-LE: @llvm.ppc.altivec.vsr4510 4511  res_vs  = vec_srl(vs, vuc);4512// CHECK: @llvm.ppc.altivec.vsr4513// CHECK-LE: @llvm.ppc.altivec.vsr4514 4515  res_vs  = vec_srl(vs, vus);4516// CHECK: @llvm.ppc.altivec.vsr4517// CHECK-LE: @llvm.ppc.altivec.vsr4518 4519  res_vs  = vec_srl(vs, vui);4520// CHECK: @llvm.ppc.altivec.vsr4521// CHECK-LE: @llvm.ppc.altivec.vsr4522 4523  res_vus = vec_srl(vus, vuc);4524// CHECK: @llvm.ppc.altivec.vsr4525// CHECK-LE: @llvm.ppc.altivec.vsr4526 4527  res_vus = vec_srl(vus, vus);4528// CHECK: @llvm.ppc.altivec.vsr4529// CHECK-LE: @llvm.ppc.altivec.vsr4530 4531  res_vus = vec_srl(vus, vui);4532// CHECK: @llvm.ppc.altivec.vsr4533// CHECK-LE: @llvm.ppc.altivec.vsr4534 4535  res_vbs = vec_srl(vbs, vuc);4536// CHECK: @llvm.ppc.altivec.vsr4537// CHECK-LE: @llvm.ppc.altivec.vsr4538 4539  res_vbs = vec_srl(vbs, vus);4540// CHECK: @llvm.ppc.altivec.vsr4541// CHECK-LE: @llvm.ppc.altivec.vsr4542 4543  res_vbs = vec_srl(vbs, vui);4544// CHECK: @llvm.ppc.altivec.vsr4545// CHECK-LE: @llvm.ppc.altivec.vsr4546 4547  res_vp  = vec_srl(vp, vuc);4548// CHECK: @llvm.ppc.altivec.vsr4549// CHECK-LE: @llvm.ppc.altivec.vsr4550 4551  res_vp  = vec_srl(vp, vus);4552// CHECK: @llvm.ppc.altivec.vsr4553// CHECK-LE: @llvm.ppc.altivec.vsr4554 4555  res_vp  = vec_srl(vp, vui);4556// CHECK: @llvm.ppc.altivec.vsr4557// CHECK-LE: @llvm.ppc.altivec.vsr4558 4559  res_vi  = vec_srl(vi, vuc);4560// CHECK: @llvm.ppc.altivec.vsr4561// CHECK-LE: @llvm.ppc.altivec.vsr4562 4563  res_vi  = vec_srl(vi, vus);4564// CHECK: @llvm.ppc.altivec.vsr4565// CHECK-LE: @llvm.ppc.altivec.vsr4566 4567  res_vi  = vec_srl(vi, vui);4568// CHECK: @llvm.ppc.altivec.vsr4569// CHECK-LE: @llvm.ppc.altivec.vsr4570 4571  res_vui = vec_srl(vui, vuc);4572// CHECK: @llvm.ppc.altivec.vsr4573// CHECK-LE: @llvm.ppc.altivec.vsr4574 4575  res_vui = vec_srl(vui, vus);4576// CHECK: @llvm.ppc.altivec.vsr4577// CHECK-LE: @llvm.ppc.altivec.vsr4578 4579  res_vui = vec_srl(vui, vui);4580// CHECK: @llvm.ppc.altivec.vsr4581// CHECK-LE: @llvm.ppc.altivec.vsr4582 4583  res_vbi = vec_srl(vbi, vuc);4584// CHECK: @llvm.ppc.altivec.vsr4585// CHECK-LE: @llvm.ppc.altivec.vsr4586 4587  res_vbi = vec_srl(vbi, vus);4588// CHECK: @llvm.ppc.altivec.vsr4589// CHECK-LE: @llvm.ppc.altivec.vsr4590 4591  res_vbi = vec_srl(vbi, vui);4592// CHECK: @llvm.ppc.altivec.vsr4593// CHECK-LE: @llvm.ppc.altivec.vsr4594 4595  res_vsc = vec_vsr(vsc, vuc);4596// CHECK: @llvm.ppc.altivec.vsr4597// CHECK-LE: @llvm.ppc.altivec.vsr4598 4599  res_vsc = vec_vsr(vsc, vus);4600// CHECK: @llvm.ppc.altivec.vsr4601// CHECK-LE: @llvm.ppc.altivec.vsr4602 4603  res_vsc = vec_vsr(vsc, vui);4604// CHECK: @llvm.ppc.altivec.vsr4605// CHECK-LE: @llvm.ppc.altivec.vsr4606 4607  res_vuc = vec_vsr(vuc, vuc);4608// CHECK: @llvm.ppc.altivec.vsr4609// CHECK-LE: @llvm.ppc.altivec.vsr4610 4611  res_vuc = vec_vsr(vuc, vus);4612// CHECK: @llvm.ppc.altivec.vsr4613// CHECK-LE: @llvm.ppc.altivec.vsr4614 4615  res_vuc = vec_vsr(vuc, vui);4616// CHECK: @llvm.ppc.altivec.vsr4617// CHECK-LE: @llvm.ppc.altivec.vsr4618 4619  res_vbc = vec_vsr(vbc, vuc);4620// CHECK: @llvm.ppc.altivec.vsr4621// CHECK-LE: @llvm.ppc.altivec.vsr4622 4623  res_vbc = vec_vsr(vbc, vus);4624// CHECK: @llvm.ppc.altivec.vsr4625// CHECK-LE: @llvm.ppc.altivec.vsr4626 4627  res_vbc = vec_vsr(vbc, vui);4628// CHECK: @llvm.ppc.altivec.vsr4629// CHECK-LE: @llvm.ppc.altivec.vsr4630 4631  res_vs  = vec_vsr(vs, vuc);4632// CHECK: @llvm.ppc.altivec.vsr4633// CHECK-LE: @llvm.ppc.altivec.vsr4634 4635  res_vs  = vec_vsr(vs, vus);4636// CHECK: @llvm.ppc.altivec.vsr4637// CHECK-LE: @llvm.ppc.altivec.vsr4638 4639  res_vs  = vec_vsr(vs, vui);4640// CHECK: @llvm.ppc.altivec.vsr4641// CHECK-LE: @llvm.ppc.altivec.vsr4642 4643  res_vus = vec_vsr(vus, vuc);4644// CHECK: @llvm.ppc.altivec.vsr4645// CHECK-LE: @llvm.ppc.altivec.vsr4646 4647  res_vus = vec_vsr(vus, vus);4648// CHECK: @llvm.ppc.altivec.vsr4649// CHECK-LE: @llvm.ppc.altivec.vsr4650 4651  res_vus = vec_vsr(vus, vui);4652// CHECK: @llvm.ppc.altivec.vsr4653// CHECK-LE: @llvm.ppc.altivec.vsr4654 4655  res_vbs = vec_vsr(vbs, vuc);4656// CHECK: @llvm.ppc.altivec.vsr4657// CHECK-LE: @llvm.ppc.altivec.vsr4658 4659  res_vbs = vec_vsr(vbs, vus);4660// CHECK: @llvm.ppc.altivec.vsr4661// CHECK-LE: @llvm.ppc.altivec.vsr4662 4663  res_vbs = vec_vsr(vbs, vui);4664// CHECK: @llvm.ppc.altivec.vsr4665// CHECK-LE: @llvm.ppc.altivec.vsr4666 4667  res_vp  = vec_vsr(vp, vuc);4668// CHECK: @llvm.ppc.altivec.vsr4669// CHECK-LE: @llvm.ppc.altivec.vsr4670 4671  res_vp  = vec_vsr(vp, vus);4672// CHECK: @llvm.ppc.altivec.vsr4673// CHECK-LE: @llvm.ppc.altivec.vsr4674 4675  res_vp  = vec_vsr(vp, vui);4676// CHECK: @llvm.ppc.altivec.vsr4677// CHECK-LE: @llvm.ppc.altivec.vsr4678 4679  res_vi  = vec_vsr(vi, vuc);4680// CHECK: @llvm.ppc.altivec.vsr4681// CHECK-LE: @llvm.ppc.altivec.vsr4682 4683  res_vi  = vec_vsr(vi, vus);4684// CHECK: @llvm.ppc.altivec.vsr4685// CHECK-LE: @llvm.ppc.altivec.vsr4686 4687  res_vi  = vec_vsr(vi, vui);4688// CHECK: @llvm.ppc.altivec.vsr4689// CHECK-LE: @llvm.ppc.altivec.vsr4690 4691  res_vui = vec_vsr(vui, vuc);4692// CHECK: @llvm.ppc.altivec.vsr4693// CHECK-LE: @llvm.ppc.altivec.vsr4694 4695  res_vui = vec_vsr(vui, vus);4696// CHECK: @llvm.ppc.altivec.vsr4697// CHECK-LE: @llvm.ppc.altivec.vsr4698 4699  res_vui = vec_vsr(vui, vui);4700// CHECK: @llvm.ppc.altivec.vsr4701// CHECK-LE: @llvm.ppc.altivec.vsr4702 4703  res_vbi = vec_vsr(vbi, vuc);4704// CHECK: @llvm.ppc.altivec.vsr4705// CHECK-LE: @llvm.ppc.altivec.vsr4706 4707  res_vbi = vec_vsr(vbi, vus);4708// CHECK: @llvm.ppc.altivec.vsr4709// CHECK-LE: @llvm.ppc.altivec.vsr4710 4711  res_vbi = vec_vsr(vbi, vui);4712// CHECK: @llvm.ppc.altivec.vsr4713// CHECK-LE: @llvm.ppc.altivec.vsr4714 4715  /* vec_sro */4716  res_vsc = vec_sro(vsc, vsc);4717// CHECK: @llvm.ppc.altivec.vsro4718// CHECK-LE: @llvm.ppc.altivec.vsro4719 4720  res_vsc = vec_sro(vsc, vuc);4721// CHECK: @llvm.ppc.altivec.vsro4722// CHECK-LE: @llvm.ppc.altivec.vsro4723 4724  res_vuc = vec_sro(vuc, vsc);4725// CHECK: @llvm.ppc.altivec.vsro4726// CHECK-LE: @llvm.ppc.altivec.vsro4727 4728  res_vuc = vec_sro(vuc, vuc);4729// CHECK: @llvm.ppc.altivec.vsro4730// CHECK-LE: @llvm.ppc.altivec.vsro4731 4732  res_vs  = vec_sro(vs, vsc);4733// CHECK: @llvm.ppc.altivec.vsro4734// CHECK-LE: @llvm.ppc.altivec.vsro4735 4736  res_vs  = vec_sro(vs, vuc);4737// CHECK: @llvm.ppc.altivec.vsro4738// CHECK-LE: @llvm.ppc.altivec.vsro4739 4740  res_vus = vec_sro(vus, vsc);4741// CHECK: @llvm.ppc.altivec.vsro4742// CHECK-LE: @llvm.ppc.altivec.vsro4743 4744  res_vus = vec_sro(vus, vuc);4745// CHECK: @llvm.ppc.altivec.vsro4746// CHECK-LE: @llvm.ppc.altivec.vsro4747 4748  res_vp  = vec_sro(vp, vsc);4749// CHECK: @llvm.ppc.altivec.vsro4750// CHECK-LE: @llvm.ppc.altivec.vsro4751 4752  res_vp  = vec_sro(vp, vuc);4753// CHECK: @llvm.ppc.altivec.vsro4754// CHECK-LE: @llvm.ppc.altivec.vsro4755 4756  res_vi  = vec_sro(vi, vsc);4757// CHECK: @llvm.ppc.altivec.vsro4758// CHECK-LE: @llvm.ppc.altivec.vsro4759 4760  res_vi  = vec_sro(vi, vuc);4761// CHECK: @llvm.ppc.altivec.vsro4762// CHECK-LE: @llvm.ppc.altivec.vsro4763 4764  res_vui = vec_sro(vui, vsc);4765// CHECK: @llvm.ppc.altivec.vsro4766// CHECK-LE: @llvm.ppc.altivec.vsro4767 4768  res_vui = vec_sro(vui, vuc);4769// CHECK: @llvm.ppc.altivec.vsro4770// CHECK-LE: @llvm.ppc.altivec.vsro4771 4772  res_vf  = vec_sro(vf, vsc);4773// CHECK: @llvm.ppc.altivec.vsro4774// CHECK-LE: @llvm.ppc.altivec.vsro4775 4776  res_vf  = vec_sro(vf, vuc);4777// CHECK: @llvm.ppc.altivec.vsro4778// CHECK-LE: @llvm.ppc.altivec.vsro4779 4780  res_vsc = vec_vsro(vsc, vsc);4781// CHECK: @llvm.ppc.altivec.vsro4782// CHECK-LE: @llvm.ppc.altivec.vsro4783 4784  res_vsc = vec_vsro(vsc, vuc);4785// CHECK: @llvm.ppc.altivec.vsro4786// CHECK-LE: @llvm.ppc.altivec.vsro4787 4788  res_vuc = vec_vsro(vuc, vsc);4789// CHECK: @llvm.ppc.altivec.vsro4790// CHECK-LE: @llvm.ppc.altivec.vsro4791 4792  res_vuc = vec_vsro(vuc, vuc);4793// CHECK: @llvm.ppc.altivec.vsro4794// CHECK-LE: @llvm.ppc.altivec.vsro4795 4796  res_vs  = vec_vsro(vs, vsc);4797// CHECK: @llvm.ppc.altivec.vsro4798// CHECK-LE: @llvm.ppc.altivec.vsro4799 4800  res_vs  = vec_vsro(vs, vuc);4801// CHECK: @llvm.ppc.altivec.vsro4802// CHECK-LE: @llvm.ppc.altivec.vsro4803 4804  res_vus = vec_vsro(vus, vsc);4805// CHECK: @llvm.ppc.altivec.vsro4806// CHECK-LE: @llvm.ppc.altivec.vsro4807 4808  res_vus = vec_vsro(vus, vuc);4809// CHECK: @llvm.ppc.altivec.vsro4810// CHECK-LE: @llvm.ppc.altivec.vsro4811 4812  res_vp  = vec_vsro(vp, vsc);4813// CHECK: @llvm.ppc.altivec.vsro4814// CHECK-LE: @llvm.ppc.altivec.vsro4815 4816  res_vp  = vec_vsro(vp, vuc);4817// CHECK: @llvm.ppc.altivec.vsro4818// CHECK-LE: @llvm.ppc.altivec.vsro4819 4820  res_vi  = vec_vsro(vi, vsc);4821// CHECK: @llvm.ppc.altivec.vsro4822// CHECK-LE: @llvm.ppc.altivec.vsro4823 4824  res_vi  = vec_vsro(vi, vuc);4825// CHECK: @llvm.ppc.altivec.vsro4826// CHECK-LE: @llvm.ppc.altivec.vsro4827 4828  res_vui = vec_vsro(vui, vsc);4829// CHECK: @llvm.ppc.altivec.vsro4830// CHECK-LE: @llvm.ppc.altivec.vsro4831 4832  res_vui = vec_vsro(vui, vuc);4833// CHECK: @llvm.ppc.altivec.vsro4834// CHECK-LE: @llvm.ppc.altivec.vsro4835 4836  res_vf  = vec_vsro(vf, vsc);4837// CHECK: @llvm.ppc.altivec.vsro4838// CHECK-LE: @llvm.ppc.altivec.vsro4839 4840  res_vf  = vec_vsro(vf, vuc);4841// CHECK: @llvm.ppc.altivec.vsro4842// CHECK-LE: @llvm.ppc.altivec.vsro4843 4844  /* vec_st */4845  vec_st(vsc, 0, &vsc);4846// CHECK: @llvm.ppc.altivec.stvx4847// CHECK-LE: @llvm.ppc.altivec.stvx4848 4849  vec_st(vsc, 0, &param_sc);4850// CHECK: @llvm.ppc.altivec.stvx4851// CHECK-LE: @llvm.ppc.altivec.stvx4852 4853  vec_st(vuc, 0, &vuc);4854// CHECK: @llvm.ppc.altivec.stvx4855// CHECK-LE: @llvm.ppc.altivec.stvx4856 4857  vec_st(vuc, 0, &param_uc);4858// CHECK: @llvm.ppc.altivec.stvx4859// CHECK-LE: @llvm.ppc.altivec.stvx4860 4861  vec_st(vbc, 0, &param_uc);4862// CHECK: @llvm.ppc.altivec.stvx4863// CHECK-LE: @llvm.ppc.altivec.stvx4864 4865  vec_st(vbc, 0, &param_uc);4866// CHECK: @llvm.ppc.altivec.stvx4867// CHECK-LE: @llvm.ppc.altivec.stvx4868 4869  vec_st(vbc, 0, &vbc);4870// CHECK: @llvm.ppc.altivec.stvx4871// CHECK-LE: @llvm.ppc.altivec.stvx4872 4873  vec_st(vs, 0, &vs);4874// CHECK: @llvm.ppc.altivec.stvx4875// CHECK-LE: @llvm.ppc.altivec.stvx4876 4877  vec_st(vs, 0, &param_s);4878// CHECK: @llvm.ppc.altivec.stvx4879// CHECK-LE: @llvm.ppc.altivec.stvx4880 4881  vec_st(vus, 0, &vus);4882// CHECK: @llvm.ppc.altivec.stvx4883// CHECK-LE: @llvm.ppc.altivec.stvx4884 4885  vec_st(vus, 0, &param_us);4886// CHECK: @llvm.ppc.altivec.stvx4887// CHECK-LE: @llvm.ppc.altivec.stvx4888 4889  vec_st(vbs, 0, &param_s);4890// CHECK: @llvm.ppc.altivec.stvx4891// CHECK-LE: @llvm.ppc.altivec.stvx4892 4893  vec_st(vbs, 0, &param_us);4894// CHECK: @llvm.ppc.altivec.stvx4895// CHECK-LE: @llvm.ppc.altivec.stvx4896 4897  vec_st(vbs, 0, &vbs);4898// CHECK: @llvm.ppc.altivec.stvx4899// CHECK-LE: @llvm.ppc.altivec.stvx4900 4901  vec_st(vp, 0, &param_s);4902// CHECK: @llvm.ppc.altivec.stvx4903// CHECK-LE: @llvm.ppc.altivec.stvx4904 4905  vec_st(vp, 0, &param_us);4906// CHECK: @llvm.ppc.altivec.stvx4907// CHECK-LE: @llvm.ppc.altivec.stvx4908 4909  vec_st(vp, 0, &vp);4910// CHECK: @llvm.ppc.altivec.stvx4911// CHECK-LE: @llvm.ppc.altivec.stvx4912 4913  vec_st(vi, 0, &vi);4914// CHECK: @llvm.ppc.altivec.stvx4915// CHECK-LE: @llvm.ppc.altivec.stvx4916 4917  vec_st(vi, 0, &param_i);4918// CHECK: @llvm.ppc.altivec.stvx4919// CHECK-LE: @llvm.ppc.altivec.stvx4920 4921  vec_st(vui, 0, &vui);4922// CHECK: @llvm.ppc.altivec.stvx4923// CHECK-LE: @llvm.ppc.altivec.stvx4924 4925  vec_st(vui, 0, &param_ui);4926// CHECK: @llvm.ppc.altivec.stvx4927// CHECK-LE: @llvm.ppc.altivec.stvx4928 4929  vec_st(vbi, 0, &param_i);4930// CHECK: @llvm.ppc.altivec.stvx4931// CHECK-LE: @llvm.ppc.altivec.stvx4932 4933  vec_st(vbi, 0, &param_ui);4934// CHECK: @llvm.ppc.altivec.stvx4935// CHECK-LE: @llvm.ppc.altivec.stvx4936 4937  vec_st(vbi, 0, &vbi);4938// CHECK: @llvm.ppc.altivec.stvx4939// CHECK-LE: @llvm.ppc.altivec.stvx4940 4941  vec_st(vf, 0, &vf);4942// CHECK: @llvm.ppc.altivec.stvx4943// CHECK-LE: @llvm.ppc.altivec.stvx4944 4945  vec_st(vf, 0, &param_f);4946// CHECK: @llvm.ppc.altivec.stvx4947// CHECK-LE: @llvm.ppc.altivec.stvx4948 4949  vec_stvx(vsc, 0, &vsc);4950// CHECK: @llvm.ppc.altivec.stvx4951// CHECK-LE: @llvm.ppc.altivec.stvx4952 4953  vec_stvx(vsc, 0, &param_sc);4954// CHECK: @llvm.ppc.altivec.stvx4955// CHECK-LE: @llvm.ppc.altivec.stvx4956 4957  vec_stvx(vuc, 0, &vuc);4958// CHECK: @llvm.ppc.altivec.stvx4959// CHECK-LE: @llvm.ppc.altivec.stvx4960 4961  vec_stvx(vuc, 0, &param_uc);4962// CHECK: @llvm.ppc.altivec.stvx4963// CHECK-LE: @llvm.ppc.altivec.stvx4964 4965  vec_stvx(vbc, 0, &param_uc);4966// CHECK: @llvm.ppc.altivec.stvx4967// CHECK-LE: @llvm.ppc.altivec.stvx4968 4969  vec_stvx(vbc, 0, &param_uc);4970// CHECK: @llvm.ppc.altivec.stvx4971// CHECK-LE: @llvm.ppc.altivec.stvx4972 4973  vec_stvx(vbc, 0, &vbc);4974// CHECK: @llvm.ppc.altivec.stvx4975// CHECK-LE: @llvm.ppc.altivec.stvx4976 4977  vec_stvx(vs, 0, &vs);4978// CHECK: @llvm.ppc.altivec.stvx4979// CHECK-LE: @llvm.ppc.altivec.stvx4980 4981  vec_stvx(vs, 0, &param_s);4982// CHECK: @llvm.ppc.altivec.stvx4983// CHECK-LE: @llvm.ppc.altivec.stvx4984 4985  vec_stvx(vus, 0, &vus);4986// CHECK: @llvm.ppc.altivec.stvx4987// CHECK-LE: @llvm.ppc.altivec.stvx4988 4989  vec_stvx(vus, 0, &param_us);4990// CHECK: @llvm.ppc.altivec.stvx4991// CHECK-LE: @llvm.ppc.altivec.stvx4992 4993  vec_stvx(vbs, 0, &param_s);4994// CHECK: @llvm.ppc.altivec.stvx4995// CHECK-LE: @llvm.ppc.altivec.stvx4996 4997  vec_stvx(vbs, 0, &param_us);4998// CHECK: @llvm.ppc.altivec.stvx4999// CHECK-LE: @llvm.ppc.altivec.stvx5000 5001  vec_stvx(vbs, 0, &vbs);5002// CHECK: @llvm.ppc.altivec.stvx5003// CHECK-LE: @llvm.ppc.altivec.stvx5004 5005  vec_stvx(vp, 0, &param_s);5006// CHECK: @llvm.ppc.altivec.stvx5007// CHECK-LE: @llvm.ppc.altivec.stvx5008 5009  vec_stvx(vp, 0, &param_us);5010// CHECK: @llvm.ppc.altivec.stvx5011// CHECK-LE: @llvm.ppc.altivec.stvx5012 5013  vec_stvx(vp, 0, &vp);5014// CHECK: @llvm.ppc.altivec.stvx5015// CHECK-LE: @llvm.ppc.altivec.stvx5016 5017  vec_stvx(vi, 0, &vi);5018// CHECK: @llvm.ppc.altivec.stvx5019// CHECK-LE: @llvm.ppc.altivec.stvx5020 5021  vec_stvx(vi, 0, &param_i);5022// CHECK: @llvm.ppc.altivec.stvx5023// CHECK-LE: @llvm.ppc.altivec.stvx5024 5025  vec_stvx(vui, 0, &vui);5026// CHECK: @llvm.ppc.altivec.stvx5027// CHECK-LE: @llvm.ppc.altivec.stvx5028 5029  vec_stvx(vui, 0, &param_ui);5030// CHECK: @llvm.ppc.altivec.stvx5031// CHECK-LE: @llvm.ppc.altivec.stvx5032 5033  vec_stvx(vbi, 0, &param_i);5034// CHECK: @llvm.ppc.altivec.stvx5035// CHECK-LE: @llvm.ppc.altivec.stvx5036 5037  vec_stvx(vbi, 0, &param_ui);5038// CHECK: @llvm.ppc.altivec.stvx5039// CHECK-LE: @llvm.ppc.altivec.stvx5040 5041  vec_stvx(vbi, 0, &vbi);5042// CHECK: @llvm.ppc.altivec.stvx5043// CHECK-LE: @llvm.ppc.altivec.stvx5044 5045  vec_stvx(vf, 0, &vf);5046// CHECK: @llvm.ppc.altivec.stvx5047// CHECK-LE: @llvm.ppc.altivec.stvx5048 5049  vec_stvx(vf, 0, &param_f);5050// CHECK: @llvm.ppc.altivec.stvx5051// CHECK-LE: @llvm.ppc.altivec.stvx5052 5053  /* vec_ste */5054  vec_ste(vsc, 0, &param_sc);5055// CHECK: @llvm.ppc.altivec.stvebx5056// CHECK-LE: @llvm.ppc.altivec.stvebx5057 5058  vec_ste(vuc, 0, &param_uc);5059// CHECK: @llvm.ppc.altivec.stvebx5060// CHECK-LE: @llvm.ppc.altivec.stvebx5061 5062  vec_ste(vbc, 0, &param_sc);5063// CHECK: @llvm.ppc.altivec.stvebx5064// CHECK-LE: @llvm.ppc.altivec.stvebx5065 5066  vec_ste(vbc, 0, &param_uc);5067// CHECK: @llvm.ppc.altivec.stvebx5068// CHECK-LE: @llvm.ppc.altivec.stvebx5069 5070  vec_ste(vs, 0, &param_s);5071// CHECK: @llvm.ppc.altivec.stvehx5072// CHECK-LE: @llvm.ppc.altivec.stvehx5073 5074  vec_ste(vus, 0, &param_us);5075// CHECK: @llvm.ppc.altivec.stvehx5076// CHECK-LE: @llvm.ppc.altivec.stvehx5077 5078  vec_ste(vbs, 0, &param_s);5079// CHECK: @llvm.ppc.altivec.stvehx5080// CHECK-LE: @llvm.ppc.altivec.stvehx5081 5082  vec_ste(vbs, 0, &param_us);5083// CHECK: @llvm.ppc.altivec.stvehx5084// CHECK-LE: @llvm.ppc.altivec.stvehx5085 5086  vec_ste(vp, 0, &param_s);5087// CHECK: @llvm.ppc.altivec.stvehx5088// CHECK-LE: @llvm.ppc.altivec.stvehx5089 5090  vec_ste(vp, 0, &param_us);5091// CHECK: @llvm.ppc.altivec.stvehx5092// CHECK-LE: @llvm.ppc.altivec.stvehx5093 5094  vec_ste(vi, 0, &param_i);5095// CHECK: @llvm.ppc.altivec.stvewx5096// CHECK-LE: @llvm.ppc.altivec.stvewx5097 5098  vec_ste(vui, 0, &param_ui);5099// CHECK: @llvm.ppc.altivec.stvewx5100// CHECK-LE: @llvm.ppc.altivec.stvewx5101 5102  vec_ste(vbi, 0, &param_i);5103// CHECK: @llvm.ppc.altivec.stvewx5104// CHECK-LE: @llvm.ppc.altivec.stvewx5105 5106  vec_ste(vbi, 0, &param_ui);5107// CHECK: @llvm.ppc.altivec.stvewx5108// CHECK-LE: @llvm.ppc.altivec.stvewx5109 5110  vec_ste(vf, 0, &param_f);5111// CHECK: @llvm.ppc.altivec.stvewx5112// CHECK-LE: @llvm.ppc.altivec.stvewx5113 5114  vec_stvebx(vsc, 0, &param_sc);5115// CHECK: @llvm.ppc.altivec.stvebx5116// CHECK-LE: @llvm.ppc.altivec.stvebx5117 5118  vec_stvebx(vuc, 0, &param_uc);5119// CHECK: @llvm.ppc.altivec.stvebx5120// CHECK-LE: @llvm.ppc.altivec.stvebx5121 5122  vec_stvebx(vbc, 0, &param_sc);5123// CHECK: @llvm.ppc.altivec.stvebx5124// CHECK-LE: @llvm.ppc.altivec.stvebx5125 5126  vec_stvebx(vbc, 0, &param_uc);5127// CHECK: @llvm.ppc.altivec.stvebx5128// CHECK-LE: @llvm.ppc.altivec.stvebx5129 5130  vec_stvehx(vs, 0, &param_s);5131// CHECK: @llvm.ppc.altivec.stvehx5132// CHECK-LE: @llvm.ppc.altivec.stvehx5133 5134  vec_stvehx(vus, 0, &param_us);5135// CHECK: @llvm.ppc.altivec.stvehx5136// CHECK-LE: @llvm.ppc.altivec.stvehx5137 5138  vec_stvehx(vbs, 0, &param_s);5139// CHECK: @llvm.ppc.altivec.stvehx5140// CHECK-LE: @llvm.ppc.altivec.stvehx5141 5142  vec_stvehx(vbs, 0, &param_us);5143// CHECK: @llvm.ppc.altivec.stvehx5144// CHECK-LE: @llvm.ppc.altivec.stvehx5145 5146  vec_stvehx(vp, 0, &param_s);5147// CHECK: @llvm.ppc.altivec.stvehx5148// CHECK-LE: @llvm.ppc.altivec.stvehx5149 5150  vec_stvehx(vp, 0, &param_us);5151// CHECK: @llvm.ppc.altivec.stvehx5152// CHECK-LE: @llvm.ppc.altivec.stvehx5153 5154  vec_stvewx(vi, 0, &param_i);5155// CHECK: @llvm.ppc.altivec.stvewx5156// CHECK-LE: @llvm.ppc.altivec.stvewx5157 5158  vec_stvewx(vui, 0, &param_ui);5159// CHECK: @llvm.ppc.altivec.stvewx5160// CHECK-LE: @llvm.ppc.altivec.stvewx5161 5162  vec_stvewx(vbi, 0, &param_i);5163// CHECK: @llvm.ppc.altivec.stvewx5164// CHECK-LE: @llvm.ppc.altivec.stvewx5165 5166  vec_stvewx(vbi, 0, &param_ui);5167// CHECK: @llvm.ppc.altivec.stvewx5168// CHECK-LE: @llvm.ppc.altivec.stvewx5169 5170  vec_stvewx(vf, 0, &param_f);5171// CHECK: @llvm.ppc.altivec.stvewx5172// CHECK-LE: @llvm.ppc.altivec.stvewx5173 5174  /* vec_stl */5175  vec_stl(vsc, 0, &vsc);5176// CHECK: @llvm.ppc.altivec.stvxl5177// CHECK-LE: @llvm.ppc.altivec.stvxl5178 5179  vec_stl(vsc, 0, &param_sc);5180// CHECK: @llvm.ppc.altivec.stvxl5181// CHECK-LE: @llvm.ppc.altivec.stvxl5182 5183  vec_stl(vuc, 0, &vuc);5184// CHECK: @llvm.ppc.altivec.stvxl5185// CHECK-LE: @llvm.ppc.altivec.stvxl5186 5187  vec_stl(vuc, 0, &param_uc);5188// CHECK: @llvm.ppc.altivec.stvxl5189// CHECK-LE: @llvm.ppc.altivec.stvxl5190 5191  vec_stl(vbc, 0, &param_sc);5192// CHECK: @llvm.ppc.altivec.stvxl5193// CHECK-LE: @llvm.ppc.altivec.stvxl5194 5195  vec_stl(vbc, 0, &param_uc);5196// CHECK: @llvm.ppc.altivec.stvxl5197// CHECK-LE: @llvm.ppc.altivec.stvxl5198 5199  vec_stl(vbc, 0, &vbc);5200// CHECK: @llvm.ppc.altivec.stvxl5201// CHECK-LE: @llvm.ppc.altivec.stvxl5202 5203  vec_stl(vs, 0, &vs);5204// CHECK: @llvm.ppc.altivec.stvxl5205// CHECK-LE: @llvm.ppc.altivec.stvxl5206 5207  vec_stl(vs, 0, &param_s);5208// CHECK: @llvm.ppc.altivec.stvxl5209// CHECK-LE: @llvm.ppc.altivec.stvxl5210 5211  vec_stl(vus, 0, &vus);5212// CHECK: @llvm.ppc.altivec.stvxl5213// CHECK-LE: @llvm.ppc.altivec.stvxl5214 5215  vec_stl(vus, 0, &param_us);5216// CHECK: @llvm.ppc.altivec.stvxl5217// CHECK-LE: @llvm.ppc.altivec.stvxl5218 5219  vec_stl(vbs, 0, &param_s);5220// CHECK: @llvm.ppc.altivec.stvxl5221// CHECK-LE: @llvm.ppc.altivec.stvxl5222 5223  vec_stl(vbs, 0, &param_us);5224// CHECK: @llvm.ppc.altivec.stvxl5225// CHECK-LE: @llvm.ppc.altivec.stvxl5226 5227  vec_stl(vbs, 0, &vbs);5228// CHECK: @llvm.ppc.altivec.stvxl5229// CHECK-LE: @llvm.ppc.altivec.stvxl5230 5231  vec_stl(vp, 0, &param_s);5232// CHECK: @llvm.ppc.altivec.stvxl5233// CHECK-LE: @llvm.ppc.altivec.stvxl5234 5235  vec_stl(vp, 0, &param_us);5236// CHECK: @llvm.ppc.altivec.stvxl5237// CHECK-LE: @llvm.ppc.altivec.stvxl5238 5239  vec_stl(vp, 0, &vp);5240// CHECK: @llvm.ppc.altivec.stvxl5241// CHECK-LE: @llvm.ppc.altivec.stvxl5242 5243  vec_stl(vi, 0, &vi);5244// CHECK: @llvm.ppc.altivec.stvxl5245// CHECK-LE: @llvm.ppc.altivec.stvxl5246 5247  vec_stl(vi, 0, &param_i);5248// CHECK: @llvm.ppc.altivec.stvxl5249// CHECK-LE: @llvm.ppc.altivec.stvxl5250 5251  vec_stl(vui, 0, &vui);5252// CHECK: @llvm.ppc.altivec.stvxl5253// CHECK-LE: @llvm.ppc.altivec.stvxl5254 5255  vec_stl(vui, 0, &param_ui);5256// CHECK: @llvm.ppc.altivec.stvxl5257// CHECK-LE: @llvm.ppc.altivec.stvxl5258 5259  vec_stl(vbi, 0, &param_i);5260// CHECK: @llvm.ppc.altivec.stvxl5261// CHECK-LE: @llvm.ppc.altivec.stvxl5262 5263  vec_stl(vbi, 0, &param_ui);5264// CHECK: @llvm.ppc.altivec.stvxl5265// CHECK-LE: @llvm.ppc.altivec.stvxl5266 5267  vec_stl(vbi, 0, &vbi);5268// CHECK: @llvm.ppc.altivec.stvxl5269// CHECK-LE: @llvm.ppc.altivec.stvxl5270 5271  vec_stl(vf, 0, &vf);5272// CHECK: @llvm.ppc.altivec.stvxl5273// CHECK-LE: @llvm.ppc.altivec.stvxl5274 5275  vec_stl(vf, 0, &param_f);5276// CHECK: @llvm.ppc.altivec.stvxl5277// CHECK-LE: @llvm.ppc.altivec.stvxl5278 5279  vec_stvxl(vsc, 0, &vsc);5280// CHECK: @llvm.ppc.altivec.stvxl5281// CHECK-LE: @llvm.ppc.altivec.stvxl5282 5283  vec_stvxl(vsc, 0, &param_sc);5284// CHECK: @llvm.ppc.altivec.stvxl5285// CHECK-LE: @llvm.ppc.altivec.stvxl5286 5287  vec_stvxl(vuc, 0, &vuc);5288// CHECK: @llvm.ppc.altivec.stvxl5289// CHECK-LE: @llvm.ppc.altivec.stvxl5290 5291  vec_stvxl(vuc, 0, &param_uc);5292// CHECK: @llvm.ppc.altivec.stvxl5293// CHECK-LE: @llvm.ppc.altivec.stvxl5294 5295  vec_stvxl(vbc, 0, &param_sc);5296// CHECK: @llvm.ppc.altivec.stvxl5297// CHECK-LE: @llvm.ppc.altivec.stvxl5298 5299  vec_stvxl(vbc, 0, &param_uc);5300// CHECK: @llvm.ppc.altivec.stvxl5301// CHECK-LE: @llvm.ppc.altivec.stvxl5302 5303  vec_stvxl(vbc, 0, &vbc);5304// CHECK: @llvm.ppc.altivec.stvxl5305// CHECK-LE: @llvm.ppc.altivec.stvxl5306 5307  vec_stvxl(vs, 0, &vs);5308// CHECK: @llvm.ppc.altivec.stvxl5309// CHECK-LE: @llvm.ppc.altivec.stvxl5310 5311  vec_stvxl(vs, 0, &param_s);5312// CHECK: @llvm.ppc.altivec.stvxl5313// CHECK-LE: @llvm.ppc.altivec.stvxl5314 5315  vec_stvxl(vus, 0, &vus);5316// CHECK: @llvm.ppc.altivec.stvxl5317// CHECK-LE: @llvm.ppc.altivec.stvxl5318 5319  vec_stvxl(vus, 0, &param_us);5320// CHECK: @llvm.ppc.altivec.stvxl5321// CHECK-LE: @llvm.ppc.altivec.stvxl5322 5323  vec_stvxl(vbs, 0, &param_s);5324// CHECK: @llvm.ppc.altivec.stvxl5325// CHECK-LE: @llvm.ppc.altivec.stvxl5326 5327  vec_stvxl(vbs, 0, &param_us);5328// CHECK: @llvm.ppc.altivec.stvxl5329// CHECK-LE: @llvm.ppc.altivec.stvxl5330 5331  vec_stvxl(vbs, 0, &vbs);5332// CHECK: @llvm.ppc.altivec.stvxl5333// CHECK-LE: @llvm.ppc.altivec.stvxl5334 5335  vec_stvxl(vp, 0, &param_s);5336// CHECK: @llvm.ppc.altivec.stvxl5337// CHECK-LE: @llvm.ppc.altivec.stvxl5338 5339  vec_stvxl(vp, 0, &param_us);5340// CHECK: @llvm.ppc.altivec.stvxl5341// CHECK-LE: @llvm.ppc.altivec.stvxl5342 5343  vec_stvxl(vp, 0, &vp);5344// CHECK: @llvm.ppc.altivec.stvxl5345// CHECK-LE: @llvm.ppc.altivec.stvxl5346 5347  vec_stvxl(vi, 0, &vi);5348// CHECK: @llvm.ppc.altivec.stvxl5349// CHECK-LE: @llvm.ppc.altivec.stvxl5350 5351  vec_stvxl(vi, 0, &param_i);5352// CHECK: @llvm.ppc.altivec.stvxl5353// CHECK-LE: @llvm.ppc.altivec.stvxl5354 5355  vec_stvxl(vui, 0, &vui);5356// CHECK: @llvm.ppc.altivec.stvxl5357// CHECK-LE: @llvm.ppc.altivec.stvxl5358 5359  vec_stvxl(vui, 0, &param_ui);5360// CHECK: @llvm.ppc.altivec.stvxl5361// CHECK-LE: @llvm.ppc.altivec.stvxl5362 5363  vec_stvxl(vbi, 0, &param_i);5364// CHECK: @llvm.ppc.altivec.stvxl5365// CHECK-LE: @llvm.ppc.altivec.stvxl5366 5367  vec_stvxl(vbi, 0, &param_ui);5368// CHECK: @llvm.ppc.altivec.stvxl5369// CHECK-LE: @llvm.ppc.altivec.stvxl5370 5371  vec_stvxl(vbi, 0, &vbi);5372// CHECK: @llvm.ppc.altivec.stvxl5373// CHECK-LE: @llvm.ppc.altivec.stvxl5374 5375  vec_stvxl(vf, 0, &vf);5376// CHECK: @llvm.ppc.altivec.stvxl5377// CHECK-LE: @llvm.ppc.altivec.stvxl5378 5379  vec_stvxl(vf, 0, &param_f);5380// CHECK: @llvm.ppc.altivec.stvxl5381// CHECK-LE: @llvm.ppc.altivec.stvxl5382 5383  /* vec_sub */5384  res_vsc = vec_sub(vsc, vsc);5385// CHECK: sub <16 x i8>5386// CHECK-LE: sub <16 x i8>5387 5388  res_vsc = vec_sub(vbc, vsc);5389// CHECK: sub <16 x i8>5390// CHECK-LE: sub <16 x i8>5391 5392  res_vsc = vec_sub(vsc, vbc);5393// CHECK: sub <16 x i8>5394// CHECK-LE: sub <16 x i8>5395 5396  res_vuc = vec_sub(vuc, vuc);5397// CHECK: sub <16 x i8>5398// CHECK-LE: sub <16 x i8>5399 5400  res_vuc = vec_sub(vbc, vuc);5401// CHECK: sub <16 x i8>5402// CHECK-LE: sub <16 x i8>5403 5404  res_vuc = vec_sub(vuc, vbc);5405// CHECK: sub <16 x i8>5406// CHECK-LE: sub <16 x i8>5407 5408  res_vs  = vec_sub(vs, vs);5409// CHECK: sub <8 x i16>5410// CHECK-LE: sub <8 x i16>5411 5412  res_vs  = vec_sub(vbs, vs);5413// CHECK: sub <8 x i16>5414// CHECK-LE: sub <8 x i16>5415 5416  res_vs  = vec_sub(vs, vbs);5417// CHECK: sub <8 x i16>5418// CHECK-LE: sub <8 x i16>5419 5420  res_vus = vec_sub(vus, vus);5421// CHECK: sub <8 x i16>5422// CHECK-LE: sub <8 x i16>5423 5424  res_vus = vec_sub(vbs, vus);5425// CHECK: sub <8 x i16>5426// CHECK-LE: sub <8 x i16>5427 5428  res_vus = vec_sub(vus, vbs);5429// CHECK: sub <8 x i16>5430// CHECK-LE: sub <8 x i16>5431 5432  res_vi  = vec_sub(vi, vi);5433// CHECK: sub <4 x i32>5434// CHECK-LE: sub <4 x i32>5435 5436  res_vi  = vec_sub(vbi, vi);5437// CHECK: sub <4 x i32>5438// CHECK-LE: sub <4 x i32>5439 5440  res_vi  = vec_sub(vi, vbi);5441// CHECK: sub <4 x i32>5442// CHECK-LE: sub <4 x i32>5443 5444  res_vui = vec_sub(vui, vui);5445// CHECK: sub <4 x i32>5446// CHECK-LE: sub <4 x i32>5447 5448  res_vui = vec_sub(vbi, vui);5449// CHECK: sub <4 x i32>5450// CHECK-LE: sub <4 x i32>5451 5452  res_vui = vec_sub(vui, vbi);5453// CHECK: sub <4 x i32>5454// CHECK-LE: sub <4 x i32>5455 5456  res_vf  = vec_sub(vf, vf);5457// CHECK: fsub <4 x float>5458// CHECK-LE: fsub <4 x float>5459 5460  5461 5462  res_vsc = vec_vsububm(vsc, vsc);5463// CHECK: sub <16 x i8>5464// CHECK-LE: sub <16 x i8>5465 5466  res_vsc = vec_vsububm(vbc, vsc);5467// CHECK: sub <16 x i8>5468// CHECK-LE: sub <16 x i8>5469 5470  res_vsc = vec_vsububm(vsc, vbc);5471// CHECK: sub <16 x i8>5472// CHECK-LE: sub <16 x i8>5473 5474  res_vuc = vec_vsububm(vuc, vuc);5475// CHECK: sub <16 x i8>5476// CHECK-LE: sub <16 x i8>5477 5478  res_vuc = vec_vsububm(vbc, vuc);5479// CHECK: sub <16 x i8>5480// CHECK-LE: sub <16 x i8>5481 5482  res_vuc = vec_vsububm(vuc, vbc);5483// CHECK: sub <16 x i8>5484// CHECK-LE: sub <16 x i8>5485 5486  res_vs  = vec_vsubuhm(vs, vs);5487// CHECK: sub <8 x i16>5488// CHECK-LE: sub <8 x i16>5489 5490  res_vs  = vec_vsubuhm(vbs, vs);5491// CHECK: sub <8 x i16>5492// CHECK-LE: sub <8 x i16>5493 5494  res_vs  = vec_vsubuhm(vs, vbs);5495// CHECK: sub <8 x i16>5496// CHECK-LE: sub <8 x i16>5497 5498  res_vus = vec_vsubuhm(vus, vus);5499// CHECK: sub <8 x i16>5500// CHECK-LE: sub <8 x i16>5501 5502  res_vus = vec_vsubuhm(vbs, vus);5503// CHECK: sub <8 x i16>5504// CHECK-LE: sub <8 x i16>5505 5506  res_vus = vec_vsubuhm(vus, vbs);5507// CHECK: sub <8 x i16>5508// CHECK-LE: sub <8 x i16>5509 5510  res_vi  = vec_vsubuwm(vi, vi);5511// CHECK: sub <4 x i32>5512// CHECK-LE: sub <4 x i32>5513 5514  res_vi  = vec_vsubuwm(vbi, vi);5515// CHECK: sub <4 x i32>5516// CHECK-LE: sub <4 x i32>5517 5518  res_vi  = vec_vsubuwm(vi, vbi);5519// CHECK: sub <4 x i32>5520// CHECK-LE: sub <4 x i32>5521 5522  res_vui = vec_vsubuwm(vui, vui);5523// CHECK: sub <4 x i32>5524// CHECK-LE: sub <4 x i32>5525 5526  res_vui = vec_vsubuwm(vbi, vui);5527// CHECK: sub <4 x i32>5528// CHECK-LE: sub <4 x i32>5529 5530  res_vui = vec_vsubuwm(vui, vbi);5531// CHECK: sub <4 x i32>5532// CHECK-LE: sub <4 x i32>5533 5534  res_vf  = vec_vsubfp(vf, vf);5535// CHECK: fsub <4 x float>5536// CHECK-LE: fsub <4 x float>5537 5538  /* vec_subc */5539  res_vui = vec_subc(vui, vui);5540// CHECK: @llvm.ppc.altivec.vsubcuw5541// CHECK-LE: @llvm.ppc.altivec.vsubcuw5542 5543  res_vi = vec_subc(vi, vi);5544// CHECK: @llvm.ppc.altivec.vsubcuw5545// CHECK-LE: @llvm.ppc.altivec.vsubcuw5546 5547  res_vui = vec_vsubcuw(vui, vui);5548// CHECK: @llvm.ppc.altivec.vsubcuw5549// CHECK-LE: @llvm.ppc.altivec.vsubcuw5550 5551  /* vec_subs */5552  res_vsc = vec_subs(vsc, vsc);5553// CHECK: @llvm.ppc.altivec.vsubsbs5554// CHECK-LE: @llvm.ppc.altivec.vsubsbs5555 5556  res_vsc = vec_subs(vbc, vsc);5557// CHECK: @llvm.ppc.altivec.vsubsbs5558// CHECK-LE: @llvm.ppc.altivec.vsubsbs5559 5560  res_vsc = vec_subs(vsc, vbc);5561// CHECK: @llvm.ppc.altivec.vsubsbs5562// CHECK-LE: @llvm.ppc.altivec.vsubsbs5563 5564  res_vuc = vec_subs(vuc, vuc);5565// CHECK: @llvm.ppc.altivec.vsububs5566// CHECK-LE: @llvm.ppc.altivec.vsububs5567 5568  res_vuc = vec_subs(vbc, vuc);5569// CHECK: @llvm.ppc.altivec.vsububs5570// CHECK-LE: @llvm.ppc.altivec.vsububs5571 5572  res_vuc = vec_subs(vuc, vbc);5573// CHECK: @llvm.ppc.altivec.vsububs5574// CHECK-LE: @llvm.ppc.altivec.vsububs5575 5576  res_vs  = vec_subs(vs, vs);5577// CHECK: @llvm.ppc.altivec.vsubshs5578// CHECK-LE: @llvm.ppc.altivec.vsubshs5579 5580  res_vs  = vec_subs(vbs, vs);5581// CHECK: @llvm.ppc.altivec.vsubshs5582// CHECK-LE: @llvm.ppc.altivec.vsubshs5583 5584  res_vs  = vec_subs(vs, vbs);5585// CHECK: @llvm.ppc.altivec.vsubshs5586// CHECK-LE: @llvm.ppc.altivec.vsubshs5587 5588  res_vus = vec_subs(vus, vus);5589// CHECK: @llvm.ppc.altivec.vsubuhs5590// CHECK-LE: @llvm.ppc.altivec.vsubuhs5591 5592  res_vus = vec_subs(vbs, vus);5593// CHECK: @llvm.ppc.altivec.vsubuhs5594// CHECK-LE: @llvm.ppc.altivec.vsubuhs5595 5596  res_vus = vec_subs(vus, vbs);5597// CHECK: @llvm.ppc.altivec.vsubuhs5598// CHECK-LE: @llvm.ppc.altivec.vsubuhs5599 5600  res_vi  = vec_subs(vi, vi);5601// CHECK: @llvm.ppc.altivec.vsubsws5602// CHECK-LE: @llvm.ppc.altivec.vsubsws5603 5604  res_vi  = vec_subs(vbi, vi);5605// CHECK: @llvm.ppc.altivec.vsubsws5606// CHECK-LE: @llvm.ppc.altivec.vsubsws5607 5608  res_vi  = vec_subs(vi, vbi);5609// CHECK: @llvm.ppc.altivec.vsubsws5610// CHECK-LE: @llvm.ppc.altivec.vsubsws5611 5612  res_vui = vec_subs(vui, vui);5613// CHECK: @llvm.ppc.altivec.vsubuws5614// CHECK-LE: @llvm.ppc.altivec.vsubuws5615 5616  res_vui = vec_subs(vbi, vui);5617// CHECK: @llvm.ppc.altivec.vsubuws5618// CHECK-LE: @llvm.ppc.altivec.vsubuws5619 5620  res_vui = vec_subs(vui, vbi);5621// CHECK: @llvm.ppc.altivec.vsubuws5622// CHECK-LE: @llvm.ppc.altivec.vsubuws5623 5624  res_vi = vec_sube(vi, vi, vi);5625// CHECK: and <4 x i32>5626// CHECK: xor <4 x i32> {{%[0-9]+}}, splat (i32 -1)5627// CHECK: add <4 x i32>5628// CHECK: add <4 x i32>5629// CHECK-LE: and <4 x i32>5630// CHECK-LE: xor <4 x i32> {{%[0-9]+}}, splat (i32 -1)5631// CHECK-LE: add <4 x i32>5632// CHECK-LE: add <4 x i32>5633 5634  res_vui = vec_sube(vui, vui, vui);5635// CHECK: and <4 x i32>5636// CHECK: xor <4 x i32> {{%[0-9]+}}, splat (i32 -1)5637// CHECK: add <4 x i32>5638// CHECK: add <4 x i32>5639// CHECK-LE: and <4 x i32>5640// CHECK-LE: xor <4 x i32> {{%[0-9]+}}, splat (i32 -1)5641// CHECK-LE: add <4 x i32>5642// CHECK-LE: add <4 x i32>5643 5644  res_vsc = vec_vsubsbs(vsc, vsc);5645// CHECK: @llvm.ppc.altivec.vsubsbs5646// CHECK-LE: @llvm.ppc.altivec.vsubsbs5647 5648  res_vsc = vec_vsubsbs(vbc, vsc);5649// CHECK: @llvm.ppc.altivec.vsubsbs5650// CHECK-LE: @llvm.ppc.altivec.vsubsbs5651 5652  res_vsc = vec_vsubsbs(vsc, vbc);5653// CHECK: @llvm.ppc.altivec.vsubsbs5654// CHECK-LE: @llvm.ppc.altivec.vsubsbs5655 5656  res_vuc = vec_vsububs(vuc, vuc);5657// CHECK: @llvm.ppc.altivec.vsububs5658// CHECK-LE: @llvm.ppc.altivec.vsububs5659 5660  res_vuc = vec_vsububs(vbc, vuc);5661// CHECK: @llvm.ppc.altivec.vsububs5662// CHECK-LE: @llvm.ppc.altivec.vsububs5663 5664  res_vuc = vec_vsububs(vuc, vbc);5665// CHECK: @llvm.ppc.altivec.vsububs5666// CHECK-LE: @llvm.ppc.altivec.vsububs5667 5668  res_vs  = vec_vsubshs(vs, vs);5669// CHECK: @llvm.ppc.altivec.vsubshs5670// CHECK-LE: @llvm.ppc.altivec.vsubshs5671 5672  res_vs  = vec_vsubshs(vbs, vs);5673// CHECK: @llvm.ppc.altivec.vsubshs5674// CHECK-LE: @llvm.ppc.altivec.vsubshs5675 5676  res_vs  = vec_vsubshs(vs, vbs);5677// CHECK: @llvm.ppc.altivec.vsubshs5678// CHECK-LE: @llvm.ppc.altivec.vsubshs5679 5680  res_vus = vec_vsubuhs(vus, vus);5681// CHECK: @llvm.ppc.altivec.vsubuhs5682// CHECK-LE: @llvm.ppc.altivec.vsubuhs5683 5684  res_vus = vec_vsubuhs(vbs, vus);5685// CHECK: @llvm.ppc.altivec.vsubuhs5686// CHECK-LE: @llvm.ppc.altivec.vsubuhs5687 5688  res_vus = vec_vsubuhs(vus, vbs);5689// CHECK: @llvm.ppc.altivec.vsubuhs5690// CHECK-LE: @llvm.ppc.altivec.vsubuhs5691 5692  res_vi  = vec_vsubsws(vi, vi);5693// CHECK: @llvm.ppc.altivec.vsubsws5694// CHECK-LE: @llvm.ppc.altivec.vsubsws5695 5696  res_vi  = vec_vsubsws(vbi, vi);5697// CHECK: @llvm.ppc.altivec.vsubsws5698// CHECK-LE: @llvm.ppc.altivec.vsubsws5699 5700  res_vi  = vec_vsubsws(vi, vbi);5701// CHECK: @llvm.ppc.altivec.vsubsws5702// CHECK-LE: @llvm.ppc.altivec.vsubsws5703 5704  res_vui = vec_vsubuws(vui, vui);5705// CHECK: @llvm.ppc.altivec.vsubuws5706// CHECK-LE: @llvm.ppc.altivec.vsubuws5707 5708  res_vui = vec_vsubuws(vbi, vui);5709// CHECK: @llvm.ppc.altivec.vsubuws5710// CHECK-LE: @llvm.ppc.altivec.vsubuws5711 5712  res_vui = vec_vsubuws(vui, vbi);5713// CHECK: @llvm.ppc.altivec.vsubuws5714// CHECK-LE: @llvm.ppc.altivec.vsubuws5715 5716  /* vec_sum4s */5717  res_vi  = vec_sum4s(vsc, vi);5718// CHECK: @llvm.ppc.altivec.vsum4sbs5719// CHECK-LE: @llvm.ppc.altivec.vsum4sbs5720 5721  res_vui = vec_sum4s(vuc, vui);5722// CHECK: @llvm.ppc.altivec.vsum4ubs5723// CHECK-LE: @llvm.ppc.altivec.vsum4ubs5724 5725  res_vi  = vec_sum4s(vs, vi);5726// CHECK: @llvm.ppc.altivec.vsum4shs5727// CHECK-LE: @llvm.ppc.altivec.vsum4shs5728 5729  res_vi  = vec_vsum4sbs(vsc, vi);5730// CHECK: @llvm.ppc.altivec.vsum4sbs5731// CHECK-LE: @llvm.ppc.altivec.vsum4sbs5732 5733  res_vui = vec_vsum4ubs(vuc, vui);5734// CHECK: @llvm.ppc.altivec.vsum4ubs5735// CHECK-LE: @llvm.ppc.altivec.vsum4ubs5736 5737  res_vi  = vec_vsum4shs(vs, vi);5738// CHECK: @llvm.ppc.altivec.vsum4shs5739// CHECK-LE: @llvm.ppc.altivec.vsum4shs5740 5741  /* vec_sum2s */5742  res_vi = vec_sum2s(vi, vi);5743// CHECK: @llvm.ppc.altivec.vsum2sws5744// CHECK-LE: @llvm.ppc.altivec.vperm5745// CHECK-LE: @llvm.ppc.altivec.vsum2sws5746// CHECK-LE: @llvm.ppc.altivec.vperm5747 5748  res_vi = vec_vsum2sws(vi, vi);5749// CHECK: @llvm.ppc.altivec.vsum2sws5750// CHECK-LE: @llvm.ppc.altivec.vperm5751// CHECK-LE: @llvm.ppc.altivec.vsum2sws5752// CHECK-LE: @llvm.ppc.altivec.vperm5753 5754  /* vec_sums */5755  res_vi = vec_sums(vi, vi);5756// CHECK: @llvm.ppc.altivec.vsumsws5757// CHECK-LE: @llvm.ppc.altivec.vperm5758// CHECK-LE: @llvm.ppc.altivec.vsumsws5759 5760  res_vi = vec_vsumsws(vi, vi);5761// CHECK: @llvm.ppc.altivec.vsumsws5762// CHECK-LE: @llvm.ppc.altivec.vperm5763// CHECK-LE: @llvm.ppc.altivec.vsumsws5764 5765  /* vec_trunc */5766  res_vf = vec_trunc(vf);5767// CHECK: @llvm.ppc.altivec.vrfiz5768// CHECK-LE: @llvm.ppc.altivec.vrfiz5769 5770  res_vf = vec_vrfiz(vf);5771// CHECK: @llvm.ppc.altivec.vrfiz5772// CHECK-LE: @llvm.ppc.altivec.vrfiz5773 5774  /* vec_unpackh */5775  res_vs  = vec_unpackh(vsc);5776// CHECK: @llvm.ppc.altivec.vupkhsb5777// CHECK-LE: @llvm.ppc.altivec.vupklsb5778 5779  res_vbs = vec_unpackh(vbc);5780// CHECK: @llvm.ppc.altivec.vupkhsb5781// CHECK-LE: @llvm.ppc.altivec.vupklsb5782 5783  res_vi  = vec_unpackh(vs);5784// CHECK: @llvm.ppc.altivec.vupkhsh5785// CHECK-LE: @llvm.ppc.altivec.vupklsh5786 5787  res_vbi = vec_unpackh(vbs);5788// CHECK: @llvm.ppc.altivec.vupkhsh5789// CHECK-LE: @llvm.ppc.altivec.vupklsh5790 5791  res_vui = vec_unpackh(vp);5792// CHECK: @llvm.ppc.altivec.vupkhpx5793// CHECK-LE: @llvm.ppc.altivec.vupklpx5794 5795  res_vui = vec_vupkhpx(vp);5796// CHECK: @llvm.ppc.altivec.vupkhpx5797// CHECK-LE: @llvm.ppc.altivec.vupklpx5798 5799  res_vs  = vec_vupkhsb(vsc);5800// CHECK: @llvm.ppc.altivec.vupkhsb5801// CHECK-LE: @llvm.ppc.altivec.vupklsb5802 5803  res_vbs = vec_vupkhsb(vbc);5804// CHECK: @llvm.ppc.altivec.vupkhsb5805// CHECK-LE: @llvm.ppc.altivec.vupklsb5806 5807  res_vi  = vec_vupkhsh(vs);5808// CHECK: @llvm.ppc.altivec.vupkhsh5809// CHECK-LE: @llvm.ppc.altivec.vupklsh5810 5811  res_vbi = vec_vupkhsh(vbs);5812// CHECK: @llvm.ppc.altivec.vupkhsh5813// CHECK-LE: @llvm.ppc.altivec.vupklsh5814 5815  res_vui = vec_vupkhsh(vp);5816// CHECK: @llvm.ppc.altivec.vupkhpx5817// CHECK-LE: @llvm.ppc.altivec.vupklpx5818 5819  /* vec_unpackl */5820  res_vs  = vec_unpackl(vsc);5821// CHECK: @llvm.ppc.altivec.vupklsb5822// CHECK-LE: @llvm.ppc.altivec.vupkhsb5823 5824  res_vbs = vec_unpackl(vbc);5825// CHECK: @llvm.ppc.altivec.vupklsb5826// CHECK-LE: @llvm.ppc.altivec.vupkhsb5827 5828  res_vi  = vec_unpackl(vs);5829// CHECK: @llvm.ppc.altivec.vupklsh5830// CHECK-LE: @llvm.ppc.altivec.vupkhsh5831 5832  res_vbi = vec_unpackl(vbs);5833// CHECK: @llvm.ppc.altivec.vupklsh5834// CHECK-LE: @llvm.ppc.altivec.vupkhsh5835 5836  res_vui = vec_unpackl(vp);5837// CHECK: @llvm.ppc.altivec.vupklpx5838// CHECK-LE: @llvm.ppc.altivec.vupkhpx5839 5840  res_vui = vec_vupklpx(vp);5841// CHECK: @llvm.ppc.altivec.vupklpx5842// CHECK-LE: @llvm.ppc.altivec.vupkhpx5843 5844  res_vs  = vec_vupklsb(vsc);5845// CHECK: @llvm.ppc.altivec.vupklsb5846// CHECK-LE: @llvm.ppc.altivec.vupkhsb5847 5848  res_vbs = vec_vupklsb(vbc);5849// CHECK: @llvm.ppc.altivec.vupklsb5850// CHECK-LE: @llvm.ppc.altivec.vupkhsb5851 5852  res_vi  = vec_vupklsh(vs);5853// CHECK: @llvm.ppc.altivec.vupklsh5854// CHECK-LE: @llvm.ppc.altivec.vupkhsh5855 5856  res_vbi = vec_vupklsh(vbs);5857// CHECK: @llvm.ppc.altivec.vupklsh5858// CHECK-LE: @llvm.ppc.altivec.vupkhsh5859 5860  res_vui = vec_vupklsh(vp);5861// CHECK: @llvm.ppc.altivec.vupklpx5862// CHECK-LE: @llvm.ppc.altivec.vupkhpx5863 5864  /* vec_xor */5865  res_vsc = vec_xor(vsc, vsc);5866// CHECK: xor <16 x i8>5867// CHECK-LE: xor <16 x i8>5868 5869  res_vsc = vec_xor(vbc, vsc);5870// CHECK: xor <16 x i8>5871// CHECK-LE: xor <16 x i8>5872 5873  res_vsc = vec_xor(vsc, vbc);5874// CHECK: xor <16 x i8>5875// CHECK-LE: xor <16 x i8>5876 5877  res_vuc = vec_xor(vuc, vuc);5878// CHECK: xor <16 x i8>5879// CHECK-LE: xor <16 x i8>5880 5881  res_vuc = vec_xor(vbc, vuc);5882// CHECK: xor <16 x i8>5883// CHECK-LE: xor <16 x i8>5884 5885  res_vuc = vec_xor(vuc, vbc);5886// CHECK: xor <16 x i8>5887// CHECK-LE: xor <16 x i8>5888 5889  res_vbc = vec_xor(vbc, vbc);5890// CHECK: xor <16 x i8>5891// CHECK-LE: xor <16 x i8>5892 5893  res_vs  = vec_xor(vs, vs);5894// CHECK: xor <8 x i16>5895// CHECK-LE: xor <8 x i16>5896 5897  res_vs  = vec_xor(vbs, vs);5898// CHECK: xor <8 x i16>5899// CHECK-LE: xor <8 x i16>5900 5901  res_vs  = vec_xor(vs, vbs);5902// CHECK: xor <8 x i16>5903// CHECK-LE: xor <8 x i16>5904 5905  res_vus = vec_xor(vus, vus);5906// CHECK: xor <8 x i16>5907// CHECK-LE: xor <8 x i16>5908 5909  res_vus = vec_xor(vbs, vus);5910// CHECK: xor <8 x i16>5911// CHECK-LE: xor <8 x i16>5912 5913  res_vus = vec_xor(vus, vbs);5914// CHECK: xor <8 x i16>5915// CHECK-LE: xor <8 x i16>5916 5917  res_vbs = vec_xor(vbs, vbs);5918// CHECK: xor <8 x i16>5919// CHECK-LE: xor <8 x i16>5920 5921  res_vi  = vec_xor(vi, vi);5922// CHECK: xor <4 x i32>5923// CHECK-LE: xor <4 x i32>5924 5925  res_vi  = vec_xor(vbi, vi);5926// CHECK: xor <4 x i32>5927// CHECK-LE: xor <4 x i32>5928 5929  res_vi  = vec_xor(vi, vbi);5930// CHECK: xor <4 x i32>5931// CHECK-LE: xor <4 x i32>5932 5933  res_vui = vec_xor(vui, vui);5934// CHECK: xor <4 x i32>5935// CHECK-LE: xor <4 x i32>5936 5937  res_vui = vec_xor(vbi, vui);5938// CHECK: xor <4 x i32>5939// CHECK-LE: xor <4 x i32>5940 5941  res_vui = vec_xor(vui, vbi);5942// CHECK: xor <4 x i32>5943// CHECK-LE: xor <4 x i32>5944 5945  res_vbi = vec_xor(vbi, vbi);5946// CHECK: xor <4 x i32>5947// CHECK-LE: xor <4 x i32>5948 5949  res_vf  = vec_xor(vf, vf);5950// CHECK: xor <4 x i32>5951// CHECK-LE: xor <4 x i32>5952 5953  res_vf  = vec_xor(vbi, vf);5954// CHECK: xor <4 x i32>5955// CHECK-LE: xor <4 x i32>5956 5957  res_vf  = vec_xor(vf, vbi);5958// CHECK: xor <4 x i32>5959// CHECK-LE: xor <4 x i32>5960 5961  res_vsc = vec_vxor(vsc, vsc);5962// CHECK: xor <16 x i8>5963// CHECK-LE: xor <16 x i8>5964 5965  res_vsc = vec_vxor(vbc, vsc);5966// CHECK: xor <16 x i8>5967// CHECK-LE: xor <16 x i8>5968 5969  res_vsc = vec_vxor(vsc, vbc);5970// CHECK: xor <16 x i8>5971// CHECK-LE: xor <16 x i8>5972 5973  res_vuc = vec_vxor(vuc, vuc);5974// CHECK: xor <16 x i8>5975// CHECK-LE: xor <16 x i8>5976 5977  res_vuc = vec_vxor(vbc, vuc);5978// CHECK: xor <16 x i8>5979// CHECK-LE: xor <16 x i8>5980 5981  res_vuc = vec_vxor(vuc, vbc);5982// CHECK: xor <16 x i8>5983// CHECK-LE: xor <16 x i8>5984 5985  res_vbc = vec_vxor(vbc, vbc);5986// CHECK: xor <16 x i8>5987// CHECK-LE: xor <16 x i8>5988 5989  res_vs  = vec_vxor(vs, vs);5990// CHECK: xor <8 x i16>5991// CHECK-LE: xor <8 x i16>5992 5993  res_vs  = vec_vxor(vbs, vs);5994// CHECK: xor <8 x i16>5995// CHECK-LE: xor <8 x i16>5996 5997  res_vs  = vec_vxor(vs, vbs);5998// CHECK: xor <8 x i16>5999// CHECK-LE: xor <8 x i16>6000 6001  res_vus = vec_vxor(vus, vus);6002// CHECK: xor <8 x i16>6003// CHECK-LE: xor <8 x i16>6004 6005  res_vus = vec_vxor(vbs, vus);6006// CHECK: xor <8 x i16>6007// CHECK-LE: xor <8 x i16>6008 6009  res_vus = vec_vxor(vus, vbs);6010// CHECK: xor <8 x i16>6011// CHECK-LE: xor <8 x i16>6012 6013  res_vbs = vec_vxor(vbs, vbs);6014// CHECK: xor <8 x i16>6015// CHECK-LE: xor <8 x i16>6016 6017  res_vi  = vec_vxor(vi, vi);6018// CHECK: xor <4 x i32>6019// CHECK-LE: xor <4 x i32>6020 6021  res_vi  = vec_vxor(vbi, vi);6022// CHECK: xor <4 x i32>6023// CHECK-LE: xor <4 x i32>6024 6025  res_vi  = vec_vxor(vi, vbi);6026// CHECK: xor <4 x i32>6027// CHECK-LE: xor <4 x i32>6028 6029  res_vui = vec_vxor(vui, vui);6030// CHECK: xor <4 x i32>6031// CHECK-LE: xor <4 x i32>6032 6033  res_vui = vec_vxor(vbi, vui);6034// CHECK: xor <4 x i32>6035// CHECK-LE: xor <4 x i32>6036 6037  res_vui = vec_vxor(vui, vbi);6038// CHECK: xor <4 x i32>6039// CHECK-LE: xor <4 x i32>6040 6041  res_vbi = vec_vxor(vbi, vbi);6042// CHECK: xor <4 x i32>6043// CHECK-LE: xor <4 x i32>6044 6045  res_vf  = vec_vxor(vf, vf);6046// CHECK: xor <4 x i32>6047// CHECK-LE: xor <4 x i32>6048 6049  res_vf  = vec_vxor(vbi, vf);6050// CHECK: xor <4 x i32>6051// CHECK-LE: xor <4 x i32>6052 6053  res_vf  = vec_vxor(vf, vbi);6054// CHECK: xor <4 x i32>6055// CHECK-LE: xor <4 x i32>6056 6057  /* ------------------------------ extensions -------------------------------------- */6058 6059  /* vec_extract */6060  res_sc = vec_extract(vsc, param_i);6061// CHECK: extractelement <16 x i8>6062// CHECK-LE: extractelement <16 x i8>6063 6064  res_uc = vec_extract(vuc, param_i);6065// CHECK: extractelement <16 x i8>6066// CHECK-LE: extractelement <16 x i8>6067 6068  res_uc = vec_extract(vbc, param_i);6069// CHECK: extractelement <16 x i8>6070// CHECK-LE: extractelement <16 x i8>6071 6072  res_s  = vec_extract(vs, param_i);6073// CHECK: extractelement <8 x i16>6074// CHECK-LE: extractelement <8 x i16>6075 6076  res_us = vec_extract(vus, param_i);6077// CHECK: extractelement <8 x i16>6078// CHECK-LE: extractelement <8 x i16>6079 6080  res_us = vec_extract(vbs, param_i);6081// CHECK: extractelement <8 x i16>6082// CHECK-LE: extractelement <8 x i16>6083 6084  res_i  = vec_extract(vi, param_i);6085// CHECK: extractelement <4 x i32>6086// CHECK-LE: extractelement <4 x i32>6087 6088  res_ui = vec_extract(vui, param_i);6089// CHECK: extractelement <4 x i32>6090// CHECK-LE: extractelement <4 x i32>6091 6092  res_ui = vec_extract(vbi, param_i);6093// CHECK: extractelement <4 x i32>6094// CHECK-LE: extractelement <4 x i32>6095 6096  res_f  = vec_extract(vf, param_i);6097// CHECK: extractelement <4 x float>6098// CHECK-LE: extractelement <4 x float>6099 6100  /* vec_insert */6101  res_vsc = vec_insert(param_sc, vsc, param_i);6102// CHECK: insertelement <16 x i8>6103// CHECK-LE: insertelement <16 x i8>6104 6105  res_vuc = vec_insert(param_uc, vuc, param_i);6106// CHECK: insertelement <16 x i8>6107// CHECK-LE: insertelement <16 x i8>6108 6109  res_vbc = vec_insert(param_uc, vbc, param_i);6110// CHECK: insertelement <16 x i8>6111// CHECK-LE: insertelement <16 x i8>6112 6113  res_vs  = vec_insert(param_s, vs, param_i);6114// CHECK: insertelement <8 x i16>6115// CHECK-LE: insertelement <8 x i16>6116 6117  res_vus = vec_insert(param_us, vus, param_i);6118// CHECK: insertelement <8 x i16>6119// CHECK-LE: insertelement <8 x i16>6120 6121  res_vbs = vec_insert(param_us, vbs, param_i);6122// CHECK: insertelement <8 x i16>6123// CHECK-LE: insertelement <8 x i16>6124 6125  res_vi  = vec_insert(param_i, vi, param_i);6126// CHECK: insertelement <4 x i32>6127// CHECK-LE: insertelement <4 x i32>6128 6129  res_vui = vec_insert(param_ui, vui, param_i);6130// CHECK: insertelement <4 x i32>6131// CHECK-LE: insertelement <4 x i32>6132 6133  res_vbi = vec_insert(param_ui, vbi, param_i);6134// CHECK: insertelement <4 x i32>6135// CHECK-LE: insertelement <4 x i32>6136 6137  res_vf  = vec_insert(param_f, vf, param_i);6138// CHECK: insertelement <4 x float>6139// CHECK-LE: insertelement <4 x float>6140 6141  /* vec_lvlx */6142  res_vsc = vec_lvlx(0, param_sc_ld);6143// CHECK: @llvm.ppc.altivec.lvx6144// CHECK: @llvm.ppc.altivec.lvsl6145// CHECK: store <16 x i8> zeroinitializer6146// CHECK: @llvm.ppc.altivec.vperm6147// CHECK-LE: @llvm.ppc.altivec.lvx6148// CHECK-LE: @llvm.ppc.altivec.lvsl6149// CHECK-LE: store <16 x i8> zeroinitializer6150// CHECK-LE: @llvm.ppc.altivec.vperm6151 6152  res_vsc = vec_lvlx(0, &vsc);6153// CHECK: @llvm.ppc.altivec.lvx6154// CHECK: @llvm.ppc.altivec.lvsl6155// CHECK: store <16 x i8> zeroinitializer6156// CHECK: @llvm.ppc.altivec.vperm6157// CHECK-LE: @llvm.ppc.altivec.lvx6158// CHECK-LE: @llvm.ppc.altivec.lvsl6159// CHECK-LE: store <16 x i8> zeroinitializer6160// CHECK-LE: @llvm.ppc.altivec.vperm6161 6162  res_vuc = vec_lvlx(0, param_uc_ld);6163// CHECK: @llvm.ppc.altivec.lvx6164// CHECK: @llvm.ppc.altivec.lvsl6165// CHECK: store <16 x i8> zeroinitializer6166// CHECK: @llvm.ppc.altivec.vperm6167// CHECK-LE: @llvm.ppc.altivec.lvx6168// CHECK-LE: @llvm.ppc.altivec.lvsl6169// CHECK-LE: store <16 x i8> zeroinitializer6170// CHECK-LE: @llvm.ppc.altivec.vperm6171 6172  res_vuc = vec_lvlx(0, &vuc);6173// CHECK: @llvm.ppc.altivec.lvx6174// CHECK: @llvm.ppc.altivec.lvsl6175// CHECK: store <16 x i8> zeroinitializer6176// CHECK: @llvm.ppc.altivec.vperm6177// CHECK-LE: @llvm.ppc.altivec.lvx6178// CHECK-LE: @llvm.ppc.altivec.lvsl6179// CHECK-LE: store <16 x i8> zeroinitializer6180// CHECK-LE: @llvm.ppc.altivec.vperm6181 6182  res_vbc = vec_lvlx(0, &vbc);6183// CHECK: @llvm.ppc.altivec.lvx6184// CHECK: store <16 x i8> zeroinitializer6185// CHECK: @llvm.ppc.altivec.lvsl6186// CHECK: @llvm.ppc.altivec.vperm6187// CHECK-LE: @llvm.ppc.altivec.lvx6188// CHECK-LE: store <16 x i8> zeroinitializer6189// CHECK-LE: @llvm.ppc.altivec.lvsl6190// CHECK-LE: @llvm.ppc.altivec.vperm6191 6192  res_vs  = vec_lvlx(0, param_s_ld);6193// CHECK: @llvm.ppc.altivec.lvx6194// CHECK: @llvm.ppc.altivec.lvsl6195// CHECK: store <8 x i16> zeroinitializer6196// CHECK: @llvm.ppc.altivec.vperm6197// CHECK-LE: @llvm.ppc.altivec.lvx6198// CHECK-LE: @llvm.ppc.altivec.lvsl6199// CHECK-LE: store <8 x i16> zeroinitializer6200// CHECK-LE: @llvm.ppc.altivec.vperm6201 6202  res_vs  = vec_lvlx(0, &vs);6203// CHECK: @llvm.ppc.altivec.lvx6204// CHECK: @llvm.ppc.altivec.lvsl6205// CHECK: store <8 x i16> zeroinitializer6206// CHECK: @llvm.ppc.altivec.vperm6207// CHECK-LE: @llvm.ppc.altivec.lvx6208// CHECK-LE: @llvm.ppc.altivec.lvsl6209// CHECK-LE: store <8 x i16> zeroinitializer6210// CHECK-LE: @llvm.ppc.altivec.vperm6211 6212  res_vus = vec_lvlx(0, param_us_ld);6213// CHECK: @llvm.ppc.altivec.lvx6214// CHECK: @llvm.ppc.altivec.lvsl6215// CHECK: store <8 x i16> zeroinitializer6216// CHECK: @llvm.ppc.altivec.vperm6217// CHECK-LE: @llvm.ppc.altivec.lvx6218// CHECK-LE: @llvm.ppc.altivec.lvsl6219// CHECK-LE: store <8 x i16> zeroinitializer6220// CHECK-LE: @llvm.ppc.altivec.vperm6221 6222  res_vus = vec_lvlx(0, &vus);6223// CHECK: @llvm.ppc.altivec.lvx6224// CHECK: @llvm.ppc.altivec.lvsl6225// CHECK: store <8 x i16> zeroinitializer6226// CHECK: @llvm.ppc.altivec.vperm6227// CHECK-LE: @llvm.ppc.altivec.lvx6228// CHECK-LE: @llvm.ppc.altivec.lvsl6229// CHECK-LE: store <8 x i16> zeroinitializer6230// CHECK-LE: @llvm.ppc.altivec.vperm6231 6232  res_vbs = vec_lvlx(0, &vbs);6233// CHECK: @llvm.ppc.altivec.lvx6234// CHECK: store <8 x i16> zeroinitializer6235// CHECK: @llvm.ppc.altivec.lvsl6236// CHECK: @llvm.ppc.altivec.vperm6237// CHECK-LE: @llvm.ppc.altivec.lvx6238// CHECK-LE: store <8 x i16> zeroinitializer6239// CHECK-LE: @llvm.ppc.altivec.lvsl6240// CHECK-LE: @llvm.ppc.altivec.vperm6241 6242  res_vp  = vec_lvlx(0, &vp);6243// CHECK: @llvm.ppc.altivec.lvx6244// CHECK: store <8 x i16> zeroinitializer6245// CHECK: @llvm.ppc.altivec.lvsl6246// CHECK: @llvm.ppc.altivec.vperm6247// CHECK-LE: @llvm.ppc.altivec.lvx6248// CHECK-LE: store <8 x i16> zeroinitializer6249// CHECK-LE: @llvm.ppc.altivec.lvsl6250// CHECK-LE: @llvm.ppc.altivec.vperm6251 6252  res_vi  = vec_lvlx(0, param_i_ld);6253// CHECK: @llvm.ppc.altivec.lvx6254// CHECK: @llvm.ppc.altivec.lvsl6255// CHECK: store <4 x i32> zeroinitializer6256// CHECK: @llvm.ppc.altivec.vperm6257// CHECK-LE: @llvm.ppc.altivec.lvx6258// CHECK-LE: @llvm.ppc.altivec.lvsl6259// CHECK-LE: store <4 x i32> zeroinitializer6260// CHECK-LE: @llvm.ppc.altivec.vperm6261 6262  res_vi  = vec_lvlx(0, &vi);6263// CHECK: @llvm.ppc.altivec.lvx6264// CHECK: @llvm.ppc.altivec.lvsl6265// CHECK: store <4 x i32> zeroinitializer6266// CHECK: @llvm.ppc.altivec.vperm6267// CHECK-LE: @llvm.ppc.altivec.lvx6268// CHECK-LE: @llvm.ppc.altivec.lvsl6269// CHECK-LE: store <4 x i32> zeroinitializer6270// CHECK-LE: @llvm.ppc.altivec.vperm6271 6272  res_vui = vec_lvlx(0, param_ui_ld);6273// CHECK: @llvm.ppc.altivec.lvx6274// CHECK: @llvm.ppc.altivec.lvsl6275// CHECK: store <4 x i32> zeroinitializer6276// CHECK: @llvm.ppc.altivec.vperm6277// CHECK-LE: @llvm.ppc.altivec.lvx6278// CHECK-LE: @llvm.ppc.altivec.lvsl6279// CHECK-LE: store <4 x i32> zeroinitializer6280// CHECK-LE: @llvm.ppc.altivec.vperm6281 6282  res_vui = vec_lvlx(0, &vui);6283// CHECK: @llvm.ppc.altivec.lvx6284// CHECK: @llvm.ppc.altivec.lvsl6285// CHECK: store <4 x i32> zeroinitializer6286// CHECK: @llvm.ppc.altivec.vperm6287// CHECK-LE: @llvm.ppc.altivec.lvx6288// CHECK-LE: @llvm.ppc.altivec.lvsl6289// CHECK-LE: store <4 x i32> zeroinitializer6290// CHECK-LE: @llvm.ppc.altivec.vperm6291 6292  res_vbi = vec_lvlx(0, &vbi);6293// CHECK: @llvm.ppc.altivec.lvx6294// CHECK: store <4 x i32> zeroinitializer6295// CHECK: @llvm.ppc.altivec.lvsl6296// CHECK: @llvm.ppc.altivec.vperm6297// CHECK-LE: @llvm.ppc.altivec.lvx6298// CHECK-LE: store <4 x i32> zeroinitializer6299// CHECK-LE: @llvm.ppc.altivec.lvsl6300// CHECK-LE: @llvm.ppc.altivec.vperm6301 6302  res_vf  = vec_lvlx(0, &vf);6303// CHECK: @llvm.ppc.altivec.lvx6304// CHECK: @llvm.ppc.altivec.lvsl6305// CHECK: store <4 x float> zeroinitializer6306// CHECK: @llvm.ppc.altivec.vperm6307// CHECK-LE: @llvm.ppc.altivec.lvx6308// CHECK-LE: @llvm.ppc.altivec.lvsl6309// CHECK-LE: store <4 x float> zeroinitializer6310// CHECK-LE: @llvm.ppc.altivec.vperm6311 6312  /* vec_lvlxl */6313  res_vsc = vec_lvlxl(0, param_sc_ld);6314// CHECK: @llvm.ppc.altivec.lvxl6315// CHECK: @llvm.ppc.altivec.lvsl6316// CHECK: store <16 x i8> zeroinitializer6317// CHECK: @llvm.ppc.altivec.vperm6318// CHECK-LE: @llvm.ppc.altivec.lvxl6319// CHECK-LE: @llvm.ppc.altivec.lvsl6320// CHECK-LE: store <16 x i8> zeroinitializer6321// CHECK-LE: @llvm.ppc.altivec.vperm6322 6323  res_vsc = vec_lvlxl(0, &vsc);6324// CHECK: @llvm.ppc.altivec.lvxl6325// CHECK: @llvm.ppc.altivec.lvsl6326// CHECK: store <16 x i8> zeroinitializer6327// CHECK: @llvm.ppc.altivec.vperm6328// CHECK-LE: @llvm.ppc.altivec.lvxl6329// CHECK-LE: @llvm.ppc.altivec.lvsl6330// CHECK-LE: store <16 x i8> zeroinitializer6331// CHECK-LE: @llvm.ppc.altivec.vperm6332 6333  res_vuc = vec_lvlxl(0, param_uc_ld);6334// CHECK: @llvm.ppc.altivec.lvxl6335// CHECK: @llvm.ppc.altivec.lvsl6336// CHECK: store <16 x i8> zeroinitializer6337// CHECK: @llvm.ppc.altivec.vperm6338// CHECK-LE: @llvm.ppc.altivec.lvxl6339// CHECK-LE: @llvm.ppc.altivec.lvsl6340// CHECK-LE: store <16 x i8> zeroinitializer6341// CHECK-LE: @llvm.ppc.altivec.vperm6342 6343  res_vuc = vec_lvlxl(0, &vuc);6344// CHECK: @llvm.ppc.altivec.lvxl6345// CHECK: @llvm.ppc.altivec.lvsl6346// CHECK: store <16 x i8> zeroinitializer6347// CHECK: @llvm.ppc.altivec.vperm6348// CHECK-LE: @llvm.ppc.altivec.lvxl6349// CHECK-LE: @llvm.ppc.altivec.lvsl6350// CHECK-LE: store <16 x i8> zeroinitializer6351// CHECK-LE: @llvm.ppc.altivec.vperm6352 6353  res_vbc = vec_lvlxl(0, &vbc);6354// CHECK: @llvm.ppc.altivec.lvxl6355// CHECK: store <16 x i8> zeroinitializer6356// CHECK: @llvm.ppc.altivec.lvsl6357// CHECK: @llvm.ppc.altivec.vperm6358// CHECK-LE: @llvm.ppc.altivec.lvxl6359// CHECK-LE: store <16 x i8> zeroinitializer6360// CHECK-LE: @llvm.ppc.altivec.lvsl6361// CHECK-LE: @llvm.ppc.altivec.vperm6362 6363  res_vs  = vec_lvlxl(0, param_s_ld);6364// CHECK: @llvm.ppc.altivec.lvxl6365// CHECK: @llvm.ppc.altivec.lvsl6366// CHECK: store <8 x i16> zeroinitializer6367// CHECK: @llvm.ppc.altivec.vperm6368// CHECK-LE: @llvm.ppc.altivec.lvxl6369// CHECK-LE: @llvm.ppc.altivec.lvsl6370// CHECK-LE: store <8 x i16> zeroinitializer6371// CHECK-LE: @llvm.ppc.altivec.vperm6372 6373  res_vs  = vec_lvlxl(0, &vs);6374// CHECK: @llvm.ppc.altivec.lvxl6375// CHECK: @llvm.ppc.altivec.lvsl6376// CHECK: store <8 x i16> zeroinitializer6377// CHECK: @llvm.ppc.altivec.vperm6378// CHECK-LE: @llvm.ppc.altivec.lvxl6379// CHECK-LE: @llvm.ppc.altivec.lvsl6380// CHECK-LE: store <8 x i16> zeroinitializer6381// CHECK-LE: @llvm.ppc.altivec.vperm6382 6383  res_vus = vec_lvlxl(0, param_us_ld);6384// CHECK: @llvm.ppc.altivec.lvxl6385// CHECK: @llvm.ppc.altivec.lvsl6386// CHECK: store <8 x i16> zeroinitializer6387// CHECK: @llvm.ppc.altivec.vperm6388// CHECK-LE: @llvm.ppc.altivec.lvxl6389// CHECK-LE: @llvm.ppc.altivec.lvsl6390// CHECK-LE: store <8 x i16> zeroinitializer6391// CHECK-LE: @llvm.ppc.altivec.vperm6392 6393  res_vus = vec_lvlxl(0, &vus);6394// CHECK: @llvm.ppc.altivec.lvxl6395// CHECK: @llvm.ppc.altivec.lvsl6396// CHECK: store <8 x i16> zeroinitializer6397// CHECK: @llvm.ppc.altivec.vperm6398// CHECK-LE: @llvm.ppc.altivec.lvxl6399// CHECK-LE: @llvm.ppc.altivec.lvsl6400// CHECK-LE: store <8 x i16> zeroinitializer6401// CHECK-LE: @llvm.ppc.altivec.vperm6402 6403  res_vbs = vec_lvlxl(0, &vbs);6404// CHECK: @llvm.ppc.altivec.lvxl6405// CHECK: store <8 x i16> zeroinitializer6406// CHECK: @llvm.ppc.altivec.lvsl6407// CHECK: @llvm.ppc.altivec.vperm6408// CHECK-LE: @llvm.ppc.altivec.lvxl6409// CHECK-LE: store <8 x i16> zeroinitializer6410// CHECK-LE: @llvm.ppc.altivec.lvsl6411// CHECK-LE: @llvm.ppc.altivec.vperm6412 6413  res_vp  = vec_lvlxl(0, &vp);6414// CHECK: @llvm.ppc.altivec.lvxl6415// CHECK: store <8 x i16> zeroinitializer6416// CHECK: @llvm.ppc.altivec.lvsl6417// CHECK: @llvm.ppc.altivec.vperm6418// CHECK-LE: @llvm.ppc.altivec.lvxl6419// CHECK-LE: store <8 x i16> zeroinitializer6420// CHECK-LE: @llvm.ppc.altivec.lvsl6421// CHECK-LE: @llvm.ppc.altivec.vperm6422 6423  res_vi  = vec_lvlxl(0, param_i_ld);6424// CHECK: @llvm.ppc.altivec.lvxl6425// CHECK: @llvm.ppc.altivec.lvsl6426// CHECK: store <4 x i32> zeroinitializer6427// CHECK: @llvm.ppc.altivec.vperm6428// CHECK-LE: @llvm.ppc.altivec.lvxl6429// CHECK-LE: @llvm.ppc.altivec.lvsl6430// CHECK-LE: store <4 x i32> zeroinitializer6431// CHECK-LE: @llvm.ppc.altivec.vperm6432 6433  res_vi  = vec_lvlxl(0, &vi);6434// CHECK: @llvm.ppc.altivec.lvxl6435// CHECK: @llvm.ppc.altivec.lvsl6436// CHECK: store <4 x i32> zeroinitializer6437// CHECK: @llvm.ppc.altivec.vperm6438// CHECK-LE: @llvm.ppc.altivec.lvxl6439// CHECK-LE: @llvm.ppc.altivec.lvsl6440// CHECK-LE: store <4 x i32> zeroinitializer6441// CHECK-LE: @llvm.ppc.altivec.vperm6442 6443  res_vui = vec_lvlxl(0, param_ui_ld);6444// CHECK: @llvm.ppc.altivec.lvxl6445// CHECK: @llvm.ppc.altivec.lvsl6446// CHECK: store <4 x i32> zeroinitializer6447// CHECK: @llvm.ppc.altivec.vperm6448// CHECK-LE: @llvm.ppc.altivec.lvxl6449// CHECK-LE: @llvm.ppc.altivec.lvsl6450// CHECK-LE: store <4 x i32> zeroinitializer6451// CHECK-LE: @llvm.ppc.altivec.vperm6452 6453  res_vui = vec_lvlxl(0, &vui);6454// CHECK: @llvm.ppc.altivec.lvxl6455// CHECK: @llvm.ppc.altivec.lvsl6456// CHECK: store <4 x i32> zeroinitializer6457// CHECK: @llvm.ppc.altivec.vperm6458// CHECK-LE: @llvm.ppc.altivec.lvxl6459// CHECK-LE: @llvm.ppc.altivec.lvsl6460// CHECK-LE: store <4 x i32> zeroinitializer6461// CHECK-LE: @llvm.ppc.altivec.vperm6462 6463  res_vbi = vec_lvlxl(0, &vbi);6464// CHECK: @llvm.ppc.altivec.lvxl6465// CHECK: store <4 x i32> zeroinitializer6466// CHECK: @llvm.ppc.altivec.lvsl6467// CHECK: @llvm.ppc.altivec.vperm6468// CHECK-LE: @llvm.ppc.altivec.lvxl6469// CHECK-LE: store <4 x i32> zeroinitializer6470// CHECK-LE: @llvm.ppc.altivec.lvsl6471// CHECK-LE: @llvm.ppc.altivec.vperm6472 6473  res_vf  = vec_lvlxl(0, &vf);6474// CHECK: @llvm.ppc.altivec.lvxl6475// CHECK: @llvm.ppc.altivec.lvsl6476// CHECK: store <4 x float> zeroinitializer6477// CHECK: @llvm.ppc.altivec.vperm6478// CHECK-LE: @llvm.ppc.altivec.lvxl6479// CHECK-LE: @llvm.ppc.altivec.lvsl6480// CHECK-LE: store <4 x float> zeroinitializer6481// CHECK-LE: @llvm.ppc.altivec.vperm6482 6483  /* vec_lvrx */6484  res_vsc = vec_lvrx(0, param_sc_ld);6485// CHECK: @llvm.ppc.altivec.lvx6486// CHECK: @llvm.ppc.altivec.lvsl6487// CHECK: store <16 x i8> zeroinitializer6488// CHECK: @llvm.ppc.altivec.vperm6489// CHECK-LE: @llvm.ppc.altivec.lvx6490// CHECK-LE: @llvm.ppc.altivec.lvsl6491// CHECK-LE: store <16 x i8> zeroinitializer6492// CHECK-LE: @llvm.ppc.altivec.vperm6493 6494  res_vsc = vec_lvrx(0, &vsc);6495// CHECK: @llvm.ppc.altivec.lvx6496// CHECK: @llvm.ppc.altivec.lvsl6497// CHECK: store <16 x i8> zeroinitializer6498// CHECK: @llvm.ppc.altivec.vperm6499// CHECK-LE: @llvm.ppc.altivec.lvx6500// CHECK-LE: @llvm.ppc.altivec.lvsl6501// CHECK-LE: store <16 x i8> zeroinitializer6502// CHECK-LE: @llvm.ppc.altivec.vperm6503 6504  res_vuc = vec_lvrx(0, param_uc_ld);6505// CHECK: @llvm.ppc.altivec.lvx6506// CHECK: @llvm.ppc.altivec.lvsl6507// CHECK: store <16 x i8> zeroinitializer6508// CHECK: @llvm.ppc.altivec.vperm6509// CHECK-LE: @llvm.ppc.altivec.lvx6510// CHECK-LE: @llvm.ppc.altivec.lvsl6511// CHECK-LE: store <16 x i8> zeroinitializer6512// CHECK-LE: @llvm.ppc.altivec.vperm6513 6514  res_vuc = vec_lvrx(0, &vuc);6515// CHECK: @llvm.ppc.altivec.lvx6516// CHECK: @llvm.ppc.altivec.lvsl6517// CHECK: store <16 x i8> zeroinitializer6518// CHECK: @llvm.ppc.altivec.vperm6519// CHECK-LE: @llvm.ppc.altivec.lvx6520// CHECK-LE: @llvm.ppc.altivec.lvsl6521// CHECK-LE: store <16 x i8> zeroinitializer6522// CHECK-LE: @llvm.ppc.altivec.vperm6523 6524  res_vbc = vec_lvrx(0, &vbc);6525// CHECK: store <16 x i8> zeroinitializer6526// CHECK: @llvm.ppc.altivec.lvx6527// CHECK: @llvm.ppc.altivec.lvsl6528// CHECK: @llvm.ppc.altivec.vperm6529// CHECK-LE: store <16 x i8> zeroinitializer6530// CHECK-LE: @llvm.ppc.altivec.lvx6531// CHECK-LE: @llvm.ppc.altivec.lvsl6532// CHECK-LE: @llvm.ppc.altivec.vperm6533 6534  res_vs  = vec_lvrx(0, param_s_ld);6535// CHECK: @llvm.ppc.altivec.lvx6536// CHECK: @llvm.ppc.altivec.lvsl6537// CHECK: store <8 x i16> zeroinitializer6538// CHECK: @llvm.ppc.altivec.vperm6539// CHECK-LE: @llvm.ppc.altivec.lvx6540// CHECK-LE: @llvm.ppc.altivec.lvsl6541// CHECK-LE: store <8 x i16> zeroinitializer6542// CHECK-LE: @llvm.ppc.altivec.vperm6543 6544  res_vs  = vec_lvrx(0, &vs);6545// CHECK: @llvm.ppc.altivec.lvx6546// CHECK: @llvm.ppc.altivec.lvsl6547// CHECK: store <8 x i16> zeroinitializer6548// CHECK: @llvm.ppc.altivec.vperm6549// CHECK-LE: @llvm.ppc.altivec.lvx6550// CHECK-LE: @llvm.ppc.altivec.lvsl6551// CHECK-LE: store <8 x i16> zeroinitializer6552// CHECK-LE: @llvm.ppc.altivec.vperm6553 6554  res_vus = vec_lvrx(0, param_us_ld);6555// CHECK: @llvm.ppc.altivec.lvx6556// CHECK: @llvm.ppc.altivec.lvsl6557// CHECK: store <8 x i16> zeroinitializer6558// CHECK: @llvm.ppc.altivec.vperm6559// CHECK-LE: @llvm.ppc.altivec.lvx6560// CHECK-LE: @llvm.ppc.altivec.lvsl6561// CHECK-LE: store <8 x i16> zeroinitializer6562// CHECK-LE: @llvm.ppc.altivec.vperm6563 6564  res_vus = vec_lvrx(0, &vus);6565// CHECK: @llvm.ppc.altivec.lvx6566// CHECK: @llvm.ppc.altivec.lvsl6567// CHECK: store <8 x i16> zeroinitializer6568// CHECK: @llvm.ppc.altivec.vperm6569// CHECK-LE: @llvm.ppc.altivec.lvx6570// CHECK-LE: @llvm.ppc.altivec.lvsl6571// CHECK-LE: store <8 x i16> zeroinitializer6572// CHECK-LE: @llvm.ppc.altivec.vperm6573 6574  res_vbs = vec_lvrx(0, &vbs);6575// CHECK: store <8 x i16> zeroinitializer6576// CHECK: @llvm.ppc.altivec.lvx6577// CHECK: @llvm.ppc.altivec.lvsl6578// CHECK: @llvm.ppc.altivec.vperm6579// CHECK-LE: store <8 x i16> zeroinitializer6580// CHECK-LE: @llvm.ppc.altivec.lvx6581// CHECK-LE: @llvm.ppc.altivec.lvsl6582// CHECK-LE: @llvm.ppc.altivec.vperm6583 6584  res_vp  = vec_lvrx(0, &vp);6585// CHECK: store <8 x i16> zeroinitializer6586// CHECK: @llvm.ppc.altivec.lvx6587// CHECK: @llvm.ppc.altivec.lvsl6588// CHECK: @llvm.ppc.altivec.vperm6589// CHECK-LE: store <8 x i16> zeroinitializer6590// CHECK-LE: @llvm.ppc.altivec.lvx6591// CHECK-LE: @llvm.ppc.altivec.lvsl6592// CHECK-LE: @llvm.ppc.altivec.vperm6593 6594  res_vi  = vec_lvrx(0, param_i_ld);6595// CHECK: @llvm.ppc.altivec.lvx6596// CHECK: @llvm.ppc.altivec.lvsl6597// CHECK: store <4 x i32> zeroinitializer6598// CHECK: @llvm.ppc.altivec.vperm6599// CHECK-LE: @llvm.ppc.altivec.lvx6600// CHECK-LE: @llvm.ppc.altivec.lvsl6601// CHECK-LE: store <4 x i32> zeroinitializer6602// CHECK-LE: @llvm.ppc.altivec.vperm6603 6604  res_vi  = vec_lvrx(0, &vi);6605// CHECK: @llvm.ppc.altivec.lvx6606// CHECK: @llvm.ppc.altivec.lvsl6607// CHECK: store <4 x i32> zeroinitializer6608// CHECK: @llvm.ppc.altivec.vperm6609// CHECK-LE: @llvm.ppc.altivec.lvx6610// CHECK-LE: @llvm.ppc.altivec.lvsl6611// CHECK-LE: store <4 x i32> zeroinitializer6612// CHECK-LE: @llvm.ppc.altivec.vperm6613 6614  res_vui = vec_lvrx(0, param_ui_ld);6615// CHECK: @llvm.ppc.altivec.lvx6616// CHECK: @llvm.ppc.altivec.lvsl6617// CHECK: store <4 x i32> zeroinitializer6618// CHECK: @llvm.ppc.altivec.vperm6619// CHECK-LE: @llvm.ppc.altivec.lvx6620// CHECK-LE: @llvm.ppc.altivec.lvsl6621// CHECK-LE: store <4 x i32> zeroinitializer6622// CHECK-LE: @llvm.ppc.altivec.vperm6623 6624  res_vui = vec_lvrx(0, &vui);6625// CHECK: @llvm.ppc.altivec.lvx6626// CHECK: @llvm.ppc.altivec.lvsl6627// CHECK: store <4 x i32> zeroinitializer6628// CHECK: @llvm.ppc.altivec.vperm6629// CHECK-LE: @llvm.ppc.altivec.lvx6630// CHECK-LE: @llvm.ppc.altivec.lvsl6631// CHECK-LE: store <4 x i32> zeroinitializer6632// CHECK-LE: @llvm.ppc.altivec.vperm6633 6634  res_vbi = vec_lvrx(0, &vbi);6635// CHECK: store <4 x i32> zeroinitializer6636// CHECK: @llvm.ppc.altivec.lvx6637// CHECK: @llvm.ppc.altivec.lvsl6638// CHECK: @llvm.ppc.altivec.vperm6639// CHECK-LE: store <4 x i32> zeroinitializer6640// CHECK-LE: @llvm.ppc.altivec.lvx6641// CHECK-LE: @llvm.ppc.altivec.lvsl6642// CHECK-LE: @llvm.ppc.altivec.vperm6643 6644  res_vf  = vec_lvrx(0, &vf);6645// CHECK: @llvm.ppc.altivec.lvx6646// CHECK: @llvm.ppc.altivec.lvsl6647// CHECK: store <4 x float> zeroinitializer6648// CHECK: @llvm.ppc.altivec.vperm6649// CHECK-LE: @llvm.ppc.altivec.lvx6650// CHECK-LE: @llvm.ppc.altivec.lvsl6651// CHECK-LE: store <4 x float> zeroinitializer6652// CHECK-LE: @llvm.ppc.altivec.vperm6653 6654  /* vec_lvrxl */6655  res_vsc = vec_lvrxl(0, param_sc_ld);6656// CHECK: @llvm.ppc.altivec.lvxl6657// CHECK: @llvm.ppc.altivec.lvsl6658// CHECK: store <16 x i8> zeroinitializer6659// CHECK: @llvm.ppc.altivec.vperm6660// CHECK-LE: @llvm.ppc.altivec.lvxl6661// CHECK-LE: @llvm.ppc.altivec.lvsl6662// CHECK-LE: store <16 x i8> zeroinitializer6663// CHECK-LE: @llvm.ppc.altivec.vperm6664 6665  res_vsc = vec_lvrxl(0, &vsc);6666// CHECK: @llvm.ppc.altivec.lvxl6667// CHECK: @llvm.ppc.altivec.lvsl6668// CHECK: store <16 x i8> zeroinitializer6669// CHECK: @llvm.ppc.altivec.vperm6670// CHECK-LE: @llvm.ppc.altivec.lvxl6671// CHECK-LE: @llvm.ppc.altivec.lvsl6672// CHECK-LE: store <16 x i8> zeroinitializer6673// CHECK-LE: @llvm.ppc.altivec.vperm6674 6675  res_vuc = vec_lvrxl(0, param_uc_ld);6676// CHECK: @llvm.ppc.altivec.lvxl6677// CHECK: @llvm.ppc.altivec.lvsl6678// CHECK: store <16 x i8> zeroinitializer6679// CHECK: @llvm.ppc.altivec.vperm6680// CHECK-LE: @llvm.ppc.altivec.lvxl6681// CHECK-LE: @llvm.ppc.altivec.lvsl6682// CHECK-LE: store <16 x i8> zeroinitializer6683// CHECK-LE: @llvm.ppc.altivec.vperm6684 6685  res_vuc = vec_lvrxl(0, &vuc);6686// CHECK: @llvm.ppc.altivec.lvxl6687// CHECK: @llvm.ppc.altivec.lvsl6688// CHECK: store <16 x i8> zeroinitializer6689// CHECK: @llvm.ppc.altivec.vperm6690// CHECK-LE: @llvm.ppc.altivec.lvxl6691// CHECK-LE: @llvm.ppc.altivec.lvsl6692// CHECK-LE: store <16 x i8> zeroinitializer6693// CHECK-LE: @llvm.ppc.altivec.vperm6694 6695  res_vbc = vec_lvrxl(0, &vbc);6696// CHECK: store <16 x i8> zeroinitializer6697// CHECK: @llvm.ppc.altivec.lvxl6698// CHECK: @llvm.ppc.altivec.lvsl6699// CHECK: @llvm.ppc.altivec.vperm6700// CHECK-LE: store <16 x i8> zeroinitializer6701// CHECK-LE: @llvm.ppc.altivec.lvxl6702// CHECK-LE: @llvm.ppc.altivec.lvsl6703// CHECK-LE: @llvm.ppc.altivec.vperm6704 6705  res_vs  = vec_lvrxl(0, param_s_ld);6706// CHECK: @llvm.ppc.altivec.lvxl6707// CHECK: @llvm.ppc.altivec.lvsl6708// CHECK: store <8 x i16> zeroinitializer6709// CHECK: @llvm.ppc.altivec.vperm6710// CHECK-LE: @llvm.ppc.altivec.lvxl6711// CHECK-LE: @llvm.ppc.altivec.lvsl6712// CHECK-LE: store <8 x i16> zeroinitializer6713// CHECK-LE: @llvm.ppc.altivec.vperm6714 6715  res_vs  = vec_lvrxl(0, &vs);6716// CHECK: @llvm.ppc.altivec.lvxl6717// CHECK: @llvm.ppc.altivec.lvsl6718// CHECK: store <8 x i16> zeroinitializer6719// CHECK: @llvm.ppc.altivec.vperm6720// CHECK-LE: @llvm.ppc.altivec.lvxl6721// CHECK-LE: @llvm.ppc.altivec.lvsl6722// CHECK-LE: store <8 x i16> zeroinitializer6723// CHECK-LE: @llvm.ppc.altivec.vperm6724 6725  res_vus = vec_lvrxl(0, param_us_ld);6726// CHECK: @llvm.ppc.altivec.lvxl6727// CHECK: @llvm.ppc.altivec.lvsl6728// CHECK: store <8 x i16> zeroinitializer6729// CHECK: @llvm.ppc.altivec.vperm6730// CHECK-LE: @llvm.ppc.altivec.lvxl6731// CHECK-LE: @llvm.ppc.altivec.lvsl6732// CHECK-LE: store <8 x i16> zeroinitializer6733// CHECK-LE: @llvm.ppc.altivec.vperm6734 6735  res_vus = vec_lvrxl(0, &vus);6736// CHECK: @llvm.ppc.altivec.lvxl6737// CHECK: @llvm.ppc.altivec.lvsl6738// CHECK: store <8 x i16> zeroinitializer6739// CHECK: @llvm.ppc.altivec.vperm6740// CHECK-LE: @llvm.ppc.altivec.lvxl6741// CHECK-LE: @llvm.ppc.altivec.lvsl6742// CHECK-LE: store <8 x i16> zeroinitializer6743// CHECK-LE: @llvm.ppc.altivec.vperm6744 6745  res_vbs = vec_lvrxl(0, &vbs);6746// CHECK: store <8 x i16> zeroinitializer6747// CHECK: @llvm.ppc.altivec.lvxl6748// CHECK: @llvm.ppc.altivec.lvsl6749// CHECK: @llvm.ppc.altivec.vperm6750// CHECK-LE: store <8 x i16> zeroinitializer6751// CHECK-LE: @llvm.ppc.altivec.lvxl6752// CHECK-LE: @llvm.ppc.altivec.lvsl6753// CHECK-LE: @llvm.ppc.altivec.vperm6754 6755  res_vp  = vec_lvrxl(0, &vp);6756// CHECK: store <8 x i16> zeroinitializer6757// CHECK: @llvm.ppc.altivec.lvxl6758// CHECK: @llvm.ppc.altivec.lvsl6759// CHECK: @llvm.ppc.altivec.vperm6760// CHECK-LE: store <8 x i16> zeroinitializer6761// CHECK-LE: @llvm.ppc.altivec.lvxl6762// CHECK-LE: @llvm.ppc.altivec.lvsl6763// CHECK-LE: @llvm.ppc.altivec.vperm6764 6765  res_vi  = vec_lvrxl(0, param_i_ld);6766// CHECK: @llvm.ppc.altivec.lvxl6767// CHECK: @llvm.ppc.altivec.lvsl6768// CHECK: store <4 x i32> zeroinitializer6769// CHECK: @llvm.ppc.altivec.vperm6770// CHECK-LE: @llvm.ppc.altivec.lvxl6771// CHECK-LE: @llvm.ppc.altivec.lvsl6772// CHECK-LE: store <4 x i32> zeroinitializer6773// CHECK-LE: @llvm.ppc.altivec.vperm6774 6775  res_vi  = vec_lvrxl(0, &vi);6776// CHECK: @llvm.ppc.altivec.lvxl6777// CHECK: @llvm.ppc.altivec.lvsl6778// CHECK: store <4 x i32> zeroinitializer6779// CHECK: @llvm.ppc.altivec.vperm6780// CHECK-LE: @llvm.ppc.altivec.lvxl6781// CHECK-LE: @llvm.ppc.altivec.lvsl6782// CHECK-LE: store <4 x i32> zeroinitializer6783// CHECK-LE: @llvm.ppc.altivec.vperm6784 6785  res_vui = vec_lvrxl(0, param_ui_ld);6786// CHECK: @llvm.ppc.altivec.lvxl6787// CHECK: @llvm.ppc.altivec.lvsl6788// CHECK: store <4 x i32> zeroinitializer6789// CHECK: @llvm.ppc.altivec.vperm6790// CHECK-LE: @llvm.ppc.altivec.lvxl6791// CHECK-LE: @llvm.ppc.altivec.lvsl6792// CHECK-LE: store <4 x i32> zeroinitializer6793// CHECK-LE: @llvm.ppc.altivec.vperm6794 6795  res_vui = vec_lvrxl(0, &vui);6796// CHECK: @llvm.ppc.altivec.lvxl6797// CHECK: @llvm.ppc.altivec.lvsl6798// CHECK: store <4 x i32> zeroinitializer6799// CHECK: @llvm.ppc.altivec.vperm6800// CHECK-LE: @llvm.ppc.altivec.lvxl6801// CHECK-LE: @llvm.ppc.altivec.lvsl6802// CHECK-LE: store <4 x i32> zeroinitializer6803// CHECK-LE: @llvm.ppc.altivec.vperm6804 6805  res_vbi = vec_lvrxl(0, &vbi);6806// CHECK: store <4 x i32> zeroinitializer6807// CHECK: @llvm.ppc.altivec.lvxl6808// CHECK: @llvm.ppc.altivec.lvsl6809// CHECK: @llvm.ppc.altivec.vperm6810// CHECK-LE: store <4 x i32> zeroinitializer6811// CHECK-LE: @llvm.ppc.altivec.lvxl6812// CHECK-LE: @llvm.ppc.altivec.lvsl6813// CHECK-LE: @llvm.ppc.altivec.vperm6814 6815  res_vf  = vec_lvrxl(0, &vf);6816// CHECK: @llvm.ppc.altivec.lvxl6817// CHECK: @llvm.ppc.altivec.lvsl6818// CHECK: store <4 x float> zeroinitializer6819// CHECK: @llvm.ppc.altivec.vperm6820// CHECK-LE: @llvm.ppc.altivec.lvxl6821// CHECK-LE: @llvm.ppc.altivec.lvsl6822// CHECK-LE: store <4 x float> zeroinitializer6823// CHECK-LE: @llvm.ppc.altivec.vperm6824 6825  /* vec_stvlx */6826  vec_stvlx(vsc, 0, &param_sc);6827// CHECK: @llvm.ppc.altivec.lvx6828// CHECK: @llvm.ppc.altivec.lvsl6829// CHECK: store <16 x i8> zeroinitializer6830// CHECK: @llvm.ppc.altivec.vperm6831// CHECK: @llvm.ppc.altivec.lvsr6832// CHECK: @llvm.ppc.altivec.vperm6833// CHECK: @llvm.ppc.altivec.stvx6834// CHECK-LE: @llvm.ppc.altivec.lvx6835// CHECK-LE: @llvm.ppc.altivec.lvsl6836// CHECK-LE: store <16 x i8> zeroinitializer6837// CHECK-LE: @llvm.ppc.altivec.vperm6838// CHECK-LE: @llvm.ppc.altivec.lvsr6839// CHECK-LE: @llvm.ppc.altivec.vperm6840// CHECK-LE: @llvm.ppc.altivec.stvx6841 6842  vec_stvlx(vsc, 0, &vsc);6843// CHECK: @llvm.ppc.altivec.lvx6844// CHECK: @llvm.ppc.altivec.lvsl6845// CHECK: store <16 x i8> zeroinitializer6846// CHECK: @llvm.ppc.altivec.vperm6847// CHECK: @llvm.ppc.altivec.lvsr6848// CHECK: @llvm.ppc.altivec.vperm6849// CHECK: @llvm.ppc.altivec.stvx6850// CHECK-LE: @llvm.ppc.altivec.lvx6851// CHECK-LE: @llvm.ppc.altivec.lvsl6852// CHECK-LE: store <16 x i8> zeroinitializer6853// CHECK-LE: @llvm.ppc.altivec.vperm6854// CHECK-LE: @llvm.ppc.altivec.lvsr6855// CHECK-LE: @llvm.ppc.altivec.vperm6856// CHECK-LE: @llvm.ppc.altivec.stvx6857 6858  vec_stvlx(vuc, 0, &param_uc);6859// CHECK: @llvm.ppc.altivec.lvx6860// CHECK: @llvm.ppc.altivec.lvsl6861// CHECK: store <16 x i8> zeroinitializer6862// CHECK: @llvm.ppc.altivec.vperm6863// CHECK: @llvm.ppc.altivec.lvsr6864// CHECK: @llvm.ppc.altivec.vperm6865// CHECK: @llvm.ppc.altivec.stvx6866// CHECK-LE: @llvm.ppc.altivec.lvx6867// CHECK-LE: @llvm.ppc.altivec.lvsl6868// CHECK-LE: store <16 x i8> zeroinitializer6869// CHECK-LE: @llvm.ppc.altivec.vperm6870// CHECK-LE: @llvm.ppc.altivec.lvsr6871// CHECK-LE: @llvm.ppc.altivec.vperm6872// CHECK-LE: @llvm.ppc.altivec.stvx6873 6874  vec_stvlx(vuc, 0, &vuc);6875// CHECK: @llvm.ppc.altivec.lvx6876// CHECK: @llvm.ppc.altivec.lvsl6877// CHECK: store <16 x i8> zeroinitializer6878// CHECK: @llvm.ppc.altivec.vperm6879// CHECK: @llvm.ppc.altivec.lvsr6880// CHECK: @llvm.ppc.altivec.vperm6881// CHECK: @llvm.ppc.altivec.stvx6882// CHECK-LE: @llvm.ppc.altivec.lvx6883// CHECK-LE: @llvm.ppc.altivec.lvsl6884// CHECK-LE: store <16 x i8> zeroinitializer6885// CHECK-LE: @llvm.ppc.altivec.vperm6886// CHECK-LE: @llvm.ppc.altivec.lvsr6887// CHECK-LE: @llvm.ppc.altivec.vperm6888// CHECK-LE: @llvm.ppc.altivec.stvx6889 6890  vec_stvlx(vbc, 0, &vbc);6891// CHECK: store <16 x i8> zeroinitializer6892// CHECK: @llvm.ppc.altivec.lvx6893// CHECK: @llvm.ppc.altivec.lvsl6894// CHECK: @llvm.ppc.altivec.vperm6895// CHECK: @llvm.ppc.altivec.lvsr6896// CHECK: @llvm.ppc.altivec.vperm6897// CHECK: @llvm.ppc.altivec.stvx6898// CHECK-LE: store <16 x i8> zeroinitializer6899// CHECK-LE: @llvm.ppc.altivec.lvx6900// CHECK-LE: @llvm.ppc.altivec.lvsl6901// CHECK-LE: @llvm.ppc.altivec.vperm6902// CHECK-LE: @llvm.ppc.altivec.lvsr6903// CHECK-LE: @llvm.ppc.altivec.vperm6904// CHECK-LE: @llvm.ppc.altivec.stvx6905 6906  vec_stvlx(vs, 0, &param_s);6907// CHECK: @llvm.ppc.altivec.lvx6908// CHECK: @llvm.ppc.altivec.lvsl6909// CHECK: store <8 x i16> zeroinitializer6910// CHECK: @llvm.ppc.altivec.vperm6911// CHECK: @llvm.ppc.altivec.lvsr6912// CHECK: @llvm.ppc.altivec.vperm6913// CHECK: @llvm.ppc.altivec.stvx6914// CHECK-LE: @llvm.ppc.altivec.lvx6915// CHECK-LE: @llvm.ppc.altivec.lvsl6916// CHECK-LE: store <8 x i16> zeroinitializer6917// CHECK-LE: @llvm.ppc.altivec.vperm6918// CHECK-LE: @llvm.ppc.altivec.lvsr6919// CHECK-LE: @llvm.ppc.altivec.vperm6920// CHECK-LE: @llvm.ppc.altivec.stvx6921 6922  vec_stvlx(vs, 0, &vs);6923// CHECK: @llvm.ppc.altivec.lvx6924// CHECK: @llvm.ppc.altivec.lvsl6925// CHECK: store <8 x i16> zeroinitializer6926// CHECK: @llvm.ppc.altivec.vperm6927// CHECK: @llvm.ppc.altivec.lvsr6928// CHECK: @llvm.ppc.altivec.vperm6929// CHECK: @llvm.ppc.altivec.stvx6930// CHECK-LE: @llvm.ppc.altivec.lvx6931// CHECK-LE: @llvm.ppc.altivec.lvsl6932// CHECK-LE: store <8 x i16> zeroinitializer6933// CHECK-LE: @llvm.ppc.altivec.vperm6934// CHECK-LE: @llvm.ppc.altivec.lvsr6935// CHECK-LE: @llvm.ppc.altivec.vperm6936// CHECK-LE: @llvm.ppc.altivec.stvx6937 6938  vec_stvlx(vus, 0, &param_us);6939// CHECK: @llvm.ppc.altivec.lvx6940// CHECK: @llvm.ppc.altivec.lvsl6941// CHECK: store <8 x i16> zeroinitializer6942// CHECK: @llvm.ppc.altivec.vperm6943// CHECK: @llvm.ppc.altivec.lvsr6944// CHECK: @llvm.ppc.altivec.vperm6945// CHECK: @llvm.ppc.altivec.stvx6946// CHECK-LE: @llvm.ppc.altivec.lvx6947// CHECK-LE: @llvm.ppc.altivec.lvsl6948// CHECK-LE: store <8 x i16> zeroinitializer6949// CHECK-LE: @llvm.ppc.altivec.vperm6950// CHECK-LE: @llvm.ppc.altivec.lvsr6951// CHECK-LE: @llvm.ppc.altivec.vperm6952// CHECK-LE: @llvm.ppc.altivec.stvx6953 6954  vec_stvlx(vus, 0, &vus);6955// CHECK: @llvm.ppc.altivec.lvx6956// CHECK: @llvm.ppc.altivec.lvsl6957// CHECK: store <8 x i16> zeroinitializer6958// CHECK: @llvm.ppc.altivec.vperm6959// CHECK: @llvm.ppc.altivec.lvsr6960// CHECK: @llvm.ppc.altivec.vperm6961// CHECK: @llvm.ppc.altivec.stvx6962// CHECK-LE: @llvm.ppc.altivec.lvx6963// CHECK-LE: @llvm.ppc.altivec.lvsl6964// CHECK-LE: store <8 x i16> zeroinitializer6965// CHECK-LE: @llvm.ppc.altivec.vperm6966// CHECK-LE: @llvm.ppc.altivec.lvsr6967// CHECK-LE: @llvm.ppc.altivec.vperm6968// CHECK-LE: @llvm.ppc.altivec.stvx6969 6970  vec_stvlx(vbs, 0, &vbs);6971// CHECK: store <8 x i16> zeroinitializer6972// CHECK: @llvm.ppc.altivec.lvx6973// CHECK: @llvm.ppc.altivec.lvsl6974// CHECK: @llvm.ppc.altivec.vperm6975// CHECK: @llvm.ppc.altivec.lvsr6976// CHECK: @llvm.ppc.altivec.vperm6977// CHECK: @llvm.ppc.altivec.stvx6978// CHECK-LE: store <8 x i16> zeroinitializer6979// CHECK-LE: @llvm.ppc.altivec.lvx6980// CHECK-LE: @llvm.ppc.altivec.lvsl6981// CHECK-LE: @llvm.ppc.altivec.vperm6982// CHECK-LE: @llvm.ppc.altivec.lvsr6983// CHECK-LE: @llvm.ppc.altivec.vperm6984// CHECK-LE: @llvm.ppc.altivec.stvx6985 6986  vec_stvlx(vp, 0, &vp);6987// CHECK: store <8 x i16> zeroinitializer6988// CHECK: @llvm.ppc.altivec.lvx6989// CHECK: @llvm.ppc.altivec.lvsl6990// CHECK: @llvm.ppc.altivec.vperm6991// CHECK: @llvm.ppc.altivec.lvsr6992// CHECK: @llvm.ppc.altivec.vperm6993// CHECK: @llvm.ppc.altivec.stvx6994// CHECK-LE: store <8 x i16> zeroinitializer6995// CHECK-LE: @llvm.ppc.altivec.lvx6996// CHECK-LE: @llvm.ppc.altivec.lvsl6997// CHECK-LE: @llvm.ppc.altivec.vperm6998// CHECK-LE: @llvm.ppc.altivec.lvsr6999// CHECK-LE: @llvm.ppc.altivec.vperm7000// CHECK-LE: @llvm.ppc.altivec.stvx7001 7002  vec_stvlx(vi, 0, &param_i);7003// CHECK: @llvm.ppc.altivec.lvx7004// CHECK: @llvm.ppc.altivec.lvsl7005// CHECK: store <4 x i32> zeroinitializer7006// CHECK: @llvm.ppc.altivec.vperm7007// CHECK: @llvm.ppc.altivec.lvsr7008// CHECK: @llvm.ppc.altivec.vperm7009// CHECK: @llvm.ppc.altivec.stvx7010// CHECK-LE: @llvm.ppc.altivec.lvx7011// CHECK-LE: @llvm.ppc.altivec.lvsl7012// CHECK-LE: store <4 x i32> zeroinitializer7013// CHECK-LE: @llvm.ppc.altivec.vperm7014// CHECK-LE: @llvm.ppc.altivec.lvsr7015// CHECK-LE: @llvm.ppc.altivec.vperm7016// CHECK-LE: @llvm.ppc.altivec.stvx7017 7018  vec_stvlx(vi, 0, &vi);7019// CHECK: @llvm.ppc.altivec.lvx7020// CHECK: @llvm.ppc.altivec.lvsl7021// CHECK: store <4 x i32> zeroinitializer7022// CHECK: @llvm.ppc.altivec.vperm7023// CHECK: @llvm.ppc.altivec.lvsr7024// CHECK: @llvm.ppc.altivec.vperm7025// CHECK: @llvm.ppc.altivec.stvx7026// CHECK-LE: @llvm.ppc.altivec.lvx7027// CHECK-LE: @llvm.ppc.altivec.lvsl7028// CHECK-LE: store <4 x i32> zeroinitializer7029// CHECK-LE: @llvm.ppc.altivec.vperm7030// CHECK-LE: @llvm.ppc.altivec.lvsr7031// CHECK-LE: @llvm.ppc.altivec.vperm7032// CHECK-LE: @llvm.ppc.altivec.stvx7033 7034  vec_stvlx(vui, 0, &param_ui);7035// CHECK: @llvm.ppc.altivec.lvx7036// CHECK: @llvm.ppc.altivec.lvsl7037// CHECK: store <4 x i32> zeroinitializer7038// CHECK: @llvm.ppc.altivec.vperm7039// CHECK: @llvm.ppc.altivec.lvsr7040// CHECK: @llvm.ppc.altivec.vperm7041// CHECK: @llvm.ppc.altivec.stvx7042// CHECK-LE: @llvm.ppc.altivec.lvx7043// CHECK-LE: @llvm.ppc.altivec.lvsl7044// CHECK-LE: store <4 x i32> zeroinitializer7045// CHECK-LE: @llvm.ppc.altivec.vperm7046// CHECK-LE: @llvm.ppc.altivec.lvsr7047// CHECK-LE: @llvm.ppc.altivec.vperm7048// CHECK-LE: @llvm.ppc.altivec.stvx7049 7050  vec_stvlx(vui, 0, &vui);7051// CHECK: @llvm.ppc.altivec.lvx7052// CHECK: @llvm.ppc.altivec.lvsl7053// CHECK: store <4 x i32> zeroinitializer7054// CHECK: @llvm.ppc.altivec.vperm7055// CHECK: @llvm.ppc.altivec.lvsr7056// CHECK: @llvm.ppc.altivec.vperm7057// CHECK: @llvm.ppc.altivec.stvx7058// CHECK-LE: @llvm.ppc.altivec.lvx7059// CHECK-LE: @llvm.ppc.altivec.lvsl7060// CHECK-LE: store <4 x i32> zeroinitializer7061// CHECK-LE: @llvm.ppc.altivec.vperm7062// CHECK-LE: @llvm.ppc.altivec.lvsr7063// CHECK-LE: @llvm.ppc.altivec.vperm7064// CHECK-LE: @llvm.ppc.altivec.stvx7065 7066  vec_stvlx(vbi, 0, &vbi);7067// CHECK: store <4 x i32> zeroinitializer7068// CHECK: @llvm.ppc.altivec.lvx7069// CHECK: @llvm.ppc.altivec.lvsl7070// CHECK: @llvm.ppc.altivec.vperm7071// CHECK: @llvm.ppc.altivec.lvsr7072// CHECK: @llvm.ppc.altivec.vperm7073// CHECK: @llvm.ppc.altivec.stvx7074// CHECK-LE: store <4 x i32> zeroinitializer7075// CHECK-LE: @llvm.ppc.altivec.lvx7076// CHECK-LE: @llvm.ppc.altivec.lvsl7077// CHECK-LE: @llvm.ppc.altivec.vperm7078// CHECK-LE: @llvm.ppc.altivec.lvsr7079// CHECK-LE: @llvm.ppc.altivec.vperm7080// CHECK-LE: @llvm.ppc.altivec.stvx7081 7082  vec_stvlx(vf, 0, &vf);7083// CHECK: @llvm.ppc.altivec.lvx7084// CHECK: @llvm.ppc.altivec.lvsl7085// CHECK: store <4 x float> zeroinitializer7086// CHECK: @llvm.ppc.altivec.vperm7087// CHECK: @llvm.ppc.altivec.lvsr7088// CHECK: @llvm.ppc.altivec.vperm7089// CHECK: @llvm.ppc.altivec.stvx7090// CHECK-LE: @llvm.ppc.altivec.lvx7091// CHECK-LE: @llvm.ppc.altivec.lvsl7092// CHECK-LE: store <4 x float> zeroinitializer7093// CHECK-LE: @llvm.ppc.altivec.vperm7094// CHECK-LE: @llvm.ppc.altivec.lvsr7095// CHECK-LE: @llvm.ppc.altivec.vperm7096// CHECK-LE: @llvm.ppc.altivec.stvx7097 7098  /* vec_stvlxl */7099  vec_stvlxl(vsc, 0, &param_sc);7100// CHECK: @llvm.ppc.altivec.lvx7101// CHECK: @llvm.ppc.altivec.lvsl7102// CHECK: store <16 x i8> zeroinitializer7103// CHECK: @llvm.ppc.altivec.vperm7104// CHECK: @llvm.ppc.altivec.lvsr7105// CHECK: @llvm.ppc.altivec.vperm7106// CHECK: @llvm.ppc.altivec.stvxl7107// CHECK-LE: @llvm.ppc.altivec.lvx7108// CHECK-LE: @llvm.ppc.altivec.lvsl7109// CHECK-LE: store <16 x i8> zeroinitializer7110// CHECK-LE: @llvm.ppc.altivec.vperm7111// CHECK-LE: @llvm.ppc.altivec.lvsr7112// CHECK-LE: @llvm.ppc.altivec.vperm7113// CHECK-LE: @llvm.ppc.altivec.stvxl7114 7115  vec_stvlxl(vsc, 0, &vsc);7116// CHECK: @llvm.ppc.altivec.lvx7117// CHECK: @llvm.ppc.altivec.lvsl7118// CHECK: store <16 x i8> zeroinitializer7119// CHECK: @llvm.ppc.altivec.vperm7120// CHECK: @llvm.ppc.altivec.lvsr7121// CHECK: @llvm.ppc.altivec.vperm7122// CHECK: @llvm.ppc.altivec.stvxl7123// CHECK-LE: @llvm.ppc.altivec.lvx7124// CHECK-LE: @llvm.ppc.altivec.lvsl7125// CHECK-LE: store <16 x i8> zeroinitializer7126// CHECK-LE: @llvm.ppc.altivec.vperm7127// CHECK-LE: @llvm.ppc.altivec.lvsr7128// CHECK-LE: @llvm.ppc.altivec.vperm7129// CHECK-LE: @llvm.ppc.altivec.stvxl7130 7131  vec_stvlxl(vuc, 0, &param_uc);7132// CHECK: @llvm.ppc.altivec.lvx7133// CHECK: @llvm.ppc.altivec.lvsl7134// CHECK: store <16 x i8> zeroinitializer7135// CHECK: @llvm.ppc.altivec.vperm7136// CHECK: @llvm.ppc.altivec.lvsr7137// CHECK: @llvm.ppc.altivec.vperm7138// CHECK: @llvm.ppc.altivec.stvxl7139// CHECK-LE: @llvm.ppc.altivec.lvx7140// CHECK-LE: @llvm.ppc.altivec.lvsl7141// CHECK-LE: store <16 x i8> zeroinitializer7142// CHECK-LE: @llvm.ppc.altivec.vperm7143// CHECK-LE: @llvm.ppc.altivec.lvsr7144// CHECK-LE: @llvm.ppc.altivec.vperm7145// CHECK-LE: @llvm.ppc.altivec.stvxl7146 7147  vec_stvlxl(vuc, 0, &vuc);7148// CHECK: @llvm.ppc.altivec.lvx7149// CHECK: @llvm.ppc.altivec.lvsl7150// CHECK: store <16 x i8> zeroinitializer7151// CHECK: @llvm.ppc.altivec.vperm7152// CHECK: @llvm.ppc.altivec.lvsr7153// CHECK: @llvm.ppc.altivec.vperm7154// CHECK: @llvm.ppc.altivec.stvxl7155// CHECK-LE: @llvm.ppc.altivec.lvx7156// CHECK-LE: @llvm.ppc.altivec.lvsl7157// CHECK-LE: store <16 x i8> zeroinitializer7158// CHECK-LE: @llvm.ppc.altivec.vperm7159// CHECK-LE: @llvm.ppc.altivec.lvsr7160// CHECK-LE: @llvm.ppc.altivec.vperm7161// CHECK-LE: @llvm.ppc.altivec.stvxl7162 7163  vec_stvlxl(vbc, 0, &vbc);7164// CHECK: store <16 x i8> zeroinitializer7165// CHECK: @llvm.ppc.altivec.lvx7166// CHECK: @llvm.ppc.altivec.lvsl7167// CHECK: @llvm.ppc.altivec.vperm7168// CHECK: @llvm.ppc.altivec.lvsr7169// CHECK: @llvm.ppc.altivec.vperm7170// CHECK: @llvm.ppc.altivec.stvxl7171// CHECK-LE: store <16 x i8> zeroinitializer7172// CHECK-LE: @llvm.ppc.altivec.lvx7173// CHECK-LE: @llvm.ppc.altivec.lvsl7174// CHECK-LE: @llvm.ppc.altivec.vperm7175// CHECK-LE: @llvm.ppc.altivec.lvsr7176// CHECK-LE: @llvm.ppc.altivec.vperm7177// CHECK-LE: @llvm.ppc.altivec.stvxl7178 7179  vec_stvlxl(vs, 0, &param_s);7180// CHECK: @llvm.ppc.altivec.lvx7181// CHECK: @llvm.ppc.altivec.lvsl7182// CHECK: store <8 x i16> zeroinitializer7183// CHECK: @llvm.ppc.altivec.vperm7184// CHECK: @llvm.ppc.altivec.lvsr7185// CHECK: @llvm.ppc.altivec.vperm7186// CHECK: @llvm.ppc.altivec.stvxl7187// CHECK-LE: @llvm.ppc.altivec.lvx7188// CHECK-LE: @llvm.ppc.altivec.lvsl7189// CHECK-LE: store <8 x i16> zeroinitializer7190// CHECK-LE: @llvm.ppc.altivec.vperm7191// CHECK-LE: @llvm.ppc.altivec.lvsr7192// CHECK-LE: @llvm.ppc.altivec.vperm7193// CHECK-LE: @llvm.ppc.altivec.stvxl7194 7195  vec_stvlxl(vs, 0, &vs);7196// CHECK: @llvm.ppc.altivec.lvx7197// CHECK: @llvm.ppc.altivec.lvsl7198// CHECK: store <8 x i16> zeroinitializer7199// CHECK: @llvm.ppc.altivec.vperm7200// CHECK: @llvm.ppc.altivec.lvsr7201// CHECK: @llvm.ppc.altivec.vperm7202// CHECK: @llvm.ppc.altivec.stvxl7203// CHECK-LE: @llvm.ppc.altivec.lvx7204// CHECK-LE: @llvm.ppc.altivec.lvsl7205// CHECK-LE: store <8 x i16> zeroinitializer7206// CHECK-LE: @llvm.ppc.altivec.vperm7207// CHECK-LE: @llvm.ppc.altivec.lvsr7208// CHECK-LE: @llvm.ppc.altivec.vperm7209// CHECK-LE: @llvm.ppc.altivec.stvxl7210 7211  vec_stvlxl(vus, 0, &param_us);7212// CHECK: @llvm.ppc.altivec.lvx7213// CHECK: @llvm.ppc.altivec.lvsl7214// CHECK: store <8 x i16> zeroinitializer7215// CHECK: @llvm.ppc.altivec.vperm7216// CHECK: @llvm.ppc.altivec.lvsr7217// CHECK: @llvm.ppc.altivec.vperm7218// CHECK: @llvm.ppc.altivec.stvxl7219// CHECK-LE: @llvm.ppc.altivec.lvx7220// CHECK-LE: @llvm.ppc.altivec.lvsl7221// CHECK-LE: store <8 x i16> zeroinitializer7222// CHECK-LE: @llvm.ppc.altivec.vperm7223// CHECK-LE: @llvm.ppc.altivec.lvsr7224// CHECK-LE: @llvm.ppc.altivec.vperm7225// CHECK-LE: @llvm.ppc.altivec.stvxl7226 7227  vec_stvlxl(vus, 0, &vus);7228// CHECK: @llvm.ppc.altivec.lvx7229// CHECK: @llvm.ppc.altivec.lvsl7230// CHECK: store <8 x i16> zeroinitializer7231// CHECK: @llvm.ppc.altivec.vperm7232// CHECK: @llvm.ppc.altivec.lvsr7233// CHECK: @llvm.ppc.altivec.vperm7234// CHECK: @llvm.ppc.altivec.stvxl7235// CHECK-LE: @llvm.ppc.altivec.lvx7236// CHECK-LE: @llvm.ppc.altivec.lvsl7237// CHECK-LE: store <8 x i16> zeroinitializer7238// CHECK-LE: @llvm.ppc.altivec.vperm7239// CHECK-LE: @llvm.ppc.altivec.lvsr7240// CHECK-LE: @llvm.ppc.altivec.vperm7241// CHECK-LE: @llvm.ppc.altivec.stvxl7242 7243  vec_stvlxl(vbs, 0, &vbs);7244// CHECK: store <8 x i16> zeroinitializer7245// CHECK: @llvm.ppc.altivec.lvx7246// CHECK: @llvm.ppc.altivec.lvsl7247// CHECK: @llvm.ppc.altivec.vperm7248// CHECK: @llvm.ppc.altivec.lvsr7249// CHECK: @llvm.ppc.altivec.vperm7250// CHECK: @llvm.ppc.altivec.stvxl7251// CHECK-LE: store <8 x i16> zeroinitializer7252// CHECK-LE: @llvm.ppc.altivec.lvx7253// CHECK-LE: @llvm.ppc.altivec.lvsl7254// CHECK-LE: @llvm.ppc.altivec.vperm7255// CHECK-LE: @llvm.ppc.altivec.lvsr7256// CHECK-LE: @llvm.ppc.altivec.vperm7257// CHECK-LE: @llvm.ppc.altivec.stvxl7258 7259  vec_stvlxl(vp, 0, &vp);7260// CHECK: store <8 x i16> zeroinitializer7261// CHECK: @llvm.ppc.altivec.lvx7262// CHECK: @llvm.ppc.altivec.lvsl7263// CHECK: @llvm.ppc.altivec.vperm7264// CHECK: @llvm.ppc.altivec.lvsr7265// CHECK: @llvm.ppc.altivec.vperm7266// CHECK: @llvm.ppc.altivec.stvxl7267// CHECK-LE: store <8 x i16> zeroinitializer7268// CHECK-LE: @llvm.ppc.altivec.lvx7269// CHECK-LE: @llvm.ppc.altivec.lvsl7270// CHECK-LE: @llvm.ppc.altivec.vperm7271// CHECK-LE: @llvm.ppc.altivec.lvsr7272// CHECK-LE: @llvm.ppc.altivec.vperm7273// CHECK-LE: @llvm.ppc.altivec.stvxl7274 7275  vec_stvlxl(vi, 0, &param_i);7276// CHECK: @llvm.ppc.altivec.lvx7277// CHECK: @llvm.ppc.altivec.lvsl7278// CHECK: store <4 x i32> zeroinitializer7279// CHECK: @llvm.ppc.altivec.vperm7280// CHECK: @llvm.ppc.altivec.lvsr7281// CHECK: @llvm.ppc.altivec.vperm7282// CHECK: @llvm.ppc.altivec.stvxl7283// CHECK-LE: @llvm.ppc.altivec.lvx7284// CHECK-LE: @llvm.ppc.altivec.lvsl7285// CHECK-LE: store <4 x i32> zeroinitializer7286// CHECK-LE: @llvm.ppc.altivec.vperm7287// CHECK-LE: @llvm.ppc.altivec.lvsr7288// CHECK-LE: @llvm.ppc.altivec.vperm7289// CHECK-LE: @llvm.ppc.altivec.stvxl7290 7291  vec_stvlxl(vi, 0, &vi);7292// CHECK: @llvm.ppc.altivec.lvx7293// CHECK: @llvm.ppc.altivec.lvsl7294// CHECK: store <4 x i32> zeroinitializer7295// CHECK: @llvm.ppc.altivec.vperm7296// CHECK: @llvm.ppc.altivec.lvsr7297// CHECK: @llvm.ppc.altivec.vperm7298// CHECK: @llvm.ppc.altivec.stvxl7299// CHECK-LE: @llvm.ppc.altivec.lvx7300// CHECK-LE: @llvm.ppc.altivec.lvsl7301// CHECK-LE: store <4 x i32> zeroinitializer7302// CHECK-LE: @llvm.ppc.altivec.vperm7303// CHECK-LE: @llvm.ppc.altivec.lvsr7304// CHECK-LE: @llvm.ppc.altivec.vperm7305// CHECK-LE: @llvm.ppc.altivec.stvxl7306 7307  vec_stvlxl(vui, 0, &param_ui);7308// CHECK: @llvm.ppc.altivec.lvx7309// CHECK: @llvm.ppc.altivec.lvsl7310// CHECK: store <4 x i32> zeroinitializer7311// CHECK: @llvm.ppc.altivec.vperm7312// CHECK: @llvm.ppc.altivec.lvsr7313// CHECK: @llvm.ppc.altivec.vperm7314// CHECK: @llvm.ppc.altivec.stvxl7315// CHECK-LE: @llvm.ppc.altivec.lvx7316// CHECK-LE: @llvm.ppc.altivec.lvsl7317// CHECK-LE: store <4 x i32> zeroinitializer7318// CHECK-LE: @llvm.ppc.altivec.vperm7319// CHECK-LE: @llvm.ppc.altivec.lvsr7320// CHECK-LE: @llvm.ppc.altivec.vperm7321// CHECK-LE: @llvm.ppc.altivec.stvxl7322 7323  vec_stvlxl(vui, 0, &vui);7324// CHECK: @llvm.ppc.altivec.lvx7325// CHECK: @llvm.ppc.altivec.lvsl7326// CHECK: store <4 x i32> zeroinitializer7327// CHECK: @llvm.ppc.altivec.vperm7328// CHECK: @llvm.ppc.altivec.lvsr7329// CHECK: @llvm.ppc.altivec.vperm7330// CHECK: @llvm.ppc.altivec.stvxl7331// CHECK-LE: @llvm.ppc.altivec.lvx7332// CHECK-LE: @llvm.ppc.altivec.lvsl7333// CHECK-LE: store <4 x i32> zeroinitializer7334// CHECK-LE: @llvm.ppc.altivec.vperm7335// CHECK-LE: @llvm.ppc.altivec.lvsr7336// CHECK-LE: @llvm.ppc.altivec.vperm7337// CHECK-LE: @llvm.ppc.altivec.stvxl7338 7339  vec_stvlxl(vbi, 0, &vbi);7340// CHECK: store <4 x i32> zeroinitializer7341// CHECK: @llvm.ppc.altivec.lvx7342// CHECK: @llvm.ppc.altivec.lvsl7343// CHECK: @llvm.ppc.altivec.vperm7344// CHECK: @llvm.ppc.altivec.lvsr7345// CHECK: @llvm.ppc.altivec.vperm7346// CHECK: @llvm.ppc.altivec.stvxl7347// CHECK-LE: store <4 x i32> zeroinitializer7348// CHECK-LE: @llvm.ppc.altivec.lvx7349// CHECK-LE: @llvm.ppc.altivec.lvsl7350// CHECK-LE: @llvm.ppc.altivec.vperm7351// CHECK-LE: @llvm.ppc.altivec.lvsr7352// CHECK-LE: @llvm.ppc.altivec.vperm7353// CHECK-LE: @llvm.ppc.altivec.stvxl7354 7355  vec_stvlxl(vf, 0, &vf);7356// CHECK: @llvm.ppc.altivec.lvx7357// CHECK: @llvm.ppc.altivec.lvsl7358// CHECK: store <4 x float> zeroinitializer7359// CHECK: @llvm.ppc.altivec.vperm7360// CHECK: @llvm.ppc.altivec.lvsr7361// CHECK: @llvm.ppc.altivec.vperm7362// CHECK: @llvm.ppc.altivec.stvxl7363// CHECK-LE: @llvm.ppc.altivec.lvx7364// CHECK-LE: @llvm.ppc.altivec.lvsl7365// CHECK-LE: store <4 x float> zeroinitializer7366// CHECK-LE: @llvm.ppc.altivec.vperm7367// CHECK-LE: @llvm.ppc.altivec.lvsr7368// CHECK-LE: @llvm.ppc.altivec.vperm7369// CHECK-LE: @llvm.ppc.altivec.stvxl7370 7371  /* vec_stvrx */7372  vec_stvrx(vsc, 0, &param_sc);7373// CHECK: @llvm.ppc.altivec.lvx7374// CHECK: @llvm.ppc.altivec.lvsl7375// CHECK: store <16 x i8> zeroinitializer7376// CHECK: @llvm.ppc.altivec.vperm7377// CHECK: @llvm.ppc.altivec.lvsr7378// CHECK: @llvm.ppc.altivec.vperm7379// CHECK: @llvm.ppc.altivec.stvx7380// CHECK-LE: @llvm.ppc.altivec.lvx7381// CHECK-LE: @llvm.ppc.altivec.lvsl7382// CHECK-LE: store <16 x i8> zeroinitializer7383// CHECK-LE: @llvm.ppc.altivec.vperm7384// CHECK-LE: @llvm.ppc.altivec.lvsr7385// CHECK-LE: @llvm.ppc.altivec.vperm7386// CHECK-LE: @llvm.ppc.altivec.stvx7387 7388  vec_stvrx(vsc, 0, &vsc);7389// CHECK: @llvm.ppc.altivec.lvx7390// CHECK: @llvm.ppc.altivec.lvsl7391// CHECK: store <16 x i8> zeroinitializer7392// CHECK: @llvm.ppc.altivec.vperm7393// CHECK: @llvm.ppc.altivec.lvsr7394// CHECK: @llvm.ppc.altivec.vperm7395// CHECK: @llvm.ppc.altivec.stvx7396// CHECK-LE: @llvm.ppc.altivec.lvx7397// CHECK-LE: @llvm.ppc.altivec.lvsl7398// CHECK-LE: store <16 x i8> zeroinitializer7399// CHECK-LE: @llvm.ppc.altivec.vperm7400// CHECK-LE: @llvm.ppc.altivec.lvsr7401// CHECK-LE: @llvm.ppc.altivec.vperm7402// CHECK-LE: @llvm.ppc.altivec.stvx7403 7404  vec_stvrx(vuc, 0, &param_uc);7405// CHECK: @llvm.ppc.altivec.lvx7406// CHECK: @llvm.ppc.altivec.lvsl7407// CHECK: store <16 x i8> zeroinitializer7408// CHECK: @llvm.ppc.altivec.vperm7409// CHECK: @llvm.ppc.altivec.lvsr7410// CHECK: @llvm.ppc.altivec.vperm7411// CHECK: @llvm.ppc.altivec.stvx7412// CHECK-LE: @llvm.ppc.altivec.lvx7413// CHECK-LE: @llvm.ppc.altivec.lvsl7414// CHECK-LE: store <16 x i8> zeroinitializer7415// CHECK-LE: @llvm.ppc.altivec.vperm7416// CHECK-LE: @llvm.ppc.altivec.lvsr7417// CHECK-LE: @llvm.ppc.altivec.vperm7418// CHECK-LE: @llvm.ppc.altivec.stvx7419 7420  vec_stvrx(vuc, 0, &vuc);7421// CHECK: @llvm.ppc.altivec.lvx7422// CHECK: @llvm.ppc.altivec.lvsl7423// CHECK: store <16 x i8> zeroinitializer7424// CHECK: @llvm.ppc.altivec.vperm7425// CHECK: @llvm.ppc.altivec.lvsr7426// CHECK: @llvm.ppc.altivec.vperm7427// CHECK: @llvm.ppc.altivec.stvx7428// CHECK-LE: @llvm.ppc.altivec.lvx7429// CHECK-LE: @llvm.ppc.altivec.lvsl7430// CHECK-LE: store <16 x i8> zeroinitializer7431// CHECK-LE: @llvm.ppc.altivec.vperm7432// CHECK-LE: @llvm.ppc.altivec.lvsr7433// CHECK-LE: @llvm.ppc.altivec.vperm7434// CHECK-LE: @llvm.ppc.altivec.stvx7435 7436  vec_stvrx(vbc, 0, &vbc);7437// CHECK: @llvm.ppc.altivec.lvx7438// CHECK: store <16 x i8> zeroinitializer7439// CHECK: @llvm.ppc.altivec.lvsl7440// CHECK: @llvm.ppc.altivec.vperm7441// CHECK: @llvm.ppc.altivec.lvsr7442// CHECK: @llvm.ppc.altivec.vperm7443// CHECK: @llvm.ppc.altivec.stvx7444// CHECK-LE: @llvm.ppc.altivec.lvx7445// CHECK-LE: store <16 x i8> zeroinitializer7446// CHECK-LE: @llvm.ppc.altivec.lvsl7447// CHECK-LE: @llvm.ppc.altivec.vperm7448// CHECK-LE: @llvm.ppc.altivec.lvsr7449// CHECK-LE: @llvm.ppc.altivec.vperm7450// CHECK-LE: @llvm.ppc.altivec.stvx7451 7452  vec_stvrx(vs, 0, &param_s);7453// CHECK: @llvm.ppc.altivec.lvx7454// CHECK: @llvm.ppc.altivec.lvsl7455// CHECK: store <8 x i16> zeroinitializer7456// CHECK: @llvm.ppc.altivec.vperm7457// CHECK: @llvm.ppc.altivec.lvsr7458// CHECK: @llvm.ppc.altivec.vperm7459// CHECK: @llvm.ppc.altivec.stvx7460// CHECK-LE: @llvm.ppc.altivec.lvx7461// CHECK-LE: @llvm.ppc.altivec.lvsl7462// CHECK-LE: store <8 x i16> zeroinitializer7463// CHECK-LE: @llvm.ppc.altivec.vperm7464// CHECK-LE: @llvm.ppc.altivec.lvsr7465// CHECK-LE: @llvm.ppc.altivec.vperm7466// CHECK-LE: @llvm.ppc.altivec.stvx7467 7468  vec_stvrx(vs, 0, &vs);7469// CHECK: @llvm.ppc.altivec.lvx7470// CHECK: @llvm.ppc.altivec.lvsl7471// CHECK: store <8 x i16> zeroinitializer7472// CHECK: @llvm.ppc.altivec.vperm7473// CHECK: @llvm.ppc.altivec.lvsr7474// CHECK: @llvm.ppc.altivec.vperm7475// CHECK: @llvm.ppc.altivec.stvx7476// CHECK-LE: @llvm.ppc.altivec.lvx7477// CHECK-LE: @llvm.ppc.altivec.lvsl7478// CHECK-LE: store <8 x i16> zeroinitializer7479// CHECK-LE: @llvm.ppc.altivec.vperm7480// CHECK-LE: @llvm.ppc.altivec.lvsr7481// CHECK-LE: @llvm.ppc.altivec.vperm7482// CHECK-LE: @llvm.ppc.altivec.stvx7483 7484  vec_stvrx(vus, 0, &param_us);7485// CHECK: @llvm.ppc.altivec.lvx7486// CHECK: @llvm.ppc.altivec.lvsl7487// CHECK: store <8 x i16> zeroinitializer7488// CHECK: @llvm.ppc.altivec.vperm7489// CHECK: @llvm.ppc.altivec.lvsr7490// CHECK: @llvm.ppc.altivec.vperm7491// CHECK: @llvm.ppc.altivec.stvx7492// CHECK-LE: @llvm.ppc.altivec.lvx7493// CHECK-LE: @llvm.ppc.altivec.lvsl7494// CHECK-LE: store <8 x i16> zeroinitializer7495// CHECK-LE: @llvm.ppc.altivec.vperm7496// CHECK-LE: @llvm.ppc.altivec.lvsr7497// CHECK-LE: @llvm.ppc.altivec.vperm7498// CHECK-LE: @llvm.ppc.altivec.stvx7499 7500  vec_stvrx(vus, 0, &vus);7501// CHECK: @llvm.ppc.altivec.lvx7502// CHECK: @llvm.ppc.altivec.lvsl7503// CHECK: store <8 x i16> zeroinitializer7504// CHECK: @llvm.ppc.altivec.vperm7505// CHECK: @llvm.ppc.altivec.lvsr7506// CHECK: @llvm.ppc.altivec.vperm7507// CHECK: @llvm.ppc.altivec.stvx7508// CHECK-LE: @llvm.ppc.altivec.lvx7509// CHECK-LE: @llvm.ppc.altivec.lvsl7510// CHECK-LE: store <8 x i16> zeroinitializer7511// CHECK-LE: @llvm.ppc.altivec.vperm7512// CHECK-LE: @llvm.ppc.altivec.lvsr7513// CHECK-LE: @llvm.ppc.altivec.vperm7514// CHECK-LE: @llvm.ppc.altivec.stvx7515 7516  vec_stvrx(vbs, 0, &vbs);7517// CHECK: @llvm.ppc.altivec.lvx7518// CHECK: store <8 x i16> zeroinitializer7519// CHECK: @llvm.ppc.altivec.lvsl7520// CHECK: @llvm.ppc.altivec.vperm7521// CHECK: @llvm.ppc.altivec.lvsr7522// CHECK: @llvm.ppc.altivec.vperm7523// CHECK: @llvm.ppc.altivec.stvx7524// CHECK-LE: @llvm.ppc.altivec.lvx7525// CHECK-LE: store <8 x i16> zeroinitializer7526// CHECK-LE: @llvm.ppc.altivec.lvsl7527// CHECK-LE: @llvm.ppc.altivec.vperm7528// CHECK-LE: @llvm.ppc.altivec.lvsr7529// CHECK-LE: @llvm.ppc.altivec.vperm7530// CHECK-LE: @llvm.ppc.altivec.stvx7531 7532  vec_stvrx(vp, 0, &vp);7533// CHECK: @llvm.ppc.altivec.lvx7534// CHECK: store <8 x i16> zeroinitializer7535// CHECK: @llvm.ppc.altivec.lvsl7536// CHECK: @llvm.ppc.altivec.vperm7537// CHECK: @llvm.ppc.altivec.lvsr7538// CHECK: @llvm.ppc.altivec.vperm7539// CHECK: @llvm.ppc.altivec.stvx7540// CHECK-LE: @llvm.ppc.altivec.lvx7541// CHECK-LE: store <8 x i16> zeroinitializer7542// CHECK-LE: @llvm.ppc.altivec.lvsl7543// CHECK-LE: @llvm.ppc.altivec.vperm7544// CHECK-LE: @llvm.ppc.altivec.lvsr7545// CHECK-LE: @llvm.ppc.altivec.vperm7546// CHECK-LE: @llvm.ppc.altivec.stvx7547 7548  vec_stvrx(vi, 0, &param_i);7549// CHECK: @llvm.ppc.altivec.lvx7550// CHECK: @llvm.ppc.altivec.lvsl7551// CHECK: store <4 x i32> zeroinitializer7552// CHECK: @llvm.ppc.altivec.vperm7553// CHECK: @llvm.ppc.altivec.lvsr7554// CHECK: @llvm.ppc.altivec.vperm7555// CHECK: @llvm.ppc.altivec.stvx7556// CHECK-LE: @llvm.ppc.altivec.lvx7557// CHECK-LE: @llvm.ppc.altivec.lvsl7558// CHECK-LE: store <4 x i32> zeroinitializer7559// CHECK-LE: @llvm.ppc.altivec.vperm7560// CHECK-LE: @llvm.ppc.altivec.lvsr7561// CHECK-LE: @llvm.ppc.altivec.vperm7562// CHECK-LE: @llvm.ppc.altivec.stvx7563 7564  vec_stvrx(vi, 0, &vi);7565// CHECK: @llvm.ppc.altivec.lvx7566// CHECK: @llvm.ppc.altivec.lvsl7567// CHECK: store <4 x i32> zeroinitializer7568// CHECK: @llvm.ppc.altivec.vperm7569// CHECK: @llvm.ppc.altivec.lvsr7570// CHECK: @llvm.ppc.altivec.vperm7571// CHECK: @llvm.ppc.altivec.stvx7572// CHECK-LE: @llvm.ppc.altivec.lvx7573// CHECK-LE: @llvm.ppc.altivec.lvsl7574// CHECK-LE: store <4 x i32> zeroinitializer7575// CHECK-LE: @llvm.ppc.altivec.vperm7576// CHECK-LE: @llvm.ppc.altivec.lvsr7577// CHECK-LE: @llvm.ppc.altivec.vperm7578// CHECK-LE: @llvm.ppc.altivec.stvx7579 7580  vec_stvrx(vui, 0, &param_ui);7581// CHECK: @llvm.ppc.altivec.lvx7582// CHECK: @llvm.ppc.altivec.lvsl7583// CHECK: store <4 x i32> zeroinitializer7584// CHECK: @llvm.ppc.altivec.vperm7585// CHECK: @llvm.ppc.altivec.lvsr7586// CHECK: @llvm.ppc.altivec.vperm7587// CHECK: @llvm.ppc.altivec.stvx7588// CHECK-LE: @llvm.ppc.altivec.lvx7589// CHECK-LE: @llvm.ppc.altivec.lvsl7590// CHECK-LE: store <4 x i32> zeroinitializer7591// CHECK-LE: @llvm.ppc.altivec.vperm7592// CHECK-LE: @llvm.ppc.altivec.lvsr7593// CHECK-LE: @llvm.ppc.altivec.vperm7594// CHECK-LE: @llvm.ppc.altivec.stvx7595 7596  vec_stvrx(vui, 0, &vui);7597// CHECK: @llvm.ppc.altivec.lvx7598// CHECK: @llvm.ppc.altivec.lvsl7599// CHECK: store <4 x i32> zeroinitializer7600// CHECK: @llvm.ppc.altivec.vperm7601// CHECK: @llvm.ppc.altivec.lvsr7602// CHECK: @llvm.ppc.altivec.vperm7603// CHECK: @llvm.ppc.altivec.stvx7604// CHECK-LE: @llvm.ppc.altivec.lvx7605// CHECK-LE: @llvm.ppc.altivec.lvsl7606// CHECK-LE: store <4 x i32> zeroinitializer7607// CHECK-LE: @llvm.ppc.altivec.vperm7608// CHECK-LE: @llvm.ppc.altivec.lvsr7609// CHECK-LE: @llvm.ppc.altivec.vperm7610// CHECK-LE: @llvm.ppc.altivec.stvx7611 7612  vec_stvrx(vbi, 0, &vbi);7613// CHECK: @llvm.ppc.altivec.lvx7614// CHECK: store <4 x i32> zeroinitializer7615// CHECK: @llvm.ppc.altivec.lvsl7616// CHECK: @llvm.ppc.altivec.vperm7617// CHECK: @llvm.ppc.altivec.lvsr7618// CHECK: @llvm.ppc.altivec.vperm7619// CHECK: @llvm.ppc.altivec.stvx7620// CHECK-LE: @llvm.ppc.altivec.lvx7621// CHECK-LE: store <4 x i32> zeroinitializer7622// CHECK-LE: @llvm.ppc.altivec.lvsl7623// CHECK-LE: @llvm.ppc.altivec.vperm7624// CHECK-LE: @llvm.ppc.altivec.lvsr7625// CHECK-LE: @llvm.ppc.altivec.vperm7626// CHECK-LE: @llvm.ppc.altivec.stvx7627 7628  vec_stvrx(vf, 0, &vf);7629// CHECK: @llvm.ppc.altivec.lvx7630// CHECK: @llvm.ppc.altivec.lvsl7631// CHECK: store <4 x float> zeroinitializer7632// CHECK: @llvm.ppc.altivec.vperm7633// CHECK: @llvm.ppc.altivec.lvsr7634// CHECK: @llvm.ppc.altivec.vperm7635// CHECK: @llvm.ppc.altivec.stvx7636// CHECK-LE: @llvm.ppc.altivec.lvx7637// CHECK-LE: @llvm.ppc.altivec.lvsl7638// CHECK-LE: store <4 x float> zeroinitializer7639// CHECK-LE: @llvm.ppc.altivec.vperm7640// CHECK-LE: @llvm.ppc.altivec.lvsr7641// CHECK-LE: @llvm.ppc.altivec.vperm7642// CHECK-LE: @llvm.ppc.altivec.stvx7643 7644  /* vec_stvrxl */7645  vec_stvrxl(vsc, 0, &param_sc);7646// CHECK: @llvm.ppc.altivec.lvx7647// CHECK: @llvm.ppc.altivec.lvsl7648// CHECK: store <16 x i8> zeroinitializer7649// CHECK: @llvm.ppc.altivec.vperm7650// CHECK: @llvm.ppc.altivec.lvsr7651// CHECK: @llvm.ppc.altivec.vperm7652// CHECK: @llvm.ppc.altivec.stvxl7653// CHECK-LE: @llvm.ppc.altivec.lvx7654// CHECK-LE: @llvm.ppc.altivec.lvsl7655// CHECK-LE: store <16 x i8> zeroinitializer7656// CHECK-LE: @llvm.ppc.altivec.vperm7657// CHECK-LE: @llvm.ppc.altivec.lvsr7658// CHECK-LE: @llvm.ppc.altivec.vperm7659// CHECK-LE: @llvm.ppc.altivec.stvxl7660 7661  vec_stvrxl(vsc, 0, &vsc);7662// CHECK: @llvm.ppc.altivec.lvx7663// CHECK: @llvm.ppc.altivec.lvsl7664// CHECK: store <16 x i8> zeroinitializer7665// CHECK: @llvm.ppc.altivec.vperm7666// CHECK: @llvm.ppc.altivec.lvsr7667// CHECK: @llvm.ppc.altivec.vperm7668// CHECK: @llvm.ppc.altivec.stvxl7669// CHECK-LE: @llvm.ppc.altivec.lvx7670// CHECK-LE: @llvm.ppc.altivec.lvsl7671// CHECK-LE: store <16 x i8> zeroinitializer7672// CHECK-LE: @llvm.ppc.altivec.vperm7673// CHECK-LE: @llvm.ppc.altivec.lvsr7674// CHECK-LE: @llvm.ppc.altivec.vperm7675// CHECK-LE: @llvm.ppc.altivec.stvxl7676 7677  vec_stvrxl(vuc, 0, &param_uc);7678// CHECK: @llvm.ppc.altivec.lvx7679// CHECK: @llvm.ppc.altivec.lvsl7680// CHECK: store <16 x i8> zeroinitializer7681// CHECK: @llvm.ppc.altivec.vperm7682// CHECK: @llvm.ppc.altivec.lvsr7683// CHECK: @llvm.ppc.altivec.vperm7684// CHECK: @llvm.ppc.altivec.stvxl7685// CHECK-LE: @llvm.ppc.altivec.lvx7686// CHECK-LE: @llvm.ppc.altivec.lvsl7687// CHECK-LE: store <16 x i8> zeroinitializer7688// CHECK-LE: @llvm.ppc.altivec.vperm7689// CHECK-LE: @llvm.ppc.altivec.lvsr7690// CHECK-LE: @llvm.ppc.altivec.vperm7691// CHECK-LE: @llvm.ppc.altivec.stvxl7692 7693  vec_stvrxl(vuc, 0, &vuc);7694// CHECK: @llvm.ppc.altivec.lvx7695// CHECK: @llvm.ppc.altivec.lvsl7696// CHECK: store <16 x i8> zeroinitializer7697// CHECK: @llvm.ppc.altivec.vperm7698// CHECK: @llvm.ppc.altivec.lvsr7699// CHECK: @llvm.ppc.altivec.vperm7700// CHECK: @llvm.ppc.altivec.stvxl7701// CHECK-LE: @llvm.ppc.altivec.lvx7702// CHECK-LE: @llvm.ppc.altivec.lvsl7703// CHECK-LE: store <16 x i8> zeroinitializer7704// CHECK-LE: @llvm.ppc.altivec.vperm7705// CHECK-LE: @llvm.ppc.altivec.lvsr7706// CHECK-LE: @llvm.ppc.altivec.vperm7707// CHECK-LE: @llvm.ppc.altivec.stvxl7708 7709  vec_stvrxl(vbc, 0, &vbc);7710// CHECK: @llvm.ppc.altivec.lvx7711// CHECK: store <16 x i8> zeroinitializer7712// CHECK: @llvm.ppc.altivec.lvsl7713// CHECK: @llvm.ppc.altivec.vperm7714// CHECK: @llvm.ppc.altivec.lvsr7715// CHECK: @llvm.ppc.altivec.vperm7716// CHECK: @llvm.ppc.altivec.stvxl7717// CHECK-LE: @llvm.ppc.altivec.lvx7718// CHECK-LE: store <16 x i8> zeroinitializer7719// CHECK-LE: @llvm.ppc.altivec.lvsl7720// CHECK-LE: @llvm.ppc.altivec.vperm7721// CHECK-LE: @llvm.ppc.altivec.lvsr7722// CHECK-LE: @llvm.ppc.altivec.vperm7723// CHECK-LE: @llvm.ppc.altivec.stvxl7724 7725  vec_stvrxl(vs, 0, &param_s);7726// CHECK: @llvm.ppc.altivec.lvx7727// CHECK: @llvm.ppc.altivec.lvsl7728// CHECK: store <8 x i16> zeroinitializer7729// CHECK: @llvm.ppc.altivec.vperm7730// CHECK: @llvm.ppc.altivec.lvsr7731// CHECK: @llvm.ppc.altivec.vperm7732// CHECK: @llvm.ppc.altivec.stvxl7733// CHECK-LE: @llvm.ppc.altivec.lvx7734// CHECK-LE: @llvm.ppc.altivec.lvsl7735// CHECK-LE: store <8 x i16> zeroinitializer7736// CHECK-LE: @llvm.ppc.altivec.vperm7737// CHECK-LE: @llvm.ppc.altivec.lvsr7738// CHECK-LE: @llvm.ppc.altivec.vperm7739// CHECK-LE: @llvm.ppc.altivec.stvxl7740 7741  vec_stvrxl(vs, 0, &vs);7742// CHECK: @llvm.ppc.altivec.lvx7743// CHECK: @llvm.ppc.altivec.lvsl7744// CHECK: store <8 x i16> zeroinitializer7745// CHECK: @llvm.ppc.altivec.vperm7746// CHECK: @llvm.ppc.altivec.lvsr7747// CHECK: @llvm.ppc.altivec.vperm7748// CHECK: @llvm.ppc.altivec.stvxl7749// CHECK-LE: @llvm.ppc.altivec.lvx7750// CHECK-LE: @llvm.ppc.altivec.lvsl7751// CHECK-LE: store <8 x i16> zeroinitializer7752// CHECK-LE: @llvm.ppc.altivec.vperm7753// CHECK-LE: @llvm.ppc.altivec.lvsr7754// CHECK-LE: @llvm.ppc.altivec.vperm7755// CHECK-LE: @llvm.ppc.altivec.stvxl7756 7757  vec_stvrxl(vus, 0, &param_us);7758// CHECK: @llvm.ppc.altivec.lvx7759// CHECK: @llvm.ppc.altivec.lvsl7760// CHECK: store <8 x i16> zeroinitializer7761// CHECK: @llvm.ppc.altivec.vperm7762// CHECK: @llvm.ppc.altivec.lvsr7763// CHECK: @llvm.ppc.altivec.vperm7764// CHECK: @llvm.ppc.altivec.stvxl7765// CHECK-LE: @llvm.ppc.altivec.lvx7766// CHECK-LE: @llvm.ppc.altivec.lvsl7767// CHECK-LE: store <8 x i16> zeroinitializer7768// CHECK-LE: @llvm.ppc.altivec.vperm7769// CHECK-LE: @llvm.ppc.altivec.lvsr7770// CHECK-LE: @llvm.ppc.altivec.vperm7771// CHECK-LE: @llvm.ppc.altivec.stvxl7772 7773  vec_stvrxl(vus, 0, &vus);7774// CHECK: @llvm.ppc.altivec.lvx7775// CHECK: @llvm.ppc.altivec.lvsl7776// CHECK: store <8 x i16> zeroinitializer7777// CHECK: @llvm.ppc.altivec.vperm7778// CHECK: @llvm.ppc.altivec.lvsr7779// CHECK: @llvm.ppc.altivec.vperm7780// CHECK: @llvm.ppc.altivec.stvxl7781// CHECK-LE: @llvm.ppc.altivec.lvx7782// CHECK-LE: @llvm.ppc.altivec.lvsl7783// CHECK-LE: store <8 x i16> zeroinitializer7784// CHECK-LE: @llvm.ppc.altivec.vperm7785// CHECK-LE: @llvm.ppc.altivec.lvsr7786// CHECK-LE: @llvm.ppc.altivec.vperm7787// CHECK-LE: @llvm.ppc.altivec.stvxl7788 7789  vec_stvrxl(vbs, 0, &vbs);7790// CHECK: @llvm.ppc.altivec.lvx7791// CHECK: store <8 x i16> zeroinitializer7792// CHECK: @llvm.ppc.altivec.lvsl7793// CHECK: @llvm.ppc.altivec.vperm7794// CHECK: @llvm.ppc.altivec.lvsr7795// CHECK: @llvm.ppc.altivec.vperm7796// CHECK: @llvm.ppc.altivec.stvxl7797// CHECK-LE: @llvm.ppc.altivec.lvx7798// CHECK-LE: store <8 x i16> zeroinitializer7799// CHECK-LE: @llvm.ppc.altivec.lvsl7800// CHECK-LE: @llvm.ppc.altivec.vperm7801// CHECK-LE: @llvm.ppc.altivec.lvsr7802// CHECK-LE: @llvm.ppc.altivec.vperm7803// CHECK-LE: @llvm.ppc.altivec.stvxl7804 7805  vec_stvrxl(vp, 0, &vp);7806// CHECK: @llvm.ppc.altivec.lvx7807// CHECK: store <8 x i16> zeroinitializer7808// CHECK: @llvm.ppc.altivec.lvsl7809// CHECK: @llvm.ppc.altivec.vperm7810// CHECK: @llvm.ppc.altivec.lvsr7811// CHECK: @llvm.ppc.altivec.vperm7812// CHECK: @llvm.ppc.altivec.stvxl7813// CHECK-LE: @llvm.ppc.altivec.lvx7814// CHECK-LE: store <8 x i16> zeroinitializer7815// CHECK-LE: @llvm.ppc.altivec.lvsl7816// CHECK-LE: @llvm.ppc.altivec.vperm7817// CHECK-LE: @llvm.ppc.altivec.lvsr7818// CHECK-LE: @llvm.ppc.altivec.vperm7819// CHECK-LE: @llvm.ppc.altivec.stvxl7820 7821  vec_stvrxl(vi, 0, &param_i);7822// CHECK: @llvm.ppc.altivec.lvx7823// CHECK: @llvm.ppc.altivec.lvsl7824// CHECK: store <4 x i32> zeroinitializer7825// CHECK: @llvm.ppc.altivec.vperm7826// CHECK: @llvm.ppc.altivec.lvsr7827// CHECK: @llvm.ppc.altivec.vperm7828// CHECK: @llvm.ppc.altivec.stvxl7829// CHECK-LE: @llvm.ppc.altivec.lvx7830// CHECK-LE: @llvm.ppc.altivec.lvsl7831// CHECK-LE: store <4 x i32> zeroinitializer7832// CHECK-LE: @llvm.ppc.altivec.vperm7833// CHECK-LE: @llvm.ppc.altivec.lvsr7834// CHECK-LE: @llvm.ppc.altivec.vperm7835// CHECK-LE: @llvm.ppc.altivec.stvxl7836 7837  vec_stvrxl(vi, 0, &vi);7838// CHECK: @llvm.ppc.altivec.lvx7839// CHECK: @llvm.ppc.altivec.lvsl7840// CHECK: store <4 x i32> zeroinitializer7841// CHECK: @llvm.ppc.altivec.vperm7842// CHECK: @llvm.ppc.altivec.lvsr7843// CHECK: @llvm.ppc.altivec.vperm7844// CHECK: @llvm.ppc.altivec.stvxl7845// CHECK-LE: @llvm.ppc.altivec.lvx7846// CHECK-LE: @llvm.ppc.altivec.lvsl7847// CHECK-LE: store <4 x i32> zeroinitializer7848// CHECK-LE: @llvm.ppc.altivec.vperm7849// CHECK-LE: @llvm.ppc.altivec.lvsr7850// CHECK-LE: @llvm.ppc.altivec.vperm7851// CHECK-LE: @llvm.ppc.altivec.stvxl7852 7853  vec_stvrxl(vui, 0, &param_ui);7854// CHECK: @llvm.ppc.altivec.lvx7855// CHECK: @llvm.ppc.altivec.lvsl7856// CHECK: store <4 x i32> zeroinitializer7857// CHECK: @llvm.ppc.altivec.vperm7858// CHECK: @llvm.ppc.altivec.lvsr7859// CHECK: @llvm.ppc.altivec.vperm7860// CHECK: @llvm.ppc.altivec.stvxl7861// CHECK-LE: @llvm.ppc.altivec.lvx7862// CHECK-LE: @llvm.ppc.altivec.lvsl7863// CHECK-LE: store <4 x i32> zeroinitializer7864// CHECK-LE: @llvm.ppc.altivec.vperm7865// CHECK-LE: @llvm.ppc.altivec.lvsr7866// CHECK-LE: @llvm.ppc.altivec.vperm7867// CHECK-LE: @llvm.ppc.altivec.stvxl7868 7869  vec_stvrxl(vui, 0, &vui);7870// CHECK: @llvm.ppc.altivec.lvx7871// CHECK: @llvm.ppc.altivec.lvsl7872// CHECK: store <4 x i32> zeroinitializer7873// CHECK: @llvm.ppc.altivec.vperm7874// CHECK: @llvm.ppc.altivec.lvsr7875// CHECK: @llvm.ppc.altivec.vperm7876// CHECK: @llvm.ppc.altivec.stvxl7877// CHECK-LE: @llvm.ppc.altivec.lvx7878// CHECK-LE: @llvm.ppc.altivec.lvsl7879// CHECK-LE: store <4 x i32> zeroinitializer7880// CHECK-LE: @llvm.ppc.altivec.vperm7881// CHECK-LE: @llvm.ppc.altivec.lvsr7882// CHECK-LE: @llvm.ppc.altivec.vperm7883// CHECK-LE: @llvm.ppc.altivec.stvxl7884 7885  vec_stvrxl(vbi, 0, &vbi);7886// CHECK: @llvm.ppc.altivec.lvx7887// CHECK: store <4 x i32> zeroinitializer7888// CHECK: @llvm.ppc.altivec.lvsl7889// CHECK: @llvm.ppc.altivec.vperm7890// CHECK: @llvm.ppc.altivec.lvsr7891// CHECK: @llvm.ppc.altivec.vperm7892// CHECK: @llvm.ppc.altivec.stvxl7893// CHECK-LE: @llvm.ppc.altivec.lvx7894// CHECK-LE: store <4 x i32> zeroinitializer7895// CHECK-LE: @llvm.ppc.altivec.lvsl7896// CHECK-LE: @llvm.ppc.altivec.vperm7897// CHECK-LE: @llvm.ppc.altivec.lvsr7898// CHECK-LE: @llvm.ppc.altivec.vperm7899// CHECK-LE: @llvm.ppc.altivec.stvxl7900 7901  vec_stvrxl(vf, 0, &vf);7902// CHECK: @llvm.ppc.altivec.lvx7903// CHECK: @llvm.ppc.altivec.lvsl7904// CHECK: store <4 x float> zeroinitializer7905// CHECK: @llvm.ppc.altivec.vperm7906// CHECK: @llvm.ppc.altivec.lvsr7907// CHECK: @llvm.ppc.altivec.vperm7908// CHECK: @llvm.ppc.altivec.stvxl7909// CHECK-LE: @llvm.ppc.altivec.lvx7910// CHECK-LE: @llvm.ppc.altivec.lvsl7911// CHECK-LE: store <4 x float> zeroinitializer7912// CHECK-LE: @llvm.ppc.altivec.vperm7913// CHECK-LE: @llvm.ppc.altivec.lvsr7914// CHECK-LE: @llvm.ppc.altivec.vperm7915// CHECK-LE: @llvm.ppc.altivec.stvxl7916 7917  /* vec_promote */7918  res_vsc = vec_promote(param_sc, 0);7919// CHECK: store <16 x i8> zeroinitializer7920// CHECK: insertelement <16 x i8>7921// CHECK-LE: store <16 x i8> zeroinitializer7922// CHECK-LE: insertelement <16 x i8>7923 7924  res_vuc = vec_promote(param_uc, 0);7925// CHECK: store <16 x i8> zeroinitializer7926// CHECK: insertelement <16 x i8>7927// CHECK-LE: store <16 x i8> zeroinitializer7928// CHECK-LE: insertelement <16 x i8>7929 7930  res_vs  = vec_promote(param_s, 0);7931// CHECK: store <8 x i16> zeroinitializer7932// CHECK: insertelement <8 x i16>7933// CHECK-LE: store <8 x i16> zeroinitializer7934// CHECK-LE: insertelement <8 x i16>7935 7936  res_vus = vec_promote(param_us, 0);7937// CHECK: store <8 x i16> zeroinitializer7938// CHECK: insertelement <8 x i16>7939// CHECK-LE: store <8 x i16> zeroinitializer7940// CHECK-LE: insertelement <8 x i16>7941 7942  res_vi  = vec_promote(param_i, 0);7943// CHECK: store <4 x i32> zeroinitializer7944// CHECK: insertelement <4 x i32>7945// CHECK-LE: store <4 x i32> zeroinitializer7946// CHECK-LE: insertelement <4 x i32>7947 7948  res_vui = vec_promote(param_ui, 0);7949// CHECK: store <4 x i32> zeroinitializer7950// CHECK: insertelement <4 x i32>7951// CHECK-LE: store <4 x i32> zeroinitializer7952// CHECK-LE: insertelement <4 x i32>7953 7954  res_vf  = vec_promote(param_f, 0);7955// CHECK: store <4 x float> zeroinitializer7956// CHECK: insertelement <4 x float>7957// CHECK-LE: store <4 x float> zeroinitializer7958// CHECK-LE: insertelement <4 x float>7959 7960  /* vec_splats */7961  res_vsc = vec_splats(param_sc);7962// CHECK: insertelement <16 x i8>7963// CHECK-LE: insertelement <16 x i8>7964 7965  res_vuc = vec_splats(param_uc);7966// CHECK: insertelement <16 x i8>7967// CHECK-LE: insertelement <16 x i8>7968 7969  res_vs  = vec_splats(param_s);7970// CHECK: insertelement <8 x i16>7971// CHECK-LE: insertelement <8 x i16>7972 7973  res_vus = vec_splats(param_us);7974// CHECK: insertelement <8 x i16>7975// CHECK-LE: insertelement <8 x i16>7976 7977  res_vi  = vec_splats(param_i);7978// CHECK: insertelement <4 x i32>7979// CHECK-LE: insertelement <4 x i32>7980 7981  res_vui = vec_splats(param_ui);7982// CHECK: insertelement <4 x i32>7983// CHECK-LE: insertelement <4 x i32>7984 7985  res_vf  = vec_splats(param_f);7986// CHECK: insertelement <4 x float>7987// CHECK-LE: insertelement <4 x float>7988 7989  /* ------------------------------ predicates -------------------------------------- */7990 7991  /* vec_all_eq */7992  res_i = vec_all_eq(vsc, vsc);7993// CHECK: @llvm.ppc.altivec.vcmpequb.p7994// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p7995 7996  res_i = vec_all_eq(vsc, vbc);7997// CHECK: @llvm.ppc.altivec.vcmpequb.p7998// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p7999 8000  res_i = vec_all_eq(vuc, vuc);8001// CHECK: @llvm.ppc.altivec.vcmpequb.p8002// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8003 8004  res_i = vec_all_eq(vuc, vbc);8005// CHECK: @llvm.ppc.altivec.vcmpequb.p8006// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8007 8008  res_i = vec_all_eq(vbc, vsc);8009// CHECK: @llvm.ppc.altivec.vcmpequb.p8010// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8011 8012  res_i = vec_all_eq(vbc, vuc);8013// CHECK: @llvm.ppc.altivec.vcmpequb.p8014// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8015 8016  res_i = vec_all_eq(vbc, vbc);8017// CHECK: @llvm.ppc.altivec.vcmpequb.p8018// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8019 8020  res_i = vec_all_eq(vs, vs);8021// CHECK: @llvm.ppc.altivec.vcmpequh.p8022// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8023 8024  res_i = vec_all_eq(vs, vbs);8025// CHECK: @llvm.ppc.altivec.vcmpequh.p8026// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8027 8028  res_i = vec_all_eq(vus, vus);8029// CHECK: @llvm.ppc.altivec.vcmpequh.p8030// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8031 8032  res_i = vec_all_eq(vus, vbs);8033// CHECK: @llvm.ppc.altivec.vcmpequh.p8034// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8035 8036  res_i = vec_all_eq(vbs, vs);8037// CHECK: @llvm.ppc.altivec.vcmpequh.p8038// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8039 8040  res_i = vec_all_eq(vbs, vus);8041// CHECK: @llvm.ppc.altivec.vcmpequh.p8042// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8043 8044  res_i = vec_all_eq(vbs, vbs);8045// CHECK: @llvm.ppc.altivec.vcmpequh.p8046// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8047 8048  res_i = vec_all_eq(vp, vp);8049// CHECK: @llvm.ppc.altivec.vcmpequh.p8050// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8051 8052  res_i = vec_all_eq(vi, vi);8053// CHECK: @llvm.ppc.altivec.vcmpequw.p8054// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8055 8056  res_i = vec_all_eq(vi, vbi);8057// CHECK: @llvm.ppc.altivec.vcmpequw.p8058// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8059 8060  res_i = vec_all_eq(vui, vui);8061// CHECK: @llvm.ppc.altivec.vcmpequw.p8062// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8063 8064  res_i = vec_all_eq(vui, vbi);8065// CHECK: @llvm.ppc.altivec.vcmpequw.p8066// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8067 8068  res_i = vec_all_eq(vbi, vi);8069// CHECK: @llvm.ppc.altivec.vcmpequw.p8070// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8071 8072  res_i = vec_all_eq(vbi, vui);8073// CHECK: @llvm.ppc.altivec.vcmpequw.p8074// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8075 8076  res_i = vec_all_eq(vbi, vbi);8077// CHECK: @llvm.ppc.altivec.vcmpequw.p8078// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8079 8080  res_i = vec_all_eq(vf, vf);8081// CHECK: @llvm.ppc.altivec.vcmpeqfp.p8082// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p8083 8084  /* vec_all_ge */8085  res_i = vec_all_ge(vsc, vsc);8086// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8087// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8088 8089  res_i = vec_all_ge(vsc, vbc);8090// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8091// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8092 8093  res_i = vec_all_ge(vuc, vuc);8094// CHECK: @llvm.ppc.altivec.vcmpgtub.p8095// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8096 8097  res_i = vec_all_ge(vuc, vbc);8098// CHECK: @llvm.ppc.altivec.vcmpgtub.p8099// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8100 8101  res_i = vec_all_ge(vbc, vsc);8102// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8103// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8104 8105  res_i = vec_all_ge(vbc, vuc);8106// CHECK: @llvm.ppc.altivec.vcmpgtub.p8107// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8108 8109  res_i = vec_all_ge(vbc, vbc);8110// CHECK: @llvm.ppc.altivec.vcmpgtub.p8111// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8112 8113  res_i = vec_all_ge(vs, vs);8114// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8115// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8116 8117  res_i = vec_all_ge(vs, vbs);8118// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8119// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8120 8121  res_i = vec_all_ge(vus, vus);8122// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8123// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8124 8125  res_i = vec_all_ge(vus, vbs);8126// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8127// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8128 8129  res_i = vec_all_ge(vbs, vs);8130// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8131// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8132 8133  res_i = vec_all_ge(vbs, vus);8134// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8135// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8136 8137  res_i = vec_all_ge(vbs, vbs);8138// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8139// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8140 8141  res_i = vec_all_ge(vi, vi);8142// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8143// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8144 8145  res_i = vec_all_ge(vi, vbi);8146// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8147// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8148 8149  res_i = vec_all_ge(vui, vui);8150// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8151// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8152 8153  res_i = vec_all_ge(vui, vbi);8154// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8155// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8156 8157  res_i = vec_all_ge(vbi, vi);8158// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8159// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8160 8161  res_i = vec_all_ge(vbi, vui);8162// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8163// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8164 8165  res_i = vec_all_ge(vbi, vbi);8166// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8167// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8168 8169  res_i = vec_all_ge(vf, vf);8170// CHECK: @llvm.ppc.altivec.vcmpgefp.p8171// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p8172 8173  /* vec_all_gt */8174  res_i = vec_all_gt(vsc, vsc);8175// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8176// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8177 8178  res_i = vec_all_gt(vsc, vbc);8179// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8180// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8181 8182  res_i = vec_all_gt(vuc, vuc);8183// CHECK: @llvm.ppc.altivec.vcmpgtub.p8184// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8185 8186  res_i = vec_all_gt(vuc, vbc);8187// CHECK: @llvm.ppc.altivec.vcmpgtub.p8188// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8189 8190  res_i = vec_all_gt(vbc, vsc);8191// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8192// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8193 8194  res_i = vec_all_gt(vbc, vuc);8195// CHECK: @llvm.ppc.altivec.vcmpgtub.p8196// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8197 8198  res_i = vec_all_gt(vbc, vbc);8199// CHECK: @llvm.ppc.altivec.vcmpgtub.p8200// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8201 8202  res_i = vec_all_gt(vs, vs);8203// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8204// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8205 8206  res_i = vec_all_gt(vs, vbs);8207// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8208// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8209 8210  res_i = vec_all_gt(vus, vus);8211// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8212// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8213 8214  res_i = vec_all_gt(vus, vbs);8215// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8216// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8217 8218  res_i = vec_all_gt(vbs, vs);8219// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8220// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8221 8222  res_i = vec_all_gt(vbs, vus);8223// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8224// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8225 8226  res_i = vec_all_gt(vbs, vbs);8227// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8228// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8229 8230  res_i = vec_all_gt(vi, vi);8231// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8232// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8233 8234  res_i = vec_all_gt(vi, vbi);8235// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8236// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8237 8238  res_i = vec_all_gt(vui, vui);8239// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8240// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8241 8242  res_i = vec_all_gt(vui, vbi);8243// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8244// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8245 8246  res_i = vec_all_gt(vbi, vi);8247// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8248// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8249 8250  res_i = vec_all_gt(vbi, vui);8251// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8252// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8253 8254  res_i = vec_all_gt(vbi, vbi);8255// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8256// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8257 8258  res_i = vec_all_gt(vf, vf);8259// CHECK: @llvm.ppc.altivec.vcmpgtfp.p8260// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p8261 8262  /* vec_all_in */8263  res_i = vec_all_in(vf, vf);8264// CHECK: @llvm.ppc.altivec.vcmpbfp.p8265// CHECK-LE: @llvm.ppc.altivec.vcmpbfp.p8266 8267  /* vec_all_le */8268  res_i = vec_all_le(vsc, vsc);8269// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8270// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8271 8272  res_i = vec_all_le(vsc, vbc);8273// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8274// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8275 8276  res_i = vec_all_le(vuc, vuc);8277// CHECK: @llvm.ppc.altivec.vcmpgtub.p8278// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8279 8280  res_i = vec_all_le(vuc, vbc);8281// CHECK: @llvm.ppc.altivec.vcmpgtub.p8282// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8283 8284  res_i = vec_all_le(vbc, vsc);8285// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8286// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8287 8288  res_i = vec_all_le(vbc, vuc);8289// CHECK: @llvm.ppc.altivec.vcmpgtub.p8290// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8291 8292  res_i = vec_all_le(vbc, vbc);8293// CHECK: @llvm.ppc.altivec.vcmpgtub.p8294// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8295 8296  res_i = vec_all_le(vs, vs);8297// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8298// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8299 8300  res_i = vec_all_le(vs, vbs);8301// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8302// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8303 8304  res_i = vec_all_le(vus, vus);8305// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8306// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8307 8308  res_i = vec_all_le(vus, vbs);8309// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8310// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8311 8312  res_i = vec_all_le(vbs, vs);8313// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8314// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8315 8316  res_i = vec_all_le(vbs, vus);8317// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8318// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8319 8320  res_i = vec_all_le(vbs, vbs);8321// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8322// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8323 8324  res_i = vec_all_le(vi, vi);8325// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8326// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8327 8328  res_i = vec_all_le(vi, vbi);8329// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8330// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8331 8332  res_i = vec_all_le(vui, vui);8333// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8334// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8335 8336  res_i = vec_all_le(vui, vbi);8337// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8338// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8339 8340  res_i = vec_all_le(vbi, vi);8341// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8342// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8343 8344  res_i = vec_all_le(vbi, vui);8345// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8346// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8347 8348  res_i = vec_all_le(vbi, vbi);8349// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8350// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8351 8352  res_i = vec_all_le(vf, vf);8353// CHECK: @llvm.ppc.altivec.vcmpgefp.p8354// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p8355 8356  /* vec_all_lt */8357  res_i = vec_all_lt(vsc, vsc);8358// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8359// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8360 8361  res_i = vec_all_lt(vsc, vbc);8362// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8363// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8364 8365  res_i = vec_all_lt(vuc, vuc);8366// CHECK: @llvm.ppc.altivec.vcmpgtub.p8367// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8368 8369  res_i = vec_all_lt(vuc, vbc);8370// CHECK: @llvm.ppc.altivec.vcmpgtub.p8371// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8372 8373  res_i = vec_all_lt(vbc, vsc);8374// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8375// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8376 8377  res_i = vec_all_lt(vbc, vuc);8378// CHECK: @llvm.ppc.altivec.vcmpgtub.p8379// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8380 8381  res_i = vec_all_lt(vbc, vbc);8382// CHECK: @llvm.ppc.altivec.vcmpgtub.p8383// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8384 8385  res_i = vec_all_lt(vs, vs);8386// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8387// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8388 8389  res_i = vec_all_lt(vs, vbs);8390// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8391// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8392 8393  res_i = vec_all_lt(vus, vus);8394// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8395// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8396 8397  res_i = vec_all_lt(vus, vbs);8398// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8399// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8400 8401  res_i = vec_all_lt(vbs, vs);8402// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8403// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8404 8405  res_i = vec_all_lt(vbs, vus);8406// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8407// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8408 8409  res_i = vec_all_lt(vbs, vbs);8410// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8411// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8412 8413  res_i = vec_all_lt(vi, vi);8414// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8415// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8416 8417  res_i = vec_all_lt(vi, vbi);8418// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8419// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8420 8421  res_i = vec_all_lt(vui, vui);8422// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8423// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8424 8425  res_i = vec_all_lt(vui, vbi);8426// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8427// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8428 8429  res_i = vec_all_lt(vbi, vi);8430// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8431// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8432 8433  res_i = vec_all_lt(vbi, vui);8434// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8435// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8436 8437  res_i = vec_all_lt(vbi, vbi);8438// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8439// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8440 8441  res_i = vec_all_lt(vf, vf);8442// CHECK: @llvm.ppc.altivec.vcmpgtfp.p8443// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p8444 8445  /* vec_all_nan */8446  res_i = vec_all_nan(vf);8447// CHECK: @llvm.ppc.altivec.vcmpeqfp.p8448// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p8449 8450  /*  vec_all_ne */8451  res_i = vec_all_ne(vsc, vsc);8452// CHECK: @llvm.ppc.altivec.vcmpequb.p8453// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8454 8455  res_i = vec_all_ne(vsc, vbc);8456// CHECK: @llvm.ppc.altivec.vcmpequb.p8457// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8458 8459  res_i = vec_all_ne(vuc, vuc);8460// CHECK: @llvm.ppc.altivec.vcmpequb.p8461// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8462 8463  res_i = vec_all_ne(vuc, vbc);8464// CHECK: @llvm.ppc.altivec.vcmpequb.p8465// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8466 8467  res_i = vec_all_ne(vbc, vsc);8468// CHECK: @llvm.ppc.altivec.vcmpequb.p8469// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8470 8471  res_i = vec_all_ne(vbc, vuc);8472// CHECK: @llvm.ppc.altivec.vcmpequb.p8473// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8474 8475  res_i = vec_all_ne(vbc, vbc);8476// CHECK: @llvm.ppc.altivec.vcmpequb.p8477// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8478 8479  res_i = vec_all_ne(vs, vs);8480// CHECK: @llvm.ppc.altivec.vcmpequh.p8481// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8482 8483  res_i = vec_all_ne(vs, vbs);8484// CHECK: @llvm.ppc.altivec.vcmpequh.p8485// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8486 8487  res_i = vec_all_ne(vus, vus);8488// CHECK: @llvm.ppc.altivec.vcmpequh.p8489// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8490 8491  res_i = vec_all_ne(vus, vbs);8492// CHECK: @llvm.ppc.altivec.vcmpequh.p8493// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8494 8495  res_i = vec_all_ne(vbs, vs);8496// CHECK: @llvm.ppc.altivec.vcmpequh.p8497// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8498 8499  res_i = vec_all_ne(vbs, vus);8500// CHECK: @llvm.ppc.altivec.vcmpequh.p8501// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8502 8503  res_i = vec_all_ne(vbs, vbs);8504// CHECK: @llvm.ppc.altivec.vcmpequh.p8505// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8506 8507  res_i = vec_all_ne(vp, vp);8508// CHECK: @llvm.ppc.altivec.vcmpequh.p8509// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8510 8511  res_i = vec_all_ne(vi, vi);8512// CHECK: @llvm.ppc.altivec.vcmpequw.p8513// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8514 8515  res_i = vec_all_ne(vi, vbi);8516// CHECK: @llvm.ppc.altivec.vcmpequw.p8517// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8518 8519  res_i = vec_all_ne(vui, vui);8520// CHECK: @llvm.ppc.altivec.vcmpequw.p8521// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8522 8523  res_i = vec_all_ne(vui, vbi);8524// CHECK: @llvm.ppc.altivec.vcmpequw.p8525// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8526 8527  res_i = vec_all_ne(vbi, vi);8528// CHECK: @llvm.ppc.altivec.vcmpequw.p8529// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8530 8531  res_i = vec_all_ne(vbi, vui);8532// CHECK: @llvm.ppc.altivec.vcmpequw.p8533// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8534 8535  res_i = vec_all_ne(vbi, vbi);8536// CHECK: @llvm.ppc.altivec.vcmpequw.p8537// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8538 8539  res_i = vec_all_ne(vf, vf);8540// CHECK: @llvm.ppc.altivec.vcmpeqfp.p8541// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p8542 8543  /* vec_all_nge */8544  res_i = vec_all_nge(vf, vf);8545// CHECK: @llvm.ppc.altivec.vcmpgefp.p8546// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p8547 8548  /* vec_all_ngt */8549  res_i = vec_all_ngt(vf, vf);8550// CHECK: @llvm.ppc.altivec.vcmpgtfp.p8551// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p8552 8553  /* vec_all_nle */8554  res_i = vec_all_nle(vf, vf);8555// CHECK: @llvm.ppc.altivec.vcmpgefp.p8556// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p8557 8558  /* vec_all_nlt */8559  res_i = vec_all_nlt(vf, vf);8560// CHECK: @llvm.ppc.altivec.vcmpgtfp.p8561// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p8562 8563  /* vec_all_numeric */8564  res_i = vec_all_numeric(vf);8565// CHECK: @llvm.ppc.altivec.vcmpeqfp.p8566// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p8567 8568  /*  vec_any_eq */8569  res_i = vec_any_eq(vsc, vsc);8570// CHECK: @llvm.ppc.altivec.vcmpequb.p8571// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8572 8573  res_i = vec_any_eq(vsc, vbc);8574// CHECK: @llvm.ppc.altivec.vcmpequb.p8575// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8576 8577  res_i = vec_any_eq(vuc, vuc);8578// CHECK: @llvm.ppc.altivec.vcmpequb.p8579// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8580 8581  res_i = vec_any_eq(vuc, vbc);8582// CHECK: @llvm.ppc.altivec.vcmpequb.p8583// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8584 8585  res_i = vec_any_eq(vbc, vsc);8586// CHECK: @llvm.ppc.altivec.vcmpequb.p8587// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8588 8589  res_i = vec_any_eq(vbc, vuc);8590// CHECK: @llvm.ppc.altivec.vcmpequb.p8591// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8592 8593  res_i = vec_any_eq(vbc, vbc);8594// CHECK: @llvm.ppc.altivec.vcmpequb.p8595// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p8596 8597  res_i = vec_any_eq(vs, vs);8598// CHECK: @llvm.ppc.altivec.vcmpequh.p8599// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8600 8601  res_i = vec_any_eq(vs, vbs);8602// CHECK: @llvm.ppc.altivec.vcmpequh.p8603// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8604 8605  res_i = vec_any_eq(vus, vus);8606// CHECK: @llvm.ppc.altivec.vcmpequh.p8607// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8608 8609  res_i = vec_any_eq(vus, vbs);8610// CHECK: @llvm.ppc.altivec.vcmpequh.p8611// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8612 8613  res_i = vec_any_eq(vbs, vs);8614// CHECK: @llvm.ppc.altivec.vcmpequh.p8615// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8616 8617  res_i = vec_any_eq(vbs, vus);8618// CHECK: @llvm.ppc.altivec.vcmpequh.p8619// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8620 8621  res_i = vec_any_eq(vbs, vbs);8622// CHECK: @llvm.ppc.altivec.vcmpequh.p8623// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8624 8625  res_i = vec_any_eq(vp, vp);8626// CHECK: @llvm.ppc.altivec.vcmpequh.p8627// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p8628 8629  res_i = vec_any_eq(vi, vi);8630// CHECK: @llvm.ppc.altivec.vcmpequw.p8631// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8632 8633  res_i = vec_any_eq(vi, vbi);8634// CHECK: @llvm.ppc.altivec.vcmpequw.p8635// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8636 8637  res_i = vec_any_eq(vui, vui);8638// CHECK: @llvm.ppc.altivec.vcmpequw.p8639// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8640 8641  res_i = vec_any_eq(vui, vbi);8642// CHECK: @llvm.ppc.altivec.vcmpequw.p8643// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8644 8645  res_i = vec_any_eq(vbi, vi);8646// CHECK: @llvm.ppc.altivec.vcmpequw.p8647// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8648 8649  res_i = vec_any_eq(vbi, vui);8650// CHECK: @llvm.ppc.altivec.vcmpequw.p8651// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8652 8653  res_i = vec_any_eq(vbi, vbi);8654// CHECK: @llvm.ppc.altivec.vcmpequw.p8655// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p8656 8657  res_i = vec_any_eq(vf, vf);8658// CHECK: @llvm.ppc.altivec.vcmpeqfp.p8659// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p8660 8661  /* vec_any_ge */8662  res_i = vec_any_ge(vsc, vsc);8663// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8664// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8665 8666  res_i = vec_any_ge(vsc, vbc);8667// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8668// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8669 8670  res_i = vec_any_ge(vuc, vuc);8671// CHECK: @llvm.ppc.altivec.vcmpgtub.p8672// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8673 8674  res_i = vec_any_ge(vuc, vbc);8675// CHECK: @llvm.ppc.altivec.vcmpgtub.p8676// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8677 8678  res_i = vec_any_ge(vbc, vsc);8679// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8680// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8681 8682  res_i = vec_any_ge(vbc, vuc);8683// CHECK: @llvm.ppc.altivec.vcmpgtub.p8684// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8685 8686  res_i = vec_any_ge(vbc, vbc);8687// CHECK: @llvm.ppc.altivec.vcmpgtub.p8688// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8689 8690  res_i = vec_any_ge(vs, vs);8691// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8692// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8693 8694  res_i = vec_any_ge(vs, vbs);8695// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8696// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8697 8698  res_i = vec_any_ge(vus, vus);8699// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8700// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8701 8702  res_i = vec_any_ge(vus, vbs);8703// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8704// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8705 8706  res_i = vec_any_ge(vbs, vs);8707// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8708// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8709 8710  res_i = vec_any_ge(vbs, vus);8711// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8712// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8713 8714  res_i = vec_any_ge(vbs, vbs);8715// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8716// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8717 8718  res_i = vec_any_ge(vi, vi);8719// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8720// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8721 8722  res_i = vec_any_ge(vi, vbi);8723// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8724// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8725 8726  res_i = vec_any_ge(vui, vui);8727// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8728// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8729 8730  res_i = vec_any_ge(vui, vbi);8731// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8732// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8733 8734  res_i = vec_any_ge(vbi, vi);8735// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8736// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8737 8738  res_i = vec_any_ge(vbi, vui);8739// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8740// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8741 8742  res_i = vec_any_ge(vbi, vbi);8743// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8744// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8745 8746  res_i = vec_any_ge(vf, vf);8747// CHECK: @llvm.ppc.altivec.vcmpgefp.p8748// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p8749 8750  /* vec_any_gt */8751  res_i = vec_any_gt(vsc, vsc);8752// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8753// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8754 8755  res_i = vec_any_gt(vsc, vbc);8756// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8757// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8758 8759  res_i = vec_any_gt(vuc, vuc);8760// CHECK: @llvm.ppc.altivec.vcmpgtub.p8761// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8762 8763  res_i = vec_any_gt(vuc, vbc);8764// CHECK: @llvm.ppc.altivec.vcmpgtub.p8765// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8766 8767  res_i = vec_any_gt(vbc, vsc);8768// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8769// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8770 8771  res_i = vec_any_gt(vbc, vuc);8772// CHECK: @llvm.ppc.altivec.vcmpgtub.p8773// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8774 8775  res_i = vec_any_gt(vbc, vbc);8776// CHECK: @llvm.ppc.altivec.vcmpgtub.p8777// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8778 8779  res_i = vec_any_gt(vs, vs);8780// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8781// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8782 8783  res_i = vec_any_gt(vs, vbs);8784// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8785// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8786 8787  res_i = vec_any_gt(vus, vus);8788// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8789// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8790 8791  res_i = vec_any_gt(vus, vbs);8792// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8793// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8794 8795  res_i = vec_any_gt(vbs, vs);8796// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8797// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8798 8799  res_i = vec_any_gt(vbs, vus);8800// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8801// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8802 8803  res_i = vec_any_gt(vbs, vbs);8804// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8805// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8806 8807  res_i = vec_any_gt(vi, vi);8808// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8809// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8810 8811  res_i = vec_any_gt(vi, vbi);8812// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8813// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8814 8815  res_i = vec_any_gt(vui, vui);8816// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8817// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8818 8819  res_i = vec_any_gt(vui, vbi);8820// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8821// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8822 8823  res_i = vec_any_gt(vbi, vi);8824// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8825// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8826 8827  res_i = vec_any_gt(vbi, vui);8828// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8829// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8830 8831  res_i = vec_any_gt(vbi, vbi);8832// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8833// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8834 8835  res_i = vec_any_gt(vf, vf);8836// CHECK: @llvm.ppc.altivec.vcmpgtfp.p8837// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p8838 8839  /* vec_any_le */8840  res_i = vec_any_le(vsc, vsc);8841// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8842// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8843 8844  res_i = vec_any_le(vsc, vbc);8845// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8846// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8847 8848  res_i = vec_any_le(vuc, vuc);8849// CHECK: @llvm.ppc.altivec.vcmpgtub.p8850// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8851 8852  res_i = vec_any_le(vuc, vbc);8853// CHECK: @llvm.ppc.altivec.vcmpgtub.p8854// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8855 8856  res_i = vec_any_le(vbc, vsc);8857// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8858// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8859 8860  res_i = vec_any_le(vbc, vuc);8861// CHECK: @llvm.ppc.altivec.vcmpgtub.p8862// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8863 8864  res_i = vec_any_le(vbc, vbc);8865// CHECK: @llvm.ppc.altivec.vcmpgtub.p8866// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8867 8868  res_i = vec_any_le(vs, vs);8869// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8870// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8871 8872  res_i = vec_any_le(vs, vbs);8873// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8874// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8875 8876  res_i = vec_any_le(vus, vus);8877// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8878// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8879 8880  res_i = vec_any_le(vus, vbs);8881// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8882// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8883 8884  res_i = vec_any_le(vbs, vs);8885// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8886// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8887 8888  res_i = vec_any_le(vbs, vus);8889// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8890// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8891 8892  res_i = vec_any_le(vbs, vbs);8893// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8894// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8895 8896  res_i = vec_any_le(vi, vi);8897// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8898// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8899 8900  res_i = vec_any_le(vi, vbi);8901// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8902// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8903 8904  res_i = vec_any_le(vui, vui);8905// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8906// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8907 8908  res_i = vec_any_le(vui, vbi);8909// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8910// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8911 8912  res_i = vec_any_le(vbi, vi);8913// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8914// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8915 8916  res_i = vec_any_le(vbi, vui);8917// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8918// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8919 8920  res_i = vec_any_le(vbi, vbi);8921// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8922// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8923 8924  res_i = vec_any_le(vf, vf);8925// CHECK: @llvm.ppc.altivec.vcmpgefp.p8926// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p8927 8928  /* vec_any_lt */8929  res_i = vec_any_lt(vsc, vsc);8930// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8931// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8932 8933  res_i = vec_any_lt(vsc, vbc);8934// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8935// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8936 8937  res_i = vec_any_lt(vuc, vuc);8938// CHECK: @llvm.ppc.altivec.vcmpgtub.p8939// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8940 8941  res_i = vec_any_lt(vuc, vbc);8942// CHECK: @llvm.ppc.altivec.vcmpgtub.p8943// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8944 8945  res_i = vec_any_lt(vbc, vsc);8946// CHECK: @llvm.ppc.altivec.vcmpgtsb.p8947// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p8948 8949  res_i = vec_any_lt(vbc, vuc);8950// CHECK: @llvm.ppc.altivec.vcmpgtub.p8951// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8952 8953  res_i = vec_any_lt(vbc, vbc);8954// CHECK: @llvm.ppc.altivec.vcmpgtub.p8955// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p8956 8957  res_i = vec_any_lt(vs, vs);8958// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8959// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8960 8961  res_i = vec_any_lt(vs, vbs);8962// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8963// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8964 8965  res_i = vec_any_lt(vus, vus);8966// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8967// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8968 8969  res_i = vec_any_lt(vus, vbs);8970// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8971// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8972 8973  res_i = vec_any_lt(vbs, vs);8974// CHECK: @llvm.ppc.altivec.vcmpgtsh.p8975// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p8976 8977  res_i = vec_any_lt(vbs, vus);8978// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8979// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8980 8981  res_i = vec_any_lt(vbs, vbs);8982// CHECK: @llvm.ppc.altivec.vcmpgtuh.p8983// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p8984 8985  res_i = vec_any_lt(vi, vi);8986// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8987// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8988 8989  res_i = vec_any_lt(vi, vbi);8990// CHECK: @llvm.ppc.altivec.vcmpgtsw.p8991// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p8992 8993  res_i = vec_any_lt(vui, vui);8994// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8995// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p8996 8997  res_i = vec_any_lt(vui, vbi);8998// CHECK: @llvm.ppc.altivec.vcmpgtuw.p8999// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p9000 9001  res_i = vec_any_lt(vbi, vi);9002// CHECK: @llvm.ppc.altivec.vcmpgtsw.p9003// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p9004 9005  res_i = vec_any_lt(vbi, vui);9006// CHECK: @llvm.ppc.altivec.vcmpgtuw.p9007// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p9008 9009  res_i = vec_any_lt(vbi, vbi);9010// CHECK: @llvm.ppc.altivec.vcmpgtuw.p9011// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p9012 9013  res_i = vec_any_lt(vf, vf);9014// CHECK: @llvm.ppc.altivec.vcmpgtfp.p9015// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p9016 9017  /* vec_any_nan */9018  res_i = vec_any_nan(vf);9019// CHECK: @llvm.ppc.altivec.vcmpeqfp.p9020// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p9021 9022  /* vec_any_ne */9023  res_i = vec_any_ne(vsc, vsc);9024// CHECK: @llvm.ppc.altivec.vcmpequb.p9025// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p9026 9027  res_i = vec_any_ne(vsc, vbc);9028// CHECK: @llvm.ppc.altivec.vcmpequb.p9029// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p9030 9031  res_i = vec_any_ne(vuc, vuc);9032// CHECK: @llvm.ppc.altivec.vcmpequb.p9033// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p9034 9035  res_i = vec_any_ne(vuc, vbc);9036// CHECK: @llvm.ppc.altivec.vcmpequb.p9037// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p9038 9039  res_i = vec_any_ne(vbc, vsc);9040// CHECK: @llvm.ppc.altivec.vcmpequb.p9041// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p9042 9043  res_i = vec_any_ne(vbc, vuc);9044// CHECK: @llvm.ppc.altivec.vcmpequb.p9045// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p9046 9047  res_i = vec_any_ne(vbc, vbc);9048// CHECK: @llvm.ppc.altivec.vcmpequb.p9049// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p9050 9051  res_i = vec_any_ne(vs, vs);9052// CHECK: @llvm.ppc.altivec.vcmpequh.p9053// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p9054 9055  res_i = vec_any_ne(vs, vbs);9056// CHECK: @llvm.ppc.altivec.vcmpequh.p9057// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p9058 9059  res_i = vec_any_ne(vus, vus);9060// CHECK: @llvm.ppc.altivec.vcmpequh.p9061// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p9062 9063  res_i = vec_any_ne(vus, vbs);9064// CHECK: @llvm.ppc.altivec.vcmpequh.p9065// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p9066 9067  res_i = vec_any_ne(vbs, vs);9068// CHECK: @llvm.ppc.altivec.vcmpequh.p9069// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p9070 9071  res_i = vec_any_ne(vbs, vus);9072// CHECK: @llvm.ppc.altivec.vcmpequh.p9073// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p9074 9075  res_i = vec_any_ne(vbs, vbs);9076// CHECK: @llvm.ppc.altivec.vcmpequh.p9077// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p9078 9079  res_i = vec_any_ne(vp, vp);9080// CHECK: @llvm.ppc.altivec.vcmpequh.p9081// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p9082 9083  res_i = vec_any_ne(vi, vi);9084// CHECK: @llvm.ppc.altivec.vcmpequw.p9085// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p9086 9087  res_i = vec_any_ne(vi, vbi);9088// CHECK: @llvm.ppc.altivec.vcmpequw.p9089// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p9090 9091  res_i = vec_any_ne(vui, vui);9092// CHECK: @llvm.ppc.altivec.vcmpequw.p9093// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p9094 9095  res_i = vec_any_ne(vui, vbi);9096// CHECK: @llvm.ppc.altivec.vcmpequw.p9097// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p9098 9099  res_i = vec_any_ne(vbi, vi);9100// CHECK: @llvm.ppc.altivec.vcmpequw.p9101// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p9102 9103  res_i = vec_any_ne(vbi, vui);9104// CHECK: @llvm.ppc.altivec.vcmpequw.p9105// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p9106 9107  res_i = vec_any_ne(vbi, vbi);9108// CHECK: @llvm.ppc.altivec.vcmpequw.p9109// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p9110 9111  res_i = vec_any_ne(vf, vf);9112// CHECK: @llvm.ppc.altivec.vcmpeqfp.p9113// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p9114 9115  /* vec_any_nge */9116  res_i = vec_any_nge(vf, vf);9117// CHECK: @llvm.ppc.altivec.vcmpgefp.p9118// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p9119 9120  /* vec_any_ngt */9121  res_i = vec_any_ngt(vf, vf);9122// CHECK: @llvm.ppc.altivec.vcmpgtfp.p9123// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p9124 9125  /* vec_any_nle */9126  res_i = vec_any_nle(vf, vf);9127// CHECK: @llvm.ppc.altivec.vcmpgefp.p9128// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p9129 9130  /* vec_any_nlt */9131  res_i = vec_any_nlt(vf, vf);9132// CHECK: @llvm.ppc.altivec.vcmpgtfp.p9133// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p9134 9135  /* vec_any_numeric */9136  res_i = vec_any_numeric(vf);9137// CHECK: @llvm.ppc.altivec.vcmpeqfp.p9138// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p9139 9140  /* vec_any_out */9141  res_i = vec_any_out(vf, vf);9142// CHECK: @llvm.ppc.altivec.vcmpbfp.p9143// CHECK-LE: @llvm.ppc.altivec.vcmpbfp.p9144}9145 9146/* ------------------------------ Relational Operators ------------------------------ */9147// CHECK-LABEL: define{{.*}} void @test79148void test7() {9149  vector signed char vsc1 = (vector signed char)(-1);9150  vector signed char vsc2 = (vector signed char)(-2);9151  res_i = (vsc1 == vsc2);9152// CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 29153// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 29154 9155  res_i = (vsc1 != vsc2);9156// CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 09157// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 09158 9159  res_i = (vsc1 <  vsc2);9160// CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 29161// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 29162 9163  res_i = (vsc1 >  vsc2);9164// CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 29165// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 29166 9167  res_i = (vsc1 <= vsc2);9168// CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 09169// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 09170 9171  res_i = (vsc1 >= vsc2);9172// CHECK: @llvm.ppc.altivec.vcmpgtsb.p(i32 09173// CHECK-LE: @llvm.ppc.altivec.vcmpgtsb.p(i32 09174 9175  vector unsigned char vuc1 = (vector unsigned char)(1);9176  vector unsigned char vuc2 = (vector unsigned char)(2);9177  res_i = (vuc1 == vuc2);9178// CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 29179// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 29180 9181  res_i = (vuc1 != vuc2);9182// CHECK: @llvm.ppc.altivec.vcmpequb.p(i32 09183// CHECK-LE: @llvm.ppc.altivec.vcmpequb.p(i32 09184 9185  res_i = (vuc1 <  vuc2);9186// CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 29187// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 29188 9189  res_i = (vuc1 >  vuc2);9190// CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 29191// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 29192 9193  res_i = (vuc1 <= vuc2);9194// CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 09195// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 09196 9197  res_i = (vuc1 >= vuc2);9198// CHECK: @llvm.ppc.altivec.vcmpgtub.p(i32 09199// CHECK-LE: @llvm.ppc.altivec.vcmpgtub.p(i32 09200 9201  vector short vs1 = (vector short)(-1);9202  vector short vs2 = (vector short)(-2);9203  res_i = (vs1 == vs2);9204// CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 29205// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 29206 9207  res_i = (vs1 != vs2);9208// CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 09209// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 09210 9211  res_i = (vs1 <  vs2);9212// CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 29213// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 29214 9215  res_i = (vs1 >  vs2);9216// CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 29217// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 29218 9219  res_i = (vs1 <= vs2);9220// CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 09221// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 09222 9223  res_i = (vs1 >= vs2);9224// CHECK: @llvm.ppc.altivec.vcmpgtsh.p(i32 09225// CHECK-LE: @llvm.ppc.altivec.vcmpgtsh.p(i32 09226 9227  vector unsigned short vus1 = (vector unsigned short)(1);9228  vector unsigned short vus2 = (vector unsigned short)(2);9229  res_i = (vus1 == vus2);9230// CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 29231// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 29232 9233  res_i = (vus1 != vus2);9234// CHECK: @llvm.ppc.altivec.vcmpequh.p(i32 09235// CHECK-LE: @llvm.ppc.altivec.vcmpequh.p(i32 09236 9237  res_i = (vus1 <  vus2);9238// CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 29239// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 29240 9241  res_i = (vus1 >  vus2);9242// CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 29243// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 29244 9245  res_i = (vus1 <= vus2);9246// CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 09247// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 09248 9249  res_i = (vus1 >= vus2);9250// CHECK: @llvm.ppc.altivec.vcmpgtuh.p(i32 09251// CHECK-LE: @llvm.ppc.altivec.vcmpgtuh.p(i32 09252 9253  vector int vi1 = (vector int)(-1);9254  vector int vi2 = (vector int)(-2);9255  res_i = (vi1 == vi2);9256// CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 29257// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 29258 9259  res_i = (vi1 != vi2);9260// CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 09261// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 09262 9263  res_i = (vi1 <  vi2);9264// CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 29265// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 29266 9267  res_i = (vi1 >  vi2);9268// CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 29269// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 29270 9271  res_i = (vi1 <= vi2);9272// CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 09273// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 09274 9275  res_i = (vi1 >= vi2);9276// CHECK: @llvm.ppc.altivec.vcmpgtsw.p(i32 09277// CHECK-LE: @llvm.ppc.altivec.vcmpgtsw.p(i32 09278 9279  vector unsigned int vui1 = (vector unsigned int)(1);9280  vector unsigned int vui2 = (vector unsigned int)(2);9281  res_i = (vui1 == vui2);9282// CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 29283// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 29284 9285  res_i = (vui1 != vui2);9286// CHECK: @llvm.ppc.altivec.vcmpequw.p(i32 09287// CHECK-LE: @llvm.ppc.altivec.vcmpequw.p(i32 09288 9289  res_i = (vui1 <  vui2);9290// CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 29291// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 29292 9293  res_i = (vui1 >  vui2);9294// CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 29295// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 29296 9297  res_i = (vui1 <= vui2);9298// CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 09299// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 09300 9301  res_i = (vui1 >= vui2);9302// CHECK: @llvm.ppc.altivec.vcmpgtuw.p(i32 09303// CHECK-LE: @llvm.ppc.altivec.vcmpgtuw.p(i32 09304 9305  vector float vf1 = (vector float)(1.0);9306  vector float vf2 = (vector float)(2.0);9307  res_i = (vf1 == vf2);9308// CHECK: @llvm.ppc.altivec.vcmpeqfp.p(i32 29309// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p(i32 29310 9311  res_i = (vf1 != vf2);9312// CHECK: @llvm.ppc.altivec.vcmpeqfp.p(i32 09313// CHECK-LE: @llvm.ppc.altivec.vcmpeqfp.p(i32 09314 9315  res_i = (vf1 <  vf2);9316// CHECK: @llvm.ppc.altivec.vcmpgtfp.p(i32 29317// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p(i32 29318 9319  res_i = (vf1 >  vf2);9320// CHECK: @llvm.ppc.altivec.vcmpgtfp.p(i32 29321// CHECK-LE: @llvm.ppc.altivec.vcmpgtfp.p(i32 29322 9323  res_i = (vf1 <= vf2);9324// CHECK: @llvm.ppc.altivec.vcmpgefp.p(i32 29325// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p(i32 29326 9327  res_i = (vf1 >= vf2);9328// CHECK: @llvm.ppc.altivec.vcmpgefp.p(i32 29329// CHECK-LE: @llvm.ppc.altivec.vcmpgefp.p(i32 29330}9331 9332/* ------------------------------ optional ---------------------------------- */9333void test8() {9334// CHECK-LABEL: define{{.*}} void @test89335// CHECK-LE-LABEL: define{{.*}} void @test89336  res_vbc = vec_reve(vbc);9337  // CHECK: shufflevector <16 x i8> %{{[0-9]+}}, <16 x i8> %{{[0-9]+}}, <16 x i32> <i32 15, i32 14, i32 13, i32 12, i32 11, i32 10, i32 9, i32 8, i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>9338  // CHECK-LE: shufflevector <16 x i8> %{{[0-9]+}}, <16 x i8> %{{[0-9]+}}, <16 x i32> <i32 15, i32 14, i32 13, i32 12, i32 11, i32 10, i32 9, i32 8, i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>9339 9340  res_vsc = vec_reve(vsc);9341  // CHECK: shufflevector <16 x i8> %{{[0-9]+}}, <16 x i8> %{{[0-9]+}}, <16 x i32> <i32 15, i32 14, i32 13, i32 12, i32 11, i32 10, i32 9, i32 8, i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>9342  // CHECK-LE: shufflevector <16 x i8> %{{[0-9]+}}, <16 x i8> %{{[0-9]+}}, <16 x i32> <i32 15, i32 14, i32 13, i32 12, i32 11, i32 10, i32 9, i32 8, i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>9343 9344  res_vuc = vec_reve(vuc);9345  // CHECK: shufflevector <16 x i8> %{{[0-9]+}}, <16 x i8> %{{[0-9]+}}, <16 x i32> <i32 15, i32 14, i32 13, i32 12, i32 11, i32 10, i32 9, i32 8, i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>9346  // CHECK-LE: shufflevector <16 x i8> %{{[0-9]+}}, <16 x i8> %{{[0-9]+}}, <16 x i32> <i32 15, i32 14, i32 13, i32 12, i32 11, i32 10, i32 9, i32 8, i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>9347 9348  res_vbi = vec_reve(vbi);9349  // CHECK: shufflevector <4 x i32> %{{[0-9]+}}, <4 x i32> %{{[0-9]+}}, <4 x i32> <i32 3, i32 2, i32 1, i32 0>9350  // CHECK-LE: shufflevector <4 x i32> %{{[0-9]+}}, <4 x i32> %{{[0-9]+}}, <4 x i32> <i32 3, i32 2, i32 1, i32 0>9351 9352  res_vi = vec_reve(vi);9353  // CHECK: shufflevector <4 x i32> %{{[0-9]+}}, <4 x i32> %{{[0-9]+}}, <4 x i32> <i32 3, i32 2, i32 1, i32 0>9354  // CHECK-LE: shufflevector <4 x i32> %{{[0-9]+}}, <4 x i32> %{{[0-9]+}}, <4 x i32> <i32 3, i32 2, i32 1, i32 0>9355 9356  res_vui = vec_reve(vui);9357  // CHECK: shufflevector <4 x i32> %{{[0-9]+}}, <4 x i32> %{{[0-9]+}}, <4 x i32> <i32 3, i32 2, i32 1, i32 0>9358  // CHECK-LE: shufflevector <4 x i32> %{{[0-9]+}}, <4 x i32> %{{[0-9]+}}, <4 x i32> <i32 3, i32 2, i32 1, i32 0>9359 9360  res_vbs = vec_reve(vbs);9361  // CHECK: shufflevector <8 x i16> %{{[0-9]+}}, <8 x i16> %{{[0-9]+}}, <8 x i32> <i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>9362  // CHECK-LE: shufflevector <8 x i16> %{{[0-9]+}}, <8 x i16> %{{[0-9]+}}, <8 x i32> <i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>9363 9364  res_vs = vec_reve(vs);9365  // CHECK: shufflevector <8 x i16> %{{[0-9]+}}, <8 x i16> %{{[0-9]+}}, <8 x i32> <i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>9366  // CHECK-LE: shufflevector <8 x i16> %{{[0-9]+}}, <8 x i16> %{{[0-9]+}}, <8 x i32> <i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>9367 9368  res_vus = vec_reve(vus);9369  // CHECK: shufflevector <8 x i16> %{{[0-9]+}}, <8 x i16> %{{[0-9]+}}, <8 x i32> <i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>9370  // CHECK-LE: shufflevector <8 x i16> %{{[0-9]+}}, <8 x i16> %{{[0-9]+}}, <8 x i32> <i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>9371 9372  res_vf = vec_reve(vf);9373  // CHECK: shufflevector <4 x float> %{{[0-9]+}}, <4 x float> %{{[0-9]+}}, <4 x i32> <i32 3, i32 2, i32 1, i32 0>9374  // CHECK-LE: shufflevector <4 x float> %{{[0-9]+}}, <4 x float> %{{[0-9]+}}, <4 x i32> <i32 3, i32 2, i32 1, i32 0>9375 9376  res_vbc = vec_revb(vbc);9377// CHECK: [[T1:%.+]] = load <16 x i8>, ptr @vbc, align 169378// CHECK: store <16 x i8> [[T1]], ptr [[T2:%.+]], align 169379// CHECK: [[T3:%.+]] = load <16 x i8>, ptr [[T2]], align 169380// CHECK: store <16 x i8> [[T3]], ptr @res_vbc, align 169381// CHECK-LE: [[T1:%.+]] = load <16 x i8>, ptr @vbc, align 169382// CHECK-LE: store <16 x i8> [[T1]], ptr [[T2:%.+]], align 169383// CHECK-LE: [[T3:%.+]] = load <16 x i8>, ptr [[T2]], align 169384// CHECK-LE: store <16 x i8> [[T3]], ptr @res_vbc, align 169385 9386  res_vsc = vec_revb(vsc);9387// CHECK: [[T1:%.+]] = load <16 x i8>, ptr @vsc, align 169388// CHECK: store <16 x i8> [[T1]], ptr [[T2:%.+]], align 169389// CHECK: [[T3:%.+]] = load <16 x i8>, ptr [[T2]], align 169390// CHECK: store <16 x i8> [[T3]], ptr @res_vsc, align 169391// CHECK-LE: [[T1:%.+]] = load <16 x i8>, ptr @vsc, align 169392// CHECK-LE: store <16 x i8> [[T1]], ptr [[T2:%.+]], align 169393// CHECK-LE: [[T3:%.+]] = load <16 x i8>, ptr [[T2]], align 169394// CHECK-LE: store <16 x i8> [[T3]], ptr @res_vsc, align 169395 9396  res_vuc = vec_revb(vuc);9397// CHECK: [[T1:%.+]] = load <16 x i8>, ptr @vuc, align 169398// CHECK: store <16 x i8> [[T1]], ptr [[T2:%.+]], align 169399// CHECK: [[T3:%.+]] = load <16 x i8>, ptr [[T2]], align 169400// CHECK: store <16 x i8> [[T3]], ptr @res_vuc, align 169401// CHECK-LE: [[T1:%.+]] = load <16 x i8>, ptr @vuc, align 169402// CHECK-LE: store <16 x i8> [[T1]], ptr [[T2:%.+]], align 169403// CHECK-LE: [[T3:%.+]] = load <16 x i8>, ptr [[T2]], align 169404// CHECK-LE: store <16 x i8> [[T3]], ptr @res_vuc, align 169405 9406  res_vbs = vec_revb(vbs);9407// CHECK: store <16 x i8> <i8 1, i8 0, i8 3, i8 2, i8 5, i8 4, i8 7, i8 6, i8 9, i8 8, i8 11, i8 10, i8 13, i8 12, i8 15, i8 14>, ptr {{%.+}}, align 169408// CHECK: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9409// CHECK-LE: store <16 x i8> <i8 1, i8 0, i8 3, i8 2, i8 5, i8 4, i8 7, i8 6, i8 9, i8 8, i8 11, i8 10, i8 13, i8 12, i8 15, i8 14>, ptr {{%.+}}, align 169410// CHECK-LE: store <16 x i8> splat (i8 -1), ptr {{%.+}}, align 169411// CHECK-LE: xor <16 x i8>9412// CHECK-LE: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9413 9414  res_vs = vec_revb(vs);9415// CHECK: store <16 x i8> <i8 1, i8 0, i8 3, i8 2, i8 5, i8 4, i8 7, i8 6, i8 9, i8 8, i8 11, i8 10, i8 13, i8 12, i8 15, i8 14>, ptr {{%.+}}, align 169416// CHECK: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9417// CHECK-LE: store <16 x i8> <i8 1, i8 0, i8 3, i8 2, i8 5, i8 4, i8 7, i8 6, i8 9, i8 8, i8 11, i8 10, i8 13, i8 12, i8 15, i8 14>, ptr {{%.+}}, align 169418// CHECK-LE: store <16 x i8> splat (i8 -1), ptr {{%.+}}, align 169419// CHECK-LE: xor <16 x i8>9420// CHECK-LE: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9421 9422  res_vus = vec_revb(vus);9423// CHECK: store <16 x i8> <i8 1, i8 0, i8 3, i8 2, i8 5, i8 4, i8 7, i8 6, i8 9, i8 8, i8 11, i8 10, i8 13, i8 12, i8 15, i8 14>, ptr {{%.+}}, align 169424// CHECK: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9425// CHECK-LE: store <16 x i8> <i8 1, i8 0, i8 3, i8 2, i8 5, i8 4, i8 7, i8 6, i8 9, i8 8, i8 11, i8 10, i8 13, i8 12, i8 15, i8 14>, ptr {{%.+}}, align 169426// CHECK-LE: store <16 x i8> splat (i8 -1), ptr {{%.+}}, align 169427// CHECK-LE: xor <16 x i8>9428// CHECK-LE: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9429 9430  res_vbi = vec_revb(vbi);9431// CHECK: store <16 x i8> <i8 3, i8 2, i8 1, i8 0, i8 7, i8 6, i8 5, i8 4, i8 11, i8 10, i8 9, i8 8, i8 15, i8 14, i8 13, i8 12>, ptr {{%.+}}, align 169432// CHECK: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9433// CHECK-LE: store <16 x i8> <i8 3, i8 2, i8 1, i8 0, i8 7, i8 6, i8 5, i8 4, i8 11, i8 10, i8 9, i8 8, i8 15, i8 14, i8 13, i8 12>, ptr {{%.+}}, align 169434// CHECK-LE: store <16 x i8> splat (i8 -1), ptr {{%.+}}, align 169435// CHECK-LE: xor <16 x i8>9436// CHECK-LE: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9437 9438  res_vi = vec_revb(vi);9439// CHECK: store <16 x i8> <i8 3, i8 2, i8 1, i8 0, i8 7, i8 6, i8 5, i8 4, i8 11, i8 10, i8 9, i8 8, i8 15, i8 14, i8 13, i8 12>, ptr {{%.+}}, align 169440// CHECK: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9441// CHECK-LE: store <16 x i8> <i8 3, i8 2, i8 1, i8 0, i8 7, i8 6, i8 5, i8 4, i8 11, i8 10, i8 9, i8 8, i8 15, i8 14, i8 13, i8 12>, ptr {{%.+}}, align 169442// CHECK-LE: store <16 x i8> splat (i8 -1), ptr {{%.+}}, align 169443// CHECK-LE: xor <16 x i8>9444// CHECK-LE: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9445 9446  res_vui = vec_revb(vui);9447// CHECK: store <16 x i8> <i8 3, i8 2, i8 1, i8 0, i8 7, i8 6, i8 5, i8 4, i8 11, i8 10, i8 9, i8 8, i8 15, i8 14, i8 13, i8 12>, ptr {{%.+}}, align 169448// CHECK: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9449// CHECK-LE: store <16 x i8> <i8 3, i8 2, i8 1, i8 0, i8 7, i8 6, i8 5, i8 4, i8 11, i8 10, i8 9, i8 8, i8 15, i8 14, i8 13, i8 12>, ptr {{%.+}}, align 169450// CHECK-LE: store <16 x i8> splat (i8 -1), ptr {{%.+}}, align 169451// CHECK-LE: xor <16 x i8>9452// CHECK-LE: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9453 9454  res_vf = vec_revb(vf);9455// CHECK: store <16 x i8> <i8 3, i8 2, i8 1, i8 0, i8 7, i8 6, i8 5, i8 4, i8 11, i8 10, i8 9, i8 8, i8 15, i8 14, i8 13, i8 12>, ptr {{%.+}}, align 169456// CHECK: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9457// CHECK-LE: store <16 x i8> <i8 3, i8 2, i8 1, i8 0, i8 7, i8 6, i8 5, i8 4, i8 11, i8 10, i8 9, i8 8, i8 15, i8 14, i8 13, i8 12>, ptr {{%.+}}, align 169458// CHECK-LE: store <16 x i8> splat (i8 -1), ptr {{%.+}}, align 169459// CHECK-LE: xor <16 x i8>9460// CHECK-LE: call <4 x i32> @llvm.ppc.altivec.vperm(<4 x i32> {{%.+}}, <4 x i32> {{%.+}}, <16 x i8> {{%.+}})9461}9462 9463/* ------------------------------ vec_xl ------------------------------------ */9464void test9() {9465  // CHECK-LABEL: define{{.*}} void @test99466  // CHECK-LE-LABEL: define{{.*}} void @test99467  res_vsc = vec_xl(param_sll, param_sc_ld);9468  // CHECK: load <16 x i8>, ptr %{{.+}}, align 19469  // CHECK-LE: load <16 x i8>, ptr %{{.+}}, align 19470 9471  res_vuc = vec_xl(param_sll, param_uc_ld);9472  // CHECK: load <16 x i8>, ptr %{{.+}}, align 19473  // CHECK-LE: load <16 x i8>, ptr %{{.+}}, align 19474 9475  res_vs = vec_xl(param_sll, param_s_ld);9476  // CHECK: load <8 x i16>, ptr %{{.+}}, align 19477  // CHECK-LE: load <8 x i16>, ptr %{{.+}}, align 19478 9479  res_vus = vec_xl(param_sll, param_us_ld);9480  // CHECK: load <8 x i16>, ptr %{{.+}}, align 19481  // CHECK-LE: load <8 x i16>, ptr %{{.+}}, align 19482 9483  res_vi = vec_xl(param_sll, param_i_ld);9484  // CHECK: load <4 x i32>, ptr %{{.+}}, align 19485  // CHECK-LE: load <4 x i32>, ptr %{{.+}}, align 19486 9487  res_vui = vec_xl(param_sll, param_ui_ld);9488  // CHECK: load <4 x i32>, ptr %{{.+}}, align 19489  // CHECK-LE: load <4 x i32>, ptr %{{.+}}, align 19490 9491  res_vf = vec_xl(param_sll, param_f_ld);9492  // CHECK: load <4 x float>, ptr %{{.+}}, align 19493  // CHECK-LE: load <4 x float>, ptr %{{.+}}, align 19494}9495 9496/* ------------------------------ vec_xst ----------------------------------- */9497void test10() {9498  // CHECK-LABEL: define{{.*}} void @test109499  // CHECK-LE-LABEL: define{{.*}} void @test109500  vec_xst(vsc, param_sll, &param_sc);9501  // CHECK: store <16 x i8> %{{[0-9]+}}, ptr %{{.+}}, align 19502  // CHECK-LE: store <16 x i8> %{{[0-9]+}}, ptr %{{.+}}, align 19503 9504  vec_xst(vuc, param_sll, &param_uc);9505  // CHECK: store <16 x i8> %{{[0-9]+}}, ptr %{{.+}}, align 19506  // CHECK-LE: store <16 x i8> %{{[0-9]+}}, ptr %{{.+}}, align 19507 9508  vec_xst(vs, param_sll, &param_s);9509  // CHECK: store <8 x i16> %{{[0-9]+}}, ptr %{{.+}}, align 19510  // CHECK-LE: store <8 x i16> %{{[0-9]+}}, ptr %{{.+}}, align 19511 9512  vec_xst(vus, param_sll, &param_us);9513  // CHECK: store <8 x i16> %{{[0-9]+}}, ptr %{{.+}}, align 19514  // CHECK-LE: store <8 x i16> %{{[0-9]+}}, ptr %{{.+}}, align 19515 9516  vec_xst(vi, param_sll, &param_i);9517  // CHECK: store <4 x i32> %{{[0-9]+}}, ptr %{{.+}}, align 19518  // CHECK-LE: store <4 x i32> %{{[0-9]+}}, ptr %{{.+}}, align 19519 9520  vec_xst(vui, param_sll, &param_ui);9521  // CHECK: store <4 x i32> %{{[0-9]+}}, ptr %{{.+}}, align 19522  // CHECK-LE: store <4 x i32> %{{[0-9]+}}, ptr %{{.+}}, align 19523 9524  vec_xst(vf, param_sll, &param_f);9525  // CHECK: store <4 x float> %{{[0-9]+}}, ptr %{{.+}}, align 19526  // CHECK-LE: store <4 x float> %{{[0-9]+}}, ptr %{{.+}}, align 19527}9528 9529vector float test_rsqrtf(vector float a, vector float b) {9530  // CHECK-LABEL: test_rsqrtf9531  // CHECK: call fast <4 x float> @llvm.sqrt.v4f329532  // CHECK: fdiv fast <4 x float> splat (float 1.000000e+00)9533  // CHECK-LE-LABEL: test_rsqrtf9534  // CHECK-LE: call fast <4 x float> @llvm.sqrt.v4f329535  // CHECK-LE: fdiv fast <4 x float> splat (float 1.000000e+00)9536  return vec_rsqrt(a);9537}9538 9539vector float test_recipdivf(vector float a, vector float b) {9540  // CHECK-LABEL: test_recipdivf9541  // CHECK: fdiv fast <4 x float>9542  // CHECK-LE-LABEL: test_recipdivf9543  // CHECK-LE: fdiv fast <4 x float>9544  return vec_recipdiv(a, b);9545}9546