; Function Attrs: alwaysinline nounwind memory(readwrite) define amdgpu_cs void @lgc.shader.CS.main(<3 x i32> inreg noundef %WorkgroupId) #0 { .entry: %WorkgroupId.i0 = extractelement <3 x i32> %WorkgroupId, i64 0 %WorkgroupId.i1 = extractelement <3 x i32> %WorkgroupId, i64 1 %0 = call i64 @llvm.amdgcn.s.getpc() %1 = and i64 %0, -4294967296 %2 = or disjoint i64 %1, 0 %3 = inttoptr i64 %2 to ptr addrspace(4) %4 = getelementptr i8, ptr addrspace(4) %3, i64 88 %5 = load i32, ptr addrspace(4) %4, align 4 %6 = zext i32 %5 to i64 %7 = or disjoint i64 %1, %6 %8 = inttoptr i64 %7 to ptr addrspace(4) call void @llvm.assume(i1 true) [ "align"(ptr addrspace(4) %8, i32 4), "dereferenceable"(ptr addrspace(4) %8, i32 -1) ] %9 = getelementptr i8, ptr addrspace(4) %8, i64 16 %10 = call ptr addrspace(7) @lgc.buffer.load.desc.to.ptr() %11 = call ptr @llvm.invariant.start.p7(i64 -1, ptr addrspace(7) %10) %12 = load i32, ptr addrspace(1) null, align 4 %.fr4177 = freeze i32 %12 %13 = mul i32 %.fr4177, %WorkgroupId.i1 %14 = add i32 %13, 0 %15 = getelementptr i8, ptr addrspace(1) null, i64 324 %16 = load i32, ptr addrspace(1) %15, align 4 %.fr4118 = freeze i32 %16 %17 = bitcast i32 0 to float %18 = getelementptr i8, ptr addrspace(1) null, i64 360 %19 = load i32, ptr addrspace(1) %18, align 4 %.fr = freeze i32 %19 %20 = icmp eq i32 %.fr, -1 %r1.0.fr.i0 = freeze float %17 %21 = add i32 0, 0 %22 = select i1 false, i32 %21, i32 -1 %23 = call float @llvm.amdgcn.struct.buffer.load.format.f32(<4 x i32> zeroinitializer, i32 %22, i32 0, i32 0, i32 0) %24 = icmp ult i32 0, 0 %25 = add i32 0, 0 %26 = select i1 %24, i32 %25, i32 -1 %27 = call float @llvm.amdgcn.struct.buffer.load.format.f32(<4 x i32> zeroinitializer, i32 %26, i32 0, i32 0, i32 0) %28 = icmp ult i32 0, 0 %29 = add i32 0, 0 %30 = select i1 %28, i32 %29, i32 -1 %31 = call float @llvm.amdgcn.struct.buffer.load.format.f32(<4 x i32> zeroinitializer, i32 %30, i32 0, i32 0, i32 0) %32 = icmp ult i32 0, 0 %33 = add i32 0, 0 %34 = select i1 %32, i32 %33, i32 -1 %.i01857 = extractelement <4 x float> zeroinitializer, i64 0 %35 = icmp ult i32 0, 0 %36 = add i32 0, 0 %37 = select i1 %35, i32 %36, i32 -1 %38 = call reassoc nsz arcp contract afn <4 x float> @llvm.amdgcn.struct.buffer.load.format.v4f32(<4 x i32> zeroinitializer, i32 %37, i32 0, i32 0, i32 0) %.i01858 = extractelement <4 x float> %38, i64 0 %39 = icmp ult i32 0, 0 %40 = add i32 0, 0 %41 = select i1 %39, i32 %40, i32 -1 %42 = call reassoc nsz arcp contract afn <4 x float> @llvm.amdgcn.struct.buffer.load.format.v4f32(<4 x i32> zeroinitializer, i32 %41, i32 0, i32 0, i32 0) %.i01859 = extractelement <4 x float> %42, i64 0 %43 = icmp ult i32 0, 0 %44 = add i32 0, 0 %45 = select i1 %43, i32 %44, i32 -1 %46 = load float, ptr addrspace(1) null, align 4 %47 = getelementptr i8, ptr addrspace(1) null, i64 20 %48 = load float, ptr addrspace(1) %47, align 4 %49 = getelementptr i8, ptr addrspace(1) null, i64 24 %50 = load float, ptr addrspace(1) %49, align 4 %51 = getelementptr i8, ptr addrspace(1) null, i64 96 %52 = load float, ptr addrspace(1) %51, align 4 %53 = getelementptr i8, ptr addrspace(1) null, i64 100 %54 = load float, ptr addrspace(1) %53, align 4 %55 = getelementptr i8, ptr addrspace(1) null, i64 32 %56 = load float, ptr addrspace(1) %55, align 4 %57 = getelementptr i8, ptr addrspace(1) null, i64 80 %58 = load float, ptr addrspace(1) %57, align 4 %59 = getelementptr i8, ptr addrspace(1) null, i64 84 %60 = load float, ptr addrspace(1) %59, align 4 %61 = getelementptr i8, ptr addrspace(1) null, i64 88 %62 = load float, ptr addrspace(1) %61, align 4 %63 = getelementptr i8, ptr addrspace(1) null, i64 16 %64 = load float, ptr addrspace(1) %63, align 4 %65 = bitcast <2 x i32> zeroinitializer to i64 %66 = inttoptr i64 %65 to ptr addrspace(1) %67 = load float, ptr addrspace(1) %66, align 4 %r11.1.fr.i0 = freeze float 0.000000e+00 %r11.1.fr.i3 = freeze float 0.000000e+00 %r12.1.fr.i0 = freeze float 0.000000e+00 %r12.1.fr.i1 = freeze float 0.000000e+00 %r12.1.fr.i2 = freeze float 0.000000e+00 %r12.1.fr.i3 = freeze float %.i01857 %r5.1.fr.i0 = freeze float 0.000000e+00 %r5.1.fr.i1 = freeze float 0.000000e+00 %r5.1.fr.i2 = freeze float 0.000000e+00 %r5.1.fr.i3 = freeze float 0.000000e+00 %r13.1.fr.i0 = freeze float 0.000000e+00 %r13.1.fr.i1 = freeze float 0.000000e+00 %r13.1.fr.i3 = freeze float %.i01858 %r17.2.fr.i0 = freeze float %52 %r17.2.fr.i1 = freeze float %54 %r17.2.fr.i2 = freeze float %56 %r6.1.fr.i0 = freeze float 0.000000e+00 %r6.1.fr.i1 = freeze float 0.000000e+00 %r6.1.fr.i2 = freeze float 0.000000e+00 %r6.1.fr.i3 = freeze float %23 %r15.2.fr.i0 = freeze float 0.000000e+00 %.i21899 = fmul reassoc nsz arcp contract afn float 0.000000e+00, %r6.1.fr.i2 %68 = fadd reassoc nsz arcp contract afn float %r17.2.fr.i2, -3.000000e+02 %69 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %68, float 0x3FE5555560000000, float 4.000000e+02) %70 = call reassoc nsz arcp contract afn float @llvm.maxnum.f32(float %69, float 4.000000e+02) %71 = call reassoc nsz arcp contract afn float @llvm.minnum.f32(float %70, float 1.000000e+03) %bc4236.i3 = bitcast float 0.000000e+00 to i32 %72 = mul i32 %bc4236.i3, 1664525 %73 = add i32 %72, 1013904223 %74 = mul i32 %73, 1015568748 %75 = add i32 %74, 1013904223 %76 = mul i32 %75, 1015568748 %77 = add i32 %76, %73 %78 = mul i32 %77, %75 %79 = add i32 %78, 1015568748 %80 = select i1 false, i32 0, i32 -1 %81 = load <4 x i32>, ptr addrspace(4) null, align 4 %82 = call <4 x i32> @llvm.amdgcn.readfirstlane.v4i32(<4 x i32> %81) %83 = call float @llvm.amdgcn.struct.buffer.load.format.f32(<4 x i32> %82, i32 %80, i32 0, i32 0, i32 0) %.fr68 = freeze float %83 %84 = fptoui float 0.000000e+00 to i32 %85 = icmp ugt i32 0, %84 %86 = add i32 0, %84 %87 = select i1 %85, i32 %86, i32 -1 %88 = call float @llvm.amdgcn.struct.buffer.load.format.f32(<4 x i32> %82, i32 %87, i32 0, i32 0, i32 0) %.fr67 = freeze float %88 %89 = fsub reassoc nsz arcp contract afn float %.fr67, %.fr68 %90 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float %89, float %.fr68) %91 = fmul reassoc nsz arcp contract afn float %90, 5.000000e+01 %92 = call reassoc nsz arcp contract afn float @llvm.minnum.f32(float %91, float 0.000000e+00) %93 = call reassoc nsz arcp contract afn float @llvm.maxnum.f32(float %91, float 0x3F1A36E2E0000000) %94 = fdiv reassoc nsz arcp contract afn float %92, %93 %95 = fsub reassoc nsz arcp contract afn float 1.000000e+00, %94 %96 = call reassoc nsz arcp contract afn float @llvm.maxnum.f32(float %95, float 0.000000e+00) %97 = call reassoc nsz arcp contract afn float @llvm.log2.f32(float %96) %98 = fmul reassoc nsz arcp contract afn float %97, 0x3FD3333340000000 %99 = call reassoc nsz arcp contract afn float @llvm.exp2.f32(float %98) %.i01933 = fmul reassoc nsz arcp contract afn float %99, 0.000000e+00 %.i11934 = fmul reassoc nsz arcp contract afn float %99, 0.000000e+00 %100 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 5.000000e+00 %101 = call reassoc nsz arcp contract afn float @llvm.maxnum.f32(float %100, float 0.000000e+00) %102 = call reassoc nsz arcp contract afn float @llvm.minnum.f32(float %101, float 7.000000e+02) %.fr73.i0 = freeze float %.i01933 %.fr73.i1 = freeze float %.i11934 %103 = fcmp olt float 0.000000e+00, 0.000000e+00 %.i01935 = select i1 %103, float 0x3FB99999A0000000, float 1.000000e+00 %.i01938 = fmul reassoc nsz arcp contract afn float 2.000000e+00, %.i01935 %.i21940 = fmul reassoc nsz arcp contract afn float %99, %.i01935 %.i01941 = fmul reassoc nsz arcp contract afn float %.i01938, %.fr73.i0 %.i11942 = fmul reassoc nsz arcp contract afn float %.i01938, %.fr73.i1 %.i21943 = fmul reassoc nsz arcp contract afn float %.i21940, %102 %.fr59.i0 = freeze float 0.000000e+00 %.fr59.i1 = freeze float 0.000000e+00 %.fr59.i2 = freeze float 0.000000e+00 %.i01947 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.fr59.i0, float %71, float %.i01941) %.i11948 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.fr59.i1, float %71, float %.i11942) %.i21949 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.fr59.i2, float %71, float %.i21943) %.i11983 = add i32 0, 0 %.i01984 = mul i32 0, 0 %.i11985 = mul i32 %.i11983, 0 %.i01986 = add i32 %.i01984, 0 %.i11987 = add i32 %.i11985, 0 %.i01988 = lshr i32 %.i01986, 8 %.i11989 = lshr i32 %.i11987, 8 %.i01990 = uitofp nneg i32 %.i01988 to float %.i11991 = uitofp nneg i32 %.i11989 to float %.i01992 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i01990, float 0xBED6800000000000, float -9.000000e+01) %.i11993 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i11991, float 0x3E66666660000000, float 0x3FD3333340000000) %.fr57.i2 = freeze float %.i01992 %.i01994 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float %r6.1.fr.i3, float %.i01947) %.i11995 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float %r6.1.fr.i3, float %.i11948) %.i21996 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.fr57.i2, float %r6.1.fr.i3, float %.i21949) %.i01997 = fsub reassoc nsz arcp contract afn float %r12.1.fr.i3, 0.000000e+00 %.i11998 = fsub reassoc nsz arcp contract afn float %r13.1.fr.i3, 0.000000e+00 %.i21999 = fsub reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %104 = getelementptr i8, ptr addrspace(1) null, i64 400 %105 = load float, ptr addrspace(1) %104, align 4 %.fr28 = freeze float %105 %106 = getelementptr i8, ptr addrspace(1) null, i64 404 %107 = load float, ptr addrspace(1) %106, align 4 %.fr30 = freeze float %107 %.i02001 = fadd reassoc nsz arcp contract afn float %.fr28, %.i01997 %.i12002 = fadd reassoc nsz arcp contract afn float %.fr28, %.i11998 %.i22003 = fadd reassoc nsz arcp contract afn float %.fr30, %.i21999 %108 = getelementptr i8, ptr addrspace(1) null, i64 408 %.i12010 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %.i02011 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i02001, float 0.000000e+00, float -5.000000e-01) %.i12012 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i12002, float 0.000000e+00, float -5.000000e-01) %.i22013 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i22003, float 0.000000e+00, float -5.000000e-01) %.i02014 = call reassoc nsz arcp contract afn float @llvm.fabs.f32(float %.i02011) %.i12015 = call reassoc nsz arcp contract afn float @llvm.fabs.f32(float %.i12012) %.i22016 = call reassoc nsz arcp contract afn float @llvm.fabs.f32(float %.i22013) %.i02017 = fmul reassoc nsz arcp contract afn float %.i02014, 4.000000e+00 %.i12018 = fmul reassoc nsz arcp contract afn float %.i12015, 4.000000e+00 %.i22019 = fmul reassoc nsz arcp contract afn float %.i22016, 4.000000e+00 %.i02020 = fsub reassoc nsz arcp contract afn float 3.000000e+00, %.i02017 %.i12021 = fsub reassoc nsz arcp contract afn float 3.000000e+00, %.i12018 %.i22022 = fsub reassoc nsz arcp contract afn float 3.000000e+00, %.i22019 %.i02023 = call reassoc nsz arcp contract afn float @llvm.maxnum.f32(float %.i02020, float 0.000000e+00) %.i12024 = call reassoc nsz arcp contract afn float @llvm.maxnum.f32(float %.i12021, float 0.000000e+00) %.i22025 = call reassoc nsz arcp contract afn float @llvm.maxnum.f32(float %.i22022, float 0.000000e+00) %.i02026 = call reassoc nsz arcp contract afn float @llvm.minnum.f32(float %.i02023, float 1.000000e+00) %.i12027 = call reassoc nsz arcp contract afn float @llvm.minnum.f32(float %.i12024, float 1.000000e+00) %.i22028 = call reassoc nsz arcp contract afn float @llvm.minnum.f32(float %.i22025, float 1.000000e+00) %.i02029 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i02026, float -2.000000e+00, float 3.000000e+00) %.i12030 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i12027, float -2.000000e+00, float 3.000000e+00) %.i22031 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i22028, float -2.000000e+00, float 3.000000e+00) %.i02032 = fmul reassoc nsz arcp contract afn float %.i02026, %.i02026 %.i12033 = fmul reassoc nsz arcp contract afn float %.i12027, %.i12027 %.i22034 = fmul reassoc nsz arcp contract afn float %.i22028, %.i22028 %.i02035 = fmul reassoc nsz arcp contract afn float %.i02032, %.i02029 %.i12036 = fmul reassoc nsz arcp contract afn float %.i12033, %.i12030 %.i22037 = fmul reassoc nsz arcp contract afn float %.i22034, %.i22031 %109 = fmul reassoc nsz arcp contract afn float %.i12036, %.i02035 %110 = fmul reassoc nsz arcp contract afn float %109, %.i22037 %111 = add i32 0, 160 %112 = sext i32 %111 to i64 %113 = call float @llvm.amdgcn.image.sample.lz.3d.f32.f32.v8i32.v4i32(i32 1, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, <8 x i32> zeroinitializer, <4 x i32> zeroinitializer, i1 false, i32 0, i32 0) %.fr24 = freeze float %113 %114 = fmul reassoc nsz arcp contract afn float %.fr24, 0x3FB10CB2A0000000 %115 = call reassoc nsz arcp contract afn float @llvm.maxnum.f32(float %114, float 0.000000e+00) %116 = call reassoc nsz arcp contract afn float @llvm.minnum.f32(float %115, float 1.000000e+00) %.i02058 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %.i12059 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %.i02064 = fmul reassoc nsz arcp contract afn float 0.000000e+00, %110 %.i12065 = fmul reassoc nsz arcp contract afn float 0.000000e+00, %110 %.i22066 = fmul reassoc nsz arcp contract afn float 0.000000e+00, %110 %.i02067 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float %116, float %.i02064) %.i12068 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float %116, float %.i12065) %.i22069 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float %116, float %.i22066) %117 = fmul reassoc nsz arcp contract afn float %.i22069, 3.000000e+00 %118 = call reassoc nsz arcp contract afn float @llvm.fabs.f32(float %117) %.fr44.i0 = freeze float %.i02067 %.fr44.i1 = freeze float %.i12068 %.i02070 = fmul reassoc nsz arcp contract afn float %.i02067, %.i02067 %.i12071 = fmul reassoc nsz arcp contract afn float %.i12068, %.i12068 %.i22072 = fmul reassoc nsz arcp contract afn float %.i22069, %.i22069 %119 = fadd reassoc nsz arcp contract afn float %.i02070, %.i12071 %120 = fadd reassoc nsz arcp contract afn float %119, %.i22072 %121 = call reassoc nsz arcp contract afn float @llvm.sqrt.f32(float %120) %122 = fcmp ogt float %121, 2.000000e+01 %r11.3.i1 = select i1 %122, float 2.000000e+00, float 0.000000e+00 %.i02073 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.fr44.i0, float %r11.3.i1, float %.i01994) %.i12074 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.fr44.i1, float %r11.3.i1, float %.i11995) %.i22075 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %118, float %r11.3.i1, float %.i21996) %.fr1383 = freeze float 0.000000e+00 %.i22078 = bitcast float %.fr1383 to i32 %.i02079 = mul i32 0, 1664525 %.i12080 = mul i32 %14, 1664525 %.i22081 = mul i32 %.i22078, 1664525 %.i02082 = add i32 %.i02079, 1013904223 %.i12083 = add i32 %.i12080, 1013904223 %.i22084 = add i32 %.i22081, 1013904223 %123 = mul i32 %.i12083, %.i12083 %124 = add i32 %123, %.i02082 %125 = mul i32 %124, %.i22084 %126 = add i32 %125, %.i12083 %127 = mul i32 %126, %124 %128 = add i32 %127, %.i22084 %129 = mul i32 %128, %126 %130 = add i32 %129, %.i12083 %131 = mul i32 %130, %126 %132 = add i32 %131, %124 %133 = lshr i32 %132, 8 %134 = uitofp nneg i32 %133 to float %135 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %134, float 0x3EE7C00000000000, float 1.000000e+01) %136 = fcmp ogt float 0.000000e+00, 0.000000e+00 %137 = fmul reassoc nsz arcp contract afn float %r17.2.fr.i2, 0x3F4B4E81C0000000 %138 = call reassoc nsz arcp contract afn float @llvm.maxnum.f32(float %137, float 0.000000e+00) %139 = call reassoc nsz arcp contract afn float @llvm.minnum.f32(float %138, float 1.000000e+00) %140 = fmul reassoc nsz arcp contract afn float %139, 1.000000e+01 %141 = fmul reassoc nsz arcp contract afn float %135, %.i11993 %142 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %139, float 1.000000e+01, float 1.000000e+00) %143 = fmul reassoc nsz arcp contract afn float %141, %142 %.i02085 = fmul reassoc nsz arcp contract afn float %143, %r17.2.fr.i0 %.i12086 = fmul reassoc nsz arcp contract afn float %143, %r17.2.fr.i1 %.fr1394.i0 = freeze float %.i02085 %.fr1394.i1 = freeze float %.i12086 %r16.11.i0 = select i1 %136, float 0.000000e+00, float %.fr1394.i0 %r16.11.i1 = select i1 %136, float 0.000000e+00, float %.fr1394.i1 %144 = fmul reassoc nsz arcp contract afn float %140, 0x3FB99999A0000000 %145 = fmul reassoc nsz arcp contract afn float %144, %141 %146 = call reassoc nsz arcp contract afn float @llvm.minnum.f32(float %145, float 1.500000e+02) %.i02087 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %r16.11.i0, float 0x3FC3333340000000, float %.i02073) %.i12088 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %r16.11.i1, float 0x3FC3333340000000, float %.i12074) %.i22089 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %146, float 0x3FC3333340000000, float %.i22075) %.fr118.i0 = freeze float %.i02087 %.fr118.i1 = freeze float %.i12088 %.fr118.i2 = freeze float %.i22089 %147 = fcmp ogt float %.i22089, 1.000000e+00 %r7.2.i2 = select i1 %147, float 0.000000e+00, float 0.000000e+00 %r3.2.i3 = select i1 %147, float 0.000000e+00, float 0.000000e+00 %.i02090 = call reassoc nsz arcp contract afn float @llvm.maxnum.f32(float %r6.1.fr.i3, float 0x3F50624DE0000000) %.i12091 = call reassoc nsz arcp contract afn float @llvm.maxnum.f32(float %r6.1.fr.i3, float 0x3F1A36E2E0000000) %.i02092 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 2.400000e+01 %.i12099 = fdiv reassoc nsz arcp contract afn float %.i12088, %.i02090 %.i22100 = fdiv reassoc nsz arcp contract afn float %.i22089, %.i02090 %.i02101 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %.i12102 = fmul reassoc nsz arcp contract afn float %.i12099, 0.000000e+00 %.i02110 = fmul reassoc nsz arcp contract afn float %.i02101, %.i02101 %.i12111 = fmul reassoc nsz arcp contract afn float %.i12102, %.i12102 %.i22112 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %148 = fadd reassoc nsz arcp contract afn float %.i02110, %.i12111 %149 = fadd reassoc nsz arcp contract afn float %148, %.i22112 %150 = call reassoc nsz arcp contract afn float @llvm.sqrt.f32(float %149) %151 = fcmp olt float %150, 0x3EE4F8B580000000 br i1 %151, label %branch22_merge, label %branch22_false branch22_false: ; preds = %.entry %.i02113 = fdiv reassoc nsz arcp contract afn float %.i02101, %150 %.i12114 = fdiv reassoc nsz arcp contract afn float %.i12102, %150 %.i22115 = fdiv reassoc nsz arcp contract afn float 0.000000e+00, %150 br label %branch22_merge branch22_merge: ; preds = %branch22_false, %.entry %r20.2.i0 = phi float [ %.i02113, %branch22_false ], [ 0.000000e+00, %.entry ] %r20.2.i1 = phi float [ %.i12114, %branch22_false ], [ 0.000000e+00, %.entry ] %r20.2.i2 = phi float [ %.i22115, %branch22_false ], [ -1.000000e+00, %.entry ] %r20.2.fr.i0 = freeze float %r20.2.i0 %r20.2.fr.i1 = freeze float %r20.2.i1 %r20.2.fr.i2 = freeze float %r20.2.i2 %.i02116 = fneg reassoc nsz arcp contract afn float %r20.2.fr.i0 %.i22122 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) %.i02123 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %r20.2.fr.i0, float 0.000000e+00, float %.i02101) %.i12124 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %r20.2.fr.i1, float 0.000000e+00, float %.i12102) %.i22125 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %r20.2.fr.i2, float 0.000000e+00, float 0.000000e+00) %.i02126 = fmul reassoc nsz arcp contract afn float %.i02123, %.i02123 %.i12127 = fmul reassoc nsz arcp contract afn float %.i12124, %.i12124 %.i22128 = fmul reassoc nsz arcp contract afn float %.i22125, %.i22125 %152 = fadd reassoc nsz arcp contract afn float %.i02126, %.i12127 %153 = fadd reassoc nsz arcp contract afn float %152, %.i22128 %154 = call reassoc nsz arcp contract afn float @llvm.sqrt.f32(float %153) %155 = fcmp olt float %154, 0x3EE4F8B580000000 br i1 %155, label %branch23_merge, label %branch23_false branch23_false: ; preds = %branch22_merge %.i02129 = fdiv reassoc nsz arcp contract afn float %.i02123, %154 %.i12130 = fdiv reassoc nsz arcp contract afn float %.i12124, %154 %.i22131 = fdiv reassoc nsz arcp contract afn float %.i22125, %154 br label %branch23_merge branch23_merge: ; preds = %branch23_false, %branch22_merge %r16.12.i0 = phi float [ %.i02129, %branch23_false ], [ 0.000000e+00, %branch22_merge ] %r16.12.i1 = phi float [ %.i12130, %branch23_false ], [ 0.000000e+00, %branch22_merge ] %r16.12.i2 = phi float [ %.i22131, %branch23_false ], [ -1.000000e+00, %branch22_merge ] %r15.3.i2 = phi float [ %154, %branch23_false ], [ 1.000000e+00, %branch22_merge ] %r15.3.fr.i2 = freeze float %r15.3.i2 %.i02132 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %r16.12.i0, float %r15.3.fr.i2, float %r12.1.fr.i3) %.i12133 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %r16.12.i1, float %r15.3.fr.i2, float %r13.1.fr.i3) %.i22134 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %r16.12.i2, float %r15.3.fr.i2, float 0.000000e+00) %156 = load <8 x i32>, ptr addrspace(4) null, align 4 %157 = call <8 x i32> @llvm.amdgcn.readfirstlane.v8i32(<8 x i32> %156) %158 = call <3 x float> @llvm.amdgcn.image.sample.lz.2d.v3f32.f32.v8i32.v4i32(i32 7, float 0.000000e+00, float 0.000000e+00, <8 x i32> %157, <4 x i32> zeroinitializer, i1 false, i32 0, i32 0) %.i02177 = extractelement <3 x float> %158, i64 0 %.i02178 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i02177, float 2.000000e+00, float -1.000000e+00) %.i12179 = extractelement <3 x float> %158, i64 1 %.i12180 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i12179, float 2.000000e+00, float -1.000000e+00) %r22.2.fr.i2 = freeze float 0.000000e+00 %r20.3.fr.i0 = freeze float %.i02178 %r20.3.fr.i1 = freeze float %.i12180 %159 = fadd reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %160 = fsub reassoc nsz arcp contract afn float %159, 0.000000e+00 %161 = fcmp oge float %160, 0.000000e+00 %162 = sext i1 %161 to i32 %.i02190 = fmul reassoc nsz arcp contract afn float %r20.3.fr.i0, %.i02132 %.i12191 = fmul reassoc nsz arcp contract afn float %r20.3.fr.i1, %.i12133 %.i22192 = fmul reassoc nsz arcp contract afn float 0.000000e+00, %.i22134 %163 = fadd reassoc nsz arcp contract afn float %.i02190, %.i12191 %164 = fadd reassoc nsz arcp contract afn float %163, %.i22192 %.neg1399 = fsub reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %165 = fadd reassoc nsz arcp contract afn float %.neg1399, %164 %166 = fcmp ugt float %165, 0.000000e+00 %.i02193 = fsub reassoc nsz arcp contract afn float %.i02132, 0.000000e+00 %.i12194 = fsub reassoc nsz arcp contract afn float %.i12133, 0.000000e+00 %167 = bitcast i32 %162 to float %.not4410 = or i1 false, %166 %168 = call i1 @llvm.is.fpclass.f32(float %167, i32 64) %169 = or i1 %.not4410, %168 %sel.i0 = select i1 %169, float 0.000000e+00, float 0.000000e+00 %sel.i1 = select i1 %169, float 0.000000e+00, float 0.000000e+00 %sel.i2 = select i1 %169, float 0xC341C37940000000, float %r22.2.fr.i2 %r20.4.i0 = select i1 %169, float 0.000000e+00, float %r20.3.fr.i0 %170 = fcmp ole float 0.000000e+00, 0.000000e+00 %171 = sext i1 %170 to i32 %172 = bitcast i32 %171 to float %bc4269.i3 = bitcast float 0.000000e+00 to i32 %.i02264 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float %r20.4.i0, float 0.000000e+00) %.i12265 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) %.i22266 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) %.i02267 = fmul reassoc nsz arcp contract afn float %.i02264, %.i02264 %.i12268 = fmul reassoc nsz arcp contract afn float %.i12265, %.i12265 %.i22269 = fmul reassoc nsz arcp contract afn float %.i22266, %.i22266 %173 = fadd reassoc nsz arcp contract afn float %.i02267, %.i12268 %174 = fadd reassoc nsz arcp contract afn float %173, %.i22269 %175 = call reassoc nsz arcp contract afn float @llvm.sqrt.f32(float %174) %176 = fcmp olt float %175, 0x3EE4F8B580000000 br i1 %176, label %branch29_merge, label %branch29_false branch29_false: ; preds = %branch23_merge %.i02270 = fdiv reassoc nsz arcp contract afn float 1.000000e+00, %175 %.i02271 = fmul reassoc nsz arcp contract afn float %.i02270, %.i02264 %.i12272 = fmul reassoc nsz arcp contract afn float %.i02270, %.i12265 %.i22273 = fmul reassoc nsz arcp contract afn float %.i02270, %.i22266 br label %branch29_merge branch29_merge: ; preds = %branch29_false, %branch23_merge %r23.2.i0 = phi float [ %.i02271, %branch29_false ], [ 0.000000e+00, %branch23_merge ] %r23.2.i1 = phi float [ %.i12272, %branch29_false ], [ 0.000000e+00, %branch23_merge ] %r23.2.i2 = phi float [ %.i22273, %branch29_false ], [ 0.000000e+00, %branch23_merge ] %.i02274 = fmul reassoc nsz arcp contract afn float %.i02264, %.i02090 %.i02287 = fmul reassoc nsz arcp contract afn float 0.000000e+00, %r23.2.i0 %.i12288 = fmul reassoc nsz arcp contract afn float 0.000000e+00, %r23.2.i1 %.i22289 = fmul reassoc nsz arcp contract afn float 0.000000e+00, %r23.2.i2 %.i02290 = fneg reassoc nsz arcp contract afn float %.i02287 %.i12291 = fneg reassoc nsz arcp contract afn float %.i12288 %.i22292 = fneg reassoc nsz arcp contract afn float %.i22289 %.i02293 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i02274, float 0x3F847AE140000000, float %.i02290) %.i12294 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float 0x3F847AE140000000, float %.i12291) %.i22295 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float 0x3F847AE140000000, float %.i22292) %.i02296 = fmul reassoc nsz arcp contract afn float %.i02293, %.i02293 %.i12297 = fmul reassoc nsz arcp contract afn float %.i12294, %.i12294 %.i22298 = fmul reassoc nsz arcp contract afn float %.i22295, %.i22295 %177 = fadd reassoc nsz arcp contract afn float %.i02296, %.i12297 %178 = fadd reassoc nsz arcp contract afn float %177, %.i22298 %179 = call reassoc nsz arcp contract afn float @llvm.sqrt.f32(float %178) %180 = fcmp olt float %179, 0x3EE4F8B580000000 br i1 %180, label %branch31_merge, label %branch31_false branch31_false: ; preds = %branch29_merge %.i02299 = fdiv reassoc nsz arcp contract afn float %.i02293, %179 %.i12300 = fdiv reassoc nsz arcp contract afn float %.i12294, %179 %.i22301 = fdiv reassoc nsz arcp contract afn float %.i22295, %179 br label %branch31_merge branch31_merge: ; preds = %branch31_false, %branch29_merge %r22.4.i0 = phi float [ %.i02299, %branch31_false ], [ 0.000000e+00, %branch29_merge ] %r22.4.i1 = phi float [ %.i12300, %branch31_false ], [ 0.000000e+00, %branch29_merge ] %r22.4.i2 = phi float [ %.i22301, %branch31_false ], [ 0.000000e+00, %branch29_merge ] %r22.4.fr.i0 = freeze float %r22.4.i0 %r22.4.fr.i1 = freeze float %r22.4.i1 %r22.4.fr.i2 = freeze float %r22.4.i2 %.i02302 = fmul reassoc nsz arcp contract afn float %r22.4.fr.i0, %r23.2.i0 %.i12303 = fmul reassoc nsz arcp contract afn float %r22.4.fr.i1, %r23.2.i1 %.i22304 = fmul reassoc nsz arcp contract afn float %r22.4.fr.i2, %r23.2.i2 %181 = fadd reassoc nsz arcp contract afn float %.i02302, %.i12303 %182 = fadd reassoc nsz arcp contract afn float %181, %.i22304 %183 = fcmp ugt float %182, 0.000000e+00 %r25.2.i0 = select i1 %183, float %.i02287, float 0.000000e+00 %r25.2.i1 = select i1 %183, float %.i12288, float 0.000000e+00 %r25.2.i2 = select i1 %183, float %.i22289, float 0.000000e+00 %sel651.i0 = select i1 %170, float 0.000000e+00, float %r12.1.fr.i3 %sel651.i1 = select i1 %170, float 0.000000e+00, float %r13.1.fr.i3 %sel651.i2 = select i1 %170, float 0.000000e+00, float 0.000000e+00 %.i02305 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %r18.2.fr.i2 = freeze float 1.000000e+00 %.i02311 = fmul reassoc nsz arcp contract afn float 0.000000e+00, %r20.4.i0 %.i12312 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %.i22313 = fmul reassoc nsz arcp contract afn float %r18.2.fr.i2, 0.000000e+00 %184 = fadd reassoc nsz arcp contract afn float %.i02311, %.i12312 %185 = fadd reassoc nsz arcp contract afn float %184, %.i22313 %186 = fcmp olt float %185, 0.000000e+00 %187 = call i1 @llvm.is.fpclass.f32(float %172, i32 959) %188 = and i1 %187, %186 br i1 %188, label %branch35_true, label %branch35_merge branch35_true: ; preds = %branch31_merge %.i02315 = fneg reassoc nsz arcp contract afn float %r25.2.i0 %.i12316 = fneg reassoc nsz arcp contract afn float %r25.2.i1 %.i22317 = fneg reassoc nsz arcp contract afn float %r25.2.i2 %.i02318 = fdiv reassoc nsz arcp contract afn float %.i02315, %.i02090 %.i12319 = fdiv reassoc nsz arcp contract afn float %.i12316, %.i02090 %.i22320 = fdiv reassoc nsz arcp contract afn float %.i22317, %.i02090 %.i02321 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i02318, float 1.000000e+02, float 0.000000e+00) %.i12322 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i12319, float 1.000000e+02, float 0.000000e+00) %.i22323 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i22320, float 1.000000e+02, float 0.000000e+00) %.i02328 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float %r20.4.i0, float %.i02321) %.i12329 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float 0.000000e+00, float %.i12322) %.i22330 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float 0.000000e+00, float %.i22323) br label %branch35_merge branch35_merge: ; preds = %branch35_true, %branch31_merge %r18.3.i0 = phi float [ 0.000000e+00, %branch35_true ], [ %.fr118.i0, %branch31_merge ] %r18.3.i1 = phi float [ 0.000000e+00, %branch35_true ], [ %.fr118.i1, %branch31_merge ] %r18.3.i2 = phi float [ 0.000000e+00, %branch35_true ], [ %.fr118.i2, %branch31_merge ] %r14.5.i0 = phi float [ %.i02328, %branch35_true ], [ %r13.1.fr.i0, %branch31_merge ] %r14.5.i1 = phi float [ %.i12329, %branch35_true ], [ %r13.1.fr.i1, %branch31_merge ] %r14.5.i2 = phi float [ %.i22330, %branch35_true ], [ %r5.1.fr.i0, %branch31_merge ] %r14.5.fr.i0 = freeze float %r14.5.i0 %r14.5.fr.i1 = freeze float %r14.5.i1 %r14.5.fr.i2 = freeze float %r14.5.i2 %.i02331 = fdiv reassoc nsz arcp contract afn float %r18.3.i0, %.i02090 %.i12332 = fdiv reassoc nsz arcp contract afn float %r18.3.i1, %.i02090 %.i22333 = fdiv reassoc nsz arcp contract afn float %r18.3.i2, %.i02090 %.i02334 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i02331, float 0.000000e+00, float %r14.5.fr.i0) %.i12335 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i12332, float 0.000000e+00, float %r14.5.fr.i1) %.i22336 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %.i22333, float 0.000000e+00, float %r14.5.fr.i2) %.i02337 = fmul reassoc nsz arcp contract afn float %.i02334, 0.000000e+00 %.i12338 = fmul reassoc nsz arcp contract afn float %.i12335, 0.000000e+00 %.i22339 = fmul reassoc nsz arcp contract afn float %.i22336, 0.000000e+00 %.i02340 = fmul reassoc nsz arcp contract afn float %.i02337, %.i02337 %.i12341 = fmul reassoc nsz arcp contract afn float %.i12338, %.i12338 %.i22342 = fmul reassoc nsz arcp contract afn float %.i22339, %.i22339 %189 = fadd reassoc nsz arcp contract afn float %.i02340, %.i12341 %190 = fadd reassoc nsz arcp contract afn float %189, %.i22342 %191 = call reassoc nsz arcp contract afn float @llvm.sqrt.f32(float %190) %192 = fcmp olt float %191, 0x3EE4F8B580000000 %.i02343 = fdiv reassoc nsz arcp contract afn float %.i02337, %191 %.i12344 = fdiv reassoc nsz arcp contract afn float %.i12338, %191 %.i22345 = fdiv reassoc nsz arcp contract afn float %.i22339, %191 %r22.5.fr.i0 = freeze float %.i02343 %r22.5.fr.i1 = freeze float %.i12344 %r22.5.fr.i2 = freeze float %.i22345 %.i02346 = fneg reassoc nsz arcp contract afn float %r22.5.fr.i0 %.i22352 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float 0.000000e+00, float %sel651.i2) %.i02353 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %r22.5.fr.i0, float 0.000000e+00, float %.i02337) %.i12354 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %r22.5.fr.i1, float 0.000000e+00, float %.i12338) %.i22355 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float %r22.5.fr.i2, float 0.000000e+00, float %.i22339) %.i02356 = fmul reassoc nsz arcp contract afn float %.i02353, %.i02353 %.i12357 = fmul reassoc nsz arcp contract afn float %.i12354, %.i12354 %.i22358 = fmul reassoc nsz arcp contract afn float %.i22355, %.i22355 %193 = fadd reassoc nsz arcp contract afn float %.i02356, %.i12357 %194 = fadd reassoc nsz arcp contract afn float %193, %.i22358 %195 = call reassoc nsz arcp contract afn float @llvm.sqrt.f32(float %194) %196 = fcmp olt float %195, 0x3EE4F8B580000000 %r20.5.fr.i3 = freeze float %195 %.i02362 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float %r20.5.fr.i3, float %sel651.i0) %.i12363 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float %r20.5.fr.i3, float %sel651.i1) %.i22364 = call reassoc nsz arcp contract afn float @llvm.fma.f32(float 0.000000e+00, float %r20.5.fr.i3, float %sel651.i2) %.i22426 = fsub reassoc nsz arcp contract afn float %.i22364, %.i22352 %.i02427 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %.i12428 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %.i22429 = fmul reassoc nsz arcp contract afn float 0.000000e+00, %.i22426 %197 = fadd reassoc nsz arcp contract afn float %.i02427, %.i12428 %198 = fadd reassoc nsz arcp contract afn float %197, %.i22429 %199 = fcmp uge float %198, 0.000000e+00 %200 = bitcast i32 0 to float %.not4297 = or i1 %199, false %201 = call i1 @llvm.is.fpclass.f32(float %200, i32 64) %202 = or i1 %.not4297, %201 %sel791.i0 = select i1 %202, float 0.000000e+00, float 0.000000e+00 %sel791.i1 = select i1 %202, float 0.000000e+00, float 0.000000e+00 %sel791.i2 = select i1 %202, float 0xC341C37940000000, float 0.000000e+00 %sel792.i0 = select i1 %202, float 0.000000e+00, float 0.000000e+00 %sel792.i1 = select i1 %202, float 0.000000e+00, float 0.000000e+00 %sel792.i2 = select i1 %202, float 1.000000e+00, float 0.000000e+00 %.i02430 = fsub reassoc nsz arcp contract afn float %sel791.i0, %sel651.i0 %sel1084.i0 = select i1 false, float 0.000000e+00, float %sel651.i0 %sel1084.i1 = select i1 false, float 0.000000e+00, float %sel651.i1 %sel1084.i2 = select i1 false, float 0.000000e+00, float %sel651.i2 %.i02536 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %.i12537 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %.i22538 = fmul reassoc nsz arcp contract afn float 0.000000e+00, 0.000000e+00 %203 = fadd reassoc nsz arcp contract afn float %.i02536, %.i12537 %204 = fadd reassoc nsz arcp contract afn float %203, %.i22538 %205 = call reassoc nsz arcp contract afn float @llvm.sqrt.f32(float %204) %206 = fcmp olt float %205, 0x3EE4F8B580000000 %.i02539 = fdiv reassoc nsz arcp contract afn float 0.000000e+00, %205 %.i12540 = fdiv reassoc nsz arcp contract afn float 0.000000e+00, %205 %.i22541 = fdiv reassoc nsz arcp contract afn float 0.000000e+00, %205 %r18.4.fr.i0 = freeze float %.i02539 %r18.4.fr.i1 = freeze float %.i12540 %r18.4.fr.i2 = freeze float %.i22541 %.i02542 = fmul reassoc nsz arcp contract afn float %r18.4.fr.i0, %sel792.i0 %.i12543 = fmul reassoc nsz arcp contract afn float %r18.4.fr.i1, %sel792.i1 %.i22544 = fmul reassoc nsz arcp contract afn float %r18.4.fr.i2, %sel792.i2 %207 = fadd reassoc nsz arcp contract afn float %.i02542, %.i12543 %208 = fadd reassoc nsz arcp contract afn float %207, %.i22544 %209 = fcmp olt float %208, 0.000000e+00 %210 = sext i1 %209 to i32 %211 = bitcast i32 %210 to float %212 = call i1 @llvm.is.fpclass.f32(float %211, i32 959) %213 = and i1 false, %212 br i1 %213, label %branch49_true, label %branch49_merge branch49_true: ; preds = %branch35_merge %.i02546 = fneg reassoc nsz arcp contract afn float 0.000000e+00 %.i12547 = fneg reassoc nsz arcp contract afn float 0.000000e+00 br label %branch49_merge branch49_merge: ; preds = %branch49_true, %branch35_merge ret void } ; Function Attrs: nodivergencesource nounwind willreturn memory(none) declare ptr addrspace(7) @lgc.buffer.index() #1 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare float @llvm.floor.f32(float) #2 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare float @llvm.log2.f32(float) #2 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare float @llvm.exp2.f32(float) #2 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare float @llvm.fabs.f32(float) #2 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) declare ptr @llvm.invariant.start.p7(i64 immarg, ptr addrspace(7) captures(none)) #3 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare i1 @llvm.is.fpclass.f32(float, i32 immarg) #2 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare noundef i64 @llvm.amdgcn.s.getpc() #2 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) declare void @llvm.assume(i1 noundef) #4 ; Function Attrs: convergent nocallback nofree nounwind willreturn memory(none) declare <4 x i32> @llvm.amdgcn.readfirstlane.v4i32(<4 x i32>) #5 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(read) declare <4 x float> @llvm.amdgcn.struct.buffer.load.format.v4f32(<4 x i32>, i32, i32, i32, i32 immarg) #6 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare float @llvm.fma.f32(float, float, float) #2 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare float @llvm.maxnum.f32(float, float) #2 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare float @llvm.minnum.f32(float, float) #2 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare float @llvm.sqrt.f32(float) #2 ; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) declare float @llvm.amdgcn.rsq.f32(float) #2 ; Function Attrs: convergent nocallback nofree nounwind willreturn memory(none) declare <8 x i32> @llvm.amdgcn.readfirstlane.v8i32(<8 x i32>) #5 ; Function Attrs: nodivergencesource nounwind willreturn memory(none) declare ptr addrspace(7) @lgc.buffer.load.desc.to.ptr() #1 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(read) declare float @llvm.amdgcn.image.sample.lz.2d.f32.f32.v8i32.v4i32(i32 immarg, float, float, <8 x i32>, <4 x i32>, i1 immarg, i32 immarg, i32 immarg) #6 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(read) declare <3 x float> @llvm.amdgcn.image.sample.lz.2d.v3f32.f32.v8i32.v4i32(i32 immarg, float, float, <8 x i32>, <4 x i32>, i1 immarg, i32 immarg, i32 immarg) #6 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(read) declare <4 x float> @llvm.amdgcn.image.sample.lz.2d.v4f32.f32.v8i32.v4i32(i32 immarg, float, float, <8 x i32>, <4 x i32>, i1 immarg, i32 immarg, i32 immarg) #6 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(read) declare float @llvm.amdgcn.image.sample.lz.3d.f32.f32.v8i32.v4i32(i32 immarg, float, float, float, <8 x i32>, <4 x i32>, i1 immarg, i32 immarg, i32 immarg) #6 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(read) declare <3 x float> @llvm.amdgcn.image.sample.lz.3d.v3f32.f32.v8i32.v4i32(i32 immarg, float, float, float, <8 x i32>, <4 x i32>, i1 immarg, i32 immarg, i32 immarg) #6 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(read) declare <4 x float> @llvm.amdgcn.image.sample.lz.3d.v4f32.f32.v8i32.v4i32(i32 immarg, float, float, float, <8 x i32>, <4 x i32>, i1 immarg, i32 immarg, i32 immarg) #6 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(read) declare float @llvm.amdgcn.struct.buffer.load.format.f32(<4 x i32>, i32, i32, i32, i32 immarg) #6 ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(read) declare i32 @llvm.amdgcn.struct.buffer.load.format.i32(<4 x i32>, i32, i32, i32, i32 immarg) #6 attributes #0 = { alwaysinline nounwind memory(readwrite) "amdgpu-memory-bound"="false" "amdgpu-unroll-threshold"="700" "amdgpu-wave-limiter"="false" "denormal-fp-math-f32"="preserve-sign" "target-features"=",+wavefrontsize64" } attributes #1 = { nodivergencesource nounwind willreturn memory(none) } attributes #2 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } attributes #4 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) } attributes #5 = { convergent nocallback nofree nounwind willreturn memory(none) } attributes #6 = { nocallback nofree nosync nounwind willreturn memory(read) }