summaryrefslogtreecommitdiffstats
path: root/tests/ir/loop.slang.expected
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ir/loop.slang.expected')
-rw-r--r--tests/ir/loop.slang.expected129
1 files changed, 66 insertions, 63 deletions
diff --git a/tests/ir/loop.slang.expected b/tests/ir/loop.slang.expected
index a0f8de432..e34bb68cc 100644
--- a/tests/ir/loop.slang.expected
+++ b/tests/ir/loop.slang.expected
@@ -2,77 +2,80 @@ result code = 0
standard error = {
}
standard output = {
-let %63 : Ptr<Array<Vec<Float32,4>,64>,1> = var()
-let %96 : Ptr<StructuredBuffer<Vec<Float32,4>>,0> = var()
-let %282 : Ptr<RWStructuredBuffer<Vec<Float32,4>>,0> = var()
-func @_S04mainp3 : (Int32, Int32, Int32) -> Void
+ir_global_var %1 : Ptr<vector<float,4>[64]>;
+
+ir_global_var %2 : Ptr<StructuredBuffer<vector<float,4>>>;
+
+ir_global_var %3 : Ptr<RWStructuredBuffer<vector<float,4>>>;
+
+ir_func @_S04mainp3 : (uint, uint, uint) -> void
{
-block %14( param %15 : Int32,
- param %24 : Int32,
- param %32 : Int32)
-:
- let %21 : Ptr<Int32,0> = var()
- store(%21, %15)
- let %29 : Ptr<Int32,0> = var()
- store(%29, %24)
- let %37 : Ptr<Int32,0> = var()
- store(%37, %32)
- let %64 : Int32 = load(%29)
- let %69 : Ptr<Vec<Float32,4>,0> = getElementPtr(%63, %64)
- let %97 : StructuredBuffer<Vec<Float32,4>> = load(%96)
- let %100 : Int32 = load(%21)
- let %101 : Vec<Float32,4> = bufferLoad(%97, %100)
- store(%69, %101)
- let %110 : Ptr<Int32,0> = var()
- let %118 : Int32 = construct(1)
- store(%110, %118)
- loop(%123, %129, %132)
+block %4(
+ param %5 : uint,
+ param %6 : uint,
+ param %7 : uint):
+ let %8 : Ptr<uint> = var()
+ store(%8, %5)
+ let %9 : Ptr<uint> = var()
+ store(%9, %6)
+ let %10 : Ptr<uint> = var()
+ store(%10, %7)
+ let %11 : uint = load(%9)
+ let %12 : Ptr<vector<float,4>> = getElementPtr(%1, %11)
+ let %13 : StructuredBuffer<vector<float,4>> = load(%2)
+ let %14 : uint = load(%8)
+ let %15 : vector<float,4> = bufferLoad(%13, %14)
+ store(%12, %15)
+ let %16 : Ptr<uint> = var()
+ let %17 : uint = construct(1)
+ store(%16, %17)
+ loop(%18, %19, %20)
-block %123:
- let %139 : Int32 = load(%110)
- let %148 : Int32 = construct(64)
- let %149 : Bool = cmpLT(%139, %148)
- loopTest(%149, %126, %129)
+block %18:
+ let %21 : uint = load(%16)
+ let %22 : uint = construct(64)
+ let %23 : bool = cmpLT(%21, %22)
+ loopTest(%23, %24, %19)
-block %126:
+block %24:
GroupMemoryBarrierWithGroupSync()
- let %174 : Int32 = load(%29)
- let %179 : Ptr<Vec<Float32,4>,0> = getElementPtr(%63, %174)
- let %184 : Ptr<Vec<Float32,4>,0> = var()
- let %185 : Vec<Float32,4> = load(%179)
- store(%184, %185)
- let %204 : Int32 = load(%29)
- let %207 : Int32 = load(%110)
- let %208 : Int32 = sub(%204, %207)
- let %213 : Ptr<Vec<Float32,4>,0> = getElementPtr(%63, %208)
- let %214 : Vec<Float32,4> = load(%213)
- let %215 : Vec<Float32,4> = load(%184)
- let %216 : Vec<Float32,4> = add(%215, %214)
- store(%184, %216)
- let %219 : Vec<Float32,4> = load(%184)
- store(%179, %219)
- unconditionalBranch(%132)
+ let %25 : uint = load(%9)
+ let %26 : Ptr<vector<float,4>> = getElementPtr(%1, %25)
+ let %27 : Ptr<vector<float,4>> = var()
+ let %28 : vector<float,4> = load(%26)
+ store(%27, %28)
+ let %29 : uint = load(%9)
+ let %30 : uint = load(%16)
+ let %31 : uint = sub(%29, %30)
+ let %32 : Ptr<vector<float,4>> = getElementPtr(%1, %31)
+ let %33 : vector<float,4> = load(%32)
+ let %34 : vector<float,4> = load(%27)
+ let %35 : vector<float,4> = add(%34, %33)
+ store(%27, %35)
+ let %36 : vector<float,4> = load(%27)
+ store(%26, %36)
+ unconditionalBranch(%20)
-block %132:
- let %232 : Ptr<Int32,0> = var()
- let %233 : Int32 = load(%110)
- store(%232, %233)
- let %244 : Int32 = construct(1)
- let %245 : Int32 = load(%232)
- let %246 : Int32 = shl(%245, %244)
- store(%232, %246)
- let %249 : Int32 = load(%232)
- store(%110, %249)
- unconditionalBranch(%123)
+block %20:
+ let %37 : Ptr<uint> = var()
+ let %38 : uint = load(%16)
+ store(%37, %38)
+ let %39 : uint = construct(1)
+ let %40 : uint = load(%37)
+ let %41 : uint = shl(%40, %39)
+ store(%37, %41)
+ let %42 : uint = load(%37)
+ store(%16, %42)
+ unconditionalBranch(%18)
-block %129:
+block %19:
GroupMemoryBarrierWithGroupSync()
- let %283 : RWStructuredBuffer<Vec<Float32,4>> = load(%282)
- let %286 : Int32 = load(%21)
- let %300 : Ptr<Vec<Float32,4>,0> = getElementPtr(%63, 0)
- let %301 : Vec<Float32,4> = load(%300)
- bufferStore(%283, %286, %301)
+ let %43 : RWStructuredBuffer<vector<float,4>> = load(%3)
+ let %44 : uint = load(%8)
+ let %45 : Ptr<vector<float,4>> = getElementPtr(%1, 0)
+ let %46 : vector<float,4> = load(%45)
+ bufferStore(%43, %44, %46)
return_void()
}
}