brintos

brintos / llvm-project-archived public Read only

0
0
Text · 28.3 KiB · bc5d5be Raw
793 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 -ppc-vsr-nums-as-vr \4; RUN:   -disable-auto-paired-vec-st=false < %s | FileCheck %s \5; RUN:   --check-prefix=LE-PAIRED6; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \7; RUN:   -mcpu=future -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \8; RUN:   -disable-auto-paired-vec-st=false < %s | FileCheck %s \9; RUN:   --check-prefix=LE-PAIRED-WACC10; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \11; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names \12; RUN:   -ppc-vsr-nums-as-vr -disable-auto-paired-vec-st=false < %s | \13; RUN:   FileCheck %s --check-prefix=BE-PAIRED14; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \15; RUN:   -mcpu=future -ppc-asm-full-reg-names \16; RUN:   -ppc-vsr-nums-as-vr -disable-auto-paired-vec-st=false < %s | \17; RUN:   FileCheck %s --check-prefix=BE-PAIRED-WACC18; RUN: llc -verify-machineinstrs -mcpu=pwr9 -ppc-vsr-nums-as-vr \19; RUN:   -ppc-asm-full-reg-names -mtriple=powerpc64le-unknown-linux-gnu < %s \20; RUN:   | FileCheck %s --check-prefix=LE-PWR921; RUN: llc -verify-machineinstrs -mcpu=pwr8 -ppc-vsr-nums-as-vr \22; RUN:   -ppc-asm-full-reg-names -mtriple=powerpc64le-unknown-linux-gnu < %s \23; RUN:   | FileCheck %s --check-prefix=LE-PWR824; RUN: llc -verify-machineinstrs -mcpu=pwr9 -ppc-vsr-nums-as-vr \25; RUN:   -ppc-asm-full-reg-names -mtriple=powerpc64-unknown-linux-gnu < %s \26; RUN:   | FileCheck %s --check-prefix=BE-PWR927; RUN: llc -verify-machineinstrs -mcpu=pwr8 -ppc-vsr-nums-as-vr \28; RUN:   -ppc-asm-full-reg-names -mtriple=powerpc64-unknown-linux-gnu < %s \29; RUN:   | FileCheck %s --check-prefix=BE-PWR830 31@f = common dso_local local_unnamed_addr global <512 x i1> zeroinitializer, align 1632@g = common dso_local local_unnamed_addr global <256 x i1> zeroinitializer, align 1633 34define dso_local void @testLdSt(i64 %SrcIdx, i64 %DstIdx) {35; LE-PAIRED-LABEL: testLdSt:36; LE-PAIRED:       # %bb.0: # %entry37; LE-PAIRED-NEXT:    plxv vs3, f@PCREL+64(0), 138; LE-PAIRED-NEXT:    plxv vs2, f@PCREL+80(0), 139; LE-PAIRED-NEXT:    plxv vs1, f@PCREL+96(0), 140; LE-PAIRED-NEXT:    plxv vs0, f@PCREL+112(0), 141; LE-PAIRED-NEXT:    pstxv vs0, f@PCREL+176(0), 142; LE-PAIRED-NEXT:    pstxv vs1, f@PCREL+160(0), 143; LE-PAIRED-NEXT:    pstxv vs2, f@PCREL+144(0), 144; LE-PAIRED-NEXT:    pstxv vs3, f@PCREL+128(0), 145; LE-PAIRED-NEXT:    blr46;47; LE-PAIRED-WACC-LABEL: testLdSt:48; LE-PAIRED-WACC:       # %bb.0: # %entry49; LE-PAIRED-WACC-NEXT:    plxv v3, f@PCREL+64(0), 150; LE-PAIRED-WACC-NEXT:    plxv v5, f@PCREL+96(0), 151; LE-PAIRED-WACC-NEXT:    plxv v2, f@PCREL+80(0), 152; LE-PAIRED-WACC-NEXT:    plxv v4, f@PCREL+112(0), 153; LE-PAIRED-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp36, vsp34, 054; LE-PAIRED-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 055; LE-PAIRED-WACC-NEXT:    pstxv v4, f@PCREL+176(0), 156; LE-PAIRED-WACC-NEXT:    pstxv v5, f@PCREL+160(0), 157; LE-PAIRED-WACC-NEXT:    pstxv v2, f@PCREL+144(0), 158; LE-PAIRED-WACC-NEXT:    pstxv v3, f@PCREL+128(0), 159; LE-PAIRED-WACC-NEXT:    blr60;61; BE-PAIRED-LABEL: testLdSt:62; BE-PAIRED:       # %bb.0: # %entry63; BE-PAIRED-NEXT:    addis r3, r2, f@toc@ha64; BE-PAIRED-NEXT:    addi r3, r3, f@toc@l65; BE-PAIRED-NEXT:    lxv vs3, 112(r3)66; BE-PAIRED-NEXT:    lxv vs2, 96(r3)67; BE-PAIRED-NEXT:    lxv vs1, 80(r3)68; BE-PAIRED-NEXT:    lxv vs0, 64(r3)69; BE-PAIRED-NEXT:    stxv vs1, 144(r3)70; BE-PAIRED-NEXT:    stxv vs0, 128(r3)71; BE-PAIRED-NEXT:    stxv vs3, 176(r3)72; BE-PAIRED-NEXT:    stxv vs2, 160(r3)73; BE-PAIRED-NEXT:    blr74;75; BE-PAIRED-WACC-LABEL: testLdSt:76; BE-PAIRED-WACC:       # %bb.0: # %entry77; BE-PAIRED-WACC-NEXT:    addis r3, r2, f@toc@ha78; BE-PAIRED-WACC-NEXT:    addi r3, r3, f@toc@l79; BE-PAIRED-WACC-NEXT:    lxv v3, 112(r3)80; BE-PAIRED-WACC-NEXT:    lxv v5, 80(r3)81; BE-PAIRED-WACC-NEXT:    lxv v2, 96(r3)82; BE-PAIRED-WACC-NEXT:    lxv v4, 64(r3)83; BE-PAIRED-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp36, vsp34, 084; BE-PAIRED-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 085; BE-PAIRED-WACC-NEXT:    stxv v5, 176(r3)86; BE-PAIRED-WACC-NEXT:    stxv v4, 160(r3)87; BE-PAIRED-WACC-NEXT:    stxv v3, 144(r3)88; BE-PAIRED-WACC-NEXT:    stxv v2, 128(r3)89; BE-PAIRED-WACC-NEXT:    blr90;91; LE-PWR9-LABEL: testLdSt:92; LE-PWR9:       # %bb.0: # %entry93; LE-PWR9-NEXT:    addis r3, r2, f@toc@ha94; LE-PWR9-NEXT:    addi r3, r3, f@toc@l95; LE-PWR9-NEXT:    lxv vs1, 96(r3)96; LE-PWR9-NEXT:    lxv vs0, 64(r3)97; LE-PWR9-NEXT:    lxv vs2, 112(r3)98; LE-PWR9-NEXT:    stxv vs1, 160(r3)99; LE-PWR9-NEXT:    lxv vs1, 80(r3)100; LE-PWR9-NEXT:    stxv vs2, 176(r3)101; LE-PWR9-NEXT:    stxv vs0, 128(r3)102; LE-PWR9-NEXT:    stxv vs1, 144(r3)103; LE-PWR9-NEXT:    blr104;105; LE-PWR8-LABEL: testLdSt:106; LE-PWR8:       # %bb.0: # %entry107; LE-PWR8-NEXT:    addis r3, r2, f@toc@ha108; LE-PWR8-NEXT:    li r4, 64109; LE-PWR8-NEXT:    addi r3, r3, f@toc@l110; LE-PWR8-NEXT:    lxvd2x vs0, r3, r4111; LE-PWR8-NEXT:    li r4, 80112; LE-PWR8-NEXT:    lxvd2x vs1, r3, r4113; LE-PWR8-NEXT:    li r4, 96114; LE-PWR8-NEXT:    lxvd2x vs2, r3, r4115; LE-PWR8-NEXT:    li r4, 112116; LE-PWR8-NEXT:    lxvd2x vs3, r3, r4117; LE-PWR8-NEXT:    li r4, 176118; LE-PWR8-NEXT:    stxvd2x vs3, r3, r4119; LE-PWR8-NEXT:    li r4, 160120; LE-PWR8-NEXT:    stxvd2x vs2, r3, r4121; LE-PWR8-NEXT:    li r4, 144122; LE-PWR8-NEXT:    stxvd2x vs1, r3, r4123; LE-PWR8-NEXT:    li r4, 128124; LE-PWR8-NEXT:    stxvd2x vs0, r3, r4125; LE-PWR8-NEXT:    blr126;127; BE-PWR9-LABEL: testLdSt:128; BE-PWR9:       # %bb.0: # %entry129; BE-PWR9-NEXT:    addis r3, r2, f@toc@ha130; BE-PWR9-NEXT:    addi r3, r3, f@toc@l131; BE-PWR9-NEXT:    lxv vs1, 96(r3)132; BE-PWR9-NEXT:    lxv vs0, 64(r3)133; BE-PWR9-NEXT:    lxv vs2, 112(r3)134; BE-PWR9-NEXT:    stxv vs1, 160(r3)135; BE-PWR9-NEXT:    lxv vs1, 80(r3)136; BE-PWR9-NEXT:    stxv vs2, 176(r3)137; BE-PWR9-NEXT:    stxv vs0, 128(r3)138; BE-PWR9-NEXT:    stxv vs1, 144(r3)139; BE-PWR9-NEXT:    blr140;141; BE-PWR8-LABEL: testLdSt:142; BE-PWR8:       # %bb.0: # %entry143; BE-PWR8-NEXT:    addis r3, r2, f@toc@ha144; BE-PWR8-NEXT:    li r4, 64145; BE-PWR8-NEXT:    addi r3, r3, f@toc@l146; BE-PWR8-NEXT:    lxvd2x vs0, r3, r4147; BE-PWR8-NEXT:    li r4, 80148; BE-PWR8-NEXT:    lxvd2x vs1, r3, r4149; BE-PWR8-NEXT:    li r4, 96150; BE-PWR8-NEXT:    lxvd2x vs2, r3, r4151; BE-PWR8-NEXT:    li r4, 112152; BE-PWR8-NEXT:    lxvd2x vs3, r3, r4153; BE-PWR8-NEXT:    li r4, 176154; BE-PWR8-NEXT:    stxvd2x vs3, r3, r4155; BE-PWR8-NEXT:    li r4, 160156; BE-PWR8-NEXT:    stxvd2x vs2, r3, r4157; BE-PWR8-NEXT:    li r4, 144158; BE-PWR8-NEXT:    stxvd2x vs1, r3, r4159; BE-PWR8-NEXT:    li r4, 128160; BE-PWR8-NEXT:    stxvd2x vs0, r3, r4161; BE-PWR8-NEXT:    blr162entry:163  %arrayidx = getelementptr inbounds <512 x i1>, ptr @f, i64 1164  %0 = load <512 x i1>, ptr %arrayidx, align 64165  %arrayidx1 = getelementptr inbounds <512 x i1>, ptr @f, i64 2166  store <512 x i1> %0, ptr %arrayidx1, align 64167  ret void168}169 170define dso_local void @testXLdSt(i64 %SrcIdx, i64 %DstIdx) {171; LE-PAIRED-LABEL: testXLdSt:172; LE-PAIRED:       # %bb.0: # %entry173; LE-PAIRED-NEXT:    paddi r5, 0, f@PCREL, 1174; LE-PAIRED-NEXT:    sldi r3, r3, 6175; LE-PAIRED-NEXT:    add r6, r5, r3176; LE-PAIRED-NEXT:    lxvx vs3, r5, r3177; LE-PAIRED-NEXT:    sldi r3, r4, 6178; LE-PAIRED-NEXT:    add r4, r5, r3179; LE-PAIRED-NEXT:    lxv vs2, 16(r6)180; LE-PAIRED-NEXT:    lxv vs1, 32(r6)181; LE-PAIRED-NEXT:    lxv vs0, 48(r6)182; LE-PAIRED-NEXT:    stxvx vs3, r5, r3183; LE-PAIRED-NEXT:    stxv vs0, 48(r4)184; LE-PAIRED-NEXT:    stxv vs1, 32(r4)185; LE-PAIRED-NEXT:    stxv vs2, 16(r4)186; LE-PAIRED-NEXT:    blr187;188; LE-PAIRED-WACC-LABEL: testXLdSt:189; LE-PAIRED-WACC:       # %bb.0: # %entry190; LE-PAIRED-WACC-NEXT:    paddi r5, 0, f@PCREL, 1191; LE-PAIRED-WACC-NEXT:    sldi r3, r3, 6192; LE-PAIRED-WACC-NEXT:    add r6, r5, r3193; LE-PAIRED-WACC-NEXT:    lxvx v3, r5, r3194; LE-PAIRED-WACC-NEXT:    lxv v2, 16(r6)195; LE-PAIRED-WACC-NEXT:    lxv v5, 32(r6)196; LE-PAIRED-WACC-NEXT:    lxv v4, 48(r6)197; LE-PAIRED-WACC-NEXT:    sldi r3, r4, 6198; LE-PAIRED-WACC-NEXT:    add r4, r5, r3199; LE-PAIRED-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp36, vsp34, 0200; LE-PAIRED-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 0201; LE-PAIRED-WACC-NEXT:    stxvx v3, r5, r3202; LE-PAIRED-WACC-NEXT:    stxv v4, 48(r4)203; LE-PAIRED-WACC-NEXT:    stxv v5, 32(r4)204; LE-PAIRED-WACC-NEXT:    stxv v2, 16(r4)205; LE-PAIRED-WACC-NEXT:    blr206;207; BE-PAIRED-LABEL: testXLdSt:208; BE-PAIRED:       # %bb.0: # %entry209; BE-PAIRED-NEXT:    addis r5, r2, f@toc@ha210; BE-PAIRED-NEXT:    addi r5, r5, f@toc@l211; BE-PAIRED-NEXT:    sldi r3, r3, 6212; BE-PAIRED-NEXT:    add r6, r5, r3213; BE-PAIRED-NEXT:    lxv vs3, 48(r6)214; BE-PAIRED-NEXT:    lxv vs2, 32(r6)215; BE-PAIRED-NEXT:    lxvx vs0, r5, r3216; BE-PAIRED-NEXT:    lxv vs1, 16(r6)217; BE-PAIRED-NEXT:    sldi r3, r4, 6218; BE-PAIRED-NEXT:    add r4, r5, r3219; BE-PAIRED-NEXT:    stxvx vs0, r5, r3220; BE-PAIRED-NEXT:    stxv vs1, 16(r4)221; BE-PAIRED-NEXT:    stxv vs3, 48(r4)222; BE-PAIRED-NEXT:    stxv vs2, 32(r4)223; BE-PAIRED-NEXT:    blr224;225; BE-PAIRED-WACC-LABEL: testXLdSt:226; BE-PAIRED-WACC:       # %bb.0: # %entry227; BE-PAIRED-WACC-NEXT:    addis r5, r2, f@toc@ha228; BE-PAIRED-WACC-NEXT:    addi r5, r5, f@toc@l229; BE-PAIRED-WACC-NEXT:    sldi r3, r3, 6230; BE-PAIRED-WACC-NEXT:    add r6, r5, r3231; BE-PAIRED-WACC-NEXT:    lxvx v2, r5, r3232; BE-PAIRED-WACC-NEXT:    lxv v5, 48(r6)233; BE-PAIRED-WACC-NEXT:    lxv v3, 16(r6)234; BE-PAIRED-WACC-NEXT:    lxv v4, 32(r6)235; BE-PAIRED-WACC-NEXT:    sldi r3, r4, 6236; BE-PAIRED-WACC-NEXT:    add r4, r5, r3237; BE-PAIRED-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp34, vsp36, 0238; BE-PAIRED-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 0239; BE-PAIRED-WACC-NEXT:    stxvx v2, r5, r3240; BE-PAIRED-WACC-NEXT:    stxv v5, 48(r4)241; BE-PAIRED-WACC-NEXT:    stxv v4, 32(r4)242; BE-PAIRED-WACC-NEXT:    stxv v3, 16(r4)243; BE-PAIRED-WACC-NEXT:    blr244;245; LE-PWR9-LABEL: testXLdSt:246; LE-PWR9:       # %bb.0: # %entry247; LE-PWR9-NEXT:    addis r5, r2, f@toc@ha248; LE-PWR9-NEXT:    sldi r3, r3, 6249; LE-PWR9-NEXT:    addi r5, r5, f@toc@l250; LE-PWR9-NEXT:    add r6, r5, r3251; LE-PWR9-NEXT:    lxvx vs3, r5, r3252; LE-PWR9-NEXT:    sldi r3, r4, 6253; LE-PWR9-NEXT:    lxv vs0, 16(r6)254; LE-PWR9-NEXT:    lxv vs1, 32(r6)255; LE-PWR9-NEXT:    lxv vs2, 48(r6)256; LE-PWR9-NEXT:    stxvx vs3, r5, r3257; LE-PWR9-NEXT:    add r3, r5, r3258; LE-PWR9-NEXT:    stxv vs2, 48(r3)259; LE-PWR9-NEXT:    stxv vs1, 32(r3)260; LE-PWR9-NEXT:    stxv vs0, 16(r3)261; LE-PWR9-NEXT:    blr262;263; LE-PWR8-LABEL: testXLdSt:264; LE-PWR8:       # %bb.0: # %entry265; LE-PWR8-NEXT:    addis r5, r2, f@toc@ha266; LE-PWR8-NEXT:    sldi r3, r3, 6267; LE-PWR8-NEXT:    li r7, 16268; LE-PWR8-NEXT:    li r8, 32269; LE-PWR8-NEXT:    li r9, 48270; LE-PWR8-NEXT:    addi r5, r5, f@toc@l271; LE-PWR8-NEXT:    add r6, r5, r3272; LE-PWR8-NEXT:    lxvd2x vs3, r5, r3273; LE-PWR8-NEXT:    sldi r3, r4, 6274; LE-PWR8-NEXT:    lxvd2x vs0, r6, r7275; LE-PWR8-NEXT:    lxvd2x vs1, r6, r8276; LE-PWR8-NEXT:    lxvd2x vs2, r6, r9277; LE-PWR8-NEXT:    stxvd2x vs3, r5, r3278; LE-PWR8-NEXT:    add r3, r5, r3279; LE-PWR8-NEXT:    stxvd2x vs2, r3, r9280; LE-PWR8-NEXT:    stxvd2x vs1, r3, r8281; LE-PWR8-NEXT:    stxvd2x vs0, r3, r7282; LE-PWR8-NEXT:    blr283;284; BE-PWR9-LABEL: testXLdSt:285; BE-PWR9:       # %bb.0: # %entry286; BE-PWR9-NEXT:    addis r5, r2, f@toc@ha287; BE-PWR9-NEXT:    sldi r3, r3, 6288; BE-PWR9-NEXT:    addi r5, r5, f@toc@l289; BE-PWR9-NEXT:    add r6, r5, r3290; BE-PWR9-NEXT:    lxvx vs3, r5, r3291; BE-PWR9-NEXT:    sldi r3, r4, 6292; BE-PWR9-NEXT:    lxv vs0, 16(r6)293; BE-PWR9-NEXT:    lxv vs1, 32(r6)294; BE-PWR9-NEXT:    lxv vs2, 48(r6)295; BE-PWR9-NEXT:    stxvx vs3, r5, r3296; BE-PWR9-NEXT:    add r3, r5, r3297; BE-PWR9-NEXT:    stxv vs2, 48(r3)298; BE-PWR9-NEXT:    stxv vs1, 32(r3)299; BE-PWR9-NEXT:    stxv vs0, 16(r3)300; BE-PWR9-NEXT:    blr301;302; BE-PWR8-LABEL: testXLdSt:303; BE-PWR8:       # %bb.0: # %entry304; BE-PWR8-NEXT:    addis r5, r2, f@toc@ha305; BE-PWR8-NEXT:    sldi r3, r3, 6306; BE-PWR8-NEXT:    li r7, 32307; BE-PWR8-NEXT:    li r8, 48308; BE-PWR8-NEXT:    sldi r4, r4, 6309; BE-PWR8-NEXT:    addi r5, r5, f@toc@l310; BE-PWR8-NEXT:    add r6, r5, r3311; BE-PWR8-NEXT:    lxvd2x vs0, r5, r3312; BE-PWR8-NEXT:    li r3, 16313; BE-PWR8-NEXT:    lxvd2x vs1, r6, r3314; BE-PWR8-NEXT:    lxvd2x vs2, r6, r7315; BE-PWR8-NEXT:    lxvd2x vs3, r6, r8316; BE-PWR8-NEXT:    add r6, r5, r4317; BE-PWR8-NEXT:    stxvd2x vs0, r5, r4318; BE-PWR8-NEXT:    stxvd2x vs3, r6, r8319; BE-PWR8-NEXT:    stxvd2x vs2, r6, r7320; BE-PWR8-NEXT:    stxvd2x vs1, r6, r3321; BE-PWR8-NEXT:    blr322entry:323  %arrayidx = getelementptr inbounds <512 x i1>, ptr @f, i64 %SrcIdx324  %0 = load <512 x i1>, ptr %arrayidx, align 64325  %arrayidx1 = getelementptr inbounds <512 x i1>, ptr @f, i64 %DstIdx326  store <512 x i1> %0, ptr %arrayidx1, align 64327  ret void328}329 330define dso_local void @testUnalignedLdSt() {331; LE-PAIRED-LABEL: testUnalignedLdSt:332; LE-PAIRED:       # %bb.0: # %entry333; LE-PAIRED-NEXT:    plxv vs3, f@PCREL+11(0), 1334; LE-PAIRED-NEXT:    plxv vs2, f@PCREL+27(0), 1335; LE-PAIRED-NEXT:    plxv vs1, f@PCREL+43(0), 1336; LE-PAIRED-NEXT:    plxv vs0, f@PCREL+59(0), 1337; LE-PAIRED-NEXT:    pstxv vs0, f@PCREL+67(0), 1338; LE-PAIRED-NEXT:    pstxv vs1, f@PCREL+51(0), 1339; LE-PAIRED-NEXT:    pstxv vs2, f@PCREL+35(0), 1340; LE-PAIRED-NEXT:    pstxv vs3, f@PCREL+19(0), 1341; LE-PAIRED-NEXT:    blr342;343; LE-PAIRED-WACC-LABEL: testUnalignedLdSt:344; LE-PAIRED-WACC:       # %bb.0: # %entry345; LE-PAIRED-WACC-NEXT:    plxv v3, f@PCREL+11(0), 1346; LE-PAIRED-WACC-NEXT:    plxv v5, f@PCREL+43(0), 1347; LE-PAIRED-WACC-NEXT:    plxv v2, f@PCREL+27(0), 1348; LE-PAIRED-WACC-NEXT:    plxv v4, f@PCREL+59(0), 1349; LE-PAIRED-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp36, vsp34, 0350; LE-PAIRED-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 0351; LE-PAIRED-WACC-NEXT:    pstxv v4, f@PCREL+67(0), 1352; LE-PAIRED-WACC-NEXT:    pstxv v5, f@PCREL+51(0), 1353; LE-PAIRED-WACC-NEXT:    pstxv v2, f@PCREL+35(0), 1354; LE-PAIRED-WACC-NEXT:    pstxv v3, f@PCREL+19(0), 1355; LE-PAIRED-WACC-NEXT:    blr356;357; BE-PAIRED-LABEL: testUnalignedLdSt:358; BE-PAIRED:       # %bb.0: # %entry359; BE-PAIRED-NEXT:    addis r3, r2, f@toc@ha360; BE-PAIRED-NEXT:    addi r3, r3, f@toc@l361; BE-PAIRED-NEXT:    plxv vs3, 59(r3), 0362; BE-PAIRED-NEXT:    plxv vs2, 43(r3), 0363; BE-PAIRED-NEXT:    plxv vs1, 27(r3), 0364; BE-PAIRED-NEXT:    plxv vs0, 11(r3), 0365; BE-PAIRED-NEXT:    pstxv vs1, 35(r3), 0366; BE-PAIRED-NEXT:    pstxv vs0, 19(r3), 0367; BE-PAIRED-NEXT:    pstxv vs3, 67(r3), 0368; BE-PAIRED-NEXT:    pstxv vs2, 51(r3), 0369; BE-PAIRED-NEXT:    blr370;371; BE-PAIRED-WACC-LABEL: testUnalignedLdSt:372; BE-PAIRED-WACC:       # %bb.0: # %entry373; BE-PAIRED-WACC-NEXT:    addis r3, r2, f@toc@ha374; BE-PAIRED-WACC-NEXT:    addi r3, r3, f@toc@l375; BE-PAIRED-WACC-NEXT:    plxv v3, 59(r3), 0376; BE-PAIRED-WACC-NEXT:    plxv v5, 27(r3), 0377; BE-PAIRED-WACC-NEXT:    plxv v2, 43(r3), 0378; BE-PAIRED-WACC-NEXT:    plxv v4, 11(r3), 0379; BE-PAIRED-WACC-NEXT:    dmxxinstdmr512 wacc0, vsp36, vsp34, 0380; BE-PAIRED-WACC-NEXT:    dmxxextfdmr512 vsp34, vsp36, wacc0, 0381; BE-PAIRED-WACC-NEXT:    pstxv v5, 67(r3), 0382; BE-PAIRED-WACC-NEXT:    pstxv v4, 51(r3), 0383; BE-PAIRED-WACC-NEXT:    pstxv v3, 35(r3), 0384; BE-PAIRED-WACC-NEXT:    pstxv v2, 19(r3), 0385; BE-PAIRED-WACC-NEXT:    blr386;387; LE-PWR9-LABEL: testUnalignedLdSt:388; LE-PWR9:       # %bb.0: # %entry389; LE-PWR9-NEXT:    addis r3, r2, f@toc@ha390; LE-PWR9-NEXT:    li r4, 11391; LE-PWR9-NEXT:    addi r3, r3, f@toc@l392; LE-PWR9-NEXT:    lxvx vs0, r3, r4393; LE-PWR9-NEXT:    li r4, 27394; LE-PWR9-NEXT:    lxvx vs1, r3, r4395; LE-PWR9-NEXT:    li r4, 43396; LE-PWR9-NEXT:    lxvx vs2, r3, r4397; LE-PWR9-NEXT:    li r4, 59398; LE-PWR9-NEXT:    lxvx vs3, r3, r4399; LE-PWR9-NEXT:    li r4, 67400; LE-PWR9-NEXT:    stxvx vs3, r3, r4401; LE-PWR9-NEXT:    li r4, 51402; LE-PWR9-NEXT:    stxvx vs2, r3, r4403; LE-PWR9-NEXT:    li r4, 35404; LE-PWR9-NEXT:    stxvx vs1, r3, r4405; LE-PWR9-NEXT:    li r4, 19406; LE-PWR9-NEXT:    stxvx vs0, r3, r4407; LE-PWR9-NEXT:    blr408;409; LE-PWR8-LABEL: testUnalignedLdSt:410; LE-PWR8:       # %bb.0: # %entry411; LE-PWR8-NEXT:    addis r3, r2, f@toc@ha412; LE-PWR8-NEXT:    li r4, 11413; LE-PWR8-NEXT:    addi r3, r3, f@toc@l414; LE-PWR8-NEXT:    lxvd2x vs0, r3, r4415; LE-PWR8-NEXT:    li r4, 27416; LE-PWR8-NEXT:    lxvd2x vs1, r3, r4417; LE-PWR8-NEXT:    li r4, 43418; LE-PWR8-NEXT:    lxvd2x vs2, r3, r4419; LE-PWR8-NEXT:    li r4, 59420; LE-PWR8-NEXT:    lxvd2x vs3, r3, r4421; LE-PWR8-NEXT:    li r4, 67422; LE-PWR8-NEXT:    stxvd2x vs3, r3, r4423; LE-PWR8-NEXT:    li r4, 51424; LE-PWR8-NEXT:    stxvd2x vs2, r3, r4425; LE-PWR8-NEXT:    li r4, 35426; LE-PWR8-NEXT:    stxvd2x vs1, r3, r4427; LE-PWR8-NEXT:    li r4, 19428; LE-PWR8-NEXT:    stxvd2x vs0, r3, r4429; LE-PWR8-NEXT:    blr430;431; BE-PWR9-LABEL: testUnalignedLdSt:432; BE-PWR9:       # %bb.0: # %entry433; BE-PWR9-NEXT:    addis r3, r2, f@toc@ha434; BE-PWR9-NEXT:    li r4, 11435; BE-PWR9-NEXT:    addi r3, r3, f@toc@l436; BE-PWR9-NEXT:    lxvx vs0, r3, r4437; BE-PWR9-NEXT:    li r4, 27438; BE-PWR9-NEXT:    lxvx vs1, r3, r4439; BE-PWR9-NEXT:    li r4, 43440; BE-PWR9-NEXT:    lxvx vs2, r3, r4441; BE-PWR9-NEXT:    li r4, 59442; BE-PWR9-NEXT:    lxvx vs3, r3, r4443; BE-PWR9-NEXT:    li r4, 67444; BE-PWR9-NEXT:    stxvx vs3, r3, r4445; BE-PWR9-NEXT:    li r4, 51446; BE-PWR9-NEXT:    stxvx vs2, r3, r4447; BE-PWR9-NEXT:    li r4, 35448; BE-PWR9-NEXT:    stxvx vs1, r3, r4449; BE-PWR9-NEXT:    li r4, 19450; BE-PWR9-NEXT:    stxvx vs0, r3, r4451; BE-PWR9-NEXT:    blr452;453; BE-PWR8-LABEL: testUnalignedLdSt:454; BE-PWR8:       # %bb.0: # %entry455; BE-PWR8-NEXT:    addis r3, r2, f@toc@ha456; BE-PWR8-NEXT:    li r4, 11457; BE-PWR8-NEXT:    addi r3, r3, f@toc@l458; BE-PWR8-NEXT:    lxvd2x vs0, r3, r4459; BE-PWR8-NEXT:    li r4, 27460; BE-PWR8-NEXT:    lxvd2x vs1, r3, r4461; BE-PWR8-NEXT:    li r4, 43462; BE-PWR8-NEXT:    lxvd2x vs2, r3, r4463; BE-PWR8-NEXT:    li r4, 59464; BE-PWR8-NEXT:    lxvd2x vs3, r3, r4465; BE-PWR8-NEXT:    li r4, 67466; BE-PWR8-NEXT:    stxvd2x vs3, r3, r4467; BE-PWR8-NEXT:    li r4, 51468; BE-PWR8-NEXT:    stxvd2x vs2, r3, r4469; BE-PWR8-NEXT:    li r4, 35470; BE-PWR8-NEXT:    stxvd2x vs1, r3, r4471; BE-PWR8-NEXT:    li r4, 19472; BE-PWR8-NEXT:    stxvd2x vs0, r3, r4473; BE-PWR8-NEXT:    blr474entry:475  %add.ptr = getelementptr inbounds i8, ptr @f, i64 11476  %add.ptr1 = getelementptr inbounds i8, ptr @f, i64 19477  %0 = load <512 x i1>, ptr %add.ptr, align 64478  store <512 x i1> %0, ptr %add.ptr1, align 64479  ret void480}481 482define dso_local void @testLdStPair(i64 %SrcIdx, i64 %DstIdx) {483; LE-PAIRED-LABEL: testLdStPair:484; LE-PAIRED:       # %bb.0: # %entry485; LE-PAIRED-NEXT:    plxv vs0, g@PCREL+48(0), 1486; LE-PAIRED-NEXT:    plxv vs1, g@PCREL+32(0), 1487; LE-PAIRED-NEXT:    pstxv vs0, g@PCREL+80(0), 1488; LE-PAIRED-NEXT:    pstxv vs1, g@PCREL+64(0), 1489; LE-PAIRED-NEXT:    blr490;491; LE-PAIRED-WACC-LABEL: testLdStPair:492; LE-PAIRED-WACC:       # %bb.0: # %entry493; LE-PAIRED-WACC-NEXT:    plxv vs0, g@PCREL+48(0), 1494; LE-PAIRED-WACC-NEXT:    plxv vs1, g@PCREL+32(0), 1495; LE-PAIRED-WACC-NEXT:    pstxv vs0, g@PCREL+80(0), 1496; LE-PAIRED-WACC-NEXT:    pstxv vs1, g@PCREL+64(0), 1497; LE-PAIRED-WACC-NEXT:    blr498;499; BE-PAIRED-LABEL: testLdStPair:500; BE-PAIRED:       # %bb.0: # %entry501; BE-PAIRED-NEXT:    addis r3, r2, g@toc@ha502; BE-PAIRED-NEXT:    addi r3, r3, g@toc@l503; BE-PAIRED-NEXT:    lxv vs0, 32(r3)504; BE-PAIRED-NEXT:    lxv vs1, 48(r3)505; BE-PAIRED-NEXT:    stxv vs1, 80(r3)506; BE-PAIRED-NEXT:    stxv vs0, 64(r3)507; BE-PAIRED-NEXT:    blr508;509; BE-PAIRED-WACC-LABEL: testLdStPair:510; BE-PAIRED-WACC:       # %bb.0: # %entry511; BE-PAIRED-WACC-NEXT:    addis r3, r2, g@toc@ha512; BE-PAIRED-WACC-NEXT:    addi r3, r3, g@toc@l513; BE-PAIRED-WACC-NEXT:    lxv vs0, 48(r3)514; BE-PAIRED-WACC-NEXT:    lxv vs1, 32(r3)515; BE-PAIRED-WACC-NEXT:    stxv vs0, 80(r3)516; BE-PAIRED-WACC-NEXT:    stxv vs1, 64(r3)517; BE-PAIRED-WACC-NEXT:    blr518;519; LE-PWR9-LABEL: testLdStPair:520; LE-PWR9:       # %bb.0: # %entry521; LE-PWR9-NEXT:    addis r3, r2, g@toc@ha522; LE-PWR9-NEXT:    addi r3, r3, g@toc@l523; LE-PWR9-NEXT:    lxv vs0, 32(r3)524; LE-PWR9-NEXT:    lxv vs1, 48(r3)525; LE-PWR9-NEXT:    stxv vs1, 80(r3)526; LE-PWR9-NEXT:    stxv vs0, 64(r3)527; LE-PWR9-NEXT:    blr528;529; LE-PWR8-LABEL: testLdStPair:530; LE-PWR8:       # %bb.0: # %entry531; LE-PWR8-NEXT:    addis r3, r2, g@toc@ha532; LE-PWR8-NEXT:    li r4, 32533; LE-PWR8-NEXT:    addi r3, r3, g@toc@l534; LE-PWR8-NEXT:    lxvd2x vs0, r3, r4535; LE-PWR8-NEXT:    li r4, 48536; LE-PWR8-NEXT:    lxvd2x vs1, r3, r4537; LE-PWR8-NEXT:    li r4, 80538; LE-PWR8-NEXT:    stxvd2x vs1, r3, r4539; LE-PWR8-NEXT:    li r4, 64540; LE-PWR8-NEXT:    stxvd2x vs0, r3, r4541; LE-PWR8-NEXT:    blr542;543; BE-PWR9-LABEL: testLdStPair:544; BE-PWR9:       # %bb.0: # %entry545; BE-PWR9-NEXT:    addis r3, r2, g@toc@ha546; BE-PWR9-NEXT:    addi r3, r3, g@toc@l547; BE-PWR9-NEXT:    lxv vs0, 32(r3)548; BE-PWR9-NEXT:    lxv vs1, 48(r3)549; BE-PWR9-NEXT:    stxv vs1, 80(r3)550; BE-PWR9-NEXT:    stxv vs0, 64(r3)551; BE-PWR9-NEXT:    blr552;553; BE-PWR8-LABEL: testLdStPair:554; BE-PWR8:       # %bb.0: # %entry555; BE-PWR8-NEXT:    addis r3, r2, g@toc@ha556; BE-PWR8-NEXT:    li r4, 32557; BE-PWR8-NEXT:    addi r3, r3, g@toc@l558; BE-PWR8-NEXT:    lxvd2x vs0, r3, r4559; BE-PWR8-NEXT:    li r4, 48560; BE-PWR8-NEXT:    lxvd2x vs1, r3, r4561; BE-PWR8-NEXT:    li r4, 80562; BE-PWR8-NEXT:    stxvd2x vs1, r3, r4563; BE-PWR8-NEXT:    li r4, 64564; BE-PWR8-NEXT:    stxvd2x vs0, r3, r4565; BE-PWR8-NEXT:    blr566entry:567  %arrayidx = getelementptr inbounds <256 x i1>, ptr @g, i64 1568  %0 = load <256 x i1>, ptr %arrayidx, align 64569  %arrayidx1 = getelementptr inbounds <256 x i1>, ptr @g, i64 2570  store <256 x i1> %0, ptr %arrayidx1, align 64571  ret void572}573 574define dso_local void @testXLdStPair(i64 %SrcIdx, i64 %DstIdx) {575; LE-PAIRED-LABEL: testXLdStPair:576; LE-PAIRED:       # %bb.0: # %entry577; LE-PAIRED-NEXT:    sldi r3, r3, 5578; LE-PAIRED-NEXT:    paddi r5, 0, g@PCREL, 1579; LE-PAIRED-NEXT:    add r6, r5, r3580; LE-PAIRED-NEXT:    lxvx vs0, r5, r3581; LE-PAIRED-NEXT:    sldi r3, r4, 5582; LE-PAIRED-NEXT:    add r4, r5, r3583; LE-PAIRED-NEXT:    lxv vs1, 16(r6)584; LE-PAIRED-NEXT:    stxvx vs0, r5, r3585; LE-PAIRED-NEXT:    stxv vs1, 16(r4)586; LE-PAIRED-NEXT:    blr587;588; LE-PAIRED-WACC-LABEL: testXLdStPair:589; LE-PAIRED-WACC:       # %bb.0: # %entry590; LE-PAIRED-WACC-NEXT:    sldi r3, r3, 5591; LE-PAIRED-WACC-NEXT:    paddi r5, 0, g@PCREL, 1592; LE-PAIRED-WACC-NEXT:    add r6, r5, r3593; LE-PAIRED-WACC-NEXT:    lxvx vs0, r5, r3594; LE-PAIRED-WACC-NEXT:    lxv vs1, 16(r6)595; LE-PAIRED-WACC-NEXT:    sldi r3, r4, 5596; LE-PAIRED-WACC-NEXT:    add r4, r5, r3597; LE-PAIRED-WACC-NEXT:    stxvx vs0, r5, r3598; LE-PAIRED-WACC-NEXT:    stxv vs1, 16(r4)599; LE-PAIRED-WACC-NEXT:    blr600;601; BE-PAIRED-LABEL: testXLdStPair:602; BE-PAIRED:       # %bb.0: # %entry603; BE-PAIRED-NEXT:    addis r5, r2, g@toc@ha604; BE-PAIRED-NEXT:    sldi r3, r3, 5605; BE-PAIRED-NEXT:    addi r5, r5, g@toc@l606; BE-PAIRED-NEXT:    add r6, r5, r3607; BE-PAIRED-NEXT:    lxvx vs0, r5, r3608; BE-PAIRED-NEXT:    sldi r3, r4, 5609; BE-PAIRED-NEXT:    add r4, r5, r3610; BE-PAIRED-NEXT:    lxv vs1, 16(r6)611; BE-PAIRED-NEXT:    stxvx vs0, r5, r3612; BE-PAIRED-NEXT:    stxv vs1, 16(r4)613; BE-PAIRED-NEXT:    blr614;615; BE-PAIRED-WACC-LABEL: testXLdStPair:616; BE-PAIRED-WACC:       # %bb.0: # %entry617; BE-PAIRED-WACC-NEXT:    addis r5, r2, g@toc@ha618; BE-PAIRED-WACC-NEXT:    sldi r3, r3, 5619; BE-PAIRED-WACC-NEXT:    addi r5, r5, g@toc@l620; BE-PAIRED-WACC-NEXT:    add r6, r5, r3621; BE-PAIRED-WACC-NEXT:    lxvx vs0, r5, r3622; BE-PAIRED-WACC-NEXT:    lxv vs1, 16(r6)623; BE-PAIRED-WACC-NEXT:    sldi r3, r4, 5624; BE-PAIRED-WACC-NEXT:    add r4, r5, r3625; BE-PAIRED-WACC-NEXT:    stxvx vs0, r5, r3626; BE-PAIRED-WACC-NEXT:    stxv vs1, 16(r4)627; BE-PAIRED-WACC-NEXT:    blr628;629; LE-PWR9-LABEL: testXLdStPair:630; LE-PWR9:       # %bb.0: # %entry631; LE-PWR9-NEXT:    addis r5, r2, g@toc@ha632; LE-PWR9-NEXT:    sldi r3, r3, 5633; LE-PWR9-NEXT:    sldi r4, r4, 5634; LE-PWR9-NEXT:    addi r5, r5, g@toc@l635; LE-PWR9-NEXT:    add r6, r5, r3636; LE-PWR9-NEXT:    lxvx vs1, r5, r3637; LE-PWR9-NEXT:    lxv vs0, 16(r6)638; LE-PWR9-NEXT:    add r6, r5, r4639; LE-PWR9-NEXT:    stxvx vs1, r5, r4640; LE-PWR9-NEXT:    stxv vs0, 16(r6)641; LE-PWR9-NEXT:    blr642;643; LE-PWR8-LABEL: testXLdStPair:644; LE-PWR8:       # %bb.0: # %entry645; LE-PWR8-NEXT:    addis r5, r2, g@toc@ha646; LE-PWR8-NEXT:    sldi r3, r3, 5647; LE-PWR8-NEXT:    li r7, 16648; LE-PWR8-NEXT:    addi r5, r5, g@toc@l649; LE-PWR8-NEXT:    add r6, r5, r3650; LE-PWR8-NEXT:    lxvd2x vs1, r5, r3651; LE-PWR8-NEXT:    sldi r3, r4, 5652; LE-PWR8-NEXT:    lxvd2x vs0, r6, r7653; LE-PWR8-NEXT:    add r4, r5, r3654; LE-PWR8-NEXT:    stxvd2x vs1, r5, r3655; LE-PWR8-NEXT:    stxvd2x vs0, r4, r7656; LE-PWR8-NEXT:    blr657;658; BE-PWR9-LABEL: testXLdStPair:659; BE-PWR9:       # %bb.0: # %entry660; BE-PWR9-NEXT:    addis r5, r2, g@toc@ha661; BE-PWR9-NEXT:    sldi r3, r3, 5662; BE-PWR9-NEXT:    sldi r4, r4, 5663; BE-PWR9-NEXT:    addi r5, r5, g@toc@l664; BE-PWR9-NEXT:    add r6, r5, r3665; BE-PWR9-NEXT:    lxvx vs1, r5, r3666; BE-PWR9-NEXT:    lxv vs0, 16(r6)667; BE-PWR9-NEXT:    add r6, r5, r4668; BE-PWR9-NEXT:    stxvx vs1, r5, r4669; BE-PWR9-NEXT:    stxv vs0, 16(r6)670; BE-PWR9-NEXT:    blr671;672; BE-PWR8-LABEL: testXLdStPair:673; BE-PWR8:       # %bb.0: # %entry674; BE-PWR8-NEXT:    addis r5, r2, g@toc@ha675; BE-PWR8-NEXT:    sldi r3, r3, 5676; BE-PWR8-NEXT:    sldi r4, r4, 5677; BE-PWR8-NEXT:    addi r5, r5, g@toc@l678; BE-PWR8-NEXT:    add r6, r5, r3679; BE-PWR8-NEXT:    lxvd2x vs0, r5, r3680; BE-PWR8-NEXT:    li r3, 16681; BE-PWR8-NEXT:    lxvd2x vs1, r6, r3682; BE-PWR8-NEXT:    add r6, r5, r4683; BE-PWR8-NEXT:    stxvd2x vs0, r5, r4684; BE-PWR8-NEXT:    stxvd2x vs1, r6, r3685; BE-PWR8-NEXT:    blr686entry:687  %arrayidx = getelementptr inbounds <256 x i1>, ptr @g, i64 %SrcIdx688  %0 = load <256 x i1>, ptr %arrayidx, align 64689  %arrayidx1 = getelementptr inbounds <256 x i1>, ptr @g, i64 %DstIdx690  store <256 x i1> %0, ptr %arrayidx1, align 64691  ret void692}693 694define dso_local void @testUnalignedLdStPair() {695; LE-PAIRED-LABEL: testUnalignedLdStPair:696; LE-PAIRED:       # %bb.0: # %entry697; LE-PAIRED-NEXT:    plxv vs0, g@PCREL+27(0), 1698; LE-PAIRED-NEXT:    plxv vs1, g@PCREL+11(0), 1699; LE-PAIRED-NEXT:    pstxv vs0, g@PCREL+35(0), 1700; LE-PAIRED-NEXT:    pstxv vs1, g@PCREL+19(0), 1701; LE-PAIRED-NEXT:    blr702;703; LE-PAIRED-WACC-LABEL: testUnalignedLdStPair:704; LE-PAIRED-WACC:       # %bb.0: # %entry705; LE-PAIRED-WACC-NEXT:    plxv vs0, g@PCREL+27(0), 1706; LE-PAIRED-WACC-NEXT:    plxv vs1, g@PCREL+11(0), 1707; LE-PAIRED-WACC-NEXT:    pstxv vs0, g@PCREL+35(0), 1708; LE-PAIRED-WACC-NEXT:    pstxv vs1, g@PCREL+19(0), 1709; LE-PAIRED-WACC-NEXT:    blr710;711; BE-PAIRED-LABEL: testUnalignedLdStPair:712; BE-PAIRED:       # %bb.0: # %entry713; BE-PAIRED-NEXT:    addis r3, r2, g@toc@ha714; BE-PAIRED-NEXT:    addi r3, r3, g@toc@l715; BE-PAIRED-NEXT:    plxv vs0, 11(r3), 0716; BE-PAIRED-NEXT:    plxv vs1, 27(r3), 0717; BE-PAIRED-NEXT:    pstxv vs1, 35(r3), 0718; BE-PAIRED-NEXT:    pstxv vs0, 19(r3), 0719; BE-PAIRED-NEXT:    blr720;721; BE-PAIRED-WACC-LABEL: testUnalignedLdStPair:722; BE-PAIRED-WACC:       # %bb.0: # %entry723; BE-PAIRED-WACC-NEXT:    addis r3, r2, g@toc@ha724; BE-PAIRED-WACC-NEXT:    addi r3, r3, g@toc@l725; BE-PAIRED-WACC-NEXT:    plxv vs0, 27(r3), 0726; BE-PAIRED-WACC-NEXT:    plxv vs1, 11(r3), 0727; BE-PAIRED-WACC-NEXT:    pstxv vs0, 35(r3), 0728; BE-PAIRED-WACC-NEXT:    pstxv vs1, 19(r3), 0729; BE-PAIRED-WACC-NEXT:    blr730;731; LE-PWR9-LABEL: testUnalignedLdStPair:732; LE-PWR9:       # %bb.0: # %entry733; LE-PWR9-NEXT:    addis r3, r2, g@toc@ha734; LE-PWR9-NEXT:    li r4, 11735; LE-PWR9-NEXT:    addi r3, r3, g@toc@l736; LE-PWR9-NEXT:    lxvx vs0, r3, r4737; LE-PWR9-NEXT:    li r4, 27738; LE-PWR9-NEXT:    lxvx vs1, r3, r4739; LE-PWR9-NEXT:    li r4, 35740; LE-PWR9-NEXT:    stxvx vs1, r3, r4741; LE-PWR9-NEXT:    li r4, 19742; LE-PWR9-NEXT:    stxvx vs0, r3, r4743; LE-PWR9-NEXT:    blr744;745; LE-PWR8-LABEL: testUnalignedLdStPair:746; LE-PWR8:       # %bb.0: # %entry747; LE-PWR8-NEXT:    addis r3, r2, g@toc@ha748; LE-PWR8-NEXT:    li r4, 11749; LE-PWR8-NEXT:    addi r3, r3, g@toc@l750; LE-PWR8-NEXT:    lxvd2x vs0, r3, r4751; LE-PWR8-NEXT:    li r4, 27752; LE-PWR8-NEXT:    lxvd2x vs1, r3, r4753; LE-PWR8-NEXT:    li r4, 35754; LE-PWR8-NEXT:    stxvd2x vs1, r3, r4755; LE-PWR8-NEXT:    li r4, 19756; LE-PWR8-NEXT:    stxvd2x vs0, r3, r4757; LE-PWR8-NEXT:    blr758;759; BE-PWR9-LABEL: testUnalignedLdStPair:760; BE-PWR9:       # %bb.0: # %entry761; BE-PWR9-NEXT:    addis r3, r2, g@toc@ha762; BE-PWR9-NEXT:    li r4, 11763; BE-PWR9-NEXT:    addi r3, r3, g@toc@l764; BE-PWR9-NEXT:    lxvx vs0, r3, r4765; BE-PWR9-NEXT:    li r4, 27766; BE-PWR9-NEXT:    lxvx vs1, r3, r4767; BE-PWR9-NEXT:    li r4, 35768; BE-PWR9-NEXT:    stxvx vs1, r3, r4769; BE-PWR9-NEXT:    li r4, 19770; BE-PWR9-NEXT:    stxvx vs0, r3, r4771; BE-PWR9-NEXT:    blr772;773; BE-PWR8-LABEL: testUnalignedLdStPair:774; BE-PWR8:       # %bb.0: # %entry775; BE-PWR8-NEXT:    addis r3, r2, g@toc@ha776; BE-PWR8-NEXT:    li r4, 11777; BE-PWR8-NEXT:    addi r3, r3, g@toc@l778; BE-PWR8-NEXT:    lxvd2x vs0, r3, r4779; BE-PWR8-NEXT:    li r4, 27780; BE-PWR8-NEXT:    lxvd2x vs1, r3, r4781; BE-PWR8-NEXT:    li r4, 35782; BE-PWR8-NEXT:    stxvd2x vs1, r3, r4783; BE-PWR8-NEXT:    li r4, 19784; BE-PWR8-NEXT:    stxvd2x vs0, r3, r4785; BE-PWR8-NEXT:    blr786entry:787  %add.ptr = getelementptr inbounds i8, ptr @g, i64 11788  %add.ptr1 = getelementptr inbounds i8, ptr @g, i64 19789  %0 = load <256 x i1>, ptr %add.ptr, align 64790  store <256 x i1> %0, ptr %add.ptr1, align 64791  ret void792}793