343 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 32; RUN: llc -mtriple=amdgcn -mcpu=gfx900 < %s | FileCheck %s3 4define void @main(i1 %arg) #0 {5; CHECK-LABEL: main:6; CHECK: ; %bb.0: ; %bb7; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)8; CHECK-NEXT: s_xor_saveexec_b64 s[4:5], -19; CHECK-NEXT: buffer_store_dword v6, off, s[0:3], s32 ; 4-byte Folded Spill10; CHECK-NEXT: buffer_store_dword v7, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill11; CHECK-NEXT: s_mov_b64 exec, s[4:5]12; CHECK-NEXT: v_writelane_b32 v6, s30, 013; CHECK-NEXT: v_writelane_b32 v6, s31, 114; CHECK-NEXT: v_writelane_b32 v6, s36, 215; CHECK-NEXT: v_writelane_b32 v6, s37, 316; CHECK-NEXT: v_writelane_b32 v6, s38, 417; CHECK-NEXT: v_writelane_b32 v6, s39, 518; CHECK-NEXT: v_writelane_b32 v6, s48, 619; CHECK-NEXT: v_writelane_b32 v6, s49, 720; CHECK-NEXT: v_writelane_b32 v6, s50, 821; CHECK-NEXT: v_writelane_b32 v6, s51, 922; CHECK-NEXT: v_writelane_b32 v6, s52, 1023; CHECK-NEXT: v_writelane_b32 v6, s53, 1124; CHECK-NEXT: v_writelane_b32 v6, s54, 1225; CHECK-NEXT: v_writelane_b32 v6, s55, 1326; CHECK-NEXT: v_writelane_b32 v6, s64, 1427; CHECK-NEXT: v_writelane_b32 v6, s65, 1528; CHECK-NEXT: v_writelane_b32 v6, s66, 1629; CHECK-NEXT: v_writelane_b32 v6, s67, 1730; CHECK-NEXT: v_writelane_b32 v6, s68, 1831; CHECK-NEXT: s_getpc_b64 s[4:5]32; CHECK-NEXT: s_mov_b64 s[8:9], 033; CHECK-NEXT: v_writelane_b32 v6, s69, 1934; CHECK-NEXT: s_mov_b32 s68, 035; CHECK-NEXT: s_mov_b32 s69, s436; CHECK-NEXT: s_load_dwordx4 s[4:7], s[8:9], 0x037; CHECK-NEXT: s_load_dwordx8 s[24:31], s[68:69], 0x3038; CHECK-NEXT: s_load_dwordx16 s[52:67], s[68:69], 0xf039; CHECK-NEXT: ; kill: killed $sgpr8_sgpr940; CHECK-NEXT: s_nop 041; CHECK-NEXT: s_load_dwordx16 s[8:23], s[68:69], 0x13042; CHECK-NEXT: ; implicit-def: $vgpr7 : SGPR spill to VGPR lane43; CHECK-NEXT: v_writelane_b32 v6, s70, 2044; CHECK-NEXT: v_writelane_b32 v6, s71, 2145; CHECK-NEXT: s_waitcnt lgkmcnt(0)46; CHECK-NEXT: v_mov_b32_e32 v1, s447; CHECK-NEXT: v_mov_b32_e32 v2, 048; CHECK-NEXT: v_writelane_b32 v7, s8, 049; CHECK-NEXT: v_writelane_b32 v7, s9, 150; CHECK-NEXT: v_writelane_b32 v7, s10, 251; CHECK-NEXT: v_writelane_b32 v7, s11, 352; CHECK-NEXT: v_writelane_b32 v7, s12, 453; CHECK-NEXT: v_writelane_b32 v7, s13, 554; CHECK-NEXT: v_writelane_b32 v7, s14, 655; CHECK-NEXT: v_writelane_b32 v7, s15, 756; CHECK-NEXT: v_writelane_b32 v7, s16, 857; CHECK-NEXT: v_writelane_b32 v7, s17, 958; CHECK-NEXT: v_writelane_b32 v7, s18, 1059; CHECK-NEXT: v_writelane_b32 v7, s19, 1160; CHECK-NEXT: v_writelane_b32 v7, s20, 1261; CHECK-NEXT: v_writelane_b32 v7, s21, 1362; CHECK-NEXT: v_writelane_b32 v7, s22, 1463; CHECK-NEXT: v_writelane_b32 v7, s23, 1564; CHECK-NEXT: v_writelane_b32 v7, s52, 1665; CHECK-NEXT: v_writelane_b32 v7, s53, 1766; CHECK-NEXT: v_writelane_b32 v7, s54, 1867; CHECK-NEXT: v_writelane_b32 v7, s55, 1968; CHECK-NEXT: v_writelane_b32 v7, s56, 2069; CHECK-NEXT: v_writelane_b32 v7, s57, 2170; CHECK-NEXT: v_writelane_b32 v7, s58, 2271; CHECK-NEXT: v_writelane_b32 v7, s59, 2372; CHECK-NEXT: v_writelane_b32 v7, s60, 2473; CHECK-NEXT: v_writelane_b32 v7, s61, 2574; CHECK-NEXT: v_writelane_b32 v7, s62, 2675; CHECK-NEXT: v_writelane_b32 v7, s63, 2776; CHECK-NEXT: v_writelane_b32 v7, s64, 2877; CHECK-NEXT: v_writelane_b32 v7, s65, 2978; CHECK-NEXT: v_writelane_b32 v7, s66, 3079; CHECK-NEXT: s_load_dwordx16 s[8:23], s[68:69], 0x1f080; CHECK-NEXT: s_load_dwordx16 s[36:51], s[68:69], 0x2f081; CHECK-NEXT: s_mov_b32 s69, s6882; CHECK-NEXT: s_mov_b32 s70, s6883; CHECK-NEXT: s_mov_b32 s71, s6884; CHECK-NEXT: v_writelane_b32 v7, s67, 3185; CHECK-NEXT: image_sample_lz v1, v[1:2], s[60:67], s[68:71] dmask:0x186; CHECK-NEXT: v_readlane_b32 s52, v7, 087; CHECK-NEXT: v_mov_b32_e32 v3, v288; CHECK-NEXT: v_readlane_b32 s53, v7, 189; CHECK-NEXT: v_readlane_b32 s54, v7, 290; CHECK-NEXT: v_readlane_b32 s55, v7, 391; CHECK-NEXT: v_readlane_b32 s56, v7, 492; CHECK-NEXT: v_readlane_b32 s57, v7, 593; CHECK-NEXT: v_readlane_b32 s58, v7, 694; CHECK-NEXT: v_readlane_b32 s59, v7, 795; CHECK-NEXT: v_and_b32_e32 v5, 1, v096; CHECK-NEXT: v_cmp_ne_u32_e64 s[4:5], 1, v597; CHECK-NEXT: v_readlane_b32 s60, v7, 898; CHECK-NEXT: v_readlane_b32 s61, v7, 999; CHECK-NEXT: v_readlane_b32 s62, v7, 10100; CHECK-NEXT: image_sample_lz v4, v[2:3], s[52:59], s[68:71] dmask:0x1101; CHECK-NEXT: v_readlane_b32 s63, v7, 11102; CHECK-NEXT: v_readlane_b32 s64, v7, 12103; CHECK-NEXT: v_readlane_b32 s65, v7, 13104; CHECK-NEXT: v_readlane_b32 s66, v7, 14105; CHECK-NEXT: v_readlane_b32 s67, v7, 15106; CHECK-NEXT: s_waitcnt vmcnt(0)107; CHECK-NEXT: v_mul_f32_e32 v0, v4, v1108; CHECK-NEXT: s_and_saveexec_b64 s[6:7], s[4:5]109; CHECK-NEXT: s_xor_b64 s[6:7], exec, s[6:7]110; CHECK-NEXT: s_cbranch_execz .LBB0_3111; CHECK-NEXT: ; %bb.1: ; %bb48112; CHECK-NEXT: v_readlane_b32 s52, v7, 16113; CHECK-NEXT: v_readlane_b32 s60, v7, 24114; CHECK-NEXT: v_readlane_b32 s61, v7, 25115; CHECK-NEXT: v_readlane_b32 s62, v7, 26116; CHECK-NEXT: v_readlane_b32 s63, v7, 27117; CHECK-NEXT: v_readlane_b32 s64, v7, 28118; CHECK-NEXT: v_readlane_b32 s65, v7, 29119; CHECK-NEXT: v_readlane_b32 s66, v7, 30120; CHECK-NEXT: v_readlane_b32 s67, v7, 31121; CHECK-NEXT: v_mov_b32_e32 v1, v2122; CHECK-NEXT: s_and_b64 vcc, exec, -1123; CHECK-NEXT: v_readlane_b32 s53, v7, 17124; CHECK-NEXT: v_readlane_b32 s54, v7, 18125; CHECK-NEXT: v_readlane_b32 s55, v7, 19126; CHECK-NEXT: image_sample_lz v3, v[2:3], s[60:67], s[68:71] dmask:0x1127; CHECK-NEXT: v_readlane_b32 s56, v7, 20128; CHECK-NEXT: v_readlane_b32 s57, v7, 21129; CHECK-NEXT: v_readlane_b32 s58, v7, 22130; CHECK-NEXT: v_readlane_b32 s59, v7, 23131; CHECK-NEXT: .LBB0_2: ; %bb50132; CHECK-NEXT: ; =>This Inner Loop Header: Depth=1133; CHECK-NEXT: s_waitcnt lgkmcnt(0)134; CHECK-NEXT: image_sample_lz v4, v[1:2], s[16:23], s[28:31] dmask:0x1135; CHECK-NEXT: s_nop 0136; CHECK-NEXT: image_sample_lz v1, v[1:2], s[44:51], s[68:71] dmask:0x1137; CHECK-NEXT: s_waitcnt vmcnt(0)138; CHECK-NEXT: v_sub_f32_e32 v1, v1, v4139; CHECK-NEXT: v_mul_f32_e32 v1, v1, v0140; CHECK-NEXT: v_mul_f32_e32 v1, v1, v3141; CHECK-NEXT: s_mov_b64 vcc, vcc142; CHECK-NEXT: s_cbranch_vccnz .LBB0_2143; CHECK-NEXT: .LBB0_3: ; %Flow14144; CHECK-NEXT: s_andn2_saveexec_b64 s[6:7], s[6:7]145; CHECK-NEXT: s_cbranch_execz .LBB0_10146; CHECK-NEXT: ; %bb.4: ; %bb32147; CHECK-NEXT: s_waitcnt lgkmcnt(0)148; CHECK-NEXT: s_and_saveexec_b64 s[16:17], s[4:5]149; CHECK-NEXT: s_xor_b64 s[4:5], exec, s[16:17]150; CHECK-NEXT: s_cbranch_execz .LBB0_6151; CHECK-NEXT: ; %bb.5: ; %bb43152; CHECK-NEXT: s_mov_b32 s16, 0153; CHECK-NEXT: s_mov_b32 s17, s16154; CHECK-NEXT: v_mov_b32_e32 v0, s16155; CHECK-NEXT: v_readlane_b32 s44, v7, 16156; CHECK-NEXT: v_mov_b32_e32 v1, s17157; CHECK-NEXT: s_mov_b32 s18, s16158; CHECK-NEXT: s_mov_b32 s19, s16159; CHECK-NEXT: v_readlane_b32 s45, v7, 17160; CHECK-NEXT: v_readlane_b32 s46, v7, 18161; CHECK-NEXT: v_readlane_b32 s47, v7, 19162; CHECK-NEXT: v_readlane_b32 s48, v7, 20163; CHECK-NEXT: v_readlane_b32 s49, v7, 21164; CHECK-NEXT: v_readlane_b32 s50, v7, 22165; CHECK-NEXT: v_readlane_b32 s51, v7, 23166; CHECK-NEXT: v_readlane_b32 s52, v7, 24167; CHECK-NEXT: v_readlane_b32 s53, v7, 25168; CHECK-NEXT: v_readlane_b32 s54, v7, 26169; CHECK-NEXT: v_readlane_b32 s55, v7, 27170; CHECK-NEXT: v_readlane_b32 s56, v7, 28171; CHECK-NEXT: v_readlane_b32 s57, v7, 29172; CHECK-NEXT: v_readlane_b32 s58, v7, 30173; CHECK-NEXT: v_readlane_b32 s59, v7, 31174; CHECK-NEXT: image_sample_lz v2, v[0:1], s[44:51], s[16:19] dmask:0x1175; CHECK-NEXT: v_readlane_b32 s44, v7, 0176; CHECK-NEXT: v_readlane_b32 s52, v7, 8177; CHECK-NEXT: v_readlane_b32 s53, v7, 9178; CHECK-NEXT: v_readlane_b32 s54, v7, 10179; CHECK-NEXT: v_readlane_b32 s55, v7, 11180; CHECK-NEXT: v_readlane_b32 s56, v7, 12181; CHECK-NEXT: v_readlane_b32 s57, v7, 13182; CHECK-NEXT: v_readlane_b32 s58, v7, 14183; CHECK-NEXT: v_readlane_b32 s59, v7, 15184; CHECK-NEXT: v_mov_b32_e32 v3, 0185; CHECK-NEXT: v_mov_b32_e32 v4, v3186; CHECK-NEXT: v_readlane_b32 s45, v7, 1187; CHECK-NEXT: v_readlane_b32 s46, v7, 2188; CHECK-NEXT: v_readlane_b32 s47, v7, 3189; CHECK-NEXT: image_sample_lz v0, v[0:1], s[52:59], s[24:27] dmask:0x1190; CHECK-NEXT: v_readlane_b32 s48, v7, 4191; CHECK-NEXT: v_readlane_b32 s49, v7, 5192; CHECK-NEXT: v_readlane_b32 s50, v7, 6193; CHECK-NEXT: v_readlane_b32 s51, v7, 7194; CHECK-NEXT: s_waitcnt vmcnt(1)195; CHECK-NEXT: buffer_store_dwordx3 v[2:4], off, s[16:19], 0196; CHECK-NEXT: s_waitcnt vmcnt(1)197; CHECK-NEXT: buffer_store_dwordx4 v[0:3], off, s[16:19], 0198; CHECK-NEXT: ; implicit-def: $vgpr0199; CHECK-NEXT: .LBB0_6: ; %Flow12200; CHECK-NEXT: s_andn2_saveexec_b64 s[4:5], s[4:5]201; CHECK-NEXT: s_cbranch_execz .LBB0_9202; CHECK-NEXT: ; %bb.7: ; %bb33.preheader203; CHECK-NEXT: s_mov_b32 s16, 0204; CHECK-NEXT: s_mov_b32 s20, s16205; CHECK-NEXT: s_mov_b32 s21, s16206; CHECK-NEXT: v_mov_b32_e32 v1, s20207; CHECK-NEXT: s_mov_b32 s17, s16208; CHECK-NEXT: s_mov_b32 s18, s16209; CHECK-NEXT: s_mov_b32 s19, s16210; CHECK-NEXT: v_mov_b32_e32 v2, s21211; CHECK-NEXT: image_sample_lz v3, v[1:2], s[8:15], s[16:19] dmask:0x1212; CHECK-NEXT: image_sample_lz v4, v[1:2], s[36:43], s[16:19] dmask:0x1213; CHECK-NEXT: s_and_b64 vcc, exec, 0214; CHECK-NEXT: s_waitcnt vmcnt(0)215; CHECK-NEXT: v_sub_f32_e32 v1, v4, v3216; CHECK-NEXT: v_mul_f32_e32 v0, v1, v0217; CHECK-NEXT: v_mov_b32_e32 v1, 0218; CHECK-NEXT: .LBB0_8: ; %bb33219; CHECK-NEXT: ; =>This Inner Loop Header: Depth=1220; CHECK-NEXT: v_add_f32_e32 v2, v1, v0221; CHECK-NEXT: v_sub_f32_e32 v1, v1, v2222; CHECK-NEXT: s_mov_b64 vcc, vcc223; CHECK-NEXT: s_cbranch_vccz .LBB0_8224; CHECK-NEXT: .LBB0_9: ; %Flow13225; CHECK-NEXT: s_or_b64 exec, exec, s[4:5]226; CHECK-NEXT: .LBB0_10: ; %UnifiedReturnBlock227; CHECK-NEXT: s_or_b64 exec, exec, s[6:7]228; CHECK-NEXT: v_readlane_b32 s71, v6, 21229; CHECK-NEXT: v_readlane_b32 s70, v6, 20230; CHECK-NEXT: v_readlane_b32 s69, v6, 19231; CHECK-NEXT: v_readlane_b32 s68, v6, 18232; CHECK-NEXT: v_readlane_b32 s67, v6, 17233; CHECK-NEXT: v_readlane_b32 s66, v6, 16234; CHECK-NEXT: v_readlane_b32 s65, v6, 15235; CHECK-NEXT: v_readlane_b32 s64, v6, 14236; CHECK-NEXT: v_readlane_b32 s55, v6, 13237; CHECK-NEXT: v_readlane_b32 s54, v6, 12238; CHECK-NEXT: v_readlane_b32 s53, v6, 11239; CHECK-NEXT: v_readlane_b32 s52, v6, 10240; CHECK-NEXT: s_waitcnt lgkmcnt(0)241; CHECK-NEXT: v_readlane_b32 s51, v6, 9242; CHECK-NEXT: v_readlane_b32 s50, v6, 8243; CHECK-NEXT: v_readlane_b32 s49, v6, 7244; CHECK-NEXT: v_readlane_b32 s48, v6, 6245; CHECK-NEXT: v_readlane_b32 s39, v6, 5246; CHECK-NEXT: v_readlane_b32 s38, v6, 4247; CHECK-NEXT: v_readlane_b32 s37, v6, 3248; CHECK-NEXT: v_readlane_b32 s36, v6, 2249; CHECK-NEXT: v_readlane_b32 s31, v6, 1250; CHECK-NEXT: v_readlane_b32 s30, v6, 0251; CHECK-NEXT: s_xor_saveexec_b64 s[4:5], -1252; CHECK-NEXT: buffer_load_dword v6, off, s[0:3], s32 ; 4-byte Folded Reload253; CHECK-NEXT: buffer_load_dword v7, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload254; CHECK-NEXT: s_mov_b64 exec, s[4:5]255; CHECK-NEXT: s_waitcnt vmcnt(0)256; CHECK-NEXT: s_setpc_b64 s[30:31]257bb:258 %i = call i64 @llvm.amdgcn.s.getpc()259 %i1 = trunc i64 %i to i32260 %i2 = insertelement <2 x i32> zeroinitializer, i32 %i1, i64 1261 %i3 = bitcast <2 x i32> %i2 to i64262 %i4 = inttoptr i64 %i3 to ptr addrspace(4)263 %i5 = getelementptr i8, ptr addrspace(4) %i4, i64 48264 %i6 = load <4 x i32>, ptr addrspace(4) %i5, align 16265 %i7 = getelementptr i8, ptr addrspace(4) %i4, i64 64266 %i8 = load <4 x i32>, ptr addrspace(4) %i7, align 16267 %i9 = getelementptr i8, ptr addrspace(4) %i4, i64 240268 %i10 = load <8 x i32>, ptr addrspace(4) %i9, align 32269 %i11 = getelementptr i8, ptr addrspace(4) %i4, i64 272270 %i12 = load <8 x i32>, ptr addrspace(4) %i11, align 32271 %i13 = getelementptr i8, ptr addrspace(4) %i4, i64 304272 %i14 = load <8 x i32>, ptr addrspace(4) %i13, align 32273 %i15 = getelementptr i8, ptr addrspace(4) %i4, i64 336274 %i16 = load <8 x i32>, ptr addrspace(4) %i15, align 32275 %i17 = getelementptr i8, ptr addrspace(4) %i4, i64 496276 %i18 = load <8 x i32>, ptr addrspace(4) %i17, align 32277 %i19 = getelementptr i8, ptr addrspace(4) %i4, i64 528278 %i20 = load <8 x i32>, ptr addrspace(4) %i19, align 32279 %i21 = getelementptr i8, ptr addrspace(4) %i4, i64 752280 %i22 = load <8 x i32>, ptr addrspace(4) %i21, align 32281 %i23 = getelementptr i8, ptr addrspace(4) %i4, i64 784282 %i24 = load <8 x i32>, ptr addrspace(4) %i23, align 32283 %i25 = load <4 x float>, ptr addrspace(4) null, align 16284 %i26 = extractelement <4 x float> %i25, i64 0285 %i27 = call float @llvm.amdgcn.image.sample.lz.2d.f32.f32(i32 1, float %i26, float 0.000000e+00, <8 x i32> %i12, <4 x i32> zeroinitializer, i1 false, i32 0, i32 0)286 %i28 = call <4 x float> @llvm.amdgcn.image.sample.lz.2d.v4f32.f32(i32 1, float 0.000000e+00, float 0.000000e+00, <8 x i32> %i14, <4 x i32> zeroinitializer, i1 false, i32 0, i32 0)287 %i29 = extractelement <4 x float> %i28, i64 0288 %i30 = fmul float %i29, %i27289 %i31 = call <4 x float> @llvm.amdgcn.image.sample.lz.2d.v4f32.f32(i32 1, float 0.000000e+00, float 0.000000e+00, <8 x i32> %i16, <4 x i32> %i6, i1 false, i32 0, i32 0)290 br i1 %arg, label %bb32, label %bb48291 292bb32: ; preds = %bb293 br i1 %arg, label %bb33, label %bb43294 295bb33: ; preds = %bb33, %bb32296 %i34 = phi float [ %i42, %bb33 ], [ 0.000000e+00, %bb32 ]297 %i35 = call <2 x float> @llvm.amdgcn.image.sample.lz.2d.v2f32.f32(i32 1, float 0.000000e+00, float 0.000000e+00, <8 x i32> %i18, <4 x i32> zeroinitializer, i1 false, i32 0, i32 0)298 %i36 = extractelement <2 x float> %i35, i64 0299 %i37 = call <2 x float> @llvm.amdgcn.image.sample.lz.2d.v2f32.f32(i32 1, float 0.000000e+00, float 0.000000e+00, <8 x i32> %i22, <4 x i32> zeroinitializer, i1 false, i32 0, i32 0)300 %i38 = extractelement <2 x float> %i37, i64 0301 %i39 = fsub float %i38, %i36302 %i40 = fmul float %i39, %i30303 %i41 = fadd float %i34, %i40304 %i42 = fsub float %i34, %i41305 br label %bb33306 307bb43: ; preds = %bb32308 %i44 = call float @llvm.amdgcn.image.sample.lz.2d.f32.f32(i32 1, float 0.000000e+00, float 0.000000e+00, <8 x i32> %i10, <4 x i32> zeroinitializer, i1 false, i32 0, i32 0)309 %i45 = bitcast float %i44 to i32310 %i46 = insertelement <3 x i32> zeroinitializer, i32 %i45, i64 0311 call void @llvm.amdgcn.raw.buffer.store.v3i32(<3 x i32> %i46, <4 x i32> zeroinitializer, i32 0, i32 0, i32 0)312 %i47 = bitcast <4 x float> %i31 to <4 x i32>313 call void @llvm.amdgcn.raw.buffer.store.v4i32(<4 x i32> %i47, <4 x i32> zeroinitializer, i32 0, i32 0, i32 0)314 ret void315 316bb48: ; preds = %bb317 %i49 = call float @llvm.amdgcn.image.sample.lz.2d.f32.f32(i32 1, float 0.000000e+00, float 0.000000e+00, <8 x i32> %i12, <4 x i32> zeroinitializer, i1 false, i32 0, i32 0)318 br label %bb50319 320bb50: ; preds = %bb50, %bb48321 %i51 = phi float [ 0.000000e+00, %bb48 ], [ %i58, %bb50 ]322 %i52 = call <2 x float> @llvm.amdgcn.image.sample.lz.2d.v2f32.f32(i32 1, float %i51, float 0.000000e+00, <8 x i32> %i20, <4 x i32> %i8, i1 false, i32 0, i32 0)323 %i53 = extractelement <2 x float> %i52, i64 0324 %i54 = call <2 x float> @llvm.amdgcn.image.sample.lz.2d.v2f32.f32(i32 1, float %i51, float 0.000000e+00, <8 x i32> %i24, <4 x i32> zeroinitializer, i1 false, i32 0, i32 0)325 %i55 = extractelement <2 x float> %i54, i64 0326 %i56 = fsub float %i55, %i53327 %i57 = fmul float %i56, %i30328 %i58 = fmul float %i57, %i49329 br label %bb50330}331 332declare i64 @llvm.amdgcn.s.getpc() #1333declare <4 x float> @llvm.amdgcn.image.sample.lz.2d.v4f32.f32(i32 immarg, float, float, <8 x i32>, <4 x i32>, i1 immarg, i32 immarg, i32 immarg) #2334declare float @llvm.amdgcn.image.sample.lz.2d.f32.f32(i32 immarg, float, float, <8 x i32>, <4 x i32>, i1 immarg, i32 immarg, i32 immarg) #2335declare <2 x float> @llvm.amdgcn.image.sample.lz.2d.v2f32.f32(i32 immarg, float, float, <8 x i32>, <4 x i32>, i1 immarg, i32 immarg, i32 immarg) #2336declare void @llvm.amdgcn.raw.buffer.store.v3i32(<3 x i32>, <4 x i32>, i32, i32, i32 immarg) #3337declare void @llvm.amdgcn.raw.buffer.store.v4i32(<4 x i32>, <4 x i32>, i32, i32, i32 immarg) #3338 339attributes #0 = { "amdgpu-waves-per-eu"="10,10" }340attributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }341attributes #2 = { nocallback nofree nosync nounwind willreturn memory(read) }342attributes #3 = { nocallback nofree nosync nounwind willreturn memory(write) }343