brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · d792078 Raw
117 lines · plain
1; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s2 3; Make sure resource table is created correctly.4; CHECK: Resources:5target triple = "dxil-unknown-shadermodel6.0-compute"6 7define void @main() #0 {8 9  ; cbuffer : register(b2, space3) { float x; }10; CHECK:        - Type:            CBV11; CHECK:          Space:           312; CHECK:          LowerBound:      213; CHECK:          UpperBound:      214; CHECK:          Kind:            CBuffer15; CHECK:          Flags:16; CHECK:            UsedByAtomic64:  false17  %cbuf = call target("dx.CBuffer", <{ float }>)18      @llvm.dx.resource.handlefrombinding(i32 3, i32 2, i32 1, i32 0, ptr null)19 20  ; ByteAddressBuffer Buf : register(t8, space1)21; CHECK:        - Type:            SRVRaw22; CHECK:          Space:           123; CHECK:          LowerBound:      824; CHECK:          UpperBound:      825; CHECK:          Kind:            RawBuffer26; CHECK:          Flags:27; CHECK:            UsedByAtomic64:  false28  %srv0 = call target("dx.RawBuffer", i8, 0, 0)29      @llvm.dx.resource.handlefrombinding.tdx.RawBuffer_i8_0_0t(30          i32 1, i32 8, i32 1, i32 0, ptr null)31 32  ; struct S { float4 a; uint4 b; };33  ; StructuredBuffer<S> Buf : register(t2, space4)34; CHECK:        - Type:            SRVStructured35; CHECK:          Space:           436; CHECK:          LowerBound:      237; CHECK:          UpperBound:      238; CHECK:          Kind:            StructuredBuffer39; CHECK:          Flags:40; CHECK:            UsedByAtomic64:  false41  %srv1 = call target("dx.RawBuffer", {<4 x float>, <4 x i32>}, 0, 0)42      @llvm.dx.resource.handlefrombinding.tdx.RawBuffer_sl_v4f32v4i32s_0_0t(43          i32 4, i32 2, i32 1, i32 0, ptr null)44 45  ; Buffer<uint4> Buf[24] : register(t3, space5)46; CHECK:        - Type:            SRVTyped47; CHECK:          Space:           548; CHECK:          LowerBound:      349; CHECK:          UpperBound:      2650; CHECK:          Kind:            TypedBuffer51; CHECK:          Flags:52; CHECK:            UsedByAtomic64:  false53  %srv2 = call target("dx.TypedBuffer", <4 x i32>, 0, 0, 0)54      @llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_i32_0_0t(55          i32 5, i32 3, i32 24, i32 0, ptr null)56 57  ; RWBuffer<int> Buf : register(u7, space2)58; CHECK:        - Type:            UAVTyped59; CHECK:          Space:           260; CHECK:          LowerBound:      761; CHECK:          UpperBound:      762; CHECK:          Kind:            TypedBuffer63; CHECK:          Flags:64; CHECK:            UsedByAtomic64:  false65  %uav0 = call target("dx.TypedBuffer", i32, 1, 0, 1)66      @llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_i32_1_0t(67          i32 2, i32 7, i32 1, i32 0, ptr null)68 69  ; RWBuffer<float4> Buf : register(u5, space3)70; CHECK:        - Type:            UAVTyped71; CHECK:          Space:           372; CHECK:          LowerBound:      573; CHECK:          UpperBound:      574; CHECK:          Kind:            TypedBuffer75; CHECK:          Flags:76; CHECK:            UsedByAtomic64:  false77  %uav1 = call target("dx.TypedBuffer", <4 x float>, 1, 0, 0)78              @llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_f32_1_0(79                  i32 3, i32 5, i32 1, i32 0, ptr null)80 81  ; RWBuffer<float4> BufferArray[10] : register(u0, space4)82; CHECK:        - Type:            UAVTyped83; CHECK:          Space:           484; CHECK:          LowerBound:      085; CHECK:          UpperBound:      986; CHECK:          Kind:            TypedBuffer87; CHECK:          Flags:88; CHECK:            UsedByAtomic64:  false89  ; RWBuffer<float4> Buf = BufferArray[0]90  %uav2_1 = call target("dx.TypedBuffer", <4 x float>, 1, 0, 0)91              @llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_f32_1_0(92                  i32 4, i32 0, i32 10, i32 0, ptr null)93  ; RWBuffer<float4> Buf = BufferArray[5]94  %uav2_2 = call target("dx.TypedBuffer", <4 x float>, 1, 0, 0)95              @llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_f32_1_0(96                  i32 4, i32 0, i32 10, i32 5, ptr null)97 98  ; RWBuffer<float4> UnboundedArray[] : register(u10, space5)99; CHECK:        - Type:            UAVTyped100; CHECK:          Space:           5101; CHECK:          LowerBound:      10102; CHECK:          UpperBound:      4294967295103; CHECK:          Kind:            TypedBuffer104; CHECK:          Flags:105; CHECK:            UsedByAtomic64:  false106  ; RWBuffer<float4> Buf = BufferArray[100];107  %uav3 = call target("dx.TypedBuffer", <4 x float>, 1, 0, 0)108              @llvm.dx.resource.handlefrombinding(i32 5, i32 10, i32 -1, i32 100, ptr null)109  ret void110}111 112attributes #0 = { "hlsl.numthreads"="1,1,1" "hlsl.shader"="compute" }113 114!dx.valver = !{!0}115 116!0 = !{i32 1, i32 7}117