brintos

brintos / llvm-project-archived public Read only

0
0
Text · 33.5 KiB · af0942e Raw
637 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mcpu=pwr10 < %s | FileCheck %s3 4target datalayout = "e-m:e-i64:64-p:64:64-n32:64-v256:256:256-v512:512:512"5target triple = "powerpc64le-unknown-linux-gnu"6 7%_elem_type_of_a = type <{ double }>8%_elem_type_of_x = type <{ double }>9 10define void @foo(ptr %.m, ptr %.n, ptr %.a, ptr %.x, ptr %.l, ptr %.vy01, ptr %.vy02, ptr %.vy03, ptr %.vy04, ptr %.vy05, ptr %.vy06, ptr %.vy07, ptr %.vy08, ptr %.vy09, ptr %.vy0a, ptr %.vy0b, ptr %.vy0c, ptr %.vy21, ptr %.vy22, ptr %.vy23, ptr %.vy24, ptr %.vy25, ptr %.vy26, ptr %.vy27, ptr %.vy28, ptr %.vy29, ptr %.vy2a, ptr %.vy2b, ptr %.vy2c) {11; CHECK-LABEL: foo:12; CHECK:       # %bb.0: # %entry13; CHECK-NEXT:    lwz 4, 0(4)14; CHECK-NEXT:    cmpwi 4, 115; CHECK-NEXT:    bltlr 016; CHECK-NEXT:  # %bb.1: # %_loop_1_do_.lr.ph17; CHECK-NEXT:    lwz 3, 0(3)18; CHECK-NEXT:    cmpwi 3, 119; CHECK-NEXT:    bltlr 020; CHECK-NEXT:  # %bb.2: # %_loop_1_do_.preheader21; CHECK-NEXT:    stdu 1, -592(1)22; CHECK-NEXT:    .cfi_def_cfa_offset 59223; CHECK-NEXT:    .cfi_offset r14, -19224; CHECK-NEXT:    .cfi_offset r15, -18425; CHECK-NEXT:    .cfi_offset r16, -17626; CHECK-NEXT:    .cfi_offset r17, -16827; CHECK-NEXT:    .cfi_offset r18, -16028; CHECK-NEXT:    .cfi_offset r19, -15229; CHECK-NEXT:    .cfi_offset r20, -14430; CHECK-NEXT:    .cfi_offset r21, -13631; CHECK-NEXT:    .cfi_offset r22, -12832; CHECK-NEXT:    .cfi_offset r23, -12033; CHECK-NEXT:    .cfi_offset r24, -11234; CHECK-NEXT:    .cfi_offset r25, -10435; CHECK-NEXT:    .cfi_offset r26, -9636; CHECK-NEXT:    .cfi_offset r27, -8837; CHECK-NEXT:    .cfi_offset r28, -8038; CHECK-NEXT:    .cfi_offset r29, -7239; CHECK-NEXT:    .cfi_offset r30, -6440; CHECK-NEXT:    .cfi_offset r31, -5641; CHECK-NEXT:    .cfi_offset f26, -4842; CHECK-NEXT:    .cfi_offset f27, -4043; CHECK-NEXT:    .cfi_offset f28, -3244; CHECK-NEXT:    .cfi_offset f29, -2445; CHECK-NEXT:    .cfi_offset f30, -1646; CHECK-NEXT:    .cfi_offset f31, -847; CHECK-NEXT:    .cfi_offset v20, -38448; CHECK-NEXT:    .cfi_offset v21, -36849; CHECK-NEXT:    .cfi_offset v22, -35250; CHECK-NEXT:    .cfi_offset v23, -33651; CHECK-NEXT:    .cfi_offset v24, -32052; CHECK-NEXT:    .cfi_offset v25, -30453; CHECK-NEXT:    .cfi_offset v26, -28854; CHECK-NEXT:    .cfi_offset v27, -27255; CHECK-NEXT:    .cfi_offset v28, -25656; CHECK-NEXT:    .cfi_offset v29, -24057; CHECK-NEXT:    .cfi_offset v30, -22458; CHECK-NEXT:    .cfi_offset v31, -20859; CHECK-NEXT:    std 14, 400(1) # 8-byte Folded Spill60; CHECK-NEXT:    std 15, 408(1) # 8-byte Folded Spill61; CHECK-NEXT:    ld 2, 728(1)62; CHECK-NEXT:    ld 14, 688(1)63; CHECK-NEXT:    ld 11, 704(1)64; CHECK-NEXT:    std 20, 448(1) # 8-byte Folded Spill65; CHECK-NEXT:    std 21, 456(1) # 8-byte Folded Spill66; CHECK-NEXT:    mr 21, 567; CHECK-NEXT:    lwa 5, 0(7)68; CHECK-NEXT:    ld 7, 720(1)69; CHECK-NEXT:    std 22, 464(1) # 8-byte Folded Spill70; CHECK-NEXT:    std 23, 472(1) # 8-byte Folded Spill71; CHECK-NEXT:    mr 22, 672; CHECK-NEXT:    ld 6, 848(1)73; CHECK-NEXT:    addi 3, 3, 174; CHECK-NEXT:    ld 15, 736(1)75; CHECK-NEXT:    std 18, 432(1) # 8-byte Folded Spill76; CHECK-NEXT:    std 19, 440(1) # 8-byte Folded Spill77; CHECK-NEXT:    ld 19, 768(1)78; CHECK-NEXT:    ld 18, 760(1)79; CHECK-NEXT:    std 30, 528(1) # 8-byte Folded Spill80; CHECK-NEXT:    std 31, 536(1) # 8-byte Folded Spill81; CHECK-NEXT:    ld 12, 696(1)82; CHECK-NEXT:    lxv 0, 0(9)83; CHECK-NEXT:    std 9, 64(1) # 8-byte Folded Spill84; CHECK-NEXT:    std 10, 72(1) # 8-byte Folded Spill85; CHECK-NEXT:    lxv 1, 0(8)86; CHECK-NEXT:    cmpldi 3, 987; CHECK-NEXT:    ld 30, 824(1)88; CHECK-NEXT:    std 28, 512(1) # 8-byte Folded Spill89; CHECK-NEXT:    std 29, 520(1) # 8-byte Folded Spill90; CHECK-NEXT:    ld 29, 840(1)91; CHECK-NEXT:    ld 28, 832(1)92; CHECK-NEXT:    std 16, 416(1) # 8-byte Folded Spill93; CHECK-NEXT:    std 17, 424(1) # 8-byte Folded Spill94; CHECK-NEXT:    ld 23, 784(1)95; CHECK-NEXT:    ld 20, 776(1)96; CHECK-NEXT:    std 24, 480(1) # 8-byte Folded Spill97; CHECK-NEXT:    std 25, 488(1) # 8-byte Folded Spill98; CHECK-NEXT:    ld 25, 800(1)99; CHECK-NEXT:    ld 24, 792(1)100; CHECK-NEXT:    std 26, 496(1) # 8-byte Folded Spill101; CHECK-NEXT:    std 27, 504(1) # 8-byte Folded Spill102; CHECK-NEXT:    ld 27, 816(1)103; CHECK-NEXT:    ld 26, 808(1)104; CHECK-NEXT:    stfd 26, 544(1) # 8-byte Folded Spill105; CHECK-NEXT:    stfd 27, 552(1) # 8-byte Folded Spill106; CHECK-NEXT:    ld 17, 752(1)107; CHECK-NEXT:    extswsli 9, 5, 3108; CHECK-NEXT:    lxv 4, 0(14)109; CHECK-NEXT:    std 14, 32(1) # 8-byte Folded Spill110; CHECK-NEXT:    std 12, 40(1) # 8-byte Folded Spill111; CHECK-NEXT:    mulli 0, 5, 40112; CHECK-NEXT:    sldi 14, 5, 5113; CHECK-NEXT:    mulli 31, 5, 24114; CHECK-NEXT:    lxv 38, 0(2)115; CHECK-NEXT:    lxv 2, 0(11)116; CHECK-NEXT:    std 2, 80(1) # 8-byte Folded Spill117; CHECK-NEXT:    std 15, 88(1) # 8-byte Folded Spill118; CHECK-NEXT:    mulli 2, 5, 48119; CHECK-NEXT:    sldi 5, 5, 4120; CHECK-NEXT:    ld 16, 744(1)121; CHECK-NEXT:    lxv 5, 0(10)122; CHECK-NEXT:    std 6, 200(1) # 8-byte Folded Spill123; CHECK-NEXT:    std 29, 192(1) # 8-byte Folded Spill124; CHECK-NEXT:    ld 6, 712(1)125; CHECK-NEXT:    mr 10, 7126; CHECK-NEXT:    add 7, 14, 21127; CHECK-NEXT:    lxv 13, 0(19)128; CHECK-NEXT:    std 8, 48(1) # 8-byte Folded Spill129; CHECK-NEXT:    std 6, 56(1) # 8-byte Folded Spill130; CHECK-NEXT:    mr 8, 11131; CHECK-NEXT:    li 11, 9132; CHECK-NEXT:    iselgt 3, 3, 11133; CHECK-NEXT:    addi 3, 3, -2134; CHECK-NEXT:    rldicl 11, 3, 61, 3135; CHECK-NEXT:    lxv 3, 0(12)136; CHECK-NEXT:    lxv 40, 0(6)137; CHECK-NEXT:    std 18, 112(1) # 8-byte Folded Spill138; CHECK-NEXT:    std 19, 120(1) # 8-byte Folded Spill139; CHECK-NEXT:    add 19, 21, 5140; CHECK-NEXT:    ld 5, 200(1) # 8-byte Folded Reload141; CHECK-NEXT:    lxv 39, 0(10)142; CHECK-NEXT:    addi 3, 7, 32143; CHECK-NEXT:    add 12, 31, 21144; CHECK-NEXT:    std 20, 128(1) # 8-byte Folded Spill145; CHECK-NEXT:    std 23, 136(1) # 8-byte Folded Spill146; CHECK-NEXT:    lxv 33, 0(15)147; CHECK-NEXT:    lxv 32, 0(16)148; CHECK-NEXT:    std 26, 160(1) # 8-byte Folded Spill149; CHECK-NEXT:    std 27, 168(1) # 8-byte Folded Spill150; CHECK-NEXT:    lxv 37, 0(17)151; CHECK-NEXT:    lxv 36, 0(18)152; CHECK-NEXT:    std 30, 176(1) # 8-byte Folded Spill153; CHECK-NEXT:    std 28, 184(1) # 8-byte Folded Spill154; CHECK-NEXT:    lxv 12, 0(20)155; CHECK-NEXT:    lxv 11, 0(23)156; CHECK-NEXT:    add 20, 21, 9157; CHECK-NEXT:    stfd 28, 560(1) # 8-byte Folded Spill158; CHECK-NEXT:    stfd 29, 568(1) # 8-byte Folded Spill159; CHECK-NEXT:    lxv 10, 0(24)160; CHECK-NEXT:    lxv 9, 0(25)161; CHECK-NEXT:    stfd 30, 576(1) # 8-byte Folded Spill162; CHECK-NEXT:    stfd 31, 584(1) # 8-byte Folded Spill163; CHECK-NEXT:    lxv 8, 0(26)164; CHECK-NEXT:    lxv 7, 0(27)165; CHECK-NEXT:    addi 12, 12, 32166; CHECK-NEXT:    li 27, 0167; CHECK-NEXT:    mr 26, 21168; CHECK-NEXT:    stxv 52, 208(1) # 16-byte Folded Spill169; CHECK-NEXT:    stxv 53, 224(1) # 16-byte Folded Spill170; CHECK-NEXT:    lxv 6, 0(30)171; CHECK-NEXT:    lxv 41, 0(28)172; CHECK-NEXT:    addi 7, 11, 1173; CHECK-NEXT:    add 11, 0, 21174; CHECK-NEXT:    li 28, 1175; CHECK-NEXT:    stxv 54, 240(1) # 16-byte Folded Spill176; CHECK-NEXT:    stxv 55, 256(1) # 16-byte Folded Spill177; CHECK-NEXT:    lxv 43, 0(29)178; CHECK-NEXT:    lxv 42, 0(5)179; CHECK-NEXT:    stxv 56, 272(1) # 16-byte Folded Spill180; CHECK-NEXT:    stxv 57, 288(1) # 16-byte Folded Spill181; CHECK-NEXT:    addi 11, 11, 32182; CHECK-NEXT:    stxv 58, 304(1) # 16-byte Folded Spill183; CHECK-NEXT:    stxv 59, 320(1) # 16-byte Folded Spill184; CHECK-NEXT:    stxv 60, 336(1) # 16-byte Folded Spill185; CHECK-NEXT:    stxv 61, 352(1) # 16-byte Folded Spill186; CHECK-NEXT:    stxv 62, 368(1) # 16-byte Folded Spill187; CHECK-NEXT:    stxv 63, 384(1) # 16-byte Folded Spill188; CHECK-NEXT:    std 16, 96(1) # 8-byte Folded Spill189; CHECK-NEXT:    std 17, 104(1) # 8-byte Folded Spill190; CHECK-NEXT:    std 24, 144(1) # 8-byte Folded Spill191; CHECK-NEXT:    std 25, 152(1) # 8-byte Folded Spill192; CHECK-NEXT:    .p2align 4193; CHECK-NEXT:  .LBB0_3: # %_loop_2_do_.lr.ph194; CHECK-NEXT:    # =>This Loop Header: Depth=1195; CHECK-NEXT:    # Child Loop BB0_4 Depth 2196; CHECK-NEXT:    maddld 5, 2, 27, 0197; CHECK-NEXT:    mr 6, 22198; CHECK-NEXT:    mr 30, 20199; CHECK-NEXT:    mr 29, 19200; CHECK-NEXT:    mtctr 7201; CHECK-NEXT:    add 25, 21, 5202; CHECK-NEXT:    maddld 5, 2, 27, 14203; CHECK-NEXT:    add 24, 21, 5204; CHECK-NEXT:    maddld 5, 2, 27, 31205; CHECK-NEXT:    add 23, 21, 5206; CHECK-NEXT:    mr 5, 26207; CHECK-NEXT:    .p2align 5208; CHECK-NEXT:  .LBB0_4: # %_loop_2_do_209; CHECK-NEXT:    # Parent Loop BB0_3 Depth=1210; CHECK-NEXT:    # => This Inner Loop Header: Depth=2211; CHECK-NEXT:    lxvp 34, 0(6)212; CHECK-NEXT:    lxvp 44, 0(5)213; CHECK-NEXT:    xvmaddadp 1, 45, 35214; CHECK-NEXT:    lxvp 46, 0(30)215; CHECK-NEXT:    xvmaddadp 0, 47, 35216; CHECK-NEXT:    lxvp 48, 0(29)217; CHECK-NEXT:    lxvp 50, 0(23)218; CHECK-NEXT:    lxvp 62, 0(24)219; CHECK-NEXT:    lxvp 60, 0(25)220; CHECK-NEXT:    lxvp 58, 32(6)221; CHECK-NEXT:    lxvp 56, 32(5)222; CHECK-NEXT:    lxvp 54, 32(30)223; CHECK-NEXT:    lxvp 52, 32(29)224; CHECK-NEXT:    lxvp 30, 32(23)225; CHECK-NEXT:    lxvp 28, 32(24)226; CHECK-NEXT:    lxvp 26, 32(25)227; CHECK-NEXT:    xvmaddadp 5, 49, 35228; CHECK-NEXT:    xvmaddadp 4, 51, 35229; CHECK-NEXT:    xvmaddadp 3, 63, 35230; CHECK-NEXT:    xvmaddadp 2, 61, 35231; CHECK-NEXT:    xvmaddadp 40, 44, 34232; CHECK-NEXT:    xvmaddadp 39, 46, 34233; CHECK-NEXT:    xvmaddadp 38, 48, 34234; CHECK-NEXT:    xvmaddadp 33, 50, 34235; CHECK-NEXT:    xvmaddadp 32, 62, 34236; CHECK-NEXT:    xvmaddadp 37, 60, 34237; CHECK-NEXT:    xvmaddadp 36, 57, 59238; CHECK-NEXT:    xvmaddadp 13, 55, 59239; CHECK-NEXT:    xvmaddadp 12, 53, 59240; CHECK-NEXT:    xvmaddadp 11, 31, 59241; CHECK-NEXT:    xvmaddadp 10, 29, 59242; CHECK-NEXT:    xvmaddadp 9, 27, 59243; CHECK-NEXT:    xvmaddadp 8, 56, 58244; CHECK-NEXT:    xvmaddadp 7, 54, 58245; CHECK-NEXT:    xvmaddadp 6, 52, 58246; CHECK-NEXT:    xvmaddadp 41, 30, 58247; CHECK-NEXT:    xvmaddadp 43, 28, 58248; CHECK-NEXT:    xvmaddadp 42, 26, 58249; CHECK-NEXT:    addi 6, 6, 64250; CHECK-NEXT:    addi 5, 5, 64251; CHECK-NEXT:    addi 30, 30, 64252; CHECK-NEXT:    addi 29, 29, 64253; CHECK-NEXT:    addi 23, 23, 64254; CHECK-NEXT:    addi 24, 24, 64255; CHECK-NEXT:    addi 25, 25, 64256; CHECK-NEXT:    bdnz .LBB0_4257; CHECK-NEXT:  # %bb.5: # %_loop_2_endl_258; CHECK-NEXT:    #259; CHECK-NEXT:    addi 28, 28, 6260; CHECK-NEXT:    add 26, 26, 2261; CHECK-NEXT:    add 20, 20, 2262; CHECK-NEXT:    add 11, 11, 2263; CHECK-NEXT:    add 19, 19, 2264; CHECK-NEXT:    add 3, 3, 2265; CHECK-NEXT:    add 12, 12, 2266; CHECK-NEXT:    addi 27, 27, 1267; CHECK-NEXT:    cmpld 28, 4268; CHECK-NEXT:    ble 0, .LBB0_3269; CHECK-NEXT:  # %bb.6: # %_loop_1_loopHeader_._return_bb_crit_edge.loopexit270; CHECK-NEXT:    ld 3, 48(1) # 8-byte Folded Reload271; CHECK-NEXT:    lxv 63, 384(1) # 16-byte Folded Reload272; CHECK-NEXT:    stxv 1, 0(3)273; CHECK-NEXT:    ld 3, 64(1) # 8-byte Folded Reload274; CHECK-NEXT:    lxv 62, 368(1) # 16-byte Folded Reload275; CHECK-NEXT:    lxv 61, 352(1) # 16-byte Folded Reload276; CHECK-NEXT:    lxv 60, 336(1) # 16-byte Folded Reload277; CHECK-NEXT:    lxv 59, 320(1) # 16-byte Folded Reload278; CHECK-NEXT:    lxv 58, 304(1) # 16-byte Folded Reload279; CHECK-NEXT:    lxv 57, 288(1) # 16-byte Folded Reload280; CHECK-NEXT:    lxv 56, 272(1) # 16-byte Folded Reload281; CHECK-NEXT:    lxv 55, 256(1) # 16-byte Folded Reload282; CHECK-NEXT:    lxv 54, 240(1) # 16-byte Folded Reload283; CHECK-NEXT:    lxv 53, 224(1) # 16-byte Folded Reload284; CHECK-NEXT:    lxv 52, 208(1) # 16-byte Folded Reload285; CHECK-NEXT:    stxv 0, 0(3)286; CHECK-NEXT:    ld 3, 72(1) # 8-byte Folded Reload287; CHECK-NEXT:    lfd 31, 584(1) # 8-byte Folded Reload288; CHECK-NEXT:    lfd 30, 576(1) # 8-byte Folded Reload289; CHECK-NEXT:    lfd 29, 568(1) # 8-byte Folded Reload290; CHECK-NEXT:    lfd 28, 560(1) # 8-byte Folded Reload291; CHECK-NEXT:    lfd 27, 552(1) # 8-byte Folded Reload292; CHECK-NEXT:    lfd 26, 544(1) # 8-byte Folded Reload293; CHECK-NEXT:    ld 31, 536(1) # 8-byte Folded Reload294; CHECK-NEXT:    ld 30, 528(1) # 8-byte Folded Reload295; CHECK-NEXT:    ld 29, 520(1) # 8-byte Folded Reload296; CHECK-NEXT:    ld 28, 512(1) # 8-byte Folded Reload297; CHECK-NEXT:    ld 27, 504(1) # 8-byte Folded Reload298; CHECK-NEXT:    stxv 5, 0(3)299; CHECK-NEXT:    ld 3, 32(1) # 8-byte Folded Reload300; CHECK-NEXT:    ld 26, 496(1) # 8-byte Folded Reload301; CHECK-NEXT:    ld 25, 488(1) # 8-byte Folded Reload302; CHECK-NEXT:    ld 24, 480(1) # 8-byte Folded Reload303; CHECK-NEXT:    ld 23, 472(1) # 8-byte Folded Reload304; CHECK-NEXT:    ld 22, 464(1) # 8-byte Folded Reload305; CHECK-NEXT:    ld 21, 456(1) # 8-byte Folded Reload306; CHECK-NEXT:    ld 20, 448(1) # 8-byte Folded Reload307; CHECK-NEXT:    ld 19, 440(1) # 8-byte Folded Reload308; CHECK-NEXT:    ld 18, 432(1) # 8-byte Folded Reload309; CHECK-NEXT:    ld 17, 424(1) # 8-byte Folded Reload310; CHECK-NEXT:    ld 16, 416(1) # 8-byte Folded Reload311; CHECK-NEXT:    stxv 4, 0(3)312; CHECK-NEXT:    ld 3, 40(1) # 8-byte Folded Reload313; CHECK-NEXT:    ld 15, 408(1) # 8-byte Folded Reload314; CHECK-NEXT:    ld 14, 400(1) # 8-byte Folded Reload315; CHECK-NEXT:    stxv 3, 0(3)316; CHECK-NEXT:    ld 3, 56(1) # 8-byte Folded Reload317; CHECK-NEXT:    stxv 2, 0(8)318; CHECK-NEXT:    stxv 40, 0(3)319; CHECK-NEXT:    ld 3, 80(1) # 8-byte Folded Reload320; CHECK-NEXT:    stxv 39, 0(10)321; CHECK-NEXT:    stxv 38, 0(3)322; CHECK-NEXT:    ld 3, 88(1) # 8-byte Folded Reload323; CHECK-NEXT:    stxv 33, 0(3)324; CHECK-NEXT:    ld 3, 96(1) # 8-byte Folded Reload325; CHECK-NEXT:    stxv 32, 0(3)326; CHECK-NEXT:    ld 3, 104(1) # 8-byte Folded Reload327; CHECK-NEXT:    stxv 37, 0(3)328; CHECK-NEXT:    ld 3, 112(1) # 8-byte Folded Reload329; CHECK-NEXT:    stxv 36, 0(3)330; CHECK-NEXT:    ld 3, 120(1) # 8-byte Folded Reload331; CHECK-NEXT:    stxv 13, 0(3)332; CHECK-NEXT:    ld 3, 128(1) # 8-byte Folded Reload333; CHECK-NEXT:    stxv 12, 0(3)334; CHECK-NEXT:    ld 3, 136(1) # 8-byte Folded Reload335; CHECK-NEXT:    stxv 11, 0(3)336; CHECK-NEXT:    ld 3, 144(1) # 8-byte Folded Reload337; CHECK-NEXT:    stxv 10, 0(3)338; CHECK-NEXT:    ld 3, 152(1) # 8-byte Folded Reload339; CHECK-NEXT:    stxv 9, 0(3)340; CHECK-NEXT:    ld 3, 160(1) # 8-byte Folded Reload341; CHECK-NEXT:    stxv 8, 0(3)342; CHECK-NEXT:    ld 3, 168(1) # 8-byte Folded Reload343; CHECK-NEXT:    stxv 7, 0(3)344; CHECK-NEXT:    ld 3, 176(1) # 8-byte Folded Reload345; CHECK-NEXT:    stxv 6, 0(3)346; CHECK-NEXT:    ld 3, 184(1) # 8-byte Folded Reload347; CHECK-NEXT:    stxv 41, 0(3)348; CHECK-NEXT:    ld 3, 192(1) # 8-byte Folded Reload349; CHECK-NEXT:    stxv 43, 0(3)350; CHECK-NEXT:    ld 3, 200(1) # 8-byte Folded Reload351; CHECK-NEXT:    stxv 42, 0(3)352; CHECK-NEXT:    addi 1, 1, 592353; CHECK-NEXT:    blr354entry:355  %_val_l_ = load i32, ptr %.l, align 4356  %_conv = sext i32 %_val_l_ to i64357  %_mult_tmp = shl nsw i64 %_conv, 3358  %_sub_tmp4 = sub nuw nsw i64 -8, %_mult_tmp359  %_val_n_ = load i32, ptr %.n, align 4360  %_leq_tmp.not116 = icmp slt i32 %_val_n_, 1361  br i1 %_leq_tmp.not116, label %_return_bb, label %_loop_1_do_.lr.ph362 363_loop_1_do_.lr.ph:                                ; preds = %entry364  %_val_m_ = load i32, ptr %.m, align 4365  %_leq_tmp6.not114 = icmp slt i32 %_val_m_, 1366  br i1 %_leq_tmp6.not114, label %_return_bb, label %_loop_1_do_.preheader367 368_loop_1_do_.preheader:                            ; preds = %_loop_1_do_.lr.ph369  %x_rvo_based_addr_112 = getelementptr inbounds [0 x %_elem_type_of_x], ptr %.x, i64 0, i64 -1370  %a_rvo_based_addr_ = getelementptr inbounds i8, ptr %.a, i64 %_sub_tmp4371  %.vy01.promoted = load <2 x double>, ptr %.vy01, align 16372  %.vy02.promoted = load <2 x double>, ptr %.vy02, align 16373  %.vy03.promoted = load <2 x double>, ptr %.vy03, align 16374  %.vy04.promoted = load <2 x double>, ptr %.vy04, align 16375  %.vy05.promoted = load <2 x double>, ptr %.vy05, align 16376  %.vy06.promoted = load <2 x double>, ptr %.vy06, align 16377  %.vy07.promoted = load <2 x double>, ptr %.vy07, align 16378  %.vy08.promoted = load <2 x double>, ptr %.vy08, align 16379  %.vy09.promoted = load <2 x double>, ptr %.vy09, align 16380  %.vy0a.promoted = load <2 x double>, ptr %.vy0a, align 16381  %.vy0b.promoted = load <2 x double>, ptr %.vy0b, align 16382  %.vy0c.promoted = load <2 x double>, ptr %.vy0c, align 16383  %.vy21.promoted = load <2 x double>, ptr %.vy21, align 16384  %.vy22.promoted = load <2 x double>, ptr %.vy22, align 16385  %.vy23.promoted = load <2 x double>, ptr %.vy23, align 16386  %.vy24.promoted = load <2 x double>, ptr %.vy24, align 16387  %.vy25.promoted = load <2 x double>, ptr %.vy25, align 16388  %.vy26.promoted = load <2 x double>, ptr %.vy26, align 16389  %.vy27.promoted = load <2 x double>, ptr %.vy27, align 16390  %.vy28.promoted = load <2 x double>, ptr %.vy28, align 16391  %.vy29.promoted = load <2 x double>, ptr %.vy29, align 16392  %.vy2a.promoted = load <2 x double>, ptr %.vy2a, align 16393  %.vy2b.promoted = load <2 x double>, ptr %.vy2b, align 16394  %.vy2c.promoted = load <2 x double>, ptr %.vy2c, align 16395  %i = zext i32 %_val_m_ to i64396  %i1 = zext i32 %_val_n_ to i64397  br label %_loop_2_do_.lr.ph398 399_loop_2_do_.lr.ph:                                ; preds = %_loop_2_endl_, %_loop_1_do_.preheader400  %indvars.iv212 = phi i64 [ %indvars.iv.next213, %_loop_2_endl_ ], [ 1, %_loop_1_do_.preheader ]401  %i2 = phi <2 x double> [ %i142, %_loop_2_endl_ ], [ %.vy2c.promoted, %_loop_1_do_.preheader ]402  %i3 = phi <2 x double> [ %i140, %_loop_2_endl_ ], [ %.vy2b.promoted, %_loop_1_do_.preheader ]403  %i4 = phi <2 x double> [ %i138, %_loop_2_endl_ ], [ %.vy2a.promoted, %_loop_1_do_.preheader ]404  %i5 = phi <2 x double> [ %i136, %_loop_2_endl_ ], [ %.vy29.promoted, %_loop_1_do_.preheader ]405  %i6 = phi <2 x double> [ %i134, %_loop_2_endl_ ], [ %.vy28.promoted, %_loop_1_do_.preheader ]406  %i7 = phi <2 x double> [ %i132, %_loop_2_endl_ ], [ %.vy27.promoted, %_loop_1_do_.preheader ]407  %i8 = phi <2 x double> [ %i129, %_loop_2_endl_ ], [ %.vy26.promoted, %_loop_1_do_.preheader ]408  %i9 = phi <2 x double> [ %i127, %_loop_2_endl_ ], [ %.vy25.promoted, %_loop_1_do_.preheader ]409  %i10 = phi <2 x double> [ %i125, %_loop_2_endl_ ], [ %.vy24.promoted, %_loop_1_do_.preheader ]410  %i11 = phi <2 x double> [ %i123, %_loop_2_endl_ ], [ %.vy23.promoted, %_loop_1_do_.preheader ]411  %i12 = phi <2 x double> [ %i121, %_loop_2_endl_ ], [ %.vy22.promoted, %_loop_1_do_.preheader ]412  %i13 = phi <2 x double> [ %i119, %_loop_2_endl_ ], [ %.vy21.promoted, %_loop_1_do_.preheader ]413  %i14 = phi <2 x double> [ %i116, %_loop_2_endl_ ], [ %.vy0c.promoted, %_loop_1_do_.preheader ]414  %i15 = phi <2 x double> [ %i114, %_loop_2_endl_ ], [ %.vy0b.promoted, %_loop_1_do_.preheader ]415  %i16 = phi <2 x double> [ %i112, %_loop_2_endl_ ], [ %.vy0a.promoted, %_loop_1_do_.preheader ]416  %i17 = phi <2 x double> [ %i110, %_loop_2_endl_ ], [ %.vy09.promoted, %_loop_1_do_.preheader ]417  %i18 = phi <2 x double> [ %i108, %_loop_2_endl_ ], [ %.vy08.promoted, %_loop_1_do_.preheader ]418  %i19 = phi <2 x double> [ %i106, %_loop_2_endl_ ], [ %.vy07.promoted, %_loop_1_do_.preheader ]419  %i20 = phi <2 x double> [ %i81, %_loop_2_endl_ ], [ %.vy06.promoted, %_loop_1_do_.preheader ]420  %i21 = phi <2 x double> [ %i79, %_loop_2_endl_ ], [ %.vy05.promoted, %_loop_1_do_.preheader ]421  %i22 = phi <2 x double> [ %i77, %_loop_2_endl_ ], [ %.vy04.promoted, %_loop_1_do_.preheader ]422  %i23 = phi <2 x double> [ %i75, %_loop_2_endl_ ], [ %.vy03.promoted, %_loop_1_do_.preheader ]423  %i24 = phi <2 x double> [ %i73, %_loop_2_endl_ ], [ %.vy02.promoted, %_loop_1_do_.preheader ]424  %i25 = phi <2 x double> [ %i71, %_loop_2_endl_ ], [ %.vy01.promoted, %_loop_1_do_.preheader ]425  %_ix_x_len10 = mul i64 %_mult_tmp, %indvars.iv212426  %a_ix_dim_0_ = getelementptr inbounds i8, ptr %a_rvo_based_addr_, i64 %_ix_x_len10427  %i26 = add nuw nsw i64 %indvars.iv212, 1428  %_ix_x_len24 = mul i64 %_mult_tmp, %i26429  %a_ix_dim_0_25 = getelementptr inbounds i8, ptr %a_rvo_based_addr_, i64 %_ix_x_len24430  %i27 = add nuw nsw i64 %indvars.iv212, 2431  %_ix_x_len40 = mul i64 %_mult_tmp, %i27432  %a_ix_dim_0_41 = getelementptr inbounds i8, ptr %a_rvo_based_addr_, i64 %_ix_x_len40433  %i28 = add nuw nsw i64 %indvars.iv212, 3434  %_ix_x_len56 = mul i64 %_mult_tmp, %i28435  %a_ix_dim_0_57 = getelementptr inbounds i8, ptr %a_rvo_based_addr_, i64 %_ix_x_len56436  %i29 = add nuw nsw i64 %indvars.iv212, 4437  %_ix_x_len72 = mul i64 %_mult_tmp, %i29438  %a_ix_dim_0_73 = getelementptr inbounds i8, ptr %a_rvo_based_addr_, i64 %_ix_x_len72439  %i30 = add nuw nsw i64 %indvars.iv212, 5440  %_ix_x_len88 = mul i64 %_mult_tmp, %i30441  %a_ix_dim_0_89 = getelementptr inbounds i8, ptr %a_rvo_based_addr_, i64 %_ix_x_len88442  br label %_loop_2_do_443 444_loop_2_do_:                                      ; preds = %_loop_2_do_, %_loop_2_do_.lr.ph445  %indvars.iv = phi i64 [ 1, %_loop_2_do_.lr.ph ], [ %indvars.iv.next, %_loop_2_do_ ]446  %i31 = phi <2 x double> [ %i2, %_loop_2_do_.lr.ph ], [ %i142, %_loop_2_do_ ]447  %i32 = phi <2 x double> [ %i3, %_loop_2_do_.lr.ph ], [ %i140, %_loop_2_do_ ]448  %i33 = phi <2 x double> [ %i4, %_loop_2_do_.lr.ph ], [ %i138, %_loop_2_do_ ]449  %i34 = phi <2 x double> [ %i5, %_loop_2_do_.lr.ph ], [ %i136, %_loop_2_do_ ]450  %i35 = phi <2 x double> [ %i6, %_loop_2_do_.lr.ph ], [ %i134, %_loop_2_do_ ]451  %i36 = phi <2 x double> [ %i7, %_loop_2_do_.lr.ph ], [ %i132, %_loop_2_do_ ]452  %i37 = phi <2 x double> [ %i8, %_loop_2_do_.lr.ph ], [ %i129, %_loop_2_do_ ]453  %i38 = phi <2 x double> [ %i9, %_loop_2_do_.lr.ph ], [ %i127, %_loop_2_do_ ]454  %i39 = phi <2 x double> [ %i10, %_loop_2_do_.lr.ph ], [ %i125, %_loop_2_do_ ]455  %i40 = phi <2 x double> [ %i11, %_loop_2_do_.lr.ph ], [ %i123, %_loop_2_do_ ]456  %i41 = phi <2 x double> [ %i12, %_loop_2_do_.lr.ph ], [ %i121, %_loop_2_do_ ]457  %i42 = phi <2 x double> [ %i13, %_loop_2_do_.lr.ph ], [ %i119, %_loop_2_do_ ]458  %i43 = phi <2 x double> [ %i14, %_loop_2_do_.lr.ph ], [ %i116, %_loop_2_do_ ]459  %i44 = phi <2 x double> [ %i15, %_loop_2_do_.lr.ph ], [ %i114, %_loop_2_do_ ]460  %i45 = phi <2 x double> [ %i16, %_loop_2_do_.lr.ph ], [ %i112, %_loop_2_do_ ]461  %i46 = phi <2 x double> [ %i17, %_loop_2_do_.lr.ph ], [ %i110, %_loop_2_do_ ]462  %i47 = phi <2 x double> [ %i18, %_loop_2_do_.lr.ph ], [ %i108, %_loop_2_do_ ]463  %i48 = phi <2 x double> [ %i19, %_loop_2_do_.lr.ph ], [ %i106, %_loop_2_do_ ]464  %i49 = phi <2 x double> [ %i20, %_loop_2_do_.lr.ph ], [ %i81, %_loop_2_do_ ]465  %i50 = phi <2 x double> [ %i21, %_loop_2_do_.lr.ph ], [ %i79, %_loop_2_do_ ]466  %i51 = phi <2 x double> [ %i22, %_loop_2_do_.lr.ph ], [ %i77, %_loop_2_do_ ]467  %i52 = phi <2 x double> [ %i23, %_loop_2_do_.lr.ph ], [ %i75, %_loop_2_do_ ]468  %i53 = phi <2 x double> [ %i24, %_loop_2_do_.lr.ph ], [ %i73, %_loop_2_do_ ]469  %i54 = phi <2 x double> [ %i25, %_loop_2_do_.lr.ph ], [ %i71, %_loop_2_do_ ]470  %_ix_x_len = shl nuw nsw i64 %indvars.iv, 3471  %x_ix_dim_0_113 = getelementptr inbounds %_elem_type_of_x, ptr %x_rvo_based_addr_112, i64 %indvars.iv472  %i55 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr nonnull %x_ix_dim_0_113)473  %a_ix_dim_1_ = getelementptr inbounds i8, ptr %a_ix_dim_0_, i64 %_ix_x_len474  %i56 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr nonnull %a_ix_dim_1_)475  %a_ix_dim_1_29 = getelementptr inbounds i8, ptr %a_ix_dim_0_25, i64 %_ix_x_len476  %i57 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr nonnull %a_ix_dim_1_29)477  %a_ix_dim_1_45 = getelementptr inbounds i8, ptr %a_ix_dim_0_41, i64 %_ix_x_len478  %i58 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr nonnull %a_ix_dim_1_45)479  %a_ix_dim_1_61 = getelementptr inbounds i8, ptr %a_ix_dim_0_57, i64 %_ix_x_len480  %i59 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr nonnull %a_ix_dim_1_61)481  %a_ix_dim_1_77 = getelementptr inbounds i8, ptr %a_ix_dim_0_73, i64 %_ix_x_len482  %i60 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr nonnull %a_ix_dim_1_77)483  %a_ix_dim_1_93 = getelementptr inbounds i8, ptr %a_ix_dim_0_89, i64 %_ix_x_len484  %i61 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr nonnull %a_ix_dim_1_93)485  %i62 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i55)486  %.fca.0.extract35 = extractvalue { <16 x i8>, <16 x i8> } %i62, 0487  %.fca.1.extract36 = extractvalue { <16 x i8>, <16 x i8> } %i62, 1488  %i63 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i56)489  %.fca.0.extract29 = extractvalue { <16 x i8>, <16 x i8> } %i63, 0490  %.fca.1.extract30 = extractvalue { <16 x i8>, <16 x i8> } %i63, 1491  %i64 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i57)492  %.fca.0.extract23 = extractvalue { <16 x i8>, <16 x i8> } %i64, 0493  %.fca.1.extract24 = extractvalue { <16 x i8>, <16 x i8> } %i64, 1494  %i65 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i58)495  %.fca.0.extract17 = extractvalue { <16 x i8>, <16 x i8> } %i65, 0496  %.fca.1.extract18 = extractvalue { <16 x i8>, <16 x i8> } %i65, 1497  %i66 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i59)498  %.fca.0.extract11 = extractvalue { <16 x i8>, <16 x i8> } %i66, 0499  %.fca.1.extract12 = extractvalue { <16 x i8>, <16 x i8> } %i66, 1500  %i67 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i60)501  %.fca.0.extract5 = extractvalue { <16 x i8>, <16 x i8> } %i67, 0502  %.fca.1.extract6 = extractvalue { <16 x i8>, <16 x i8> } %i67, 1503  %i68 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i61)504  %.fca.0.extract = extractvalue { <16 x i8>, <16 x i8> } %i68, 0505  %.fca.1.extract = extractvalue { <16 x i8>, <16 x i8> } %i68, 1506  %i69 = bitcast <16 x i8> %.fca.0.extract29 to <2 x double>507  %i70 = bitcast <16 x i8> %.fca.0.extract35 to <2 x double>508  %i71 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i69, <2 x double> %i70, <2 x double> %i54)509  %i72 = bitcast <16 x i8> %.fca.0.extract23 to <2 x double>510  %i73 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i72, <2 x double> %i70, <2 x double> %i53)511  %i74 = bitcast <16 x i8> %.fca.0.extract17 to <2 x double>512  %i75 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i74, <2 x double> %i70, <2 x double> %i52)513  %i76 = bitcast <16 x i8> %.fca.0.extract11 to <2 x double>514  %i77 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i76, <2 x double> %i70, <2 x double> %i51)515  %i78 = bitcast <16 x i8> %.fca.0.extract5 to <2 x double>516  %i79 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i78, <2 x double> %i70, <2 x double> %i50)517  %i80 = bitcast <16 x i8> %.fca.0.extract to <2 x double>518  %i81 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i80, <2 x double> %i70, <2 x double> %i49)519  %i82 = getelementptr %_elem_type_of_x, ptr %x_ix_dim_0_113, i64 4520  %i84 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %i82)521  %i85 = getelementptr i8, ptr %a_ix_dim_1_, i64 32522  %i86 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %i85)523  %i87 = getelementptr i8, ptr %a_ix_dim_1_29, i64 32524  %i88 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %i87)525  %i89 = getelementptr i8, ptr %a_ix_dim_1_45, i64 32526  %i90 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %i89)527  %i91 = getelementptr i8, ptr %a_ix_dim_1_61, i64 32528  %i92 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %i91)529  %i93 = getelementptr i8, ptr %a_ix_dim_1_77, i64 32530  %i94 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %i93)531  %i95 = getelementptr i8, ptr %a_ix_dim_1_93, i64 32532  %i96 = tail call <256 x i1> @llvm.ppc.vsx.lxvp(ptr %i95)533  %i97 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i84)534  %.fca.0.extract37 = extractvalue { <16 x i8>, <16 x i8> } %i97, 0535  %.fca.1.extract39 = extractvalue { <16 x i8>, <16 x i8> } %i97, 1536  %i98 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i86)537  %.fca.0.extract31 = extractvalue { <16 x i8>, <16 x i8> } %i98, 0538  %.fca.1.extract33 = extractvalue { <16 x i8>, <16 x i8> } %i98, 1539  %i99 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i88)540  %.fca.0.extract25 = extractvalue { <16 x i8>, <16 x i8> } %i99, 0541  %.fca.1.extract27 = extractvalue { <16 x i8>, <16 x i8> } %i99, 1542  %i100 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i90)543  %.fca.0.extract19 = extractvalue { <16 x i8>, <16 x i8> } %i100, 0544  %.fca.1.extract21 = extractvalue { <16 x i8>, <16 x i8> } %i100, 1545  %i101 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i92)546  %.fca.0.extract13 = extractvalue { <16 x i8>, <16 x i8> } %i101, 0547  %.fca.1.extract15 = extractvalue { <16 x i8>, <16 x i8> } %i101, 1548  %i102 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i94)549  %.fca.0.extract7 = extractvalue { <16 x i8>, <16 x i8> } %i102, 0550  %.fca.1.extract9 = extractvalue { <16 x i8>, <16 x i8> } %i102, 1551  %i103 = tail call { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1> %i96)552  %.fca.0.extract1 = extractvalue { <16 x i8>, <16 x i8> } %i103, 0553  %.fca.1.extract3 = extractvalue { <16 x i8>, <16 x i8> } %i103, 1554  %i104 = bitcast <16 x i8> %.fca.1.extract30 to <2 x double>555  %i105 = bitcast <16 x i8> %.fca.1.extract36 to <2 x double>556  %i106 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i104, <2 x double> %i105, <2 x double> %i48)557  %i107 = bitcast <16 x i8> %.fca.1.extract24 to <2 x double>558  %i108 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i107, <2 x double> %i105, <2 x double> %i47)559  %i109 = bitcast <16 x i8> %.fca.1.extract18 to <2 x double>560  %i110 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i109, <2 x double> %i105, <2 x double> %i46)561  %i111 = bitcast <16 x i8> %.fca.1.extract12 to <2 x double>562  %i112 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i111, <2 x double> %i105, <2 x double> %i45)563  %i113 = bitcast <16 x i8> %.fca.1.extract6 to <2 x double>564  %i114 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i113, <2 x double> %i105, <2 x double> %i44)565  %i115 = bitcast <16 x i8> %.fca.1.extract to <2 x double>566  %i116 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i115, <2 x double> %i105, <2 x double> %i43)567  %i117 = bitcast <16 x i8> %.fca.0.extract31 to <2 x double>568  %i118 = bitcast <16 x i8> %.fca.0.extract37 to <2 x double>569  %i119 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i117, <2 x double> %i118, <2 x double> %i42)570  %i120 = bitcast <16 x i8> %.fca.0.extract25 to <2 x double>571  %i121 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i120, <2 x double> %i118, <2 x double> %i41)572  %i122 = bitcast <16 x i8> %.fca.0.extract19 to <2 x double>573  %i123 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i122, <2 x double> %i118, <2 x double> %i40)574  %i124 = bitcast <16 x i8> %.fca.0.extract13 to <2 x double>575  %i125 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i124, <2 x double> %i118, <2 x double> %i39)576  %i126 = bitcast <16 x i8> %.fca.0.extract7 to <2 x double>577  %i127 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i126, <2 x double> %i118, <2 x double> %i38)578  %i128 = bitcast <16 x i8> %.fca.0.extract1 to <2 x double>579  %i129 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i128, <2 x double> %i118, <2 x double> %i37)580  %i130 = bitcast <16 x i8> %.fca.1.extract33 to <2 x double>581  %i131 = bitcast <16 x i8> %.fca.1.extract39 to <2 x double>582  %i132 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i130, <2 x double> %i131, <2 x double> %i36)583  %i133 = bitcast <16 x i8> %.fca.1.extract27 to <2 x double>584  %i134 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i133, <2 x double> %i131, <2 x double> %i35)585  %i135 = bitcast <16 x i8> %.fca.1.extract21 to <2 x double>586  %i136 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i135, <2 x double> %i131, <2 x double> %i34)587  %i137 = bitcast <16 x i8> %.fca.1.extract15 to <2 x double>588  %i138 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i137, <2 x double> %i131, <2 x double> %i33)589  %i139 = bitcast <16 x i8> %.fca.1.extract9 to <2 x double>590  %i140 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i139, <2 x double> %i131, <2 x double> %i32)591  %i141 = bitcast <16 x i8> %.fca.1.extract3 to <2 x double>592  %i142 = tail call contract <2 x double> @llvm.fma.v2f64(<2 x double> %i141, <2 x double> %i131, <2 x double> %i31)593  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 8594  %_leq_tmp6.not = icmp ugt i64 %indvars.iv.next, %i595  br i1 %_leq_tmp6.not, label %_loop_2_endl_, label %_loop_2_do_596 597_loop_2_endl_:                                    ; preds = %_loop_2_do_598  %indvars.iv.next213 = add nuw nsw i64 %indvars.iv212, 6599  %_leq_tmp.not = icmp ugt i64 %indvars.iv.next213, %i1600  br i1 %_leq_tmp.not, label %_loop_1_loopHeader_._return_bb_crit_edge.loopexit, label %_loop_2_do_.lr.ph601 602_loop_1_loopHeader_._return_bb_crit_edge.loopexit: ; preds = %_loop_2_endl_603  store <2 x double> %i71, ptr %.vy01, align 16604  store <2 x double> %i73, ptr %.vy02, align 16605  store <2 x double> %i75, ptr %.vy03, align 16606  store <2 x double> %i77, ptr %.vy04, align 16607  store <2 x double> %i79, ptr %.vy05, align 16608  store <2 x double> %i81, ptr %.vy06, align 16609  store <2 x double> %i106, ptr %.vy07, align 16610  store <2 x double> %i108, ptr %.vy08, align 16611  store <2 x double> %i110, ptr %.vy09, align 16612  store <2 x double> %i112, ptr %.vy0a, align 16613  store <2 x double> %i114, ptr %.vy0b, align 16614  store <2 x double> %i116, ptr %.vy0c, align 16615  store <2 x double> %i119, ptr %.vy21, align 16616  store <2 x double> %i121, ptr %.vy22, align 16617  store <2 x double> %i123, ptr %.vy23, align 16618  store <2 x double> %i125, ptr %.vy24, align 16619  store <2 x double> %i127, ptr %.vy25, align 16620  store <2 x double> %i129, ptr %.vy26, align 16621  store <2 x double> %i132, ptr %.vy27, align 16622  store <2 x double> %i134, ptr %.vy28, align 16623  store <2 x double> %i136, ptr %.vy29, align 16624  store <2 x double> %i138, ptr %.vy2a, align 16625  store <2 x double> %i140, ptr %.vy2b, align 16626  store <2 x double> %i142, ptr %.vy2c, align 16627  br label %_return_bb628 629_return_bb:                                       ; preds = %_loop_1_loopHeader_._return_bb_crit_edge.loopexit, %_loop_1_do_.lr.ph, %entry630  ret void631}632 633declare <256 x i1> @llvm.ppc.vsx.lxvp(ptr)634declare { <16 x i8>, <16 x i8> } @llvm.ppc.vsx.disassemble.pair(<256 x i1>)635declare <2 x double> @llvm.fma.v2f64(<2 x double>, <2 x double>, <2 x double>)636 637