1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4 2; RUN: llc < %s -mtriple=amdgcn -mcpu=gfx1030 | FileCheck %s -check-prefixes=GFX10 3; RUN: llc < %s -mtriple=amdgcn -mcpu=gfx1100 | FileCheck %s -check-prefix=GFX11 4; RUN: llc < %s -mtriple=amdgcn -mcpu=gfx1200 | FileCheck %s -check-prefix=GFX12 5 6;; Check that consecutive store operations are grouped greedily into 7;; hard clauses of the appropriate length for each target. 8;; This test uses <4 x i32> stores in order to prevent the stores from 9;; being combined into larger operations due to their adjecency. 10define amdgpu_kernel void @long_store_chain(ptr addrspace(1) %p) { 11; GFX10-LABEL: long_store_chain: 12; GFX10: ; %bb.0: 13; GFX10-NEXT: s_load_dwordx2 s[4:5], s[4:5], 0x24 14; GFX10-NEXT: s_mov_b32 s0, 0 15; GFX10-NEXT: v_mov_b32_e32 v4, 0 16; GFX10-NEXT: s_mov_b32 s1, s0 17; GFX10-NEXT: s_mov_b32 s2, s0 18; GFX10-NEXT: s_mov_b32 s3, s0 19; GFX10-NEXT: v_mov_b32_e32 v0, s0 20; GFX10-NEXT: v_mov_b32_e32 v1, s1 21; GFX10-NEXT: v_mov_b32_e32 v2, s2 22; GFX10-NEXT: v_mov_b32_e32 v3, s3 23; GFX10-NEXT: s_waitcnt lgkmcnt(0) 24; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] 25; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:16 26; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:32 27; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:48 28; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:64 29; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:80 30; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:96 31; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:112 32; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:128 33; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:144 34; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:160 35; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:176 36; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:192 37; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:208 38; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:224 39; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:240 40; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:256 41; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:272 42; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:288 43; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:304 44; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:320 45; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:336 46; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:352 47; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:368 48; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:384 49; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:400 50; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:416 51; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:432 52; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:448 53; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:464 54; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:480 55; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:496 56; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:512 57; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:528 58; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:544 59; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:560 60; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:576 61; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:592 62; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:608 63; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:624 64; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:640 65; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:656 66; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:672 67; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:688 68; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:704 69; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:720 70; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:736 71; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:752 72; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:768 73; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:784 74; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:800 75; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:816 76; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:832 77; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:848 78; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:864 79; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:880 80; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:896 81; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:912 82; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:928 83; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:944 84; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:960 85; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:976 86; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:992 87; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:1008 88; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:1024 89; GFX10-NEXT: global_store_dwordx4 v4, v[0:3], s[4:5] offset:1040 90; GFX10-NEXT: s_endpgm 91; 92; GFX11-LABEL: long_store_chain: 93; GFX11: ; %bb.0: 94; GFX11-NEXT: s_load_b64 s[4:5], s[4:5], 0x24 95; GFX11-NEXT: s_mov_b32 s0, 0 96; GFX11-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1) 97; GFX11-NEXT: s_mov_b32 s1, s0 98; GFX11-NEXT: s_mov_b32 s2, s0 99; GFX11-NEXT: s_mov_b32 s3, s0 100; GFX11-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s3 101; GFX11-NEXT: v_dual_mov_b32 v4, 0 :: v_dual_mov_b32 v1, s1 102; GFX11-NEXT: v_mov_b32_e32 v2, s2 103; GFX11-NEXT: s_waitcnt lgkmcnt(0) 104; GFX11-NEXT: s_clause 0x1f 105; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] 106; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:16 107; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:32 108; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:48 109; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:64 110; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:80 111; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:96 112; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:112 113; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:128 114; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:144 115; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:160 116; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:176 117; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:192 118; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:208 119; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:224 120; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:240 121; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:256 122; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:272 123; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:288 124; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:304 125; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:320 126; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:336 127; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:352 128; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:368 129; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:384 130; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:400 131; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:416 132; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:432 133; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:448 134; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:464 135; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:480 136; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:496 137; GFX11-NEXT: s_clause 0x1f 138; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:512 139; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:528 140; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:544 141; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:560 142; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:576 143; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:592 144; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:608 145; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:624 146; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:640 147; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:656 148; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:672 149; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:688 150; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:704 151; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:720 152; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:736 153; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:752 154; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:768 155; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:784 156; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:800 157; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:816 158; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:832 159; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:848 160; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:864 161; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:880 162; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:896 163; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:912 164; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:928 165; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:944 166; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:960 167; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:976 168; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:992 169; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:1008 170; GFX11-NEXT: s_clause 0x1 171; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:1024 172; GFX11-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:1040 173; GFX11-NEXT: s_endpgm 174; 175; GFX12-LABEL: long_store_chain: 176; GFX12: ; %bb.0: 177; GFX12-NEXT: s_load_b64 s[4:5], s[4:5], 0x24 178; GFX12-NEXT: s_mov_b32 s0, 0 179; GFX12-NEXT: s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_2) | instid1(SALU_CYCLE_1) 180; GFX12-NEXT: s_mov_b32 s1, s0 181; GFX12-NEXT: s_mov_b32 s2, s0 182; GFX12-NEXT: s_mov_b32 s3, s0 183; GFX12-NEXT: v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v3, s3 184; GFX12-NEXT: v_dual_mov_b32 v4, 0 :: v_dual_mov_b32 v1, s1 185; GFX12-NEXT: v_mov_b32_e32 v2, s2 186; GFX12-NEXT: s_wait_kmcnt 0x0 187; GFX12-NEXT: s_clause 0x1f 188; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] 189; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:16 190; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:32 191; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:48 192; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:64 193; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:80 194; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:96 195; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:112 196; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:128 197; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:144 198; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:160 199; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:176 200; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:192 201; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:208 202; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:224 203; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:240 204; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:256 205; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:272 206; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:288 207; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:304 208; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:320 209; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:336 210; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:352 211; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:368 212; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:384 213; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:400 214; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:416 215; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:432 216; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:448 217; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:464 218; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:480 219; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:496 220; GFX12-NEXT: s_clause 0x1f 221; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:512 222; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:528 223; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:544 224; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:560 225; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:576 226; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:592 227; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:608 228; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:624 229; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:640 230; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:656 231; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:672 232; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:688 233; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:704 234; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:720 235; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:736 236; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:752 237; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:768 238; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:784 239; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:800 240; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:816 241; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:832 242; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:848 243; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:864 244; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:880 245; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:896 246; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:912 247; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:928 248; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:944 249; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:960 250; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:976 251; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:992 252; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:1008 253; GFX12-NEXT: s_clause 0x1 254; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:1024 255; GFX12-NEXT: global_store_b128 v4, v[0:3], s[4:5] offset:1040 256; GFX12-NEXT: s_endpgm 257 store <4 x i32> zeroinitializer, ptr addrspace(1) %p 258 %ptr1 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 1 259 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr1 260 %ptr2 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 2 261 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr2 262 %ptr3 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 3 263 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr3 264 %ptr4 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 4 265 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr4 266 %ptr5 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 5 267 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr5 268 %ptr6 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 6 269 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr6 270 %ptr7 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 7 271 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr7 272 %ptr8 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 8 273 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr8 274 %ptr9 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 9 275 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr9 276 %ptr10 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 10 277 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr10 278 %ptr11 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 11 279 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr11 280 %ptr12 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 12 281 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr12 282 %ptr13 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 13 283 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr13 284 %ptr14 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 14 285 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr14 286 %ptr15 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 15 287 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr15 288 %ptr16 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 16 289 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr16 290 %ptr17 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 17 291 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr17 292 %ptr18 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 18 293 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr18 294 %ptr19 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 19 295 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr19 296 %ptr20 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 20 297 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr20 298 %ptr21 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 21 299 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr21 300 %ptr22 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 22 301 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr22 302 %ptr23 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 23 303 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr23 304 %ptr24 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 24 305 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr24 306 %ptr25 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 25 307 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr25 308 %ptr26 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 26 309 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr26 310 %ptr27 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 27 311 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr27 312 %ptr28 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 28 313 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr28 314 %ptr29 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 29 315 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr29 316 %ptr30 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 30 317 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr30 318 %ptr31 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 31 319 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr31 320 %ptr32 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 32 321 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr32 322 %ptr33 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 33 323 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr33 324 %ptr34 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 34 325 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr34 326 %ptr35 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 35 327 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr35 328 %ptr36 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 36 329 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr36 330 %ptr37 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 37 331 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr37 332 %ptr38 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 38 333 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr38 334 %ptr39 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 39 335 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr39 336 %ptr40 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 40 337 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr40 338 %ptr41 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 41 339 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr41 340 %ptr42 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 42 341 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr42 342 %ptr43 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 43 343 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr43 344 %ptr44 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 44 345 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr44 346 %ptr45 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 45 347 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr45 348 %ptr46 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 46 349 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr46 350 %ptr47 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 47 351 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr47 352 %ptr48 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 48 353 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr48 354 %ptr49 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 49 355 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr49 356 %ptr50 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 50 357 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr50 358 %ptr51 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 51 359 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr51 360 %ptr52 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 52 361 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr52 362 %ptr53 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 53 363 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr53 364 %ptr54 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 54 365 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr54 366 %ptr55 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 55 367 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr55 368 %ptr56 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 56 369 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr56 370 %ptr57 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 57 371 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr57 372 %ptr58 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 58 373 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr58 374 %ptr59 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 59 375 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr59 376 %ptr60 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 60 377 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr60 378 %ptr61 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 61 379 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr61 380 %ptr62 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 62 381 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr62 382 %ptr63 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 63 383 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr63 384 %ptr64 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 64 385 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr64 386 %ptr65 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 65 387 store <4 x i32> zeroinitializer, ptr addrspace(1) %ptr65 388 ret void 389} 390 391;; Long chain of loads since gfx10 doesn't cluster stores. 392;; Use i32 loads to save on register pressure 393define amdgpu_kernel void @long_load_chain(ptr addrspace(1) %p) { 394; GFX10-LABEL: long_load_chain: 395; GFX10: ; %bb.0: 396; GFX10-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24 397; GFX10-NEXT: s_waitcnt lgkmcnt(0) 398; GFX10-NEXT: s_clause 0x3e 399; GFX10-NEXT: s_load_dword s2, s[0:1], 0x0 400; GFX10-NEXT: s_load_dword s3, s[0:1], 0x10 401; GFX10-NEXT: s_load_dword s4, s[0:1], 0x20 402; GFX10-NEXT: s_load_dword s5, s[0:1], 0x30 403; GFX10-NEXT: s_load_dword s6, s[0:1], 0x40 404; GFX10-NEXT: s_load_dword s7, s[0:1], 0x50 405; GFX10-NEXT: s_load_dword s8, s[0:1], 0x60 406; GFX10-NEXT: s_load_dword s9, s[0:1], 0x70 407; GFX10-NEXT: s_load_dword s10, s[0:1], 0x80 408; GFX10-NEXT: s_load_dword s11, s[0:1], 0x90 409; GFX10-NEXT: s_load_dword s12, s[0:1], 0xa0 410; GFX10-NEXT: s_load_dword s13, s[0:1], 0xb0 411; GFX10-NEXT: s_load_dword s14, s[0:1], 0xc0 412; GFX10-NEXT: s_load_dword s15, s[0:1], 0xd0 413; GFX10-NEXT: s_load_dword s16, s[0:1], 0xe0 414; GFX10-NEXT: s_load_dword s17, s[0:1], 0xf0 415; GFX10-NEXT: s_load_dword s18, s[0:1], 0x100 416; GFX10-NEXT: s_load_dword s19, s[0:1], 0x110 417; GFX10-NEXT: s_load_dword s20, s[0:1], 0x120 418; GFX10-NEXT: s_load_dword s21, s[0:1], 0x130 419; GFX10-NEXT: s_load_dword s22, s[0:1], 0x140 420; GFX10-NEXT: s_load_dword s23, s[0:1], 0x150 421; GFX10-NEXT: s_load_dword s24, s[0:1], 0x160 422; GFX10-NEXT: s_load_dword s25, s[0:1], 0x170 423; GFX10-NEXT: s_load_dword s26, s[0:1], 0x180 424; GFX10-NEXT: s_load_dword s27, s[0:1], 0x190 425; GFX10-NEXT: s_load_dword s28, s[0:1], 0x1a0 426; GFX10-NEXT: s_load_dword s29, s[0:1], 0x1b0 427; GFX10-NEXT: s_load_dword s30, s[0:1], 0x1c0 428; GFX10-NEXT: s_load_dword s31, s[0:1], 0x1d0 429; GFX10-NEXT: s_load_dword s33, s[0:1], 0x1e0 430; GFX10-NEXT: s_load_dword s34, s[0:1], 0x1f0 431; GFX10-NEXT: s_load_dword s35, s[0:1], 0x200 432; GFX10-NEXT: s_load_dword s36, s[0:1], 0x210 433; GFX10-NEXT: s_load_dword s37, s[0:1], 0x220 434; GFX10-NEXT: s_load_dword s38, s[0:1], 0x230 435; GFX10-NEXT: s_load_dword s39, s[0:1], 0x240 436; GFX10-NEXT: s_load_dword s40, s[0:1], 0x250 437; GFX10-NEXT: s_load_dword s41, s[0:1], 0x260 438; GFX10-NEXT: s_load_dword s42, s[0:1], 0x270 439; GFX10-NEXT: s_load_dword s43, s[0:1], 0x280 440; GFX10-NEXT: s_load_dword s44, s[0:1], 0x290 441; GFX10-NEXT: s_load_dword s45, s[0:1], 0x2a0 442; GFX10-NEXT: s_load_dword s46, s[0:1], 0x2b0 443; GFX10-NEXT: s_load_dword s47, s[0:1], 0x2c0 444; GFX10-NEXT: s_load_dword s48, s[0:1], 0x2d0 445; GFX10-NEXT: s_load_dword s49, s[0:1], 0x2e0 446; GFX10-NEXT: s_load_dword s50, s[0:1], 0x2f0 447; GFX10-NEXT: s_load_dword s51, s[0:1], 0x300 448; GFX10-NEXT: s_load_dword s52, s[0:1], 0x310 449; GFX10-NEXT: s_load_dword s53, s[0:1], 0x320 450; GFX10-NEXT: s_load_dword s54, s[0:1], 0x330 451; GFX10-NEXT: s_load_dword s55, s[0:1], 0x340 452; GFX10-NEXT: s_load_dword s56, s[0:1], 0x350 453; GFX10-NEXT: s_load_dword s57, s[0:1], 0x360 454; GFX10-NEXT: s_load_dword s58, s[0:1], 0x370 455; GFX10-NEXT: s_load_dword s59, s[0:1], 0x380 456; GFX10-NEXT: s_load_dword s60, s[0:1], 0x390 457; GFX10-NEXT: s_load_dword s61, s[0:1], 0x3a0 458; GFX10-NEXT: s_load_dword s62, s[0:1], 0x3b0 459; GFX10-NEXT: s_load_dword s63, s[0:1], 0x3c0 460; GFX10-NEXT: s_load_dword s64, s[0:1], 0x3d0 461; GFX10-NEXT: s_load_dword s65, s[0:1], 0x3e0 462; GFX10-NEXT: s_clause 0x2 463; GFX10-NEXT: s_load_dword s66, s[0:1], 0x3f0 464; GFX10-NEXT: s_load_dword s67, s[0:1], 0x400 465; GFX10-NEXT: s_load_dword s0, s[0:1], 0x410 466; GFX10-NEXT: s_waitcnt lgkmcnt(0) 467; GFX10-NEXT: ;;#ASMSTART 468; GFX10-NEXT: ; use s2 469; GFX10-NEXT: ;;#ASMEND 470; GFX10-NEXT: ;;#ASMSTART 471; GFX10-NEXT: ; use s3 472; GFX10-NEXT: ;;#ASMEND 473; GFX10-NEXT: ;;#ASMSTART 474; GFX10-NEXT: ; use s4 475; GFX10-NEXT: ;;#ASMEND 476; GFX10-NEXT: ;;#ASMSTART 477; GFX10-NEXT: ; use s5 478; GFX10-NEXT: ;;#ASMEND 479; GFX10-NEXT: ;;#ASMSTART 480; GFX10-NEXT: ; use s6 481; GFX10-NEXT: ;;#ASMEND 482; GFX10-NEXT: ;;#ASMSTART 483; GFX10-NEXT: ; use s7 484; GFX10-NEXT: ;;#ASMEND 485; GFX10-NEXT: ;;#ASMSTART 486; GFX10-NEXT: ; use s8 487; GFX10-NEXT: ;;#ASMEND 488; GFX10-NEXT: ;;#ASMSTART 489; GFX10-NEXT: ; use s9 490; GFX10-NEXT: ;;#ASMEND 491; GFX10-NEXT: ;;#ASMSTART 492; GFX10-NEXT: ; use s10 493; GFX10-NEXT: ;;#ASMEND 494; GFX10-NEXT: ;;#ASMSTART 495; GFX10-NEXT: ; use s11 496; GFX10-NEXT: ;;#ASMEND 497; GFX10-NEXT: ;;#ASMSTART 498; GFX10-NEXT: ; use s12 499; GFX10-NEXT: ;;#ASMEND 500; GFX10-NEXT: ;;#ASMSTART 501; GFX10-NEXT: ; use s13 502; GFX10-NEXT: ;;#ASMEND 503; GFX10-NEXT: ;;#ASMSTART 504; GFX10-NEXT: ; use s14 505; GFX10-NEXT: ;;#ASMEND 506; GFX10-NEXT: ;;#ASMSTART 507; GFX10-NEXT: ; use s15 508; GFX10-NEXT: ;;#ASMEND 509; GFX10-NEXT: ;;#ASMSTART 510; GFX10-NEXT: ; use s16 511; GFX10-NEXT: ;;#ASMEND 512; GFX10-NEXT: ;;#ASMSTART 513; GFX10-NEXT: ; use s17 514; GFX10-NEXT: ;;#ASMEND 515; GFX10-NEXT: ;;#ASMSTART 516; GFX10-NEXT: ; use s18 517; GFX10-NEXT: ;;#ASMEND 518; GFX10-NEXT: ;;#ASMSTART 519; GFX10-NEXT: ; use s19 520; GFX10-NEXT: ;;#ASMEND 521; GFX10-NEXT: ;;#ASMSTART 522; GFX10-NEXT: ; use s20 523; GFX10-NEXT: ;;#ASMEND 524; GFX10-NEXT: ;;#ASMSTART 525; GFX10-NEXT: ; use s21 526; GFX10-NEXT: ;;#ASMEND 527; GFX10-NEXT: ;;#ASMSTART 528; GFX10-NEXT: ; use s22 529; GFX10-NEXT: ;;#ASMEND 530; GFX10-NEXT: ;;#ASMSTART 531; GFX10-NEXT: ; use s23 532; GFX10-NEXT: ;;#ASMEND 533; GFX10-NEXT: ;;#ASMSTART 534; GFX10-NEXT: ; use s24 535; GFX10-NEXT: ;;#ASMEND 536; GFX10-NEXT: ;;#ASMSTART 537; GFX10-NEXT: ; use s25 538; GFX10-NEXT: ;;#ASMEND 539; GFX10-NEXT: ;;#ASMSTART 540; GFX10-NEXT: ; use s26 541; GFX10-NEXT: ;;#ASMEND 542; GFX10-NEXT: ;;#ASMSTART 543; GFX10-NEXT: ; use s27 544; GFX10-NEXT: ;;#ASMEND 545; GFX10-NEXT: ;;#ASMSTART 546; GFX10-NEXT: ; use s28 547; GFX10-NEXT: ;;#ASMEND 548; GFX10-NEXT: ;;#ASMSTART 549; GFX10-NEXT: ; use s29 550; GFX10-NEXT: ;;#ASMEND 551; GFX10-NEXT: ;;#ASMSTART 552; GFX10-NEXT: ; use s30 553; GFX10-NEXT: ;;#ASMEND 554; GFX10-NEXT: ;;#ASMSTART 555; GFX10-NEXT: ; use s31 556; GFX10-NEXT: ;;#ASMEND 557; GFX10-NEXT: ;;#ASMSTART 558; GFX10-NEXT: ; use s33 559; GFX10-NEXT: ;;#ASMEND 560; GFX10-NEXT: ;;#ASMSTART 561; GFX10-NEXT: ; use s34 562; GFX10-NEXT: ;;#ASMEND 563; GFX10-NEXT: ;;#ASMSTART 564; GFX10-NEXT: ; use s35 565; GFX10-NEXT: ;;#ASMEND 566; GFX10-NEXT: ;;#ASMSTART 567; GFX10-NEXT: ; use s36 568; GFX10-NEXT: ;;#ASMEND 569; GFX10-NEXT: ;;#ASMSTART 570; GFX10-NEXT: ; use s37 571; GFX10-NEXT: ;;#ASMEND 572; GFX10-NEXT: ;;#ASMSTART 573; GFX10-NEXT: ; use s38 574; GFX10-NEXT: ;;#ASMEND 575; GFX10-NEXT: ;;#ASMSTART 576; GFX10-NEXT: ; use s39 577; GFX10-NEXT: ;;#ASMEND 578; GFX10-NEXT: ;;#ASMSTART 579; GFX10-NEXT: ; use s40 580; GFX10-NEXT: ;;#ASMEND 581; GFX10-NEXT: ;;#ASMSTART 582; GFX10-NEXT: ; use s41 583; GFX10-NEXT: ;;#ASMEND 584; GFX10-NEXT: ;;#ASMSTART 585; GFX10-NEXT: ; use s42 586; GFX10-NEXT: ;;#ASMEND 587; GFX10-NEXT: ;;#ASMSTART 588; GFX10-NEXT: ; use s43 589; GFX10-NEXT: ;;#ASMEND 590; GFX10-NEXT: ;;#ASMSTART 591; GFX10-NEXT: ; use s44 592; GFX10-NEXT: ;;#ASMEND 593; GFX10-NEXT: ;;#ASMSTART 594; GFX10-NEXT: ; use s45 595; GFX10-NEXT: ;;#ASMEND 596; GFX10-NEXT: ;;#ASMSTART 597; GFX10-NEXT: ; use s46 598; GFX10-NEXT: ;;#ASMEND 599; GFX10-NEXT: ;;#ASMSTART 600; GFX10-NEXT: ; use s47 601; GFX10-NEXT: ;;#ASMEND 602; GFX10-NEXT: ;;#ASMSTART 603; GFX10-NEXT: ; use s48 604; GFX10-NEXT: ;;#ASMEND 605; GFX10-NEXT: ;;#ASMSTART 606; GFX10-NEXT: ; use s49 607; GFX10-NEXT: ;;#ASMEND 608; GFX10-NEXT: ;;#ASMSTART 609; GFX10-NEXT: ; use s50 610; GFX10-NEXT: ;;#ASMEND 611; GFX10-NEXT: ;;#ASMSTART 612; GFX10-NEXT: ; use s51 613; GFX10-NEXT: ;;#ASMEND 614; GFX10-NEXT: ;;#ASMSTART 615; GFX10-NEXT: ; use s52 616; GFX10-NEXT: ;;#ASMEND 617; GFX10-NEXT: ;;#ASMSTART 618; GFX10-NEXT: ; use s53 619; GFX10-NEXT: ;;#ASMEND 620; GFX10-NEXT: ;;#ASMSTART 621; GFX10-NEXT: ; use s54 622; GFX10-NEXT: ;;#ASMEND 623; GFX10-NEXT: ;;#ASMSTART 624; GFX10-NEXT: ; use s55 625; GFX10-NEXT: ;;#ASMEND 626; GFX10-NEXT: ;;#ASMSTART 627; GFX10-NEXT: ; use s56 628; GFX10-NEXT: ;;#ASMEND 629; GFX10-NEXT: ;;#ASMSTART 630; GFX10-NEXT: ; use s57 631; GFX10-NEXT: ;;#ASMEND 632; GFX10-NEXT: ;;#ASMSTART 633; GFX10-NEXT: ; use s58 634; GFX10-NEXT: ;;#ASMEND 635; GFX10-NEXT: ;;#ASMSTART 636; GFX10-NEXT: ; use s59 637; GFX10-NEXT: ;;#ASMEND 638; GFX10-NEXT: ;;#ASMSTART 639; GFX10-NEXT: ; use s60 640; GFX10-NEXT: ;;#ASMEND 641; GFX10-NEXT: ;;#ASMSTART 642; GFX10-NEXT: ; use s61 643; GFX10-NEXT: ;;#ASMEND 644; GFX10-NEXT: ;;#ASMSTART 645; GFX10-NEXT: ; use s62 646; GFX10-NEXT: ;;#ASMEND 647; GFX10-NEXT: ;;#ASMSTART 648; GFX10-NEXT: ; use s63 649; GFX10-NEXT: ;;#ASMEND 650; GFX10-NEXT: ;;#ASMSTART 651; GFX10-NEXT: ; use s64 652; GFX10-NEXT: ;;#ASMEND 653; GFX10-NEXT: ;;#ASMSTART 654; GFX10-NEXT: ; use s65 655; GFX10-NEXT: ;;#ASMEND 656; GFX10-NEXT: ;;#ASMSTART 657; GFX10-NEXT: ; use s66 658; GFX10-NEXT: ;;#ASMEND 659; GFX10-NEXT: ;;#ASMSTART 660; GFX10-NEXT: ; use s67 661; GFX10-NEXT: ;;#ASMEND 662; GFX10-NEXT: ;;#ASMSTART 663; GFX10-NEXT: ; use s0 664; GFX10-NEXT: ;;#ASMEND 665; GFX10-NEXT: s_endpgm 666; 667; GFX11-LABEL: long_load_chain: 668; GFX11: ; %bb.0: 669; GFX11-NEXT: s_load_b64 s[0:1], s[4:5], 0x24 670; GFX11-NEXT: s_waitcnt lgkmcnt(0) 671; GFX11-NEXT: s_clause 0x1f 672; GFX11-NEXT: s_load_b32 s2, s[0:1], 0x0 673; GFX11-NEXT: s_load_b32 s3, s[0:1], 0x10 674; GFX11-NEXT: s_load_b32 s4, s[0:1], 0x20 675; GFX11-NEXT: s_load_b32 s5, s[0:1], 0x30 676; GFX11-NEXT: s_load_b32 s6, s[0:1], 0x40 677; GFX11-NEXT: s_load_b32 s7, s[0:1], 0x50 678; GFX11-NEXT: s_load_b32 s8, s[0:1], 0x60 679; GFX11-NEXT: s_load_b32 s9, s[0:1], 0x70 680; GFX11-NEXT: s_load_b32 s10, s[0:1], 0x80 681; GFX11-NEXT: s_load_b32 s11, s[0:1], 0x90 682; GFX11-NEXT: s_load_b32 s12, s[0:1], 0xa0 683; GFX11-NEXT: s_load_b32 s13, s[0:1], 0xb0 684; GFX11-NEXT: s_load_b32 s14, s[0:1], 0xc0 685; GFX11-NEXT: s_load_b32 s15, s[0:1], 0xd0 686; GFX11-NEXT: s_load_b32 s16, s[0:1], 0xe0 687; GFX11-NEXT: s_load_b32 s17, s[0:1], 0xf0 688; GFX11-NEXT: s_load_b32 s18, s[0:1], 0x100 689; GFX11-NEXT: s_load_b32 s19, s[0:1], 0x110 690; GFX11-NEXT: s_load_b32 s20, s[0:1], 0x120 691; GFX11-NEXT: s_load_b32 s21, s[0:1], 0x130 692; GFX11-NEXT: s_load_b32 s22, s[0:1], 0x140 693; GFX11-NEXT: s_load_b32 s23, s[0:1], 0x150 694; GFX11-NEXT: s_load_b32 s24, s[0:1], 0x160 695; GFX11-NEXT: s_load_b32 s25, s[0:1], 0x170 696; GFX11-NEXT: s_load_b32 s26, s[0:1], 0x180 697; GFX11-NEXT: s_load_b32 s27, s[0:1], 0x190 698; GFX11-NEXT: s_load_b32 s28, s[0:1], 0x1a0 699; GFX11-NEXT: s_load_b32 s29, s[0:1], 0x1b0 700; GFX11-NEXT: s_load_b32 s30, s[0:1], 0x1c0 701; GFX11-NEXT: s_load_b32 s31, s[0:1], 0x1d0 702; GFX11-NEXT: s_load_b32 s33, s[0:1], 0x1e0 703; GFX11-NEXT: s_load_b32 s34, s[0:1], 0x1f0 704; GFX11-NEXT: s_clause 0x1f 705; GFX11-NEXT: s_load_b32 s35, s[0:1], 0x200 706; GFX11-NEXT: s_load_b32 s36, s[0:1], 0x210 707; GFX11-NEXT: s_load_b32 s37, s[0:1], 0x220 708; GFX11-NEXT: s_load_b32 s38, s[0:1], 0x230 709; GFX11-NEXT: s_load_b32 s39, s[0:1], 0x240 710; GFX11-NEXT: s_load_b32 s40, s[0:1], 0x250 711; GFX11-NEXT: s_load_b32 s41, s[0:1], 0x260 712; GFX11-NEXT: s_load_b32 s42, s[0:1], 0x270 713; GFX11-NEXT: s_load_b32 s43, s[0:1], 0x280 714; GFX11-NEXT: s_load_b32 s44, s[0:1], 0x290 715; GFX11-NEXT: s_load_b32 s45, s[0:1], 0x2a0 716; GFX11-NEXT: s_load_b32 s46, s[0:1], 0x2b0 717; GFX11-NEXT: s_load_b32 s47, s[0:1], 0x2c0 718; GFX11-NEXT: s_load_b32 s48, s[0:1], 0x2d0 719; GFX11-NEXT: s_load_b32 s49, s[0:1], 0x2e0 720; GFX11-NEXT: s_load_b32 s50, s[0:1], 0x2f0 721; GFX11-NEXT: s_load_b32 s51, s[0:1], 0x300 722; GFX11-NEXT: s_load_b32 s52, s[0:1], 0x310 723; GFX11-NEXT: s_load_b32 s53, s[0:1], 0x320 724; GFX11-NEXT: s_load_b32 s54, s[0:1], 0x330 725; GFX11-NEXT: s_load_b32 s55, s[0:1], 0x340 726; GFX11-NEXT: s_load_b32 s56, s[0:1], 0x350 727; GFX11-NEXT: s_load_b32 s57, s[0:1], 0x360 728; GFX11-NEXT: s_load_b32 s58, s[0:1], 0x370 729; GFX11-NEXT: s_load_b32 s59, s[0:1], 0x380 730; GFX11-NEXT: s_load_b32 s60, s[0:1], 0x390 731; GFX11-NEXT: s_load_b32 s61, s[0:1], 0x3a0 732; GFX11-NEXT: s_load_b32 s62, s[0:1], 0x3b0 733; GFX11-NEXT: s_load_b32 s63, s[0:1], 0x3c0 734; GFX11-NEXT: s_load_b32 s64, s[0:1], 0x3d0 735; GFX11-NEXT: s_load_b32 s65, s[0:1], 0x3e0 736; GFX11-NEXT: s_load_b32 s66, s[0:1], 0x3f0 737; GFX11-NEXT: s_clause 0x1 738; GFX11-NEXT: s_load_b32 s67, s[0:1], 0x400 739; GFX11-NEXT: s_load_b32 s0, s[0:1], 0x410 740; GFX11-NEXT: s_waitcnt lgkmcnt(0) 741; GFX11-NEXT: ;;#ASMSTART 742; GFX11-NEXT: ; use s2 743; GFX11-NEXT: ;;#ASMEND 744; GFX11-NEXT: ;;#ASMSTART 745; GFX11-NEXT: ; use s3 746; GFX11-NEXT: ;;#ASMEND 747; GFX11-NEXT: ;;#ASMSTART 748; GFX11-NEXT: ; use s4 749; GFX11-NEXT: ;;#ASMEND 750; GFX11-NEXT: ;;#ASMSTART 751; GFX11-NEXT: ; use s5 752; GFX11-NEXT: ;;#ASMEND 753; GFX11-NEXT: ;;#ASMSTART 754; GFX11-NEXT: ; use s6 755; GFX11-NEXT: ;;#ASMEND 756; GFX11-NEXT: ;;#ASMSTART 757; GFX11-NEXT: ; use s7 758; GFX11-NEXT: ;;#ASMEND 759; GFX11-NEXT: ;;#ASMSTART 760; GFX11-NEXT: ; use s8 761; GFX11-NEXT: ;;#ASMEND 762; GFX11-NEXT: ;;#ASMSTART 763; GFX11-NEXT: ; use s9 764; GFX11-NEXT: ;;#ASMEND 765; GFX11-NEXT: ;;#ASMSTART 766; GFX11-NEXT: ; use s10 767; GFX11-NEXT: ;;#ASMEND 768; GFX11-NEXT: ;;#ASMSTART 769; GFX11-NEXT: ; use s11 770; GFX11-NEXT: ;;#ASMEND 771; GFX11-NEXT: ;;#ASMSTART 772; GFX11-NEXT: ; use s12 773; GFX11-NEXT: ;;#ASMEND 774; GFX11-NEXT: ;;#ASMSTART 775; GFX11-NEXT: ; use s13 776; GFX11-NEXT: ;;#ASMEND 777; GFX11-NEXT: ;;#ASMSTART 778; GFX11-NEXT: ; use s14 779; GFX11-NEXT: ;;#ASMEND 780; GFX11-NEXT: ;;#ASMSTART 781; GFX11-NEXT: ; use s15 782; GFX11-NEXT: ;;#ASMEND 783; GFX11-NEXT: ;;#ASMSTART 784; GFX11-NEXT: ; use s16 785; GFX11-NEXT: ;;#ASMEND 786; GFX11-NEXT: ;;#ASMSTART 787; GFX11-NEXT: ; use s17 788; GFX11-NEXT: ;;#ASMEND 789; GFX11-NEXT: ;;#ASMSTART 790; GFX11-NEXT: ; use s18 791; GFX11-NEXT: ;;#ASMEND 792; GFX11-NEXT: ;;#ASMSTART 793; GFX11-NEXT: ; use s19 794; GFX11-NEXT: ;;#ASMEND 795; GFX11-NEXT: ;;#ASMSTART 796; GFX11-NEXT: ; use s20 797; GFX11-NEXT: ;;#ASMEND 798; GFX11-NEXT: ;;#ASMSTART 799; GFX11-NEXT: ; use s21 800; GFX11-NEXT: ;;#ASMEND 801; GFX11-NEXT: ;;#ASMSTART 802; GFX11-NEXT: ; use s22 803; GFX11-NEXT: ;;#ASMEND 804; GFX11-NEXT: ;;#ASMSTART 805; GFX11-NEXT: ; use s23 806; GFX11-NEXT: ;;#ASMEND 807; GFX11-NEXT: ;;#ASMSTART 808; GFX11-NEXT: ; use s24 809; GFX11-NEXT: ;;#ASMEND 810; GFX11-NEXT: ;;#ASMSTART 811; GFX11-NEXT: ; use s25 812; GFX11-NEXT: ;;#ASMEND 813; GFX11-NEXT: ;;#ASMSTART 814; GFX11-NEXT: ; use s26 815; GFX11-NEXT: ;;#ASMEND 816; GFX11-NEXT: ;;#ASMSTART 817; GFX11-NEXT: ; use s27 818; GFX11-NEXT: ;;#ASMEND 819; GFX11-NEXT: ;;#ASMSTART 820; GFX11-NEXT: ; use s28 821; GFX11-NEXT: ;;#ASMEND 822; GFX11-NEXT: ;;#ASMSTART 823; GFX11-NEXT: ; use s29 824; GFX11-NEXT: ;;#ASMEND 825; GFX11-NEXT: ;;#ASMSTART 826; GFX11-NEXT: ; use s30 827; GFX11-NEXT: ;;#ASMEND 828; GFX11-NEXT: ;;#ASMSTART 829; GFX11-NEXT: ; use s31 830; GFX11-NEXT: ;;#ASMEND 831; GFX11-NEXT: ;;#ASMSTART 832; GFX11-NEXT: ; use s33 833; GFX11-NEXT: ;;#ASMEND 834; GFX11-NEXT: ;;#ASMSTART 835; GFX11-NEXT: ; use s34 836; GFX11-NEXT: ;;#ASMEND 837; GFX11-NEXT: ;;#ASMSTART 838; GFX11-NEXT: ; use s35 839; GFX11-NEXT: ;;#ASMEND 840; GFX11-NEXT: ;;#ASMSTART 841; GFX11-NEXT: ; use s36 842; GFX11-NEXT: ;;#ASMEND 843; GFX11-NEXT: ;;#ASMSTART 844; GFX11-NEXT: ; use s37 845; GFX11-NEXT: ;;#ASMEND 846; GFX11-NEXT: ;;#ASMSTART 847; GFX11-NEXT: ; use s38 848; GFX11-NEXT: ;;#ASMEND 849; GFX11-NEXT: ;;#ASMSTART 850; GFX11-NEXT: ; use s39 851; GFX11-NEXT: ;;#ASMEND 852; GFX11-NEXT: ;;#ASMSTART 853; GFX11-NEXT: ; use s40 854; GFX11-NEXT: ;;#ASMEND 855; GFX11-NEXT: ;;#ASMSTART 856; GFX11-NEXT: ; use s41 857; GFX11-NEXT: ;;#ASMEND 858; GFX11-NEXT: ;;#ASMSTART 859; GFX11-NEXT: ; use s42 860; GFX11-NEXT: ;;#ASMEND 861; GFX11-NEXT: ;;#ASMSTART 862; GFX11-NEXT: ; use s43 863; GFX11-NEXT: ;;#ASMEND 864; GFX11-NEXT: ;;#ASMSTART 865; GFX11-NEXT: ; use s44 866; GFX11-NEXT: ;;#ASMEND 867; GFX11-NEXT: ;;#ASMSTART 868; GFX11-NEXT: ; use s45 869; GFX11-NEXT: ;;#ASMEND 870; GFX11-NEXT: ;;#ASMSTART 871; GFX11-NEXT: ; use s46 872; GFX11-NEXT: ;;#ASMEND 873; GFX11-NEXT: ;;#ASMSTART 874; GFX11-NEXT: ; use s47 875; GFX11-NEXT: ;;#ASMEND 876; GFX11-NEXT: ;;#ASMSTART 877; GFX11-NEXT: ; use s48 878; GFX11-NEXT: ;;#ASMEND 879; GFX11-NEXT: ;;#ASMSTART 880; GFX11-NEXT: ; use s49 881; GFX11-NEXT: ;;#ASMEND 882; GFX11-NEXT: ;;#ASMSTART 883; GFX11-NEXT: ; use s50 884; GFX11-NEXT: ;;#ASMEND 885; GFX11-NEXT: ;;#ASMSTART 886; GFX11-NEXT: ; use s51 887; GFX11-NEXT: ;;#ASMEND 888; GFX11-NEXT: ;;#ASMSTART 889; GFX11-NEXT: ; use s52 890; GFX11-NEXT: ;;#ASMEND 891; GFX11-NEXT: ;;#ASMSTART 892; GFX11-NEXT: ; use s53 893; GFX11-NEXT: ;;#ASMEND 894; GFX11-NEXT: ;;#ASMSTART 895; GFX11-NEXT: ; use s54 896; GFX11-NEXT: ;;#ASMEND 897; GFX11-NEXT: ;;#ASMSTART 898; GFX11-NEXT: ; use s55 899; GFX11-NEXT: ;;#ASMEND 900; GFX11-NEXT: ;;#ASMSTART 901; GFX11-NEXT: ; use s56 902; GFX11-NEXT: ;;#ASMEND 903; GFX11-NEXT: ;;#ASMSTART 904; GFX11-NEXT: ; use s57 905; GFX11-NEXT: ;;#ASMEND 906; GFX11-NEXT: ;;#ASMSTART 907; GFX11-NEXT: ; use s58 908; GFX11-NEXT: ;;#ASMEND 909; GFX11-NEXT: ;;#ASMSTART 910; GFX11-NEXT: ; use s59 911; GFX11-NEXT: ;;#ASMEND 912; GFX11-NEXT: ;;#ASMSTART 913; GFX11-NEXT: ; use s60 914; GFX11-NEXT: ;;#ASMEND 915; GFX11-NEXT: ;;#ASMSTART 916; GFX11-NEXT: ; use s61 917; GFX11-NEXT: ;;#ASMEND 918; GFX11-NEXT: ;;#ASMSTART 919; GFX11-NEXT: ; use s62 920; GFX11-NEXT: ;;#ASMEND 921; GFX11-NEXT: ;;#ASMSTART 922; GFX11-NEXT: ; use s63 923; GFX11-NEXT: ;;#ASMEND 924; GFX11-NEXT: ;;#ASMSTART 925; GFX11-NEXT: ; use s64 926; GFX11-NEXT: ;;#ASMEND 927; GFX11-NEXT: ;;#ASMSTART 928; GFX11-NEXT: ; use s65 929; GFX11-NEXT: ;;#ASMEND 930; GFX11-NEXT: ;;#ASMSTART 931; GFX11-NEXT: ; use s66 932; GFX11-NEXT: ;;#ASMEND 933; GFX11-NEXT: ;;#ASMSTART 934; GFX11-NEXT: ; use s67 935; GFX11-NEXT: ;;#ASMEND 936; GFX11-NEXT: ;;#ASMSTART 937; GFX11-NEXT: ; use s0 938; GFX11-NEXT: ;;#ASMEND 939; GFX11-NEXT: s_endpgm 940; 941; GFX12-LABEL: long_load_chain: 942; GFX12: ; %bb.0: 943; GFX12-NEXT: s_load_b64 s[0:1], s[4:5], 0x24 944; GFX12-NEXT: s_wait_kmcnt 0x0 945; GFX12-NEXT: s_clause 0x1f 946; GFX12-NEXT: s_load_b32 s2, s[0:1], 0x0 947; GFX12-NEXT: s_load_b32 s3, s[0:1], 0x10 948; GFX12-NEXT: s_load_b32 s4, s[0:1], 0x20 949; GFX12-NEXT: s_load_b32 s5, s[0:1], 0x30 950; GFX12-NEXT: s_load_b32 s6, s[0:1], 0x40 951; GFX12-NEXT: s_load_b32 s7, s[0:1], 0x50 952; GFX12-NEXT: s_load_b32 s8, s[0:1], 0x60 953; GFX12-NEXT: s_load_b32 s9, s[0:1], 0x70 954; GFX12-NEXT: s_load_b32 s10, s[0:1], 0x80 955; GFX12-NEXT: s_load_b32 s11, s[0:1], 0x90 956; GFX12-NEXT: s_load_b32 s12, s[0:1], 0xa0 957; GFX12-NEXT: s_load_b32 s13, s[0:1], 0xb0 958; GFX12-NEXT: s_load_b32 s14, s[0:1], 0xc0 959; GFX12-NEXT: s_load_b32 s15, s[0:1], 0xd0 960; GFX12-NEXT: s_load_b32 s16, s[0:1], 0xe0 961; GFX12-NEXT: s_load_b32 s17, s[0:1], 0xf0 962; GFX12-NEXT: s_load_b32 s18, s[0:1], 0x100 963; GFX12-NEXT: s_load_b32 s19, s[0:1], 0x110 964; GFX12-NEXT: s_load_b32 s20, s[0:1], 0x120 965; GFX12-NEXT: s_load_b32 s21, s[0:1], 0x130 966; GFX12-NEXT: s_load_b32 s22, s[0:1], 0x140 967; GFX12-NEXT: s_load_b32 s23, s[0:1], 0x150 968; GFX12-NEXT: s_load_b32 s24, s[0:1], 0x160 969; GFX12-NEXT: s_load_b32 s25, s[0:1], 0x170 970; GFX12-NEXT: s_load_b32 s26, s[0:1], 0x180 971; GFX12-NEXT: s_load_b32 s27, s[0:1], 0x190 972; GFX12-NEXT: s_load_b32 s28, s[0:1], 0x1a0 973; GFX12-NEXT: s_load_b32 s29, s[0:1], 0x1b0 974; GFX12-NEXT: s_load_b32 s30, s[0:1], 0x1c0 975; GFX12-NEXT: s_load_b32 s31, s[0:1], 0x1d0 976; GFX12-NEXT: s_load_b32 s33, s[0:1], 0x1e0 977; GFX12-NEXT: s_load_b32 s34, s[0:1], 0x1f0 978; GFX12-NEXT: s_clause 0x1f 979; GFX12-NEXT: s_load_b32 s35, s[0:1], 0x200 980; GFX12-NEXT: s_load_b32 s36, s[0:1], 0x210 981; GFX12-NEXT: s_load_b32 s37, s[0:1], 0x220 982; GFX12-NEXT: s_load_b32 s38, s[0:1], 0x230 983; GFX12-NEXT: s_load_b32 s39, s[0:1], 0x240 984; GFX12-NEXT: s_load_b32 s40, s[0:1], 0x250 985; GFX12-NEXT: s_load_b32 s41, s[0:1], 0x260 986; GFX12-NEXT: s_load_b32 s42, s[0:1], 0x270 987; GFX12-NEXT: s_load_b32 s43, s[0:1], 0x280 988; GFX12-NEXT: s_load_b32 s44, s[0:1], 0x290 989; GFX12-NEXT: s_load_b32 s45, s[0:1], 0x2a0 990; GFX12-NEXT: s_load_b32 s46, s[0:1], 0x2b0 991; GFX12-NEXT: s_load_b32 s47, s[0:1], 0x2c0 992; GFX12-NEXT: s_load_b32 s48, s[0:1], 0x2d0 993; GFX12-NEXT: s_load_b32 s49, s[0:1], 0x2e0 994; GFX12-NEXT: s_load_b32 s50, s[0:1], 0x2f0 995; GFX12-NEXT: s_load_b32 s51, s[0:1], 0x300 996; GFX12-NEXT: s_load_b32 s52, s[0:1], 0x310 997; GFX12-NEXT: s_load_b32 s53, s[0:1], 0x320 998; GFX12-NEXT: s_load_b32 s54, s[0:1], 0x330 999; GFX12-NEXT: s_load_b32 s55, s[0:1], 0x340 1000; GFX12-NEXT: s_load_b32 s56, s[0:1], 0x350 1001; GFX12-NEXT: s_load_b32 s57, s[0:1], 0x360 1002; GFX12-NEXT: s_load_b32 s58, s[0:1], 0x370 1003; GFX12-NEXT: s_load_b32 s59, s[0:1], 0x380 1004; GFX12-NEXT: s_load_b32 s60, s[0:1], 0x390 1005; GFX12-NEXT: s_load_b32 s61, s[0:1], 0x3a0 1006; GFX12-NEXT: s_load_b32 s62, s[0:1], 0x3b0 1007; GFX12-NEXT: s_load_b32 s63, s[0:1], 0x3c0 1008; GFX12-NEXT: s_load_b32 s64, s[0:1], 0x3d0 1009; GFX12-NEXT: s_load_b32 s65, s[0:1], 0x3e0 1010; GFX12-NEXT: s_load_b32 s66, s[0:1], 0x3f0 1011; GFX12-NEXT: s_clause 0x1 1012; GFX12-NEXT: s_load_b32 s67, s[0:1], 0x400 1013; GFX12-NEXT: s_load_b32 s0, s[0:1], 0x410 1014; GFX12-NEXT: s_wait_kmcnt 0x0 1015; GFX12-NEXT: ;;#ASMSTART 1016; GFX12-NEXT: ; use s2 1017; GFX12-NEXT: ;;#ASMEND 1018; GFX12-NEXT: ;;#ASMSTART 1019; GFX12-NEXT: ; use s3 1020; GFX12-NEXT: ;;#ASMEND 1021; GFX12-NEXT: ;;#ASMSTART 1022; GFX12-NEXT: ; use s4 1023; GFX12-NEXT: ;;#ASMEND 1024; GFX12-NEXT: ;;#ASMSTART 1025; GFX12-NEXT: ; use s5 1026; GFX12-NEXT: ;;#ASMEND 1027; GFX12-NEXT: ;;#ASMSTART 1028; GFX12-NEXT: ; use s6 1029; GFX12-NEXT: ;;#ASMEND 1030; GFX12-NEXT: ;;#ASMSTART 1031; GFX12-NEXT: ; use s7 1032; GFX12-NEXT: ;;#ASMEND 1033; GFX12-NEXT: ;;#ASMSTART 1034; GFX12-NEXT: ; use s8 1035; GFX12-NEXT: ;;#ASMEND 1036; GFX12-NEXT: ;;#ASMSTART 1037; GFX12-NEXT: ; use s9 1038; GFX12-NEXT: ;;#ASMEND 1039; GFX12-NEXT: ;;#ASMSTART 1040; GFX12-NEXT: ; use s10 1041; GFX12-NEXT: ;;#ASMEND 1042; GFX12-NEXT: ;;#ASMSTART 1043; GFX12-NEXT: ; use s11 1044; GFX12-NEXT: ;;#ASMEND 1045; GFX12-NEXT: ;;#ASMSTART 1046; GFX12-NEXT: ; use s12 1047; GFX12-NEXT: ;;#ASMEND 1048; GFX12-NEXT: ;;#ASMSTART 1049; GFX12-NEXT: ; use s13 1050; GFX12-NEXT: ;;#ASMEND 1051; GFX12-NEXT: ;;#ASMSTART 1052; GFX12-NEXT: ; use s14 1053; GFX12-NEXT: ;;#ASMEND 1054; GFX12-NEXT: ;;#ASMSTART 1055; GFX12-NEXT: ; use s15 1056; GFX12-NEXT: ;;#ASMEND 1057; GFX12-NEXT: ;;#ASMSTART 1058; GFX12-NEXT: ; use s16 1059; GFX12-NEXT: ;;#ASMEND 1060; GFX12-NEXT: ;;#ASMSTART 1061; GFX12-NEXT: ; use s17 1062; GFX12-NEXT: ;;#ASMEND 1063; GFX12-NEXT: ;;#ASMSTART 1064; GFX12-NEXT: ; use s18 1065; GFX12-NEXT: ;;#ASMEND 1066; GFX12-NEXT: ;;#ASMSTART 1067; GFX12-NEXT: ; use s19 1068; GFX12-NEXT: ;;#ASMEND 1069; GFX12-NEXT: ;;#ASMSTART 1070; GFX12-NEXT: ; use s20 1071; GFX12-NEXT: ;;#ASMEND 1072; GFX12-NEXT: ;;#ASMSTART 1073; GFX12-NEXT: ; use s21 1074; GFX12-NEXT: ;;#ASMEND 1075; GFX12-NEXT: ;;#ASMSTART 1076; GFX12-NEXT: ; use s22 1077; GFX12-NEXT: ;;#ASMEND 1078; GFX12-NEXT: ;;#ASMSTART 1079; GFX12-NEXT: ; use s23 1080; GFX12-NEXT: ;;#ASMEND 1081; GFX12-NEXT: ;;#ASMSTART 1082; GFX12-NEXT: ; use s24 1083; GFX12-NEXT: ;;#ASMEND 1084; GFX12-NEXT: ;;#ASMSTART 1085; GFX12-NEXT: ; use s25 1086; GFX12-NEXT: ;;#ASMEND 1087; GFX12-NEXT: ;;#ASMSTART 1088; GFX12-NEXT: ; use s26 1089; GFX12-NEXT: ;;#ASMEND 1090; GFX12-NEXT: ;;#ASMSTART 1091; GFX12-NEXT: ; use s27 1092; GFX12-NEXT: ;;#ASMEND 1093; GFX12-NEXT: ;;#ASMSTART 1094; GFX12-NEXT: ; use s28 1095; GFX12-NEXT: ;;#ASMEND 1096; GFX12-NEXT: ;;#ASMSTART 1097; GFX12-NEXT: ; use s29 1098; GFX12-NEXT: ;;#ASMEND 1099; GFX12-NEXT: ;;#ASMSTART 1100; GFX12-NEXT: ; use s30 1101; GFX12-NEXT: ;;#ASMEND 1102; GFX12-NEXT: ;;#ASMSTART 1103; GFX12-NEXT: ; use s31 1104; GFX12-NEXT: ;;#ASMEND 1105; GFX12-NEXT: ;;#ASMSTART 1106; GFX12-NEXT: ; use s33 1107; GFX12-NEXT: ;;#ASMEND 1108; GFX12-NEXT: ;;#ASMSTART 1109; GFX12-NEXT: ; use s34 1110; GFX12-NEXT: ;;#ASMEND 1111; GFX12-NEXT: ;;#ASMSTART 1112; GFX12-NEXT: ; use s35 1113; GFX12-NEXT: ;;#ASMEND 1114; GFX12-NEXT: ;;#ASMSTART 1115; GFX12-NEXT: ; use s36 1116; GFX12-NEXT: ;;#ASMEND 1117; GFX12-NEXT: ;;#ASMSTART 1118; GFX12-NEXT: ; use s37 1119; GFX12-NEXT: ;;#ASMEND 1120; GFX12-NEXT: ;;#ASMSTART 1121; GFX12-NEXT: ; use s38 1122; GFX12-NEXT: ;;#ASMEND 1123; GFX12-NEXT: ;;#ASMSTART 1124; GFX12-NEXT: ; use s39 1125; GFX12-NEXT: ;;#ASMEND 1126; GFX12-NEXT: ;;#ASMSTART 1127; GFX12-NEXT: ; use s40 1128; GFX12-NEXT: ;;#ASMEND 1129; GFX12-NEXT: ;;#ASMSTART 1130; GFX12-NEXT: ; use s41 1131; GFX12-NEXT: ;;#ASMEND 1132; GFX12-NEXT: ;;#ASMSTART 1133; GFX12-NEXT: ; use s42 1134; GFX12-NEXT: ;;#ASMEND 1135; GFX12-NEXT: ;;#ASMSTART 1136; GFX12-NEXT: ; use s43 1137; GFX12-NEXT: ;;#ASMEND 1138; GFX12-NEXT: ;;#ASMSTART 1139; GFX12-NEXT: ; use s44 1140; GFX12-NEXT: ;;#ASMEND 1141; GFX12-NEXT: ;;#ASMSTART 1142; GFX12-NEXT: ; use s45 1143; GFX12-NEXT: ;;#ASMEND 1144; GFX12-NEXT: ;;#ASMSTART 1145; GFX12-NEXT: ; use s46 1146; GFX12-NEXT: ;;#ASMEND 1147; GFX12-NEXT: ;;#ASMSTART 1148; GFX12-NEXT: ; use s47 1149; GFX12-NEXT: ;;#ASMEND 1150; GFX12-NEXT: ;;#ASMSTART 1151; GFX12-NEXT: ; use s48 1152; GFX12-NEXT: ;;#ASMEND 1153; GFX12-NEXT: ;;#ASMSTART 1154; GFX12-NEXT: ; use s49 1155; GFX12-NEXT: ;;#ASMEND 1156; GFX12-NEXT: ;;#ASMSTART 1157; GFX12-NEXT: ; use s50 1158; GFX12-NEXT: ;;#ASMEND 1159; GFX12-NEXT: ;;#ASMSTART 1160; GFX12-NEXT: ; use s51 1161; GFX12-NEXT: ;;#ASMEND 1162; GFX12-NEXT: ;;#ASMSTART 1163; GFX12-NEXT: ; use s52 1164; GFX12-NEXT: ;;#ASMEND 1165; GFX12-NEXT: ;;#ASMSTART 1166; GFX12-NEXT: ; use s53 1167; GFX12-NEXT: ;;#ASMEND 1168; GFX12-NEXT: ;;#ASMSTART 1169; GFX12-NEXT: ; use s54 1170; GFX12-NEXT: ;;#ASMEND 1171; GFX12-NEXT: ;;#ASMSTART 1172; GFX12-NEXT: ; use s55 1173; GFX12-NEXT: ;;#ASMEND 1174; GFX12-NEXT: ;;#ASMSTART 1175; GFX12-NEXT: ; use s56 1176; GFX12-NEXT: ;;#ASMEND 1177; GFX12-NEXT: ;;#ASMSTART 1178; GFX12-NEXT: ; use s57 1179; GFX12-NEXT: ;;#ASMEND 1180; GFX12-NEXT: ;;#ASMSTART 1181; GFX12-NEXT: ; use s58 1182; GFX12-NEXT: ;;#ASMEND 1183; GFX12-NEXT: ;;#ASMSTART 1184; GFX12-NEXT: ; use s59 1185; GFX12-NEXT: ;;#ASMEND 1186; GFX12-NEXT: ;;#ASMSTART 1187; GFX12-NEXT: ; use s60 1188; GFX12-NEXT: ;;#ASMEND 1189; GFX12-NEXT: ;;#ASMSTART 1190; GFX12-NEXT: ; use s61 1191; GFX12-NEXT: ;;#ASMEND 1192; GFX12-NEXT: ;;#ASMSTART 1193; GFX12-NEXT: ; use s62 1194; GFX12-NEXT: ;;#ASMEND 1195; GFX12-NEXT: ;;#ASMSTART 1196; GFX12-NEXT: ; use s63 1197; GFX12-NEXT: ;;#ASMEND 1198; GFX12-NEXT: ;;#ASMSTART 1199; GFX12-NEXT: ; use s64 1200; GFX12-NEXT: ;;#ASMEND 1201; GFX12-NEXT: ;;#ASMSTART 1202; GFX12-NEXT: ; use s65 1203; GFX12-NEXT: ;;#ASMEND 1204; GFX12-NEXT: ;;#ASMSTART 1205; GFX12-NEXT: ; use s66 1206; GFX12-NEXT: ;;#ASMEND 1207; GFX12-NEXT: ;;#ASMSTART 1208; GFX12-NEXT: ; use s67 1209; GFX12-NEXT: ;;#ASMEND 1210; GFX12-NEXT: ;;#ASMSTART 1211; GFX12-NEXT: ; use s0 1212; GFX12-NEXT: ;;#ASMEND 1213; GFX12-NEXT: s_endpgm 1214 %v0 = load i32, ptr addrspace(1) %p 1215 %ptr1 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 1 1216 %v1 = load i32, ptr addrspace(1) %ptr1 1217 %ptr2 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 2 1218 %v2 = load i32, ptr addrspace(1) %ptr2 1219 %ptr3 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 3 1220 %v3 = load i32, ptr addrspace(1) %ptr3 1221 %ptr4 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 4 1222 %v4 = load i32, ptr addrspace(1) %ptr4 1223 %ptr5 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 5 1224 %v5 = load i32, ptr addrspace(1) %ptr5 1225 %ptr6 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 6 1226 %v6 = load i32, ptr addrspace(1) %ptr6 1227 %ptr7 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 7 1228 %v7 = load i32, ptr addrspace(1) %ptr7 1229 %ptr8 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 8 1230 %v8 = load i32, ptr addrspace(1) %ptr8 1231 %ptr9 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 9 1232 %v9 = load i32, ptr addrspace(1) %ptr9 1233 %ptr10 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 10 1234 %v10 = load i32, ptr addrspace(1) %ptr10 1235 %ptr11 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 11 1236 %v11 = load i32, ptr addrspace(1) %ptr11 1237 %ptr12 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 12 1238 %v12 = load i32, ptr addrspace(1) %ptr12 1239 %ptr13 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 13 1240 %v13 = load i32, ptr addrspace(1) %ptr13 1241 %ptr14 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 14 1242 %v14 = load i32, ptr addrspace(1) %ptr14 1243 %ptr15 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 15 1244 %v15 = load i32, ptr addrspace(1) %ptr15 1245 %ptr16 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 16 1246 %v16 = load i32, ptr addrspace(1) %ptr16 1247 %ptr17 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 17 1248 %v17 = load i32, ptr addrspace(1) %ptr17 1249 %ptr18 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 18 1250 %v18 = load i32, ptr addrspace(1) %ptr18 1251 %ptr19 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 19 1252 %v19 = load i32, ptr addrspace(1) %ptr19 1253 %ptr20 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 20 1254 %v20 = load i32, ptr addrspace(1) %ptr20 1255 %ptr21 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 21 1256 %v21 = load i32, ptr addrspace(1) %ptr21 1257 %ptr22 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 22 1258 %v22 = load i32, ptr addrspace(1) %ptr22 1259 %ptr23 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 23 1260 %v23 = load i32, ptr addrspace(1) %ptr23 1261 %ptr24 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 24 1262 %v24 = load i32, ptr addrspace(1) %ptr24 1263 %ptr25 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 25 1264 %v25 = load i32, ptr addrspace(1) %ptr25 1265 %ptr26 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 26 1266 %v26 = load i32, ptr addrspace(1) %ptr26 1267 %ptr27 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 27 1268 %v27 = load i32, ptr addrspace(1) %ptr27 1269 %ptr28 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 28 1270 %v28 = load i32, ptr addrspace(1) %ptr28 1271 %ptr29 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 29 1272 %v29 = load i32, ptr addrspace(1) %ptr29 1273 %ptr30 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 30 1274 %v30 = load i32, ptr addrspace(1) %ptr30 1275 %ptr31 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 31 1276 %v31 = load i32, ptr addrspace(1) %ptr31 1277 %ptr32 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 32 1278 %v32 = load i32, ptr addrspace(1) %ptr32 1279 %ptr33 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 33 1280 %v33 = load i32, ptr addrspace(1) %ptr33 1281 %ptr34 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 34 1282 %v34 = load i32, ptr addrspace(1) %ptr34 1283 %ptr35 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 35 1284 %v35 = load i32, ptr addrspace(1) %ptr35 1285 %ptr36 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 36 1286 %v36 = load i32, ptr addrspace(1) %ptr36 1287 %ptr37 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 37 1288 %v37 = load i32, ptr addrspace(1) %ptr37 1289 %ptr38 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 38 1290 %v38 = load i32, ptr addrspace(1) %ptr38 1291 %ptr39 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 39 1292 %v39 = load i32, ptr addrspace(1) %ptr39 1293 %ptr40 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 40 1294 %v40 = load i32, ptr addrspace(1) %ptr40 1295 %ptr41 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 41 1296 %v41 = load i32, ptr addrspace(1) %ptr41 1297 %ptr42 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 42 1298 %v42 = load i32, ptr addrspace(1) %ptr42 1299 %ptr43 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 43 1300 %v43 = load i32, ptr addrspace(1) %ptr43 1301 %ptr44 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 44 1302 %v44 = load i32, ptr addrspace(1) %ptr44 1303 %ptr45 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 45 1304 %v45 = load i32, ptr addrspace(1) %ptr45 1305 %ptr46 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 46 1306 %v46 = load i32, ptr addrspace(1) %ptr46 1307 %ptr47 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 47 1308 %v47 = load i32, ptr addrspace(1) %ptr47 1309 %ptr48 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 48 1310 %v48 = load i32, ptr addrspace(1) %ptr48 1311 %ptr49 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 49 1312 %v49 = load i32, ptr addrspace(1) %ptr49 1313 %ptr50 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 50 1314 %v50 = load i32, ptr addrspace(1) %ptr50 1315 %ptr51 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 51 1316 %v51 = load i32, ptr addrspace(1) %ptr51 1317 %ptr52 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 52 1318 %v52 = load i32, ptr addrspace(1) %ptr52 1319 %ptr53 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 53 1320 %v53 = load i32, ptr addrspace(1) %ptr53 1321 %ptr54 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 54 1322 %v54 = load i32, ptr addrspace(1) %ptr54 1323 %ptr55 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 55 1324 %v55 = load i32, ptr addrspace(1) %ptr55 1325 %ptr56 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 56 1326 %v56 = load i32, ptr addrspace(1) %ptr56 1327 %ptr57 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 57 1328 %v57 = load i32, ptr addrspace(1) %ptr57 1329 %ptr58 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 58 1330 %v58 = load i32, ptr addrspace(1) %ptr58 1331 %ptr59 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 59 1332 %v59 = load i32, ptr addrspace(1) %ptr59 1333 %ptr60 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 60 1334 %v60 = load i32, ptr addrspace(1) %ptr60 1335 %ptr61 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 61 1336 %v61 = load i32, ptr addrspace(1) %ptr61 1337 %ptr62 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 62 1338 %v62 = load i32, ptr addrspace(1) %ptr62 1339 %ptr63 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 63 1340 %v63 = load i32, ptr addrspace(1) %ptr63 1341 %ptr64 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 64 1342 %v64 = load i32, ptr addrspace(1) %ptr64 1343 %ptr65 = getelementptr <4 x i32>, ptr addrspace(1) %p, i64 65 1344 %v65 = load i32, ptr addrspace(1) %ptr65 1345 1346 call void asm sideeffect "; use $0", "s"(i32 %v0) 1347 call void asm sideeffect "; use $0", "s"(i32 %v1) 1348 call void asm sideeffect "; use $0", "s"(i32 %v2) 1349 call void asm sideeffect "; use $0", "s"(i32 %v3) 1350 call void asm sideeffect "; use $0", "s"(i32 %v4) 1351 call void asm sideeffect "; use $0", "s"(i32 %v5) 1352 call void asm sideeffect "; use $0", "s"(i32 %v6) 1353 call void asm sideeffect "; use $0", "s"(i32 %v7) 1354 call void asm sideeffect "; use $0", "s"(i32 %v8) 1355 call void asm sideeffect "; use $0", "s"(i32 %v9) 1356 call void asm sideeffect "; use $0", "s"(i32 %v10) 1357 call void asm sideeffect "; use $0", "s"(i32 %v11) 1358 call void asm sideeffect "; use $0", "s"(i32 %v12) 1359 call void asm sideeffect "; use $0", "s"(i32 %v13) 1360 call void asm sideeffect "; use $0", "s"(i32 %v14) 1361 call void asm sideeffect "; use $0", "s"(i32 %v15) 1362 call void asm sideeffect "; use $0", "s"(i32 %v16) 1363 call void asm sideeffect "; use $0", "s"(i32 %v17) 1364 call void asm sideeffect "; use $0", "s"(i32 %v18) 1365 call void asm sideeffect "; use $0", "s"(i32 %v19) 1366 call void asm sideeffect "; use $0", "s"(i32 %v20) 1367 call void asm sideeffect "; use $0", "s"(i32 %v21) 1368 call void asm sideeffect "; use $0", "s"(i32 %v22) 1369 call void asm sideeffect "; use $0", "s"(i32 %v23) 1370 call void asm sideeffect "; use $0", "s"(i32 %v24) 1371 call void asm sideeffect "; use $0", "s"(i32 %v25) 1372 call void asm sideeffect "; use $0", "s"(i32 %v26) 1373 call void asm sideeffect "; use $0", "s"(i32 %v27) 1374 call void asm sideeffect "; use $0", "s"(i32 %v28) 1375 call void asm sideeffect "; use $0", "s"(i32 %v29) 1376 call void asm sideeffect "; use $0", "s"(i32 %v30) 1377 call void asm sideeffect "; use $0", "s"(i32 %v31) 1378 call void asm sideeffect "; use $0", "s"(i32 %v32) 1379 call void asm sideeffect "; use $0", "s"(i32 %v33) 1380 call void asm sideeffect "; use $0", "s"(i32 %v34) 1381 call void asm sideeffect "; use $0", "s"(i32 %v35) 1382 call void asm sideeffect "; use $0", "s"(i32 %v36) 1383 call void asm sideeffect "; use $0", "s"(i32 %v37) 1384 call void asm sideeffect "; use $0", "s"(i32 %v38) 1385 call void asm sideeffect "; use $0", "s"(i32 %v39) 1386 call void asm sideeffect "; use $0", "s"(i32 %v40) 1387 call void asm sideeffect "; use $0", "s"(i32 %v41) 1388 call void asm sideeffect "; use $0", "s"(i32 %v42) 1389 call void asm sideeffect "; use $0", "s"(i32 %v43) 1390 call void asm sideeffect "; use $0", "s"(i32 %v44) 1391 call void asm sideeffect "; use $0", "s"(i32 %v45) 1392 call void asm sideeffect "; use $0", "s"(i32 %v46) 1393 call void asm sideeffect "; use $0", "s"(i32 %v47) 1394 call void asm sideeffect "; use $0", "s"(i32 %v48) 1395 call void asm sideeffect "; use $0", "s"(i32 %v49) 1396 call void asm sideeffect "; use $0", "s"(i32 %v50) 1397 call void asm sideeffect "; use $0", "s"(i32 %v51) 1398 call void asm sideeffect "; use $0", "s"(i32 %v52) 1399 call void asm sideeffect "; use $0", "s"(i32 %v53) 1400 call void asm sideeffect "; use $0", "s"(i32 %v54) 1401 call void asm sideeffect "; use $0", "s"(i32 %v55) 1402 call void asm sideeffect "; use $0", "s"(i32 %v56) 1403 call void asm sideeffect "; use $0", "s"(i32 %v57) 1404 call void asm sideeffect "; use $0", "s"(i32 %v58) 1405 call void asm sideeffect "; use $0", "s"(i32 %v59) 1406 call void asm sideeffect "; use $0", "s"(i32 %v60) 1407 call void asm sideeffect "; use $0", "s"(i32 %v61) 1408 call void asm sideeffect "; use $0", "s"(i32 %v62) 1409 call void asm sideeffect "; use $0", "s"(i32 %v63) 1410 call void asm sideeffect "; use $0", "s"(i32 %v64) 1411 call void asm sideeffect "; use $0", "s"(i32 %v65) 1412 1413 ret void 1414} 1415