brintos

brintos / llvm-project-archived public Read only

0
0
Text · 14.7 KiB · 7b36fa4 Raw
398 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \3; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names \4; RUN:   -ppc-vsr-nums-as-vr < %s | FileCheck %s5; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \6; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names \7; RUN:   -ppc-vsr-nums-as-vr < %s | FileCheck %s --check-prefix=CHECK-BE8; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \9; RUN:   -mcpu=future -ppc-asm-full-reg-names \10; RUN:   -ppc-vsr-nums-as-vr < %s | FileCheck %s --check-prefix=CHECK-LE-WACC11; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \12; RUN:   -mcpu=future -ppc-asm-full-reg-names \13; RUN:   -ppc-vsr-nums-as-vr < %s | FileCheck %s --check-prefix=CHECK-BE-WACC14 15; Function Attrs: nofree nounwind writeonly16define dso_local void @test1(ptr nocapture readnone %vqp, ptr nocapture readnone %vpp, <16 x i8> %vc, ptr nocapture %resp) {17; CHECK-LABEL: test1:18; CHECK:       # %bb.0: # %entry19; CHECK-NEXT:    xvi16ger2 acc0, v2, v220; CHECK-NEXT:    xxmfacc acc021; CHECK-NEXT:    stxv vs0, 48(r7)22; CHECK-NEXT:    stxv vs1, 32(r7)23; CHECK-NEXT:    stxv vs2, 16(r7)24; CHECK-NEXT:    stxv vs3, 0(r7)25; CHECK-NEXT:    blr26;27; CHECK-BE-LABEL: test1:28; CHECK-BE:       # %bb.0: # %entry29; CHECK-BE-NEXT:    xvi16ger2 acc0, v2, v230; CHECK-BE-NEXT:    xxmfacc acc031; CHECK-BE-NEXT:    stxv vs1, 16(r7)32; CHECK-BE-NEXT:    stxv vs0, 0(r7)33; CHECK-BE-NEXT:    stxv vs3, 48(r7)34; CHECK-BE-NEXT:    stxv vs2, 32(r7)35; CHECK-BE-NEXT:    blr36;37; CHECK-LE-WACC-LABEL: test1:38; CHECK-LE-WACC:       # %bb.0: # %entry39; CHECK-LE-WACC-NEXT:    xvi16ger2 wacc0, v2, v240; CHECK-LE-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 041; CHECK-LE-WACC-NEXT:    stxv v4, 48(r7)42; CHECK-LE-WACC-NEXT:    stxv v5, 32(r7)43; CHECK-LE-WACC-NEXT:    stxv v2, 16(r7)44; CHECK-LE-WACC-NEXT:    stxv v3, 0(r7)45; CHECK-LE-WACC-NEXT:    blr46;47; CHECK-BE-WACC-LABEL: test1:48; CHECK-BE-WACC:       # %bb.0: # %entry49; CHECK-BE-WACC-NEXT:    xvi16ger2 wacc0, v2, v250; CHECK-BE-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 051; CHECK-BE-WACC-NEXT:    stxv v5, 48(r7)52; CHECK-BE-WACC-NEXT:    stxv v4, 32(r7)53; CHECK-BE-WACC-NEXT:    stxv v3, 16(r7)54; CHECK-BE-WACC-NEXT:    stxv v2, 0(r7)55; CHECK-BE-WACC-NEXT:    blr56entry:57  %0 = tail call <512 x i1> @llvm.ppc.mma.xvi16ger2(<16 x i8> %vc, <16 x i8> %vc)58  store <512 x i1> %0, ptr %resp, align 6459  ret void60}61 62; Function Attrs: nounwind readnone63declare <512 x i1> @llvm.ppc.mma.xvi16ger2(<16 x i8>, <16 x i8>)64 65; Function Attrs: nofree nounwind writeonly66define dso_local void @test2(ptr nocapture readnone %vqp, ptr nocapture readnone %vpp, <16 x i8> %vc, ptr nocapture %resp) {67; CHECK-LABEL: test2:68; CHECK:       # %bb.0: # %entry69; CHECK-NEXT:    pmxvi16ger2 acc0, v2, v2, 0, 0, 070; CHECK-NEXT:    xxmfacc acc071; CHECK-NEXT:    stxv vs0, 48(r7)72; CHECK-NEXT:    stxv vs1, 32(r7)73; CHECK-NEXT:    stxv vs2, 16(r7)74; CHECK-NEXT:    stxv vs3, 0(r7)75; CHECK-NEXT:    blr76;77; CHECK-BE-LABEL: test2:78; CHECK-BE:       # %bb.0: # %entry79; CHECK-BE-NEXT:    pmxvi16ger2 acc0, v2, v2, 0, 0, 080; CHECK-BE-NEXT:    xxmfacc acc081; CHECK-BE-NEXT:    stxv vs1, 16(r7)82; CHECK-BE-NEXT:    stxv vs0, 0(r7)83; CHECK-BE-NEXT:    stxv vs3, 48(r7)84; CHECK-BE-NEXT:    stxv vs2, 32(r7)85; CHECK-BE-NEXT:    blr86;87; CHECK-LE-WACC-LABEL: test2:88; CHECK-LE-WACC:       # %bb.0: # %entry89; CHECK-LE-WACC-NEXT:    pmxvi16ger2 wacc0, v2, v2, 0, 0, 090; CHECK-LE-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 091; CHECK-LE-WACC-NEXT:    stxv v4, 48(r7)92; CHECK-LE-WACC-NEXT:    stxv v5, 32(r7)93; CHECK-LE-WACC-NEXT:    stxv v2, 16(r7)94; CHECK-LE-WACC-NEXT:    stxv v3, 0(r7)95; CHECK-LE-WACC-NEXT:    blr96;97; CHECK-BE-WACC-LABEL: test2:98; CHECK-BE-WACC:       # %bb.0: # %entry99; CHECK-BE-WACC-NEXT:    pmxvi16ger2 wacc0, v2, v2, 0, 0, 0100; CHECK-BE-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 0101; CHECK-BE-WACC-NEXT:    stxv v5, 48(r7)102; CHECK-BE-WACC-NEXT:    stxv v4, 32(r7)103; CHECK-BE-WACC-NEXT:    stxv v3, 16(r7)104; CHECK-BE-WACC-NEXT:    stxv v2, 0(r7)105; CHECK-BE-WACC-NEXT:    blr106entry:107  %0 = tail call <512 x i1> @llvm.ppc.mma.pmxvi16ger2(<16 x i8> %vc, <16 x i8> %vc, i32 0, i32 0, i32 0)108  store <512 x i1> %0, ptr %resp, align 64109  ret void110}111 112; Function Attrs: nounwind readnone113declare <512 x i1> @llvm.ppc.mma.pmxvi16ger2(<16 x i8>, <16 x i8>, i32, i32, i32)114 115; Function Attrs: nofree nounwind116define dso_local void @test3(ptr nocapture readonly %vqp, ptr nocapture readnone %vpp, <16 x i8> %vc, ptr nocapture %resp) {117; CHECK-LABEL: test3:118; CHECK:       # %bb.0: # %entry119; CHECK-NEXT:    lxv vs3, 0(r3)120; CHECK-NEXT:    lxv vs2, 16(r3)121; CHECK-NEXT:    lxv vs1, 32(r3)122; CHECK-NEXT:    lxv vs0, 48(r3)123; CHECK-NEXT:    xxmtacc acc0124; CHECK-NEXT:    xvi8ger4spp acc0, v2, v2125; CHECK-NEXT:    xxmfacc acc0126; CHECK-NEXT:    stxv vs0, 48(r7)127; CHECK-NEXT:    stxv vs1, 32(r7)128; CHECK-NEXT:    stxv vs2, 16(r7)129; CHECK-NEXT:    stxv vs3, 0(r7)130; CHECK-NEXT:    blr131;132; CHECK-BE-LABEL: test3:133; CHECK-BE:       # %bb.0: # %entry134; CHECK-BE-NEXT:    lxv vs3, 48(r3)135; CHECK-BE-NEXT:    lxv vs2, 32(r3)136; CHECK-BE-NEXT:    lxv vs1, 16(r3)137; CHECK-BE-NEXT:    lxv vs0, 0(r3)138; CHECK-BE-NEXT:    xxmtacc acc0139; CHECK-BE-NEXT:    xvi8ger4spp acc0, v2, v2140; CHECK-BE-NEXT:    xxmfacc acc0141; CHECK-BE-NEXT:    stxv vs1, 16(r7)142; CHECK-BE-NEXT:    stxv vs0, 0(r7)143; CHECK-BE-NEXT:    stxv vs3, 48(r7)144; CHECK-BE-NEXT:    stxv vs2, 32(r7)145; CHECK-BE-NEXT:    blr146;147; CHECK-LE-WACC-LABEL: test3:148; CHECK-LE-WACC:       # %bb.0: # %entry149; CHECK-LE-WACC-NEXT:    lxv v5, 0(r3)150; CHECK-LE-WACC-NEXT:    lxv v1, 32(r3)151; CHECK-LE-WACC-NEXT:    lxv v4, 16(r3)152; CHECK-LE-WACC-NEXT:    lxv v0, 48(r3)153; CHECK-LE-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp32, vsp36, 0154; CHECK-LE-WACC-NEXT:    xvi8ger4spp wacc0, v2, v2155; CHECK-LE-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 0156; CHECK-LE-WACC-NEXT:    stxv v4, 48(r7)157; CHECK-LE-WACC-NEXT:    stxv v5, 32(r7)158; CHECK-LE-WACC-NEXT:    stxv v2, 16(r7)159; CHECK-LE-WACC-NEXT:    stxv v3, 0(r7)160; CHECK-LE-WACC-NEXT:    blr161;162; CHECK-BE-WACC-LABEL: test3:163; CHECK-BE-WACC:       # %bb.0: # %entry164; CHECK-BE-WACC-NEXT:    lxv v5, 48(r3)165; CHECK-BE-WACC-NEXT:    lxv v1, 16(r3)166; CHECK-BE-WACC-NEXT:    lxv v4, 32(r3)167; CHECK-BE-WACC-NEXT:    lxv v0, 0(r3)168; CHECK-BE-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp32, vsp36, 0169; CHECK-BE-WACC-NEXT:    xvi8ger4spp wacc0, v2, v2170; CHECK-BE-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 0171; CHECK-BE-WACC-NEXT:    stxv v5, 48(r7)172; CHECK-BE-WACC-NEXT:    stxv v4, 32(r7)173; CHECK-BE-WACC-NEXT:    stxv v3, 16(r7)174; CHECK-BE-WACC-NEXT:    stxv v2, 0(r7)175; CHECK-BE-WACC-NEXT:    blr176entry:177  %0 = load <512 x i1>, ptr %vqp, align 64178  %1 = tail call <512 x i1> @llvm.ppc.mma.xvi8ger4spp(<512 x i1> %0, <16 x i8> %vc, <16 x i8> %vc)179  store <512 x i1> %1, ptr %resp, align 64180  ret void181}182 183; Function Attrs: nounwind readnone184declare <512 x i1> @llvm.ppc.mma.xvi8ger4spp(<512 x i1>, <16 x i8>, <16 x i8>)185 186; Function Attrs: nofree nounwind187define dso_local void @test4(ptr nocapture readonly %vqp, ptr nocapture readnone %vpp, <16 x i8> %vc, ptr nocapture %resp) {188; CHECK-LABEL: test4:189; CHECK:       # %bb.0: # %entry190; CHECK-NEXT:    lxv vs3, 0(r3)191; CHECK-NEXT:    lxv vs2, 16(r3)192; CHECK-NEXT:    lxv vs1, 32(r3)193; CHECK-NEXT:    lxv vs0, 48(r3)194; CHECK-NEXT:    xxmtacc acc0195; CHECK-NEXT:    xvi16ger2pp acc0, v2, v2196; CHECK-NEXT:    xxmfacc acc0197; CHECK-NEXT:    stxv vs0, 48(r7)198; CHECK-NEXT:    stxv vs1, 32(r7)199; CHECK-NEXT:    stxv vs2, 16(r7)200; CHECK-NEXT:    stxv vs3, 0(r7)201; CHECK-NEXT:    blr202;203; CHECK-BE-LABEL: test4:204; CHECK-BE:       # %bb.0: # %entry205; CHECK-BE-NEXT:    lxv vs3, 48(r3)206; CHECK-BE-NEXT:    lxv vs2, 32(r3)207; CHECK-BE-NEXT:    lxv vs1, 16(r3)208; CHECK-BE-NEXT:    lxv vs0, 0(r3)209; CHECK-BE-NEXT:    xxmtacc acc0210; CHECK-BE-NEXT:    xvi16ger2pp acc0, v2, v2211; CHECK-BE-NEXT:    xxmfacc acc0212; CHECK-BE-NEXT:    stxv vs1, 16(r7)213; CHECK-BE-NEXT:    stxv vs0, 0(r7)214; CHECK-BE-NEXT:    stxv vs3, 48(r7)215; CHECK-BE-NEXT:    stxv vs2, 32(r7)216; CHECK-BE-NEXT:    blr217;218; CHECK-LE-WACC-LABEL: test4:219; CHECK-LE-WACC:       # %bb.0: # %entry220; CHECK-LE-WACC-NEXT:    lxv v5, 0(r3)221; CHECK-LE-WACC-NEXT:    lxv v1, 32(r3)222; CHECK-LE-WACC-NEXT:    lxv v4, 16(r3)223; CHECK-LE-WACC-NEXT:    lxv v0, 48(r3)224; CHECK-LE-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp32, vsp36, 0225; CHECK-LE-WACC-NEXT:    xvi16ger2pp wacc0, v2, v2226; CHECK-LE-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 0227; CHECK-LE-WACC-NEXT:    stxv v4, 48(r7)228; CHECK-LE-WACC-NEXT:    stxv v5, 32(r7)229; CHECK-LE-WACC-NEXT:    stxv v2, 16(r7)230; CHECK-LE-WACC-NEXT:    stxv v3, 0(r7)231; CHECK-LE-WACC-NEXT:    blr232;233; CHECK-BE-WACC-LABEL: test4:234; CHECK-BE-WACC:       # %bb.0: # %entry235; CHECK-BE-WACC-NEXT:    lxv v5, 48(r3)236; CHECK-BE-WACC-NEXT:    lxv v1, 16(r3)237; CHECK-BE-WACC-NEXT:    lxv v4, 32(r3)238; CHECK-BE-WACC-NEXT:    lxv v0, 0(r3)239; CHECK-BE-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp32, vsp36, 0240; CHECK-BE-WACC-NEXT:    xvi16ger2pp wacc0, v2, v2241; CHECK-BE-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 0242; CHECK-BE-WACC-NEXT:    stxv v5, 48(r7)243; CHECK-BE-WACC-NEXT:    stxv v4, 32(r7)244; CHECK-BE-WACC-NEXT:    stxv v3, 16(r7)245; CHECK-BE-WACC-NEXT:    stxv v2, 0(r7)246; CHECK-BE-WACC-NEXT:    blr247entry:248  %0 = load <512 x i1>, ptr %vqp, align 64249  %1 = tail call <512 x i1> @llvm.ppc.mma.xvi16ger2pp(<512 x i1> %0, <16 x i8> %vc, <16 x i8> %vc)250  store <512 x i1> %1, ptr %resp, align 64251  ret void252}253 254; Function Attrs: nounwind readnone255declare <512 x i1> @llvm.ppc.mma.xvi16ger2pp(<512 x i1>, <16 x i8>, <16 x i8>)256 257; Function Attrs: nofree nounwind258define dso_local void @test5(ptr nocapture readonly %vqp, ptr nocapture readnone %vpp, <16 x i8> %vc, ptr nocapture %resp) {259; CHECK-LABEL: test5:260; CHECK:       # %bb.0: # %entry261; CHECK-NEXT:    lxv vs3, 0(r3)262; CHECK-NEXT:    lxv vs2, 16(r3)263; CHECK-NEXT:    lxv vs1, 32(r3)264; CHECK-NEXT:    lxv vs0, 48(r3)265; CHECK-NEXT:    xxmtacc acc0266; CHECK-NEXT:    pmxvi8ger4spp acc0, v2, v2, 0, 0, 0267; CHECK-NEXT:    xxmfacc acc0268; CHECK-NEXT:    stxv vs0, 48(r7)269; CHECK-NEXT:    stxv vs1, 32(r7)270; CHECK-NEXT:    stxv vs2, 16(r7)271; CHECK-NEXT:    stxv vs3, 0(r7)272; CHECK-NEXT:    blr273;274; CHECK-BE-LABEL: test5:275; CHECK-BE:       # %bb.0: # %entry276; CHECK-BE-NEXT:    lxv vs3, 48(r3)277; CHECK-BE-NEXT:    lxv vs2, 32(r3)278; CHECK-BE-NEXT:    lxv vs1, 16(r3)279; CHECK-BE-NEXT:    lxv vs0, 0(r3)280; CHECK-BE-NEXT:    xxmtacc acc0281; CHECK-BE-NEXT:    pmxvi8ger4spp acc0, v2, v2, 0, 0, 0282; CHECK-BE-NEXT:    xxmfacc acc0283; CHECK-BE-NEXT:    stxv vs1, 16(r7)284; CHECK-BE-NEXT:    stxv vs0, 0(r7)285; CHECK-BE-NEXT:    stxv vs3, 48(r7)286; CHECK-BE-NEXT:    stxv vs2, 32(r7)287; CHECK-BE-NEXT:    blr288;289; CHECK-LE-WACC-LABEL: test5:290; CHECK-LE-WACC:       # %bb.0: # %entry291; CHECK-LE-WACC-NEXT:    lxv v5, 0(r3)292; CHECK-LE-WACC-NEXT:    lxv v1, 32(r3)293; CHECK-LE-WACC-NEXT:    lxv v4, 16(r3)294; CHECK-LE-WACC-NEXT:    lxv v0, 48(r3)295; CHECK-LE-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp32, vsp36, 0296; CHECK-LE-WACC-NEXT:    pmxvi8ger4spp wacc0, v2, v2, 0, 0, 0297; CHECK-LE-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 0298; CHECK-LE-WACC-NEXT:    stxv v4, 48(r7)299; CHECK-LE-WACC-NEXT:    stxv v5, 32(r7)300; CHECK-LE-WACC-NEXT:    stxv v2, 16(r7)301; CHECK-LE-WACC-NEXT:    stxv v3, 0(r7)302; CHECK-LE-WACC-NEXT:    blr303;304; CHECK-BE-WACC-LABEL: test5:305; CHECK-BE-WACC:       # %bb.0: # %entry306; CHECK-BE-WACC-NEXT:    lxv v5, 48(r3)307; CHECK-BE-WACC-NEXT:    lxv v1, 16(r3)308; CHECK-BE-WACC-NEXT:    lxv v4, 32(r3)309; CHECK-BE-WACC-NEXT:    lxv v0, 0(r3)310; CHECK-BE-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp32, vsp36, 0311; CHECK-BE-WACC-NEXT:    pmxvi8ger4spp wacc0, v2, v2, 0, 0, 0312; CHECK-BE-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 0313; CHECK-BE-WACC-NEXT:    stxv v5, 48(r7)314; CHECK-BE-WACC-NEXT:    stxv v4, 32(r7)315; CHECK-BE-WACC-NEXT:    stxv v3, 16(r7)316; CHECK-BE-WACC-NEXT:    stxv v2, 0(r7)317; CHECK-BE-WACC-NEXT:    blr318entry:319  %0 = load <512 x i1>, ptr %vqp, align 64320  %1 = tail call <512 x i1> @llvm.ppc.mma.pmxvi8ger4spp(<512 x i1> %0, <16 x i8> %vc, <16 x i8> %vc, i32 0, i32 0, i32 0)321  store <512 x i1> %1, ptr %resp, align 64322  ret void323}324 325; Function Attrs: nounwind readnone326declare <512 x i1> @llvm.ppc.mma.pmxvi8ger4spp(<512 x i1>, <16 x i8>, <16 x i8>, i32, i32, i32)327 328; Function Attrs: nofree nounwind329define dso_local void @test6(ptr nocapture readonly %vqp, ptr nocapture readnone %vpp, <16 x i8> %vc, ptr nocapture %resp) {330; CHECK-LABEL: test6:331; CHECK:       # %bb.0: # %entry332; CHECK-NEXT:    lxv vs3, 0(r3)333; CHECK-NEXT:    lxv vs2, 16(r3)334; CHECK-NEXT:    lxv vs1, 32(r3)335; CHECK-NEXT:    lxv vs0, 48(r3)336; CHECK-NEXT:    xxmtacc acc0337; CHECK-NEXT:    pmxvi16ger2pp acc0, v2, v2, 0, 0, 0338; CHECK-NEXT:    xxmfacc acc0339; CHECK-NEXT:    stxv vs0, 48(r7)340; CHECK-NEXT:    stxv vs1, 32(r7)341; CHECK-NEXT:    stxv vs2, 16(r7)342; CHECK-NEXT:    stxv vs3, 0(r7)343; CHECK-NEXT:    blr344;345; CHECK-BE-LABEL: test6:346; CHECK-BE:       # %bb.0: # %entry347; CHECK-BE-NEXT:    lxv vs3, 48(r3)348; CHECK-BE-NEXT:    lxv vs2, 32(r3)349; CHECK-BE-NEXT:    lxv vs1, 16(r3)350; CHECK-BE-NEXT:    lxv vs0, 0(r3)351; CHECK-BE-NEXT:    xxmtacc acc0352; CHECK-BE-NEXT:    pmxvi16ger2pp acc0, v2, v2, 0, 0, 0353; CHECK-BE-NEXT:    xxmfacc acc0354; CHECK-BE-NEXT:    stxv vs1, 16(r7)355; CHECK-BE-NEXT:    stxv vs0, 0(r7)356; CHECK-BE-NEXT:    stxv vs3, 48(r7)357; CHECK-BE-NEXT:    stxv vs2, 32(r7)358; CHECK-BE-NEXT:    blr359;360; CHECK-LE-WACC-LABEL: test6:361; CHECK-LE-WACC:       # %bb.0: # %entry362; CHECK-LE-WACC-NEXT:    lxv v5, 0(r3)363; CHECK-LE-WACC-NEXT:    lxv v1, 32(r3)364; CHECK-LE-WACC-NEXT:    lxv v4, 16(r3)365; CHECK-LE-WACC-NEXT:    lxv v0, 48(r3)366; CHECK-LE-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp32, vsp36, 0367; CHECK-LE-WACC-NEXT:    pmxvi16ger2pp wacc0, v2, v2, 0, 0, 0368; CHECK-LE-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 0369; CHECK-LE-WACC-NEXT:    stxv v4, 48(r7)370; CHECK-LE-WACC-NEXT:    stxv v5, 32(r7)371; CHECK-LE-WACC-NEXT:    stxv v2, 16(r7)372; CHECK-LE-WACC-NEXT:    stxv v3, 0(r7)373; CHECK-LE-WACC-NEXT:    blr374;375; CHECK-BE-WACC-LABEL: test6:376; CHECK-BE-WACC:       # %bb.0: # %entry377; CHECK-BE-WACC-NEXT:    lxv v5, 48(r3)378; CHECK-BE-WACC-NEXT:    lxv v1, 16(r3)379; CHECK-BE-WACC-NEXT:    lxv v4, 32(r3)380; CHECK-BE-WACC-NEXT:    lxv v0, 0(r3)381; CHECK-BE-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp32, vsp36, 0382; CHECK-BE-WACC-NEXT:    pmxvi16ger2pp wacc0, v2, v2, 0, 0, 0383; CHECK-BE-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 0384; CHECK-BE-WACC-NEXT:    stxv v5, 48(r7)385; CHECK-BE-WACC-NEXT:    stxv v4, 32(r7)386; CHECK-BE-WACC-NEXT:    stxv v3, 16(r7)387; CHECK-BE-WACC-NEXT:    stxv v2, 0(r7)388; CHECK-BE-WACC-NEXT:    blr389entry:390  %0 = load <512 x i1>, ptr %vqp, align 64391  %1 = tail call <512 x i1> @llvm.ppc.mma.pmxvi16ger2pp(<512 x i1> %0, <16 x i8> %vc, <16 x i8> %vc, i32 0, i32 0, i32 0)392  store <512 x i1> %1, ptr %resp, align 64393  ret void394}395 396; Function Attrs: nounwind readnone397declare <512 x i1> @llvm.ppc.mma.pmxvi16ger2pp(<512 x i1>, <16 x i8>, <16 x i8>, i32, i32, i32)398