363 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=tahiti < %s | FileCheck -check-prefixes=SI,SI-SDAG %s3; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=hawaii < %s | FileCheck -check-prefixes=CI,CI-SDAG %s4; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s | FileCheck -check-prefixes=GFX9,GFX9-SDAG %s5; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1250 < %s | FileCheck -check-prefixes=GFX1250,GFX1250-SDAG %s6; RUN: llc -global-isel=1 -new-reg-bank-select -mtriple=amdgcn-amd-amdhsa -mcpu=hawaii < %s | FileCheck -check-prefixes=CI,CI-GISEL %s7; RUN: llc -global-isel=1 -new-reg-bank-select -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s | FileCheck -check-prefixes=GFX9,GFX9-GISEL %s8; RUN: llc -global-isel=1 -new-reg-bank-select -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1010 < %s | FileCheck -check-prefixes=GFX10,GFX10-GISEL %s9; RUN: llc -global-isel=1 -new-reg-bank-select -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 < %s | FileCheck -check-prefixes=GFX11,GFX11-GISEL %s10; RUN: llc -global-isel=1 -new-reg-bank-select -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1250 < %s | FileCheck -check-prefixes=GFX1250,GFX1250-GISEL %s11 12define amdgpu_kernel void @is_local_vgpr(ptr addrspace(1) %ptr.ptr) {13; CIT-LABEL: is_local_vgpr:14; CIT: ; %bb.0:15; CIT-NEXT: s_load_dwordx2 s[0:1], s[6:7], 0x016; CIT-NEXT: s_load_dword s4, s[6:7], 0x3317; CIT-NEXT: s_mov_b32 s2, 018; CIT-NEXT: s_mov_b32 s3, 0x100f00019; CIT-NEXT: v_lshlrev_b32_e32 v0, 3, v020; CIT-NEXT: v_mov_b32_e32 v1, 021; CIT-NEXT: s_waitcnt lgkmcnt(0)22; CIT-NEXT: buffer_load_dwordx2 v[0:1], v[0:1], s[0:3], 0 addr64 glc23; CIT-NEXT: s_waitcnt vmcnt(0)24; CIT-NEXT: s_mov_b32 s2, -125; CIT-NEXT: v_cmp_eq_u32_e32 vcc, s4, v126; CIT-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc27; CIT-NEXT: buffer_store_dword v0, off, s[0:3], 028; CIT-NEXT: s_endpgm29;30; CIH-LABEL: is_local_vgpr:31; CIH: ; %bb.0:32; CIH-NEXT: s_load_dwordx2 s[0:1], s[6:7], 0x033; CIH-NEXT: s_load_dword s2, s[6:7], 0x3334; CIH-NEXT: v_lshlrev_b32_e32 v0, 3, v035; CIH-NEXT: s_waitcnt lgkmcnt(0)36; CIH-NEXT: v_mov_b32_e32 v1, s137; CIH-NEXT: v_add_i32_e32 v0, vcc, s0, v038; CIH-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc39; CIH-NEXT: flat_load_dwordx2 v[0:1], v[0:1] glc40; CIH-NEXT: s_waitcnt vmcnt(0)41; CIH-NEXT: v_cmp_eq_u32_e32 vcc, s2, v142; CIH-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc43; CIH-NEXT: flat_store_dword v[0:1], v044; CIH-NEXT: s_endpgm45;46; SI-LABEL: is_local_vgpr:47; SI: ; %bb.0:48; SI-NEXT: s_load_dwordx2 s[0:1], s[8:9], 0x049; SI-NEXT: s_load_dword s4, s[8:9], 0x3350; SI-NEXT: s_mov_b32 s2, 051; SI-NEXT: s_mov_b32 s3, 0x100f00052; SI-NEXT: v_lshlrev_b32_e32 v0, 3, v053; SI-NEXT: v_mov_b32_e32 v1, 054; SI-NEXT: s_waitcnt lgkmcnt(0)55; SI-NEXT: buffer_load_dwordx2 v[0:1], v[0:1], s[0:3], 0 addr64 glc56; SI-NEXT: s_waitcnt vmcnt(0)57; SI-NEXT: s_mov_b32 s2, -158; SI-NEXT: v_cmp_eq_u32_e32 vcc, s4, v159; SI-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc60; SI-NEXT: buffer_store_dword v0, off, s[0:3], 061; SI-NEXT: s_endpgm62;63; CI-SDAG-LABEL: is_local_vgpr:64; CI-SDAG: ; %bb.0:65; CI-SDAG-NEXT: s_load_dwordx2 s[0:1], s[8:9], 0x066; CI-SDAG-NEXT: s_load_dword s2, s[8:9], 0x3367; CI-SDAG-NEXT: v_lshlrev_b32_e32 v0, 3, v068; CI-SDAG-NEXT: s_add_i32 s12, s12, s1769; CI-SDAG-NEXT: s_mov_b32 flat_scratch_lo, s1370; CI-SDAG-NEXT: s_waitcnt lgkmcnt(0)71; CI-SDAG-NEXT: v_mov_b32_e32 v1, s172; CI-SDAG-NEXT: v_add_i32_e32 v0, vcc, s0, v073; CI-SDAG-NEXT: s_lshr_b32 flat_scratch_hi, s12, 874; CI-SDAG-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc75; CI-SDAG-NEXT: flat_load_dwordx2 v[0:1], v[0:1] glc76; CI-SDAG-NEXT: s_waitcnt vmcnt(0)77; CI-SDAG-NEXT: v_cmp_eq_u32_e32 vcc, s2, v178; CI-SDAG-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc79; CI-SDAG-NEXT: flat_store_dword v[0:1], v080; CI-SDAG-NEXT: s_endpgm81;82; GFX9-LABEL: is_local_vgpr:83; GFX9: ; %bb.0:84; GFX9-NEXT: s_load_dwordx2 s[2:3], s[8:9], 0x085; GFX9-NEXT: v_lshlrev_b32_e32 v0, 3, v086; GFX9-NEXT: s_mov_b64 s[0:1], src_shared_base87; GFX9-NEXT: s_waitcnt lgkmcnt(0)88; GFX9-NEXT: global_load_dwordx2 v[0:1], v0, s[2:3] glc89; GFX9-NEXT: s_waitcnt vmcnt(0)90; GFX9-NEXT: v_cmp_eq_u32_e32 vcc, s1, v191; GFX9-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc92; GFX9-NEXT: global_store_dword v[0:1], v0, off93; GFX9-NEXT: s_endpgm94;95; GFX1250-LABEL: is_local_vgpr:96; GFX1250: ; %bb.0:97; GFX1250-NEXT: s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 198; GFX1250-NEXT: s_load_b64 s[2:3], s[4:5], 0x099; GFX1250-NEXT: v_and_b32_e32 v0, 0x3ff, v0100; GFX1250-NEXT: s_mov_b64 s[0:1], src_shared_base101; GFX1250-NEXT: s_wait_kmcnt 0x0102; GFX1250-NEXT: global_load_b64 v[0:1], v0, s[2:3] scale_offset scope:SCOPE_SYS103; GFX1250-NEXT: s_wait_loadcnt 0x0104; GFX1250-NEXT: v_cmp_eq_u32_e32 vcc_lo, s1, v1105; GFX1250-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc_lo106; GFX1250-NEXT: global_store_b32 v[0:1], v0, off107; GFX1250-NEXT: s_endpgm108;109; CI-GISEL-LABEL: is_local_vgpr:110; CI-GISEL: ; %bb.0:111; CI-GISEL-NEXT: s_load_dwordx2 s[0:1], s[8:9], 0x0112; CI-GISEL-NEXT: s_load_dword s2, s[8:9], 0x33113; CI-GISEL-NEXT: v_lshlrev_b32_e32 v2, 3, v0114; CI-GISEL-NEXT: s_add_i32 s12, s12, s17115; CI-GISEL-NEXT: s_mov_b32 flat_scratch_lo, s13116; CI-GISEL-NEXT: s_waitcnt lgkmcnt(0)117; CI-GISEL-NEXT: v_mov_b32_e32 v0, s0118; CI-GISEL-NEXT: v_mov_b32_e32 v1, s1119; CI-GISEL-NEXT: v_add_i32_e32 v0, vcc, v0, v2120; CI-GISEL-NEXT: s_lshr_b32 flat_scratch_hi, s12, 8121; CI-GISEL-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc122; CI-GISEL-NEXT: flat_load_dwordx2 v[0:1], v[0:1] glc123; CI-GISEL-NEXT: s_waitcnt vmcnt(0)124; CI-GISEL-NEXT: v_cmp_eq_u32_e32 vcc, s2, v1125; CI-GISEL-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc126; CI-GISEL-NEXT: flat_store_dword v[0:1], v0127; CI-GISEL-NEXT: s_endpgm128;129; GFX10-LABEL: is_local_vgpr:130; GFX10: ; %bb.0:131; GFX10-NEXT: s_load_dwordx2 s[2:3], s[8:9], 0x0132; GFX10-NEXT: v_lshlrev_b32_e32 v0, 3, v0133; GFX10-NEXT: s_mov_b64 s[0:1], src_shared_base134; GFX10-NEXT: s_waitcnt lgkmcnt(0)135; GFX10-NEXT: global_load_dwordx2 v[0:1], v0, s[2:3] glc dlc136; GFX10-NEXT: s_waitcnt vmcnt(0)137; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, s1, v1138; GFX10-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc_lo139; GFX10-NEXT: global_store_dword v[0:1], v0, off140; GFX10-NEXT: s_endpgm141;142; GFX11-LABEL: is_local_vgpr:143; GFX11: ; %bb.0:144; GFX11-NEXT: s_load_b64 s[2:3], s[4:5], 0x0145; GFX11-NEXT: v_and_b32_e32 v0, 0x3ff, v0146; GFX11-NEXT: s_mov_b64 s[0:1], src_shared_base147; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1)148; GFX11-NEXT: v_lshlrev_b32_e32 v0, 3, v0149; GFX11-NEXT: s_waitcnt lgkmcnt(0)150; GFX11-NEXT: global_load_b64 v[0:1], v0, s[2:3] glc dlc151; GFX11-NEXT: s_waitcnt vmcnt(0)152; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, s1, v1153; GFX11-NEXT: v_cndmask_b32_e64 v0, 0, 1, vcc_lo154; GFX11-NEXT: global_store_b32 v[0:1], v0, off155; GFX11-NEXT: s_endpgm156 %id = call i32 @llvm.amdgcn.workitem.id.x()157 %gep = getelementptr inbounds ptr, ptr addrspace(1) %ptr.ptr, i32 %id158 %ptr = load volatile ptr, ptr addrspace(1) %gep159 %val = call i1 @llvm.amdgcn.is.shared(ptr %ptr)160 %ext = zext i1 %val to i32161 store i32 %ext, ptr addrspace(1) poison162 ret void163}164 165; FIXME: setcc (zero_extend (setcc)), 1) not folded out, resulting in166; select and vcc branch.167define amdgpu_kernel void @is_local_sgpr(ptr %ptr) {168; CIT-LABEL: is_local_sgpr:169; CIT: ; %bb.0:170; CIT-NEXT: s_load_dword s0, s[6:7], 0x1171; CIT-NEXT: s_load_dword s1, s[6:7], 0x33172; CIT-NEXT: s_waitcnt lgkmcnt(0)173; CIT-NEXT: s_cmp_eq_u32 s0, s1174; CIT-NEXT: s_cselect_b64 s[0:1], -1, 0175; CIT-NEXT: s_andn2_b64 vcc, exec, s[0:1]176; CIT-NEXT: s_cbranch_vccnz .LBB1_2177; CIT-NEXT: ; %bb.1: ; %bb0178; CIT-NEXT: s_mov_b32 s3, 0x100f000179; CIT-NEXT: s_mov_b32 s2, -1180; CIT-NEXT: v_mov_b32_e32 v0, 0181; CIT-NEXT: buffer_store_dword v0, off, s[0:3], 0182; CIT-NEXT: s_waitcnt vmcnt(0)183; CIT-NEXT: .LBB1_2: ; %bb1184; CIT-NEXT: s_endpgm185;186; CIH-LABEL: is_local_sgpr:187; CIH: ; %bb.0:188; CIH-NEXT: s_load_dword s0, s[6:7], 0x1189; CIH-NEXT: s_load_dword s1, s[6:7], 0x33190; CIH-NEXT: s_waitcnt lgkmcnt(0)191; CIH-NEXT: s_cmp_eq_u32 s0, s1192; CIH-NEXT: s_cselect_b64 s[0:1], -1, 0193; CIH-NEXT: s_andn2_b64 vcc, exec, s[0:1]194; CIH-NEXT: s_cbranch_vccnz .LBB1_2195; CIH-NEXT: ; %bb.1: ; %bb0196; CIH-NEXT: v_mov_b32_e32 v0, 0197; CIH-NEXT: flat_store_dword v[0:1], v0198; CIH-NEXT: s_waitcnt vmcnt(0)199; CIH-NEXT: .LBB1_2: ; %bb1200; CIH-NEXT: s_endpgm201;202; SI-LABEL: is_local_sgpr:203; SI: ; %bb.0:204; SI-NEXT: s_load_dword s0, s[8:9], 0x1205; SI-NEXT: s_load_dword s1, s[8:9], 0x33206; SI-NEXT: s_waitcnt lgkmcnt(0)207; SI-NEXT: s_cmp_eq_u32 s0, s1208; SI-NEXT: s_cselect_b64 s[0:1], -1, 0209; SI-NEXT: s_andn2_b64 vcc, exec, s[0:1]210; SI-NEXT: s_cbranch_vccnz .LBB1_2211; SI-NEXT: ; %bb.1: ; %bb0212; SI-NEXT: s_mov_b32 s3, 0x100f000213; SI-NEXT: s_mov_b32 s2, -1214; SI-NEXT: v_mov_b32_e32 v0, 0215; SI-NEXT: buffer_store_dword v0, off, s[0:3], 0216; SI-NEXT: s_waitcnt vmcnt(0)217; SI-NEXT: .LBB1_2: ; %bb1218; SI-NEXT: s_endpgm219;220; CI-SDAG-LABEL: is_local_sgpr:221; CI-SDAG: ; %bb.0:222; CI-SDAG-NEXT: s_load_dword s0, s[8:9], 0x1223; CI-SDAG-NEXT: s_load_dword s1, s[8:9], 0x33224; CI-SDAG-NEXT: s_add_i32 s12, s12, s17225; CI-SDAG-NEXT: s_lshr_b32 flat_scratch_hi, s12, 8226; CI-SDAG-NEXT: s_mov_b32 flat_scratch_lo, s13227; CI-SDAG-NEXT: s_waitcnt lgkmcnt(0)228; CI-SDAG-NEXT: s_cmp_eq_u32 s0, s1229; CI-SDAG-NEXT: s_cselect_b64 s[0:1], -1, 0230; CI-SDAG-NEXT: s_andn2_b64 vcc, exec, s[0:1]231; CI-SDAG-NEXT: s_cbranch_vccnz .LBB1_2232; CI-SDAG-NEXT: ; %bb.1: ; %bb0233; CI-SDAG-NEXT: v_mov_b32_e32 v0, 0234; CI-SDAG-NEXT: flat_store_dword v[0:1], v0235; CI-SDAG-NEXT: s_waitcnt vmcnt(0)236; CI-SDAG-NEXT: .LBB1_2: ; %bb1237; CI-SDAG-NEXT: s_endpgm238;239; GFX9-SDAG-LABEL: is_local_sgpr:240; GFX9-SDAG: ; %bb.0:241; GFX9-SDAG-NEXT: s_mov_b64 s[0:1], src_shared_base242; GFX9-SDAG-NEXT: s_load_dword s0, s[8:9], 0x4243; GFX9-SDAG-NEXT: s_waitcnt lgkmcnt(0)244; GFX9-SDAG-NEXT: s_cmp_eq_u32 s0, s1245; GFX9-SDAG-NEXT: s_cselect_b64 s[0:1], -1, 0246; GFX9-SDAG-NEXT: s_andn2_b64 vcc, exec, s[0:1]247; GFX9-SDAG-NEXT: s_cbranch_vccnz .LBB1_2248; GFX9-SDAG-NEXT: ; %bb.1: ; %bb0249; GFX9-SDAG-NEXT: v_mov_b32_e32 v0, 0250; GFX9-SDAG-NEXT: global_store_dword v[0:1], v0, off251; GFX9-SDAG-NEXT: s_waitcnt vmcnt(0)252; GFX9-SDAG-NEXT: .LBB1_2: ; %bb1253; GFX9-SDAG-NEXT: s_endpgm254;255; GFX1250-SDAG-LABEL: is_local_sgpr:256; GFX1250-SDAG: ; %bb.0:257; GFX1250-SDAG-NEXT: s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1258; GFX1250-SDAG-NEXT: s_mov_b64 s[0:1], src_shared_base259; GFX1250-SDAG-NEXT: s_load_b32 s0, s[4:5], 0x4260; GFX1250-SDAG-NEXT: s_wait_kmcnt 0x0261; GFX1250-SDAG-NEXT: s_cmp_eq_u32 s0, s1262; GFX1250-SDAG-NEXT: s_cselect_b32 s0, -1, 0263; GFX1250-SDAG-NEXT: s_delay_alu instid0(SALU_CYCLE_1)264; GFX1250-SDAG-NEXT: s_and_not1_b32 vcc_lo, exec_lo, s0265; GFX1250-SDAG-NEXT: s_cbranch_vccnz .LBB1_2266; GFX1250-SDAG-NEXT: ; %bb.1: ; %bb0267; GFX1250-SDAG-NEXT: v_mov_b32_e32 v0, 0268; GFX1250-SDAG-NEXT: global_store_b32 v[0:1], v0, off scope:SCOPE_SYS269; GFX1250-SDAG-NEXT: s_wait_storecnt 0x0270; GFX1250-SDAG-NEXT: .LBB1_2: ; %bb1271; GFX1250-SDAG-NEXT: s_endpgm272;273; CI-GISEL-LABEL: is_local_sgpr:274; CI-GISEL: ; %bb.0:275; CI-GISEL-NEXT: s_load_dwordx2 s[0:1], s[8:9], 0x0276; CI-GISEL-NEXT: s_waitcnt lgkmcnt(0)277; CI-GISEL-NEXT: s_load_dword s0, s[8:9], 0x33278; CI-GISEL-NEXT: s_add_i32 s12, s12, s17279; CI-GISEL-NEXT: s_lshr_b32 flat_scratch_hi, s12, 8280; CI-GISEL-NEXT: s_mov_b32 flat_scratch_lo, s13281; CI-GISEL-NEXT: s_waitcnt lgkmcnt(0)282; CI-GISEL-NEXT: s_cmp_lg_u32 s1, s0283; CI-GISEL-NEXT: s_cbranch_scc1 .LBB1_2284; CI-GISEL-NEXT: ; %bb.1: ; %bb0285; CI-GISEL-NEXT: v_mov_b32_e32 v0, 0286; CI-GISEL-NEXT: flat_store_dword v[0:1], v0287; CI-GISEL-NEXT: s_waitcnt vmcnt(0)288; CI-GISEL-NEXT: .LBB1_2: ; %bb1289; CI-GISEL-NEXT: s_endpgm290;291; GFX9-GISEL-LABEL: is_local_sgpr:292; GFX9-GISEL: ; %bb.0:293; GFX9-GISEL-NEXT: s_load_dwordx2 s[2:3], s[8:9], 0x0294; GFX9-GISEL-NEXT: s_mov_b64 s[0:1], src_shared_base295; GFX9-GISEL-NEXT: s_waitcnt lgkmcnt(0)296; GFX9-GISEL-NEXT: s_cmp_lg_u32 s3, s1297; GFX9-GISEL-NEXT: s_cbranch_scc1 .LBB1_2298; GFX9-GISEL-NEXT: ; %bb.1: ; %bb0299; GFX9-GISEL-NEXT: v_mov_b32_e32 v0, 0300; GFX9-GISEL-NEXT: global_store_dword v[0:1], v0, off301; GFX9-GISEL-NEXT: s_waitcnt vmcnt(0)302; GFX9-GISEL-NEXT: .LBB1_2: ; %bb1303; GFX9-GISEL-NEXT: s_endpgm304;305; GFX10-LABEL: is_local_sgpr:306; GFX10: ; %bb.0:307; GFX10-NEXT: s_load_dwordx2 s[2:3], s[8:9], 0x0308; GFX10-NEXT: s_mov_b64 s[0:1], src_shared_base309; GFX10-NEXT: s_waitcnt lgkmcnt(0)310; GFX10-NEXT: s_cmp_lg_u32 s3, s1311; GFX10-NEXT: s_cbranch_scc1 .LBB1_2312; GFX10-NEXT: ; %bb.1: ; %bb0313; GFX10-NEXT: v_mov_b32_e32 v0, 0314; GFX10-NEXT: global_store_dword v[0:1], v0, off315; GFX10-NEXT: s_waitcnt_vscnt null, 0x0316; GFX10-NEXT: .LBB1_2: ; %bb1317; GFX10-NEXT: s_endpgm318;319; GFX11-LABEL: is_local_sgpr:320; GFX11: ; %bb.0:321; GFX11-NEXT: s_load_b64 s[2:3], s[4:5], 0x0322; GFX11-NEXT: s_mov_b64 s[0:1], src_shared_base323; GFX11-NEXT: s_waitcnt lgkmcnt(0)324; GFX11-NEXT: s_cmp_lg_u32 s3, s1325; GFX11-NEXT: s_cbranch_scc1 .LBB1_2326; GFX11-NEXT: ; %bb.1: ; %bb0327; GFX11-NEXT: v_mov_b32_e32 v0, 0328; GFX11-NEXT: global_store_b32 v[0:1], v0, off dlc329; GFX11-NEXT: s_waitcnt_vscnt null, 0x0330; GFX11-NEXT: .LBB1_2: ; %bb1331; GFX11-NEXT: s_endpgm332;333; GFX1250-GISEL-LABEL: is_local_sgpr:334; GFX1250-GISEL: ; %bb.0:335; GFX1250-GISEL-NEXT: s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1336; GFX1250-GISEL-NEXT: s_load_b64 s[2:3], s[4:5], 0x0337; GFX1250-GISEL-NEXT: s_mov_b64 s[0:1], src_shared_base338; GFX1250-GISEL-NEXT: s_wait_kmcnt 0x0339; GFX1250-GISEL-NEXT: s_cmp_lg_u32 s3, s1340; GFX1250-GISEL-NEXT: s_cbranch_scc1 .LBB1_2341; GFX1250-GISEL-NEXT: ; %bb.1: ; %bb0342; GFX1250-GISEL-NEXT: v_mov_b32_e32 v0, 0343; GFX1250-GISEL-NEXT: global_store_b32 v[0:1], v0, off scope:SCOPE_SYS344; GFX1250-GISEL-NEXT: s_wait_storecnt 0x0345; GFX1250-GISEL-NEXT: .LBB1_2: ; %bb1346; GFX1250-GISEL-NEXT: s_endpgm347 %val = call i1 @llvm.amdgcn.is.shared(ptr %ptr)348 br i1 %val, label %bb0, label %bb1349 350bb0:351 store volatile i32 0, ptr addrspace(1) poison352 br label %bb1353 354bb1:355 ret void356}357 358;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:359; CI: {{.*}}360; GFX10-GISEL: {{.*}}361; GFX11-GISEL: {{.*}}362; SI-SDAG: {{.*}}363