brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.6 KiB · bed1e32 Raw
250 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=powerpc64-unknown-aix-xcoff -verify-machineinstrs \3; RUN:   -ppc-asm-full-reg-names -mcpu=pwr8 < %s | FileCheck \4; RUN:   --check-prefix=AIX64 %s5; RUN: llc -mtriple=powerpc-unknown-aix-xcoff -verify-machineinstrs \6; RUN:   -ppc-asm-full-reg-names -mcpu=pwr8 < %s | FileCheck \7; RUN:   --check-prefix=AIX32 %s8; RUN: llc -mtriple=powerpc64le-- -verify-machineinstrs \9; RUN:   -ppc-asm-full-reg-names -mcpu=pwr8 < %s | FileCheck --check-prefix=LE %s10 11define dso_local void @test1(ptr %v, i64 %a) local_unnamed_addr #0 {12; AIX64-LABEL: test1:13; AIX64:       # %bb.0: # %entry14; AIX64-NEXT:    mtvsrd vs34, r415; AIX64-NEXT:    #APP16; AIX64-NEXT:    stvx v2, 0, r317; AIX64-NEXT:    #NO_APP18; AIX64-NEXT:    blr19;20; AIX32-LABEL: test1:21; AIX32:       # %bb.0: # %entry22; AIX32-NEXT:    stw r5, -4(r1)23; AIX32-NEXT:    stw r4, -8(r1)24; AIX32-NEXT:    lfd f0, -8(r1)25; AIX32-NEXT:    xxlor vs34, f0, f026; AIX32-NEXT:    #APP27; AIX32-NEXT:    stvx v2, 0, r328; AIX32-NEXT:    #NO_APP29; AIX32-NEXT:    blr30;31; LE-LABEL: test1:32; LE:       # %bb.0: # %entry33; LE-NEXT:    mtvsrd vs34, r434; LE-NEXT:    #APP35; LE-NEXT:    stvx v2, 0, r336; LE-NEXT:    #NO_APP37; LE-NEXT:    blr38entry:39  tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i64 %a, ptr %v)40  ret void41}42 43define dso_local void @test2(ptr %v, i32 signext %a) local_unnamed_addr #0 {44; AIX64-LABEL: test2:45; AIX64:       # %bb.0: # %entry46; AIX64-NEXT:    clrldi r4, r4, 3247; AIX64-NEXT:    mtvsrd vs34, r448; AIX64-NEXT:    #APP49; AIX64-NEXT:    stvx v2, 0, r350; AIX64-NEXT:    #NO_APP51; AIX64-NEXT:    blr52;53; AIX32-LABEL: test2:54; AIX32:       # %bb.0: # %entry55; AIX32-NEXT:    stw r4, -4(r1)56; AIX32-NEXT:    li r4, 057; AIX32-NEXT:    stw r4, -8(r1)58; AIX32-NEXT:    lfd f0, -8(r1)59; AIX32-NEXT:    xxlor vs34, f0, f060; AIX32-NEXT:    #APP61; AIX32-NEXT:    stvx v2, 0, r362; AIX32-NEXT:    #NO_APP63; AIX32-NEXT:    blr64;65; LE-LABEL: test2:66; LE:       # %bb.0: # %entry67; LE-NEXT:    clrldi r4, r4, 3268; LE-NEXT:    mtvsrd vs34, r469; LE-NEXT:    #APP70; LE-NEXT:    stvx v2, 0, r371; LE-NEXT:    #NO_APP72; LE-NEXT:    blr73entry:74  tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i32 %a, ptr %v)75  ret void76}77 78define dso_local void @test3(ptr %v, i16 signext %a) local_unnamed_addr #0 {79; AIX64-LABEL: test3:80; AIX64:       # %bb.0: # %entry81; AIX64-NEXT:    clrldi r4, r4, 4882; AIX64-NEXT:    mtvsrd vs34, r483; AIX64-NEXT:    #APP84; AIX64-NEXT:    stvx v2, 0, r385; AIX64-NEXT:    #NO_APP86; AIX64-NEXT:    blr87;88; AIX32-LABEL: test3:89; AIX32:       # %bb.0: # %entry90; AIX32-NEXT:    li r5, 091; AIX32-NEXT:    clrlwi r4, r4, 1692; AIX32-NEXT:    stw r5, -8(r1)93; AIX32-NEXT:    stw r4, -4(r1)94; AIX32-NEXT:    lfd f0, -8(r1)95; AIX32-NEXT:    xxlor vs34, f0, f096; AIX32-NEXT:    #APP97; AIX32-NEXT:    stvx v2, 0, r398; AIX32-NEXT:    #NO_APP99; AIX32-NEXT:    blr100;101; LE-LABEL: test3:102; LE:       # %bb.0: # %entry103; LE-NEXT:    clrldi r4, r4, 48104; LE-NEXT:    mtvsrd vs34, r4105; LE-NEXT:    #APP106; LE-NEXT:    stvx v2, 0, r3107; LE-NEXT:    #NO_APP108; LE-NEXT:    blr109entry:110  tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i16 %a, ptr %v)111  ret void112}113 114define dso_local void @test4(ptr %v, i8 signext %a) local_unnamed_addr #0 {115; AIX64-LABEL: test4:116; AIX64:       # %bb.0: # %entry117; AIX64-NEXT:    clrldi r4, r4, 56118; AIX64-NEXT:    mtvsrd vs34, r4119; AIX64-NEXT:    #APP120; AIX64-NEXT:    stvx v2, 0, r3121; AIX64-NEXT:    #NO_APP122; AIX64-NEXT:    blr123;124; AIX32-LABEL: test4:125; AIX32:       # %bb.0: # %entry126; AIX32-NEXT:    li r5, 0127; AIX32-NEXT:    clrlwi r4, r4, 24128; AIX32-NEXT:    stw r5, -8(r1)129; AIX32-NEXT:    stw r4, -4(r1)130; AIX32-NEXT:    lfd f0, -8(r1)131; AIX32-NEXT:    xxlor vs34, f0, f0132; AIX32-NEXT:    #APP133; AIX32-NEXT:    stvx v2, 0, r3134; AIX32-NEXT:    #NO_APP135; AIX32-NEXT:    blr136;137; LE-LABEL: test4:138; LE:       # %bb.0: # %entry139; LE-NEXT:    clrldi r4, r4, 56140; LE-NEXT:    mtvsrd vs34, r4141; LE-NEXT:    #APP142; LE-NEXT:    stvx v2, 0, r3143; LE-NEXT:    #NO_APP144; LE-NEXT:    blr145entry:146  tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i8 %a, ptr %v)147  ret void148}149 150define dso_local void @test6(ptr %v, i32 zeroext %a) local_unnamed_addr #0 {151; AIX64-LABEL: test6:152; AIX64:       # %bb.0: # %entry153; AIX64-NEXT:    mtvsrd vs34, r4154; AIX64-NEXT:    #APP155; AIX64-NEXT:    stvx v2, 0, r3156; AIX64-NEXT:    #NO_APP157; AIX64-NEXT:    blr158;159; AIX32-LABEL: test6:160; AIX32:       # %bb.0: # %entry161; AIX32-NEXT:    stw r4, -4(r1)162; AIX32-NEXT:    li r4, 0163; AIX32-NEXT:    stw r4, -8(r1)164; AIX32-NEXT:    lfd f0, -8(r1)165; AIX32-NEXT:    xxlor vs34, f0, f0166; AIX32-NEXT:    #APP167; AIX32-NEXT:    stvx v2, 0, r3168; AIX32-NEXT:    #NO_APP169; AIX32-NEXT:    blr170;171; LE-LABEL: test6:172; LE:       # %bb.0: # %entry173; LE-NEXT:    mtvsrd vs34, r4174; LE-NEXT:    #APP175; LE-NEXT:    stvx v2, 0, r3176; LE-NEXT:    #NO_APP177; LE-NEXT:    blr178entry:179  tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i32 %a, ptr %v)180  ret void181}182 183define dso_local void @test7(ptr %v, i16 zeroext %a) local_unnamed_addr #0 {184; AIX64-LABEL: test7:185; AIX64:       # %bb.0: # %entry186; AIX64-NEXT:    mtvsrd vs34, r4187; AIX64-NEXT:    #APP188; AIX64-NEXT:    stvx v2, 0, r3189; AIX64-NEXT:    #NO_APP190; AIX64-NEXT:    blr191;192; AIX32-LABEL: test7:193; AIX32:       # %bb.0: # %entry194; AIX32-NEXT:    stw r4, -4(r1)195; AIX32-NEXT:    li r4, 0196; AIX32-NEXT:    stw r4, -8(r1)197; AIX32-NEXT:    lfd f0, -8(r1)198; AIX32-NEXT:    xxlor vs34, f0, f0199; AIX32-NEXT:    #APP200; AIX32-NEXT:    stvx v2, 0, r3201; AIX32-NEXT:    #NO_APP202; AIX32-NEXT:    blr203;204; LE-LABEL: test7:205; LE:       # %bb.0: # %entry206; LE-NEXT:    mtvsrd vs34, r4207; LE-NEXT:    #APP208; LE-NEXT:    stvx v2, 0, r3209; LE-NEXT:    #NO_APP210; LE-NEXT:    blr211entry:212  tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i16 %a, ptr %v)213  ret void214}215 216define dso_local void @test8(ptr %v, i8 zeroext %a) local_unnamed_addr #0 {217; AIX64-LABEL: test8:218; AIX64:       # %bb.0: # %entry219; AIX64-NEXT:    mtvsrd vs34, r4220; AIX64-NEXT:    #APP221; AIX64-NEXT:    stvx v2, 0, r3222; AIX64-NEXT:    #NO_APP223; AIX64-NEXT:    blr224;225; AIX32-LABEL: test8:226; AIX32:       # %bb.0: # %entry227; AIX32-NEXT:    stw r4, -4(r1)228; AIX32-NEXT:    li r4, 0229; AIX32-NEXT:    stw r4, -8(r1)230; AIX32-NEXT:    lfd f0, -8(r1)231; AIX32-NEXT:    xxlor vs34, f0, f0232; AIX32-NEXT:    #APP233; AIX32-NEXT:    stvx v2, 0, r3234; AIX32-NEXT:    #NO_APP235; AIX32-NEXT:    blr236;237; LE-LABEL: test8:238; LE:       # %bb.0: # %entry239; LE-NEXT:    mtvsrd vs34, r4240; LE-NEXT:    #APP241; LE-NEXT:    stvx v2, 0, r3242; LE-NEXT:    #NO_APP243; LE-NEXT:    blr244entry:245  tail call void asm sideeffect "stvx $0,0,$1", "v,r,~{memory}"(i8 %a, ptr %v)246  ret void247}248 249attributes #0 = { nounwind }250