1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc -verify-machineinstrs -mcpu=pwr9 < %s | FileCheck %s 3target datalayout = "e-m:e-i64:64-n32:64" 4target triple = "powerpc64le-unknown-linux-gnu" 5 6define zeroext i32 @test1(i64 %0, ptr %1) { 7; CHECK-LABEL: test1: 8; CHECK: # %bb.0: 9; CHECK-NEXT: stdu 1, -720(1) 10; CHECK-NEXT: .cfi_def_cfa_offset 720 11; CHECK-NEXT: .cfi_offset r14, -144 12; CHECK-NEXT: .cfi_offset r15, -136 13; CHECK-NEXT: .cfi_offset r16, -128 14; CHECK-NEXT: .cfi_offset r17, -120 15; CHECK-NEXT: .cfi_offset r18, -112 16; CHECK-NEXT: .cfi_offset r19, -104 17; CHECK-NEXT: .cfi_offset r20, -96 18; CHECK-NEXT: .cfi_offset r21, -88 19; CHECK-NEXT: .cfi_offset r22, -80 20; CHECK-NEXT: .cfi_offset r23, -72 21; CHECK-NEXT: .cfi_offset r24, -64 22; CHECK-NEXT: .cfi_offset r25, -56 23; CHECK-NEXT: .cfi_offset r26, -48 24; CHECK-NEXT: .cfi_offset r27, -40 25; CHECK-NEXT: .cfi_offset r28, -32 26; CHECK-NEXT: .cfi_offset r29, -24 27; CHECK-NEXT: .cfi_offset r30, -16 28; CHECK-NEXT: .cfi_offset r31, -8 29; CHECK-NEXT: .cfi_offset r2, -152 30; CHECK-NEXT: lis 5, 1 31; CHECK-NEXT: std 30, 704(1) # 8-byte Folded Spill 32; CHECK-NEXT: std 29, 696(1) # 8-byte Folded Spill 33; CHECK-NEXT: ori 5, 5, 1573 34; CHECK-NEXT: std 28, 688(1) # 8-byte Folded Spill 35; CHECK-NEXT: std 27, 680(1) # 8-byte Folded Spill 36; CHECK-NEXT: std 26, 672(1) # 8-byte Folded Spill 37; CHECK-NEXT: std 14, 576(1) # 8-byte Folded Spill 38; CHECK-NEXT: rldic 5, 5, 34, 13 39; CHECK-NEXT: std 15, 584(1) # 8-byte Folded Spill 40; CHECK-NEXT: std 16, 592(1) # 8-byte Folded Spill 41; CHECK-NEXT: std 17, 600(1) # 8-byte Folded Spill 42; CHECK-NEXT: oris 6, 5, 13030 43; CHECK-NEXT: oris 7, 5, 13066 44; CHECK-NEXT: oris 8, 5, 13054 45; CHECK-NEXT: oris 9, 5, 13042 46; CHECK-NEXT: oris 10, 5, 13078 47; CHECK-NEXT: oris 11, 5, 13115 48; CHECK-NEXT: oris 12, 5, 13103 49; CHECK-NEXT: oris 0, 5, 13091 50; CHECK-NEXT: oris 30, 5, 13127 51; CHECK-NEXT: oris 29, 5, 13164 52; CHECK-NEXT: oris 28, 5, 13152 53; CHECK-NEXT: oris 27, 5, 13139 54; CHECK-NEXT: oris 26, 5, 13176 55; CHECK-NEXT: ori 6, 6, 3704 56; CHECK-NEXT: ori 7, 7, 44408 57; CHECK-NEXT: ori 8, 8, 30840 58; CHECK-NEXT: ori 9, 9, 17272 59; CHECK-NEXT: ori 10, 10, 57976 60; CHECK-NEXT: ori 11, 11, 33144 61; CHECK-NEXT: ori 12, 12, 19576 62; CHECK-NEXT: ori 0, 0, 6008 63; CHECK-NEXT: ori 30, 30, 46712 64; CHECK-NEXT: ori 29, 29, 21880 65; CHECK-NEXT: ori 28, 28, 8312 66; CHECK-NEXT: ori 27, 27, 60280 67; CHECK-NEXT: ori 26, 26, 35448 68; CHECK-NEXT: std 18, 608(1) # 8-byte Folded Spill 69; CHECK-NEXT: add 6, 4, 6 70; CHECK-NEXT: std 19, 616(1) # 8-byte Folded Spill 71; CHECK-NEXT: std 20, 624(1) # 8-byte Folded Spill 72; CHECK-NEXT: std 21, 632(1) # 8-byte Folded Spill 73; CHECK-NEXT: std 22, 640(1) # 8-byte Folded Spill 74; CHECK-NEXT: std 23, 648(1) # 8-byte Folded Spill 75; CHECK-NEXT: std 24, 656(1) # 8-byte Folded Spill 76; CHECK-NEXT: std 25, 664(1) # 8-byte Folded Spill 77; CHECK-NEXT: std 31, 712(1) # 8-byte Folded Spill 78; CHECK-NEXT: std 2, 568(1) # 8-byte Folded Spill 79; CHECK-NEXT: std 6, 384(1) # 8-byte Folded Spill 80; CHECK-NEXT: add 6, 4, 7 81; CHECK-NEXT: lis 7, 354 82; CHECK-NEXT: std 6, 376(1) # 8-byte Folded Spill 83; CHECK-NEXT: add 6, 4, 8 84; CHECK-NEXT: lis 8, 402 85; CHECK-NEXT: std 6, 368(1) # 8-byte Folded Spill 86; CHECK-NEXT: add 6, 4, 9 87; CHECK-NEXT: lis 9, 451 88; CHECK-NEXT: std 6, 360(1) # 8-byte Folded Spill 89; CHECK-NEXT: add 6, 4, 10 90; CHECK-NEXT: lis 10, 500 91; CHECK-NEXT: std 6, 352(1) # 8-byte Folded Spill 92; CHECK-NEXT: add 6, 4, 11 93; CHECK-NEXT: lis 11, 549 94; CHECK-NEXT: std 6, 344(1) # 8-byte Folded Spill 95; CHECK-NEXT: add 6, 4, 12 96; CHECK-NEXT: std 6, 336(1) # 8-byte Folded Spill 97; CHECK-NEXT: add 6, 4, 0 98; CHECK-NEXT: std 6, 328(1) # 8-byte Folded Spill 99; CHECK-NEXT: add 6, 4, 30 100; CHECK-NEXT: std 6, 320(1) # 8-byte Folded Spill 101; CHECK-NEXT: add 6, 4, 29 102; CHECK-NEXT: std 6, 312(1) # 8-byte Folded Spill 103; CHECK-NEXT: add 6, 4, 28 104; CHECK-NEXT: std 6, 304(1) # 8-byte Folded Spill 105; CHECK-NEXT: add 6, 4, 27 106; CHECK-NEXT: std 6, 296(1) # 8-byte Folded Spill 107; CHECK-NEXT: add 6, 4, 26 108; CHECK-NEXT: std 6, 288(1) # 8-byte Folded Spill 109; CHECK-NEXT: oris 6, 5, 13213 110; CHECK-NEXT: ori 6, 6, 10616 111; CHECK-NEXT: add 6, 4, 6 112; CHECK-NEXT: std 6, 280(1) # 8-byte Folded Spill 113; CHECK-NEXT: oris 6, 5, 13200 114; CHECK-NEXT: oris 5, 5, 13188 115; CHECK-NEXT: ori 5, 5, 49016 116; CHECK-NEXT: ori 6, 6, 62584 117; CHECK-NEXT: add 5, 4, 5 118; CHECK-NEXT: add 6, 4, 6 119; CHECK-NEXT: std 5, 264(1) # 8-byte Folded Spill 120; CHECK-NEXT: lis 5, 4 121; CHECK-NEXT: std 6, 272(1) # 8-byte Folded Spill 122; CHECK-NEXT: lis 6, 305 123; CHECK-NEXT: ori 5, 5, 6291 124; CHECK-NEXT: rldic 5, 5, 32, 13 125; CHECK-NEXT: oris 5, 5, 29347 126; CHECK-NEXT: ori 5, 5, 20088 127; CHECK-NEXT: add 4, 4, 5 128; CHECK-NEXT: lis 5, 268 129; CHECK-NEXT: std 4, 256(1) # 8-byte Folded Spill 130; CHECK-NEXT: lis 4, 585 131; CHECK-NEXT: ori 4, 4, 61440 132; CHECK-NEXT: std 4, 560(1) # 8-byte Folded Spill 133; CHECK-NEXT: lis 4, 48 134; CHECK-NEXT: ori 4, 4, 54272 135; CHECK-NEXT: std 4, 552(1) # 8-byte Folded Spill 136; CHECK-NEXT: lis 4, 97 137; CHECK-NEXT: ori 4, 4, 43008 138; CHECK-NEXT: std 4, 544(1) # 8-byte Folded Spill 139; CHECK-NEXT: lis 4, 146 140; CHECK-NEXT: ori 4, 4, 31744 141; CHECK-NEXT: std 4, 536(1) # 8-byte Folded Spill 142; CHECK-NEXT: lis 4, 195 143; CHECK-NEXT: ori 4, 4, 20480 144; CHECK-NEXT: std 4, 528(1) # 8-byte Folded Spill 145; CHECK-NEXT: lis 4, 244 146; CHECK-NEXT: ori 4, 4, 9216 147; CHECK-NEXT: std 4, 520(1) # 8-byte Folded Spill 148; CHECK-NEXT: lis 4, 292 149; CHECK-NEXT: ori 4, 4, 63488 150; CHECK-NEXT: std 4, 512(1) # 8-byte Folded Spill 151; CHECK-NEXT: lis 4, 341 152; CHECK-NEXT: ori 4, 4, 52224 153; CHECK-NEXT: std 4, 504(1) # 8-byte Folded Spill 154; CHECK-NEXT: lis 4, 390 155; CHECK-NEXT: ori 4, 4, 40960 156; CHECK-NEXT: std 4, 496(1) # 8-byte Folded Spill 157; CHECK-NEXT: lis 4, 439 158; CHECK-NEXT: ori 4, 4, 29696 159; CHECK-NEXT: std 4, 488(1) # 8-byte Folded Spill 160; CHECK-NEXT: lis 4, 488 161; CHECK-NEXT: ori 4, 4, 18432 162; CHECK-NEXT: std 4, 480(1) # 8-byte Folded Spill 163; CHECK-NEXT: lis 4, 537 164; CHECK-NEXT: ori 4, 4, 7168 165; CHECK-NEXT: std 4, 472(1) # 8-byte Folded Spill 166; CHECK-NEXT: lis 4, 36 167; CHECK-NEXT: ori 4, 4, 40704 168; CHECK-NEXT: std 4, 464(1) # 8-byte Folded Spill 169; CHECK-NEXT: lis 4, 85 170; CHECK-NEXT: ori 4, 4, 29440 171; CHECK-NEXT: std 4, 456(1) # 8-byte Folded Spill 172; CHECK-NEXT: lis 4, 134 173; CHECK-NEXT: ori 4, 4, 18176 174; CHECK-NEXT: std 4, 448(1) # 8-byte Folded Spill 175; CHECK-NEXT: lis 4, 183 176; CHECK-NEXT: ori 4, 4, 6912 177; CHECK-NEXT: std 4, 440(1) # 8-byte Folded Spill 178; CHECK-NEXT: lis 4, 231 179; CHECK-NEXT: ori 4, 4, 61184 180; CHECK-NEXT: std 4, 432(1) # 8-byte Folded Spill 181; CHECK-NEXT: lis 4, 280 182; CHECK-NEXT: ori 4, 4, 49920 183; CHECK-NEXT: std 4, 424(1) # 8-byte Folded Spill 184; CHECK-NEXT: lis 4, 329 185; CHECK-NEXT: ori 4, 4, 38656 186; CHECK-NEXT: std 4, 416(1) # 8-byte Folded Spill 187; CHECK-NEXT: lis 4, 378 188; CHECK-NEXT: ori 4, 4, 27392 189; CHECK-NEXT: std 4, 408(1) # 8-byte Folded Spill 190; CHECK-NEXT: lis 4, 427 191; CHECK-NEXT: ori 4, 4, 16128 192; CHECK-NEXT: std 4, 400(1) # 8-byte Folded Spill 193; CHECK-NEXT: lis 4, 476 194; CHECK-NEXT: ori 4, 4, 4864 195; CHECK-NEXT: std 4, 248(1) # 8-byte Folded Spill 196; CHECK-NEXT: lis 4, 524 197; CHECK-NEXT: ori 4, 4, 59136 198; CHECK-NEXT: std 4, 240(1) # 8-byte Folded Spill 199; CHECK-NEXT: lis 4, 573 200; CHECK-NEXT: ori 4, 4, 47872 201; CHECK-NEXT: std 4, 232(1) # 8-byte Folded Spill 202; CHECK-NEXT: lis 4, 24 203; CHECK-NEXT: ori 4, 4, 27136 204; CHECK-NEXT: std 4, 224(1) # 8-byte Folded Spill 205; CHECK-NEXT: lis 4, 73 206; CHECK-NEXT: ori 4, 4, 15872 207; CHECK-NEXT: std 4, 216(1) # 8-byte Folded Spill 208; CHECK-NEXT: lis 4, 122 209; CHECK-NEXT: ori 4, 4, 4608 210; CHECK-NEXT: std 4, 208(1) # 8-byte Folded Spill 211; CHECK-NEXT: lis 4, 170 212; CHECK-NEXT: ori 4, 4, 58880 213; CHECK-NEXT: std 4, 200(1) # 8-byte Folded Spill 214; CHECK-NEXT: lis 4, 219 215; CHECK-NEXT: ori 4, 4, 47616 216; CHECK-NEXT: std 4, 192(1) # 8-byte Folded Spill 217; CHECK-NEXT: ori 4, 5, 36352 218; CHECK-NEXT: lis 5, 317 219; CHECK-NEXT: ld 30, 192(1) # 8-byte Folded Reload 220; CHECK-NEXT: std 4, 184(1) # 8-byte Folded Spill 221; CHECK-NEXT: ori 4, 5, 25088 222; CHECK-NEXT: lis 5, 366 223; CHECK-NEXT: ld 29, 184(1) # 8-byte Folded Reload 224; CHECK-NEXT: std 4, 176(1) # 8-byte Folded Spill 225; CHECK-NEXT: ori 4, 5, 13824 226; CHECK-NEXT: lis 5, 415 227; CHECK-NEXT: ld 28, 176(1) # 8-byte Folded Reload 228; CHECK-NEXT: std 4, 168(1) # 8-byte Folded Spill 229; CHECK-NEXT: ori 4, 5, 2560 230; CHECK-NEXT: lis 5, 463 231; CHECK-NEXT: ld 27, 168(1) # 8-byte Folded Reload 232; CHECK-NEXT: std 4, 160(1) # 8-byte Folded Spill 233; CHECK-NEXT: ori 4, 5, 56832 234; CHECK-NEXT: lis 5, 512 235; CHECK-NEXT: ld 26, 160(1) # 8-byte Folded Reload 236; CHECK-NEXT: std 4, 152(1) # 8-byte Folded Spill 237; CHECK-NEXT: ori 4, 5, 45568 238; CHECK-NEXT: lis 5, 561 239; CHECK-NEXT: ld 25, 152(1) # 8-byte Folded Reload 240; CHECK-NEXT: std 4, 144(1) # 8-byte Folded Spill 241; CHECK-NEXT: ori 4, 5, 34304 242; CHECK-NEXT: lis 5, 12 243; CHECK-NEXT: ld 24, 144(1) # 8-byte Folded Reload 244; CHECK-NEXT: std 4, 136(1) # 8-byte Folded Spill 245; CHECK-NEXT: ori 4, 5, 13568 246; CHECK-NEXT: lis 5, 61 247; CHECK-NEXT: ld 23, 136(1) # 8-byte Folded Reload 248; CHECK-NEXT: std 4, 128(1) # 8-byte Folded Spill 249; CHECK-NEXT: ori 4, 5, 2304 250; CHECK-NEXT: lis 5, 109 251; CHECK-NEXT: std 4, 120(1) # 8-byte Folded Spill 252; CHECK-NEXT: ori 4, 5, 56576 253; CHECK-NEXT: lis 5, 158 254; CHECK-NEXT: ld 0, 120(1) # 8-byte Folded Reload 255; CHECK-NEXT: std 4, 112(1) # 8-byte Folded Spill 256; CHECK-NEXT: ori 4, 5, 45312 257; CHECK-NEXT: lis 5, 207 258; CHECK-NEXT: ld 22, 112(1) # 8-byte Folded Reload 259; CHECK-NEXT: std 4, 104(1) # 8-byte Folded Spill 260; CHECK-NEXT: ori 4, 5, 34048 261; CHECK-NEXT: lis 5, 256 262; CHECK-NEXT: ld 21, 104(1) # 8-byte Folded Reload 263; CHECK-NEXT: std 4, 96(1) # 8-byte Folded Spill 264; CHECK-NEXT: ori 4, 5, 22784 265; CHECK-NEXT: ld 5, 248(1) # 8-byte Folded Reload 266; CHECK-NEXT: ld 20, 96(1) # 8-byte Folded Reload 267; CHECK-NEXT: std 4, 88(1) # 8-byte Folded Spill 268; CHECK-NEXT: ori 4, 6, 11520 269; CHECK-NEXT: ld 6, 240(1) # 8-byte Folded Reload 270; CHECK-NEXT: ld 19, 88(1) # 8-byte Folded Reload 271; CHECK-NEXT: std 4, 80(1) # 8-byte Folded Spill 272; CHECK-NEXT: ori 4, 7, 256 273; CHECK-NEXT: ld 7, 232(1) # 8-byte Folded Reload 274; CHECK-NEXT: ld 18, 80(1) # 8-byte Folded Reload 275; CHECK-NEXT: std 4, 72(1) # 8-byte Folded Spill 276; CHECK-NEXT: ori 4, 8, 54528 277; CHECK-NEXT: ld 8, 224(1) # 8-byte Folded Reload 278; CHECK-NEXT: ld 17, 72(1) # 8-byte Folded Reload 279; CHECK-NEXT: std 4, 64(1) # 8-byte Folded Spill 280; CHECK-NEXT: ori 4, 9, 43264 281; CHECK-NEXT: ld 9, 216(1) # 8-byte Folded Reload 282; CHECK-NEXT: ld 16, 64(1) # 8-byte Folded Reload 283; CHECK-NEXT: std 4, 56(1) # 8-byte Folded Spill 284; CHECK-NEXT: ori 4, 10, 32000 285; CHECK-NEXT: ld 10, 208(1) # 8-byte Folded Reload 286; CHECK-NEXT: ld 15, 56(1) # 8-byte Folded Reload 287; CHECK-NEXT: std 4, 48(1) # 8-byte Folded Spill 288; CHECK-NEXT: ori 4, 11, 20736 289; CHECK-NEXT: ld 11, 200(1) # 8-byte Folded Reload 290; CHECK-NEXT: ld 14, 48(1) # 8-byte Folded Reload 291; CHECK-NEXT: std 4, 40(1) # 8-byte Folded Spill 292; CHECK-NEXT: li 4, 0 293; CHECK-NEXT: ld 31, 40(1) # 8-byte Folded Reload 294; CHECK-NEXT: .p2align 4 295; CHECK-NEXT: .LBB0_1: # =>This Loop Header: Depth=1 296; CHECK-NEXT: # Child Loop BB0_2 Depth 2 297; CHECK-NEXT: stw 4, 396(1) # 4-byte Folded Spill 298; CHECK-NEXT: li 4, 83 299; CHECK-NEXT: mtctr 4 300; CHECK-NEXT: ld 12, 256(1) # 8-byte Folded Reload 301; CHECK-NEXT: ld 4, 128(1) # 8-byte Folded Reload 302; CHECK-NEXT: .p2align 5 303; CHECK-NEXT: .LBB0_2: # Parent Loop BB0_1 Depth=1 304; CHECK-NEXT: # => This Inner Loop Header: Depth=2 305; CHECK-NEXT: ld 2, 560(1) # 8-byte Folded Reload 306; CHECK-NEXT: stdux 3, 12, 2 307; CHECK-NEXT: ld 2, 552(1) # 8-byte Folded Reload 308; CHECK-NEXT: stdx 3, 12, 5 309; CHECK-NEXT: stdx 3, 12, 6 310; CHECK-NEXT: stdx 3, 12, 7 311; CHECK-NEXT: stdx 3, 12, 8 312; CHECK-NEXT: stdx 3, 12, 9 313; CHECK-NEXT: stdx 3, 12, 10 314; CHECK-NEXT: stdx 3, 12, 11 315; CHECK-NEXT: stdx 3, 12, 30 316; CHECK-NEXT: stdx 3, 12, 29 317; CHECK-NEXT: stdx 3, 12, 28 318; CHECK-NEXT: stdx 3, 12, 27 319; CHECK-NEXT: stdx 3, 12, 26 320; CHECK-NEXT: stdx 3, 12, 25 321; CHECK-NEXT: stdx 3, 12, 24 322; CHECK-NEXT: stdx 3, 12, 23 323; CHECK-NEXT: stdx 3, 12, 4 324; CHECK-NEXT: stdx 3, 12, 0 325; CHECK-NEXT: stdx 3, 12, 22 326; CHECK-NEXT: stdx 3, 12, 21 327; CHECK-NEXT: stdx 3, 12, 20 328; CHECK-NEXT: stdx 3, 12, 19 329; CHECK-NEXT: stdx 3, 12, 18 330; CHECK-NEXT: stdx 3, 12, 17 331; CHECK-NEXT: stdx 3, 12, 16 332; CHECK-NEXT: stdx 3, 12, 15 333; CHECK-NEXT: stdx 3, 12, 14 334; CHECK-NEXT: stdx 3, 12, 31 335; CHECK-NEXT: stdx 3, 12, 2 336; CHECK-NEXT: ld 2, 544(1) # 8-byte Folded Reload 337; CHECK-NEXT: stdx 3, 12, 2 338; CHECK-NEXT: ld 2, 536(1) # 8-byte Folded Reload 339; CHECK-NEXT: stdx 3, 12, 2 340; CHECK-NEXT: ld 2, 528(1) # 8-byte Folded Reload 341; CHECK-NEXT: stdx 3, 12, 2 342; CHECK-NEXT: ld 2, 520(1) # 8-byte Folded Reload 343; CHECK-NEXT: stdx 3, 12, 2 344; CHECK-NEXT: ld 2, 512(1) # 8-byte Folded Reload 345; CHECK-NEXT: stdx 3, 12, 2 346; CHECK-NEXT: ld 2, 504(1) # 8-byte Folded Reload 347; CHECK-NEXT: stdx 3, 12, 2 348; CHECK-NEXT: ld 2, 496(1) # 8-byte Folded Reload 349; CHECK-NEXT: stdx 3, 12, 2 350; CHECK-NEXT: ld 2, 488(1) # 8-byte Folded Reload 351; CHECK-NEXT: stdx 3, 12, 2 352; CHECK-NEXT: ld 2, 480(1) # 8-byte Folded Reload 353; CHECK-NEXT: stdx 3, 12, 2 354; CHECK-NEXT: ld 2, 472(1) # 8-byte Folded Reload 355; CHECK-NEXT: stdx 3, 12, 2 356; CHECK-NEXT: ld 2, 464(1) # 8-byte Folded Reload 357; CHECK-NEXT: stdx 3, 12, 2 358; CHECK-NEXT: ld 2, 456(1) # 8-byte Folded Reload 359; CHECK-NEXT: stdx 3, 12, 2 360; CHECK-NEXT: ld 2, 448(1) # 8-byte Folded Reload 361; CHECK-NEXT: stdx 3, 12, 2 362; CHECK-NEXT: ld 2, 440(1) # 8-byte Folded Reload 363; CHECK-NEXT: stdx 3, 12, 2 364; CHECK-NEXT: ld 2, 432(1) # 8-byte Folded Reload 365; CHECK-NEXT: stdx 3, 12, 2 366; CHECK-NEXT: ld 2, 424(1) # 8-byte Folded Reload 367; CHECK-NEXT: stdx 3, 12, 2 368; CHECK-NEXT: ld 2, 416(1) # 8-byte Folded Reload 369; CHECK-NEXT: stdx 3, 12, 2 370; CHECK-NEXT: ld 2, 408(1) # 8-byte Folded Reload 371; CHECK-NEXT: stdx 3, 12, 2 372; CHECK-NEXT: ld 2, 400(1) # 8-byte Folded Reload 373; CHECK-NEXT: stdx 3, 12, 2 374; CHECK-NEXT: bdnz .LBB0_2 375; CHECK-NEXT: # %bb.3: 376; CHECK-NEXT: ld 12, 384(1) # 8-byte Folded Reload 377; CHECK-NEXT: lwz 4, 396(1) # 4-byte Folded Reload 378; CHECK-NEXT: std 3, 0(12) 379; CHECK-NEXT: ld 12, 376(1) # 8-byte Folded Reload 380; CHECK-NEXT: addi 4, 4, 1 381; CHECK-NEXT: std 3, 0(12) 382; CHECK-NEXT: ld 12, 368(1) # 8-byte Folded Reload 383; CHECK-NEXT: std 3, 0(12) 384; CHECK-NEXT: ld 12, 360(1) # 8-byte Folded Reload 385; CHECK-NEXT: std 3, 0(12) 386; CHECK-NEXT: ld 12, 352(1) # 8-byte Folded Reload 387; CHECK-NEXT: std 3, 0(12) 388; CHECK-NEXT: ld 12, 344(1) # 8-byte Folded Reload 389; CHECK-NEXT: std 3, 0(12) 390; CHECK-NEXT: ld 12, 336(1) # 8-byte Folded Reload 391; CHECK-NEXT: std 3, 0(12) 392; CHECK-NEXT: ld 12, 328(1) # 8-byte Folded Reload 393; CHECK-NEXT: std 3, 0(12) 394; CHECK-NEXT: ld 12, 320(1) # 8-byte Folded Reload 395; CHECK-NEXT: std 3, 0(12) 396; CHECK-NEXT: ld 12, 312(1) # 8-byte Folded Reload 397; CHECK-NEXT: std 3, 0(12) 398; CHECK-NEXT: ld 12, 304(1) # 8-byte Folded Reload 399; CHECK-NEXT: std 3, 0(12) 400; CHECK-NEXT: ld 12, 296(1) # 8-byte Folded Reload 401; CHECK-NEXT: std 3, 0(12) 402; CHECK-NEXT: ld 12, 288(1) # 8-byte Folded Reload 403; CHECK-NEXT: std 3, 0(12) 404; CHECK-NEXT: ld 12, 280(1) # 8-byte Folded Reload 405; CHECK-NEXT: std 3, 0(12) 406; CHECK-NEXT: ld 12, 272(1) # 8-byte Folded Reload 407; CHECK-NEXT: std 3, 0(12) 408; CHECK-NEXT: xoris 12, 4, 6 409; CHECK-NEXT: cmplwi 12, 6784 410; CHECK-NEXT: ld 12, 264(1) # 8-byte Folded Reload 411; CHECK-NEXT: std 3, 0(12) 412; CHECK-NEXT: bne 0, .LBB0_1 413; CHECK-NEXT: # %bb.4: 414; CHECK-NEXT: ld 2, 568(1) # 8-byte Folded Reload 415; CHECK-NEXT: ld 31, 712(1) # 8-byte Folded Reload 416; CHECK-NEXT: ld 30, 704(1) # 8-byte Folded Reload 417; CHECK-NEXT: ld 29, 696(1) # 8-byte Folded Reload 418; CHECK-NEXT: li 3, 0 419; CHECK-NEXT: ld 28, 688(1) # 8-byte Folded Reload 420; CHECK-NEXT: ld 27, 680(1) # 8-byte Folded Reload 421; CHECK-NEXT: ld 26, 672(1) # 8-byte Folded Reload 422; CHECK-NEXT: ld 25, 664(1) # 8-byte Folded Reload 423; CHECK-NEXT: ld 24, 656(1) # 8-byte Folded Reload 424; CHECK-NEXT: ld 23, 648(1) # 8-byte Folded Reload 425; CHECK-NEXT: ld 22, 640(1) # 8-byte Folded Reload 426; CHECK-NEXT: ld 21, 632(1) # 8-byte Folded Reload 427; CHECK-NEXT: ld 20, 624(1) # 8-byte Folded Reload 428; CHECK-NEXT: ld 19, 616(1) # 8-byte Folded Reload 429; CHECK-NEXT: ld 18, 608(1) # 8-byte Folded Reload 430; CHECK-NEXT: ld 17, 600(1) # 8-byte Folded Reload 431; CHECK-NEXT: ld 16, 592(1) # 8-byte Folded Reload 432; CHECK-NEXT: ld 15, 584(1) # 8-byte Folded Reload 433; CHECK-NEXT: ld 14, 576(1) # 8-byte Folded Reload 434; CHECK-NEXT: addi 1, 1, 720 435; CHECK-NEXT: blr 436 %3 = getelementptr inbounds i64, ptr %1, i64 144115188075855 437 %4 = getelementptr i64, ptr %1, i64 144115586875855 438 %5 = getelementptr i64, ptr %1, i64 144115587175855 439 %6 = getelementptr i64, ptr %1, i64 144115587075855 440 %7 = getelementptr i64, ptr %1, i64 144115586975855 441 %8 = getelementptr i64, ptr %1, i64 144115587275855 442 %9 = getelementptr i64, ptr %1, i64 144115587575855 443 %10 = getelementptr i64, ptr %1, i64 144115587475855 444 %11 = getelementptr i64, ptr %1, i64 144115587375855 445 %12 = getelementptr i64, ptr %1, i64 144115587675855 446 %13 = getelementptr i64, ptr %1, i64 144115587975855 447 %14 = getelementptr i64, ptr %1, i64 144115587875855 448 %15 = getelementptr i64, ptr %1, i64 144115587775855 449 %16 = getelementptr i64, ptr %1, i64 144115588075855 450 %17 = getelementptr i64, ptr %1, i64 144115588375855 451 %18 = getelementptr i64, ptr %1, i64 144115588275855 452 %19 = getelementptr i64, ptr %1, i64 144115588175855 453 br label %20 454 45520: ; preds = %2, %109 456 %21 = phi i32 [ 0, %2 ], [ %110, %109 ] 457 br label %22 458 45922: ; preds = %22, %20 460 %23 = phi i64 [ 0, %20 ], [ %107, %22 ] 461 %24 = mul i64 %23, 400000 462 %25 = getelementptr i64, ptr %3, i64 %24 463 %26 = or disjoint i64 %23, 1 464 %27 = mul i64 %26, 400000 465 %28 = getelementptr i64, ptr %3, i64 %27 466 %29 = or disjoint i64 %23, 2 467 %30 = mul i64 %29, 400000 468 %31 = getelementptr i64, ptr %3, i64 %30 469 %32 = or disjoint i64 %23, 3 470 %33 = mul i64 %32, 400000 471 %34 = getelementptr i64, ptr %3, i64 %33 472 %35 = mul i64 %23, 400000 473 %36 = add i64 %35, 1600000 474 %37 = getelementptr i64, ptr %3, i64 %36 475 %38 = mul i64 %23, 400000 476 %39 = add i64 %38, 2000000 477 %40 = getelementptr i64, ptr %3, i64 %39 478 %41 = mul i64 %23, 400000 479 %42 = add i64 %41, 2400000 480 %43 = getelementptr i64, ptr %3, i64 %42 481 %44 = mul i64 %23, 400000 482 %45 = add i64 %44, 2800000 483 %46 = getelementptr i64, ptr %3, i64 %45 484 %47 = mul i64 %23, 400000 485 %48 = add i64 %47, 3200000 486 %49 = getelementptr i64, ptr %3, i64 %48 487 %50 = mul i64 %23, 400000 488 %51 = add i64 %50, 3600000 489 %52 = getelementptr i64, ptr %3, i64 %51 490 %53 = mul i64 %23, 400000 491 %54 = add i64 %53, 4000000 492 %55 = getelementptr i64, ptr %3, i64 %54 493 %56 = mul i64 %23, 400000 494 %57 = add i64 %56, 4400000 495 %58 = getelementptr i64, ptr %3, i64 %57 496 %59 = getelementptr inbounds i64, ptr %25, i64 400000 497 %60 = getelementptr inbounds i64, ptr %28, i64 400000 498 %61 = getelementptr inbounds i64, ptr %31, i64 400000 499 %62 = getelementptr inbounds i64, ptr %34, i64 400000 500 %63 = getelementptr inbounds i64, ptr %37, i64 400000 501 %64 = getelementptr inbounds i64, ptr %40, i64 400000 502 %65 = getelementptr inbounds i64, ptr %43, i64 400000 503 %66 = getelementptr inbounds i64, ptr %46, i64 400000 504 %67 = getelementptr inbounds i64, ptr %49, i64 400000 505 %68 = getelementptr inbounds i64, ptr %52, i64 400000 506 %69 = getelementptr inbounds i64, ptr %55, i64 400000 507 %70 = getelementptr inbounds i64, ptr %58, i64 400000 508 store i64 %0, ptr %59, align 8 509 store i64 %0, ptr %60, align 8 510 store i64 %0, ptr %61, align 8 511 store i64 %0, ptr %62, align 8 512 store i64 %0, ptr %63, align 8 513 store i64 %0, ptr %64, align 8 514 store i64 %0, ptr %65, align 8 515 store i64 %0, ptr %66, align 8 516 store i64 %0, ptr %67, align 8 517 store i64 %0, ptr %68, align 8 518 store i64 %0, ptr %69, align 8 519 store i64 %0, ptr %70, align 8 520 %71 = getelementptr inbounds i64, ptr %25, i64 700000 521 %72 = getelementptr inbounds i64, ptr %28, i64 700000 522 %73 = getelementptr inbounds i64, ptr %31, i64 700000 523 %74 = getelementptr inbounds i64, ptr %34, i64 700000 524 %75 = getelementptr inbounds i64, ptr %37, i64 700000 525 %76 = getelementptr inbounds i64, ptr %40, i64 700000 526 %77 = getelementptr inbounds i64, ptr %43, i64 700000 527 %78 = getelementptr inbounds i64, ptr %46, i64 700000 528 %79 = getelementptr inbounds i64, ptr %49, i64 700000 529 %80 = getelementptr inbounds i64, ptr %52, i64 700000 530 %81 = getelementptr inbounds i64, ptr %55, i64 700000 531 %82 = getelementptr inbounds i64, ptr %58, i64 700000 532 store i64 %0, ptr %71, align 8 533 store i64 %0, ptr %72, align 8 534 store i64 %0, ptr %73, align 8 535 store i64 %0, ptr %74, align 8 536 store i64 %0, ptr %75, align 8 537 store i64 %0, ptr %76, align 8 538 store i64 %0, ptr %77, align 8 539 store i64 %0, ptr %78, align 8 540 store i64 %0, ptr %79, align 8 541 store i64 %0, ptr %80, align 8 542 store i64 %0, ptr %81, align 8 543 store i64 %0, ptr %82, align 8 544 %83 = getelementptr inbounds i64, ptr %25, i64 600000 545 %84 = getelementptr inbounds i64, ptr %28, i64 600000 546 %85 = getelementptr inbounds i64, ptr %31, i64 600000 547 %86 = getelementptr inbounds i64, ptr %34, i64 600000 548 %87 = getelementptr inbounds i64, ptr %37, i64 600000 549 %88 = getelementptr inbounds i64, ptr %40, i64 600000 550 %89 = getelementptr inbounds i64, ptr %43, i64 600000 551 %90 = getelementptr inbounds i64, ptr %46, i64 600000 552 %91 = getelementptr inbounds i64, ptr %49, i64 600000 553 %92 = getelementptr inbounds i64, ptr %52, i64 600000 554 %93 = getelementptr inbounds i64, ptr %55, i64 600000 555 %94 = getelementptr inbounds i64, ptr %58, i64 600000 556 store i64 %0, ptr %83, align 8 557 store i64 %0, ptr %84, align 8 558 store i64 %0, ptr %85, align 8 559 store i64 %0, ptr %86, align 8 560 store i64 %0, ptr %87, align 8 561 store i64 %0, ptr %88, align 8 562 store i64 %0, ptr %89, align 8 563 store i64 %0, ptr %90, align 8 564 store i64 %0, ptr %91, align 8 565 store i64 %0, ptr %92, align 8 566 store i64 %0, ptr %93, align 8 567 store i64 %0, ptr %94, align 8 568 %95 = getelementptr inbounds i64, ptr %25, i64 500000 569 %96 = getelementptr inbounds i64, ptr %28, i64 500000 570 %97 = getelementptr inbounds i64, ptr %31, i64 500000 571 %98 = getelementptr inbounds i64, ptr %34, i64 500000 572 %99 = getelementptr inbounds i64, ptr %37, i64 500000 573 %100 = getelementptr inbounds i64, ptr %40, i64 500000 574 %101 = getelementptr inbounds i64, ptr %43, i64 500000 575 %102 = getelementptr inbounds i64, ptr %46, i64 500000 576 %103 = getelementptr inbounds i64, ptr %49, i64 500000 577 %104 = getelementptr inbounds i64, ptr %52, i64 500000 578 %105 = getelementptr inbounds i64, ptr %55, i64 500000 579 %106 = getelementptr inbounds i64, ptr %58, i64 500000 580 store i64 %0, ptr %95, align 8 581 store i64 %0, ptr %96, align 8 582 store i64 %0, ptr %97, align 8 583 store i64 %0, ptr %98, align 8 584 store i64 %0, ptr %99, align 8 585 store i64 %0, ptr %100, align 8 586 store i64 %0, ptr %101, align 8 587 store i64 %0, ptr %102, align 8 588 store i64 %0, ptr %103, align 8 589 store i64 %0, ptr %104, align 8 590 store i64 %0, ptr %105, align 8 591 store i64 %0, ptr %106, align 8 592 %107 = add i64 %23, 12 593 %108 = icmp eq i64 %107, 996 594 br i1 %108, label %109, label %22 595 596109: ; preds = %22 597 store i64 %0, ptr %4, align 8 598 store i64 %0, ptr %5, align 8 599 store i64 %0, ptr %6, align 8 600 store i64 %0, ptr %7, align 8 601 store i64 %0, ptr %8, align 8 602 store i64 %0, ptr %9, align 8 603 store i64 %0, ptr %10, align 8 604 store i64 %0, ptr %11, align 8 605 store i64 %0, ptr %12, align 8 606 store i64 %0, ptr %13, align 8 607 store i64 %0, ptr %14, align 8 608 store i64 %0, ptr %15, align 8 609 store i64 %0, ptr %16, align 8 610 store i64 %0, ptr %17, align 8 611 store i64 %0, ptr %18, align 8 612 store i64 %0, ptr %19, align 8 613 %110 = add nuw nsw i32 %21, 1 614 %111 = icmp eq i32 %110, 400000 615 br i1 %111, label %112, label %20 616 617112: ; preds = %109 618 ret i32 0 619} 620