Remove .skvm generation support from skslc.
SkVM is being removed; we no longer need to compile golden outputs
for its code generator.
Change-Id: I4ae556a77002843d0eda7a1917fbc5b07440b5b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/687638
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index 213deb4..057cfcc 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -941,12 +941,6 @@
lang = "--skrp"
settings = "--settings"
}
- compile_sksl("skvm_tests") {
- sources = sksl_skvm_tests_sources
- outExtensions = [ ".skvm" ]
- lang = "--skvm"
- settings = "--settings"
- }
compile_sksl("stage_tests") {
sources = sksl_stage_tests_sources
outExtensions = [ ".stage" ]
@@ -976,8 +970,6 @@
}
group("compile_sksl_skrp_tests") {
}
- group("compile_sksl_skvm_tests") {
- }
group("compile_sksl_spirv_tests") {
}
group("compile_sksl_wgsl_tests") {
@@ -1055,7 +1047,6 @@
":compile_sksl_glsl_tests",
":compile_sksl_metal_tests",
":compile_sksl_skrp_tests",
- ":compile_sksl_skvm_tests",
":compile_sksl_spirv_tests",
":gpu_shared",
":minify_sksl",
diff --git a/bazel/exporter/gni_exporter.go b/bazel/exporter/gni_exporter.go
index af1d200..a6dd61c 100644
--- a/bazel/exporter/gni_exporter.go
+++ b/bazel/exporter/gni_exporter.go
@@ -106,8 +106,6 @@
sksl_skrp_tests_sources = sksl_folding_tests + sksl_rte_tests + sksl_shared_tests
-sksl_skvm_tests_sources = sksl_rte_tests + sksl_rte_error_tests
-
sksl_stage_tests_sources = sksl_rte_tests
sksl_minify_tests_sources = sksl_rte_tests + sksl_folding_tests`
diff --git a/gn/compile_sksl_tests.py b/gn/compile_sksl_tests.py
index fd2a52b..4c4349b 100755
--- a/gn/compile_sksl_tests.py
+++ b/gn/compile_sksl_tests.py
@@ -83,10 +83,6 @@
worklist.write(input + "\n")
worklist.write(target + ".skrp\n")
worklist.write(settings + "\n\n")
- elif lang == "--skvm":
- worklist.write(input + "\n")
- worklist.write(target + ".skvm\n")
- worklist.write(settings + "\n\n")
elif lang == "--stage":
worklist.write(input + "\n")
worklist.write(target + ".stage\n")
@@ -97,7 +93,7 @@
worklist.write(settings + "\n\n")
else:
sys.exit("### Expected one of: --glsl --metal --hlsl --spirv --skrp " +
- "--skvm --stage --wgsl, got " + lang)
+ "--stage --wgsl, got " + lang)
# Compile items one at a time.
if not batchCompile:
diff --git a/gn/sksl_tests.gni b/gn/sksl_tests.gni
index ab496cc..117402d 100644
--- a/gn/sksl_tests.gni
+++ b/gn/sksl_tests.gni
@@ -945,8 +945,6 @@
sksl_skrp_tests_sources =
sksl_folding_tests + sksl_rte_tests + sksl_shared_tests
-sksl_skvm_tests_sources = sksl_rte_tests + sksl_rte_error_tests
-
sksl_stage_tests_sources = sksl_rte_tests
sksl_minify_tests_sources = sksl_rte_tests + sksl_folding_tests
diff --git a/infra/bots/task_drivers/check_generated_files/check_generated_files.go b/infra/bots/task_drivers/check_generated_files/check_generated_files.go
index 8136512..2c9c8ca 100644
--- a/infra/bots/task_drivers/check_generated_files/check_generated_files.go
+++ b/infra/bots/task_drivers/check_generated_files/check_generated_files.go
@@ -89,7 +89,6 @@
"compile_glsl_nosettings_tests",
"compile_metal_tests",
"compile_skrp_tests",
- "compile_skvm_tests",
"compile_stage_tests",
"compile_spirv_tests",
"compile_wgsl_tests",
diff --git a/resources/sksl/BUILD.bazel b/resources/sksl/BUILD.bazel
index 970211d..2d0c80d 100644
--- a/resources/sksl/BUILD.bazel
+++ b/resources/sksl/BUILD.bazel
@@ -83,17 +83,6 @@
visibility = ["//tools/skslc:__pkg__"],
)
-## Tests in sksl_skvm_tests_sources will be compiled with --settings on, and are expected to
-## generate a .skvm output file.
-skia_filegroup(
- name = "sksl_skvm_tests_sources",
- srcs = [
- ":sksl_rte_error_tests",
- ":sksl_rte_tests",
- ],
- visibility = ["//tools/skslc:__pkg__"],
-)
-
## Tests in sksl_stage_tests_sources will be compiled with --settings on, and are expected to
## generate a .stage output file.
skia_filegroup(
diff --git a/tests/sksl/runtime/AllowNarrowingConversions.skvm b/tests/sksl/runtime/AllowNarrowingConversions.skvm
deleted file mode 100644
index 8f00020..0000000
--- a/tests/sksl/runtime/AllowNarrowingConversions.skvm
+++ /dev/null
@@ -1,10 +0,0 @@
-4 registers, 8 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-loop:
-4 store32 ptr1 r0
-5 store32 ptr2 r1
-6 store32 ptr3 r2
-7 store32 ptr4 r3
diff --git a/tests/sksl/runtime/ArrayIndexing.skvm b/tests/sksl/runtime/ArrayIndexing.skvm
deleted file mode 100644
index d2c6527..0000000
--- a/tests/sksl/runtime/ArrayIndexing.skvm
+++ /dev/null
@@ -1,285 +0,0 @@
-$0 = u1[0] (float, L3)
-$1 = u1[1] (float, L3)
-$2 = u1[2] (float, L3)
-$3 = u1[3] (float, L3)
-$4 = u2[0] (float, L8)
-$5 = u2[1] (float, L8)
-$6 = u2[2] (float, L8)
-$7 = u2[3] (float, L8)
-$8 = u3[0] (float, L17)
-$9 = u3[1] (float, L17)
-$10 = u3[2] (float, L17)
-$11 = u3[3] (float, L17)
-$12 = u4[0] (float, L26)
-$13 = u4[1] (float, L26)
-$14 = u4[2] (float, L26)
-$15 = u4[3] (float, L26)
-$16 = u4[4] (float, L26)
-$17 = u4[5] (float, L26)
-$18 = u4[6] (float, L26)
-$19 = u4[7] (float, L26)
-$20 = u4[8] (float, L26)
-$21 = u4[9] (float, L26)
-$22 = u4[10] (float, L26)
-$23 = u4[11] (float, L26)
-$24 = u4[12] (float, L26)
-$25 = u4[13] (float, L26)
-$26 = u4[14] (float, L26)
-$27 = u4[15] (float, L26)
-$28 = [main].result (float4 : slot 1/4, L37)
-$29 = [main].result (float4 : slot 2/4, L37)
-$30 = [main].result (float4 : slot 3/4, L37)
-$31 = [main].result (float4 : slot 4/4, L37)
-$32 = xy (float2 : slot 1/2, L37)
-$33 = xy (float2 : slot 2/2, L37)
-$34 = [index_by_literal].result (float, L4)
-$35 = [index_by_loop].result (float, L9)
-$36 = sum (float, L10)
-$37 = i (int, L11)
-$38 = [index_by_complex_loop].result (float, L18)
-$39 = prod (float, L19)
-$40 = i (int, L20)
-$41 = [index_out_of_bounds_checked].result (float, L27)
-$42 = sum (float, L28)
-$43 = f (float, L29)
-F0 = float4 main(float2 xy)
-F1 = float index_by_literal()
-F2 = float index_by_loop()
-F3 = float index_by_complex_loop()
-F4 = float index_out_of_bounds_checked()
-
-54 registers, 233 instructions:
-0 r0 = uniform32 ptr0 0
-1 r1 = splat 3F000000 (0.5)
-2 r0 = add_f32 r0 r1
-3 r2 = uniform32 ptr0 4
-4 r3 = uniform32 ptr0 8
-5 r4 = uniform32 ptr0 C
-6 r5 = uniform32 ptr0 10
-7 r6 = uniform32 ptr0 14
-8 r7 = uniform32 ptr0 18
-9 r8 = uniform32 ptr0 1C
-10 r9 = uniform32 ptr0 20
-11 r10 = uniform32 ptr0 24
-12 r11 = uniform32 ptr0 28
-13 r12 = uniform32 ptr0 2C
-14 r13 = uniform32 ptr0 30
-15 r14 = uniform32 ptr0 34
-16 r15 = uniform32 ptr0 38
-17 r16 = uniform32 ptr0 3C
-18 r17 = uniform32 ptr0 40
-19 r18 = uniform32 ptr0 44
-20 r19 = uniform32 ptr0 48
-21 r20 = uniform32 ptr0 4C
-22 r21 = uniform32 ptr0 50
-23 r22 = uniform32 ptr0 54
-24 r23 = uniform32 ptr0 58
-25 r24 = uniform32 ptr0 5C
-26 r25 = uniform32 ptr0 60
-27 r26 = uniform32 ptr0 64
-28 r27 = uniform32 ptr0 68
-29 r28 = uniform32 ptr0 6C
-30 r29 = uniform32 ptr0 70
-31 r30 = splat 0 (0)
-32 r31 = eq_f32 r0 r1
-33 r32 = splat 3 (4.2038954e-45)
-34 r33 = splat 2 (2.8025969e-45)
-35 r34 = add_f32 r8 r9
-36 r35 = splat 1 (1.4012985e-45)
-37 r36 = add_f32 r7 r34
-38 r37 = add_f32 r6 r36
-39 r38 = splat 3F800000 (1)
-40 r39 = mul_f32 r10 r10
-41 r40 = mul_f32 r12 r39
-42 r41 = mul_f32 r13 r40
-43 r42 = splat C0133333 (-2.3)
-44 r43 = splat 3FB33334 (1.4000001)
-45 r44 = sub_f32 r30 r15
-46 r45 = splat 40A33334 (5.1000004)
-47 r46 = sub_f32 r44 r19
-48 r47 = splat 410CCCCD (8.8000002)
-49 r48 = sub_f32 r46 r22
-50 r49 = splat 41480000 (12.5)
-51 r50 = sub_f32 r48 r26
-52 r51 = splat 4181999A (16.200001)
-loop:
-53 r52 = index
-54 r52 = add_f32 r52 r1
-55 r53 = eq_f32 r52 r1
-56 r53 = bit_and r53 r31
-57 trace_var 0 r53 r53 $0 = r2
-58 trace_var 0 r53 r53 $1 = r3
-59 trace_var 0 r53 r53 $2 = r4
-60 trace_var 0 r53 r53 $3 = r5
-61 trace_var 0 r53 r53 $4 = r6
-62 trace_var 0 r53 r53 $5 = r7
-63 trace_var 0 r53 r53 $6 = r8
-64 trace_var 0 r53 r53 $7 = r9
-65 trace_var 0 r53 r53 $8 = r10
-66 trace_var 0 r53 r53 $9 = r11
-67 trace_var 0 r53 r53 $10 = r12
-68 trace_var 0 r53 r53 $11 = r13
-69 trace_var 0 r53 r53 $12 = r14
-70 trace_var 0 r53 r53 $13 = r15
-71 trace_var 0 r53 r53 $14 = r16
-72 trace_var 0 r53 r53 $15 = r17
-73 trace_var 0 r53 r53 $16 = r18
-74 trace_var 0 r53 r53 $17 = r19
-75 trace_var 0 r53 r53 $18 = r20
-76 trace_var 0 r53 r53 $19 = r21
-77 trace_var 0 r53 r53 $20 = r22
-78 trace_var 0 r53 r53 $21 = r23
-79 trace_var 0 r53 r53 $22 = r24
-80 trace_var 0 r53 r53 $23 = r25
-81 trace_var 0 r53 r53 $24 = r26
-82 trace_var 0 r53 r53 $25 = r27
-83 trace_var 0 r53 r53 $26 = r28
-84 trace_var 0 r53 r53 $27 = r29
-85 trace_enter 0 r53 r53 F0
-86 trace_var 0 r53 r53 $32 = r52
-87 trace_var 0 r53 r53 $33 = r0
-88 trace_scope 0 r53 r53 1
-89 trace_line 0 r53 r53 L38
-90 trace_enter 0 r53 r53 F1
-91 trace_scope 0 r53 r53 1
-92 trace_line 0 r53 r53 L5
-93 trace_var 0 r53 r53 $34 = r2
-94 trace_scope 0 r53 r53 -1
-95 trace_exit 0 r53 r53 F1
-96 trace_enter 0 r53 r53 F2
-97 trace_scope 0 r53 r53 1
-98 trace_line 0 r53 r53 L10
-99 trace_var 0 r53 r53 $36 = r30
-100 trace_line 0 r53 r53 L11
-101 trace_scope 0 r53 r53 1
-102 trace_var 0 r53 r53 $37 = r32
-103 trace_scope 0 r53 r53 1
-104 trace_line 0 r53 r53 L12
-105 trace_var 0 r53 r53 $36 = r9
-106 trace_scope 0 r53 r53 -1
-107 trace_line 0 r53 r53 L11
-108 trace_var 0 r53 r53 $37 = r33
-109 trace_scope 0 r53 r53 1
-110 trace_line 0 r53 r53 L12
-111 trace_var 0 r53 r53 $36 = r34
-112 trace_scope 0 r53 r53 -1
-113 trace_line 0 r53 r53 L11
-114 trace_var 0 r53 r53 $37 = r35
-115 trace_scope 0 r53 r53 1
-116 trace_line 0 r53 r53 L12
-117 trace_var 0 r53 r53 $36 = r36
-118 trace_scope 0 r53 r53 -1
-119 trace_line 0 r53 r53 L11
-120 trace_var 0 r53 r53 $37 = r30
-121 trace_scope 0 r53 r53 1
-122 trace_line 0 r53 r53 L12
-123 trace_var 0 r53 r53 $36 = r37
-124 trace_scope 0 r53 r53 -1
-125 trace_line 0 r53 r53 L11
-126 trace_scope 0 r53 r53 -1
-127 trace_line 0 r53 r53 L14
-128 trace_var 0 r53 r53 $35 = r37
-129 trace_scope 0 r53 r53 -1
-130 trace_exit 0 r53 r53 F2
-131 trace_enter 0 r53 r53 F3
-132 trace_scope 0 r53 r53 1
-133 trace_line 0 r53 r53 L19
-134 trace_var 0 r53 r53 $39 = r38
-135 trace_line 0 r53 r53 L20
-136 trace_scope 0 r53 r53 1
-137 trace_var 0 r53 r53 $40 = r30
-138 trace_scope 0 r53 r53 1
-139 trace_line 0 r53 r53 L21
-140 trace_var 0 r53 r53 $39 = r10
-141 trace_scope 0 r53 r53 -1
-142 trace_line 0 r53 r53 L20
-143 trace_var 0 r53 r53 $40 = r35
-144 trace_scope 0 r53 r53 1
-145 trace_line 0 r53 r53 L21
-146 trace_var 0 r53 r53 $39 = r39
-147 trace_scope 0 r53 r53 -1
-148 trace_line 0 r53 r53 L20
-149 trace_var 0 r53 r53 $40 = r33
-150 trace_scope 0 r53 r53 1
-151 trace_line 0 r53 r53 L21
-152 trace_var 0 r53 r53 $39 = r40
-153 trace_scope 0 r53 r53 -1
-154 trace_line 0 r53 r53 L20
-155 trace_var 0 r53 r53 $40 = r32
-156 trace_scope 0 r53 r53 1
-157 trace_line 0 r53 r53 L21
-158 trace_var 0 r53 r53 $39 = r41
-159 trace_scope 0 r53 r53 -1
-160 trace_line 0 r53 r53 L20
-161 trace_scope 0 r53 r53 -1
-162 trace_line 0 r53 r53 L23
-163 trace_var 0 r53 r53 $38 = r41
-164 trace_scope 0 r53 r53 -1
-165 trace_exit 0 r53 r53 F3
-166 trace_enter 0 r53 r53 F4
-167 trace_scope 0 r53 r53 1
-168 trace_line 0 r53 r53 L28
-169 trace_var 0 r53 r53 $42 = r30
-170 trace_line 0 r53 r53 L29
-171 trace_scope 0 r53 r53 1
-172 trace_var 0 r53 r53 $43 = r42
-173 trace_scope 0 r53 r53 1
-174 trace_line 0 r53 r53 L30
-175 trace_scope 0 r53 r53 -1
-176 trace_line 0 r53 r53 L29
-177 trace_var 0 r53 r53 $43 = r43
-178 trace_scope 0 r53 r53 1
-179 trace_line 0 r53 r53 L30
-180 trace_scope 0 r53 r53 1
-181 trace_line 0 r53 r53 L31
-182 trace_var 0 r53 r53 $42 = r44
-183 trace_scope 0 r53 r53 -1
-184 trace_scope 0 r53 r53 -1
-185 trace_line 0 r53 r53 L29
-186 trace_var 0 r53 r53 $43 = r45
-187 trace_scope 0 r53 r53 1
-188 trace_line 0 r53 r53 L30
-189 trace_scope 0 r53 r53 1
-190 trace_line 0 r53 r53 L31
-191 trace_var 0 r53 r53 $42 = r46
-192 trace_scope 0 r53 r53 -1
-193 trace_scope 0 r53 r53 -1
-194 trace_line 0 r53 r53 L29
-195 trace_var 0 r53 r53 $43 = r47
-196 trace_scope 0 r53 r53 1
-197 trace_line 0 r53 r53 L30
-198 trace_scope 0 r53 r53 1
-199 trace_line 0 r53 r53 L31
-200 trace_var 0 r53 r53 $42 = r48
-201 trace_scope 0 r53 r53 -1
-202 trace_scope 0 r53 r53 -1
-203 trace_line 0 r53 r53 L29
-204 trace_var 0 r53 r53 $43 = r49
-205 trace_scope 0 r53 r53 1
-206 trace_line 0 r53 r53 L30
-207 trace_scope 0 r53 r53 1
-208 trace_line 0 r53 r53 L31
-209 trace_var 0 r53 r53 $42 = r50
-210 trace_scope 0 r53 r53 -1
-211 trace_scope 0 r53 r53 -1
-212 trace_line 0 r53 r53 L29
-213 trace_var 0 r53 r53 $43 = r51
-214 trace_scope 0 r53 r53 1
-215 trace_line 0 r53 r53 L30
-216 trace_scope 0 r53 r53 -1
-217 trace_line 0 r53 r53 L29
-218 trace_scope 0 r53 r53 -1
-219 trace_line 0 r53 r53 L34
-220 trace_var 0 r53 r53 $41 = r50
-221 trace_scope 0 r53 r53 -1
-222 trace_exit 0 r53 r53 F4
-223 trace_var 0 r53 r53 $28 = r2
-224 trace_var 0 r53 r53 $29 = r37
-225 trace_var 0 r53 r53 $30 = r41
-226 trace_var 0 r53 r53 $31 = r50
-227 trace_scope 0 r53 r53 -1
-228 trace_exit 0 r53 r53 F0
-229 store32 ptr1 r2
-230 store32 ptr2 r37
-231 store32 ptr3 r41
-232 store32 ptr4 r50
diff --git a/tests/sksl/runtime/ArrayNarrowingConversions.skvm b/tests/sksl/runtime/ArrayNarrowingConversions.skvm
deleted file mode 100644
index 8f00020..0000000
--- a/tests/sksl/runtime/ArrayNarrowingConversions.skvm
+++ /dev/null
@@ -1,10 +0,0 @@
-4 registers, 8 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-loop:
-4 store32 ptr1 r0
-5 store32 ptr2 r1
-6 store32 ptr3 r2
-7 store32 ptr4 r3
diff --git a/tests/sksl/runtime/Blend.skvm b/tests/sksl/runtime/Blend.skvm
deleted file mode 100644
index 8a5c56a..0000000
--- a/tests/sksl/runtime/Blend.skvm
+++ /dev/null
@@ -1,28 +0,0 @@
-10 registers, 26 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-4 r4 = uniform32 ptr0 14
-5 r5 = uniform32 ptr0 18
-6 r6 = uniform32 ptr0 1C
-7 r7 = uniform32 ptr0 20
-8 r8 = splat 3F800000 (1)
-9 r9 = sub_f32 r8 r3
-10 r4 = sub_f32 r8 r4
-11 r5 = sub_f32 r8 r5
-12 r6 = sub_f32 r8 r6
-13 r7 = sub_f32 r8 r7
-14 r4 = mul_f32 r9 r4
-15 r5 = mul_f32 r9 r5
-16 r6 = mul_f32 r9 r6
-17 r7 = mul_f32 r9 r7
-18 r4 = add_f32 r0 r4
-19 r5 = add_f32 r1 r5
-20 r6 = add_f32 r2 r6
-21 r7 = add_f32 r3 r7
-loop:
-22 store32 ptr1 r4
-23 store32 ptr2 r5
-24 store32 ptr3 r6
-25 store32 ptr4 r7
diff --git a/tests/sksl/runtime/ChildEffects.skvm b/tests/sksl/runtime/ChildEffects.skvm
deleted file mode 100644
index 0e1421e..0000000
--- a/tests/sksl/runtime/ChildEffects.skvm
+++ /dev/null
@@ -1,48 +0,0 @@
-16 registers, 46 instructions:
-0 r0 = uniform32 ptr0 0
-1 r1 = splat 3F000000 (0.5)
-2 r0 = add_f32 r0 r1
-3 r2 = uniform32 ptr0 C
-4 r3 = uniform32 ptr0 18
-5 r0 = trunc r0
-6 r2 = mul_i32 r2 r0
-7 r4 = splat 1 (1.4012985e-45)
-8 r5 = splat 2 (2.8025969e-45)
-9 r6 = splat 3 (4.2038954e-45)
-10 r0 = mul_i32 r3 r0
-11 r3 = splat 3F800000 (1)
-loop:
-12 r7 = index
-13 r7 = add_f32 r7 r1
-14 r7 = trunc r7
-15 r8 = add_i32 r7 r2
-16 r8 = shl_i32 r8 2
-17 r9 = gather32 ptr0 4 r8
-18 r10 = add_i32 r8 r4
-19 r10 = gather32 ptr0 4 r10
-20 r11 = add_i32 r8 r5
-21 r11 = gather32 ptr0 4 r11
-22 r8 = add_i32 r8 r6
-23 r8 = gather32 ptr0 4 r8
-24 r7 = add_i32 r7 r0
-25 r7 = shl_i32 r7 2
-26 r12 = gather32 ptr0 10 r7
-27 r13 = add_i32 r7 r4
-28 r13 = gather32 ptr0 10 r13
-29 r14 = add_i32 r7 r5
-30 r14 = gather32 ptr0 10 r14
-31 r7 = add_i32 r7 r6
-32 r7 = gather32 ptr0 10 r7
-33 r15 = sub_f32 r3 r8
-34 r12 = mul_f32 r12 r15
-35 r12 = add_f32 r9 r12
-36 r13 = mul_f32 r13 r15
-37 r13 = add_f32 r10 r13
-38 r14 = mul_f32 r14 r15
-39 r14 = add_f32 r11 r14
-40 r15 = mul_f32 r7 r15
-41 r15 = add_f32 r8 r15
-42 store32 ptr1 r12
-43 store32 ptr2 r13
-44 store32 ptr3 r14
-45 store32 ptr4 r15
diff --git a/tests/sksl/runtime/Commutative.skvm b/tests/sksl/runtime/Commutative.skvm
deleted file mode 100644
index ee00334..0000000
--- a/tests/sksl/runtime/Commutative.skvm
+++ /dev/null
@@ -1,111 +0,0 @@
-$0 = colorGreen (float4 : slot 1/4, L6)
-$1 = colorGreen (float4 : slot 2/4, L6)
-$2 = colorGreen (float4 : slot 3/4, L6)
-$3 = colorGreen (float4 : slot 4/4, L6)
-$4 = colorRed (float4 : slot 1/4, L6)
-$5 = colorRed (float4 : slot 2/4, L6)
-$6 = colorRed (float4 : slot 3/4, L6)
-$7 = colorRed (float4 : slot 4/4, L6)
-$8 = testMatrix2x2 (float2x2 : slot 1/4, L7)
-$9 = testMatrix2x2 (float2x2 : slot 2/4, L7)
-$10 = testMatrix2x2 (float2x2 : slot 3/4, L7)
-$11 = testMatrix2x2 (float2x2 : slot 4/4, L7)
-$12 = [main].result (float4 : slot 1/4, L9)
-$13 = [main].result (float4 : slot 2/4, L9)
-$14 = [main].result (float4 : slot 3/4, L9)
-$15 = [main].result (float4 : slot 4/4, L9)
-$16 = xy (float2 : slot 1/2, L9)
-$17 = xy (float2 : slot 2/2, L9)
-$18 = ok (bool, L10)
-$19 = a (int, L11)
-$20 = b (int, L11)
-$21 = c (float, L12)
-$22 = d (float, L12)
-$23 = a_and_b (int, L14)
-$24 = b_and_a (int, L15)
-$25 = a_or_b (int, L18)
-$26 = b_or_a (int, L19)
-$27 = a_xor_b (int, L22)
-$28 = b_xor_a (int, L23)
-$29 = a_eq_b (bool, L26)
-$30 = b_eq_a (bool, L27)
-$31 = a_neq_b (bool, L30)
-$32 = b_neq_a (bool, L31)
-$33 = a_add_b (int, L34)
-$34 = b_add_a (int, L35)
-$35 = c_add_d (float, L38)
-$36 = d_add_c (float, L39)
-$37 = a_mul_b (int, L42)
-$38 = b_mul_a (int, L43)
-$39 = c_mul_d (float, L46)
-$40 = d_mul_c (float, L47)
-F0 = half4 main(float2 xy)
-
-13 registers, 66 instructions:
-0 r0 = uniform32 ptr0 0
-1 r1 = splat 3F000000 (0.5)
-2 r0 = add_f32 r0 r1
-3 r2 = uniform32 ptr0 4
-4 r3 = uniform32 ptr0 8
-5 r4 = uniform32 ptr0 C
-6 r5 = uniform32 ptr0 10
-7 r6 = uniform32 ptr0 14
-8 r7 = uniform32 ptr0 18
-9 r8 = uniform32 ptr0 1C
-10 r9 = uniform32 ptr0 20
-11 r10 = uniform32 ptr0 2C
-12 r11 = uniform32 ptr0 30
-13 r0 = eq_f32 r0 r1
-14 r12 = add_f32 r10 r11
-15 r12 = eq_f32 r12 r12
-16 r11 = mul_f32 r10 r11
-17 r11 = eq_f32 r11 r11
-18 r11 = bit_and r12 r11
-19 r6 = select r11 r2 r6
-20 r7 = select r11 r3 r7
-21 r8 = select r11 r4 r8
-22 r9 = select r11 r5 r9
-loop:
-23 r5 = index
-24 r5 = add_f32 r5 r1
-25 r5 = eq_f32 r5 r1
-26 r5 = bit_and r5 r0
-27 trace_enter 0 r5 r5 F0
-28 trace_scope 0 r5 r5 1
-29 trace_line 0 r5 r5 L10
-30 trace_line 0 r5 r5 L11
-31 trace_line 0 r5 r5 L12
-32 trace_line 0 r5 r5 L14
-33 trace_line 0 r5 r5 L15
-34 trace_line 0 r5 r5 L16
-35 trace_line 0 r5 r5 L18
-36 trace_line 0 r5 r5 L19
-37 trace_line 0 r5 r5 L20
-38 trace_line 0 r5 r5 L22
-39 trace_line 0 r5 r5 L23
-40 trace_line 0 r5 r5 L24
-41 trace_line 0 r5 r5 L26
-42 trace_line 0 r5 r5 L27
-43 trace_line 0 r5 r5 L28
-44 trace_line 0 r5 r5 L30
-45 trace_line 0 r5 r5 L31
-46 trace_line 0 r5 r5 L32
-47 trace_line 0 r5 r5 L34
-48 trace_line 0 r5 r5 L35
-49 trace_line 0 r5 r5 L36
-50 trace_line 0 r5 r5 L38
-51 trace_line 0 r5 r5 L39
-52 trace_line 0 r5 r5 L40
-53 trace_line 0 r5 r5 L42
-54 trace_line 0 r5 r5 L43
-55 trace_line 0 r5 r5 L44
-56 trace_line 0 r5 r5 L46
-57 trace_line 0 r5 r5 L47
-58 trace_line 0 r5 r5 L48
-59 trace_line 0 r5 r5 L50
-60 trace_scope 0 r5 r5 -1
-61 trace_exit 0 r5 r5 F0
-62 store32 ptr1 r6
-63 store32 ptr2 r7
-64 store32 ptr3 r8
-65 store32 ptr4 r9
diff --git a/tests/sksl/runtime/ConstPreservation.skvm b/tests/sksl/runtime/ConstPreservation.skvm
deleted file mode 100644
index 6cdeab8..0000000
--- a/tests/sksl/runtime/ConstPreservation.skvm
+++ /dev/null
@@ -1,8 +0,0 @@
-2 registers, 6 instructions:
-0 r0 = splat 0 (0)
-1 r1 = splat 3F800000 (1)
-loop:
-2 store32 ptr1 r0
-3 store32 ptr2 r1
-4 store32 ptr3 r0
-5 store32 ptr4 r1
diff --git a/tests/sksl/runtime/ConversionConstructors.skvm b/tests/sksl/runtime/ConversionConstructors.skvm
deleted file mode 100644
index 68f2b9d..0000000
--- a/tests/sksl/runtime/ConversionConstructors.skvm
+++ /dev/null
@@ -1,7 +0,0 @@
-1 registers, 5 instructions:
-0 r0 = splat 0 (0)
-loop:
-1 store32 ptr1 r0
-2 store32 ptr2 r0
-3 store32 ptr3 r0
-4 store32 ptr4 r0
diff --git a/tests/sksl/runtime/DivideByZero.skvm b/tests/sksl/runtime/DivideByZero.skvm
deleted file mode 100644
index 68b6b19..0000000
--- a/tests/sksl/runtime/DivideByZero.skvm
+++ /dev/null
@@ -1,29 +0,0 @@
-10 registers, 27 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-4 r4 = uniform32 ptr0 14
-5 r5 = uniform32 ptr0 18
-6 r6 = uniform32 ptr0 1C
-7 r7 = uniform32 ptr0 20
-8 r8 = trunc r1
-9 r9 = trunc r0
-10 r8 = to_f32 r8
-11 r9 = to_f32 r9
-12 r8 = div_f32 r8 r9
-13 r8 = trunc r8
-14 r9 = div_f32 r9 r9
-15 r9 = trunc r9
-16 r9 = add_i32 r8 r9
-17 r8 = splat 96B43F (1.3839985e-38)
-18 r8 = eq_i32 r9 r8
-19 r0 = select r8 r4 r0
-20 r1 = select r8 r5 r1
-21 r2 = select r8 r6 r2
-22 r3 = select r8 r7 r3
-loop:
-23 store32 ptr1 r0
-24 store32 ptr2 r1
-25 store32 ptr3 r2
-26 store32 ptr4 r3
diff --git a/tests/sksl/runtime/GLSLTypeNames.skvm b/tests/sksl/runtime/GLSLTypeNames.skvm
deleted file mode 100644
index 68f2b9d..0000000
--- a/tests/sksl/runtime/GLSLTypeNames.skvm
+++ /dev/null
@@ -1,7 +0,0 @@
-1 registers, 5 instructions:
-0 r0 = splat 0 (0)
-loop:
-1 store32 ptr1 r0
-2 store32 ptr2 r0
-3 store32 ptr3 r0
-4 store32 ptr4 r0
diff --git a/tests/sksl/runtime/GlobalVariables.skvm b/tests/sksl/runtime/GlobalVariables.skvm
deleted file mode 100644
index 67408b2..0000000
--- a/tests/sksl/runtime/GlobalVariables.skvm
+++ /dev/null
@@ -1,49 +0,0 @@
-$0 = gInitialized (float, L3)
-$1 = gInitializedFromOther (float, L4)
-$2 = gUninitialized (float, L5)
-$3 = [main].result (float4 : slot 1/4, L11)
-$4 = [main].result (float4 : slot 2/4, L11)
-$5 = [main].result (float4 : slot 3/4, L11)
-$6 = [main].result (float4 : slot 4/4, L11)
-$7 = xy (float2 : slot 1/2, L11)
-$8 = xy (float2 : slot 2/2, L11)
-F0 = float4 main(float2 xy)
-F1 = void init_globals()
-
-8 registers, 35 instructions:
-0 r0 = uniform32 ptr0 0
-1 r1 = splat 3F000000 (0.5)
-2 r0 = add_f32 r0 r1
-3 r2 = splat 0 (0)
-4 r3 = eq_f32 r0 r1
-5 r4 = splat BF800000 (-1)
-6 r5 = splat 3F800000 (1)
-loop:
-7 r6 = index
-8 r6 = add_f32 r6 r1
-9 r7 = eq_f32 r6 r1
-10 r7 = bit_and r7 r3
-11 trace_var 0 r7 r7 $0 = r4
-12 trace_var 0 r7 r7 $1 = r5
-13 trace_enter 0 r7 r7 F0
-14 trace_var 0 r7 r7 $7 = r6
-15 trace_var 0 r7 r7 $8 = r0
-16 trace_scope 0 r7 r7 1
-17 trace_line 0 r7 r7 L12
-18 trace_enter 0 r7 r7 F1
-19 trace_scope 0 r7 r7 1
-20 trace_line 0 r7 r7 L8
-21 trace_var 0 r7 r7 $2 = r5
-22 trace_scope 0 r7 r7 -1
-23 trace_exit 0 r7 r7 F1
-24 trace_line 0 r7 r7 L13
-25 trace_var 0 r7 r7 $3 = r2
-26 trace_var 0 r7 r7 $4 = r5
-27 trace_var 0 r7 r7 $5 = r2
-28 trace_var 0 r7 r7 $6 = r5
-29 trace_scope 0 r7 r7 -1
-30 trace_exit 0 r7 r7 F0
-31 store32 ptr1 r2
-32 store32 ptr2 r5
-33 store32 ptr3 r2
-34 store32 ptr4 r5
diff --git a/tests/sksl/runtime/HSLColorFilter.skvm b/tests/sksl/runtime/HSLColorFilter.skvm
deleted file mode 100644
index 2e777ca..0000000
--- a/tests/sksl/runtime/HSLColorFilter.skvm
+++ /dev/null
@@ -1,58 +0,0 @@
-10 registers, 56 instructions:
-0 r0 = splat 3F000000 (0.5)
-1 r1 = uniform32 ptr0 4
-2 r2 = uniform32 ptr0 8
-3 r3 = uniform32 ptr0 C
-4 r4 = splat 0 (0)
-5 r5 = splat 3F800000 (1)
-6 r6 = splat 40000000 (2)
-7 r6 = mul_f32 r3 r6
-8 r6 = sub_f32 r6 r5
-9 r7 = splat 7FFFFFFF (nan)
-10 r6 = bit_and r6 r7
-11 r6 = sub_f32 r5 r6
-12 r6 = mul_f32 r2 r6
-13 r2 = splat 3F2AAAAB (0.66666669)
-14 r8 = splat 3EAAAAAB (0.33333334)
-15 r2 = add_f32 r1 r2
-16 r8 = add_f32 r1 r8
-17 r9 = floor r1
-18 r9 = sub_f32 r1 r9
-19 r1 = floor r2
-20 r1 = sub_f32 r2 r1
-21 r2 = floor r8
-22 r2 = sub_f32 r8 r2
-23 r8 = splat 40C00000 (6)
-24 r9 = mul_f32 r9 r8
-25 r1 = mul_f32 r1 r8
-26 r8 = mul_f32 r2 r8
-27 r2 = splat 40400000 (3)
-28 r9 = sub_f32 r9 r2
-29 r1 = sub_f32 r1 r2
-30 r2 = sub_f32 r8 r2
-31 r9 = bit_and r9 r7
-32 r1 = bit_and r1 r7
-33 r7 = bit_and r2 r7
-34 r9 = sub_f32 r9 r5
-35 r1 = sub_f32 r1 r5
-36 r7 = sub_f32 r7 r5
-37 r9 = min_f32 r9 r5
-38 r9 = max_f32 r4 r9
-39 r1 = min_f32 r1 r5
-40 r1 = max_f32 r4 r1
-41 r7 = min_f32 r7 r5
-42 r7 = max_f32 r4 r7
-43 r9 = sub_f32 r9 r0
-44 r1 = sub_f32 r1 r0
-45 r0 = sub_f32 r7 r0
-46 r9 = mul_f32 r6 r9
-47 r1 = mul_f32 r6 r1
-48 r0 = mul_f32 r6 r0
-49 r9 = add_f32 r3 r9
-50 r1 = add_f32 r3 r1
-51 r0 = add_f32 r3 r0
-loop:
-52 store32 ptr1 r9
-53 store32 ptr2 r1
-54 store32 ptr3 r0
-55 store32 ptr4 r5
diff --git a/tests/sksl/runtime/LargeProgram_BlocklessLoops.skvm b/tests/sksl/runtime/LargeProgram_BlocklessLoops.skvm
deleted file mode 100644
index 68f2b9d..0000000
--- a/tests/sksl/runtime/LargeProgram_BlocklessLoops.skvm
+++ /dev/null
@@ -1,7 +0,0 @@
-1 registers, 5 instructions:
-0 r0 = splat 0 (0)
-loop:
-1 store32 ptr1 r0
-2 store32 ptr2 r0
-3 store32 ptr3 r0
-4 store32 ptr4 r0
diff --git a/tests/sksl/runtime/LargeProgram_FlatLoop.skvm b/tests/sksl/runtime/LargeProgram_FlatLoop.skvm
deleted file mode 100644
index 68f2b9d..0000000
--- a/tests/sksl/runtime/LargeProgram_FlatLoop.skvm
+++ /dev/null
@@ -1,7 +0,0 @@
-1 registers, 5 instructions:
-0 r0 = splat 0 (0)
-loop:
-1 store32 ptr1 r0
-2 store32 ptr2 r0
-3 store32 ptr3 r0
-4 store32 ptr4 r0
diff --git a/tests/sksl/runtime/LargeProgram_Functions.skvm b/tests/sksl/runtime/LargeProgram_Functions.skvm
deleted file mode 100644
index 68f2b9d..0000000
--- a/tests/sksl/runtime/LargeProgram_Functions.skvm
+++ /dev/null
@@ -1,7 +0,0 @@
-1 registers, 5 instructions:
-0 r0 = splat 0 (0)
-loop:
-1 store32 ptr1 r0
-2 store32 ptr2 r0
-3 store32 ptr3 r0
-4 store32 ptr4 r0
diff --git a/tests/sksl/runtime/LargeProgram_NestedLoops.skvm b/tests/sksl/runtime/LargeProgram_NestedLoops.skvm
deleted file mode 100644
index 68f2b9d..0000000
--- a/tests/sksl/runtime/LargeProgram_NestedLoops.skvm
+++ /dev/null
@@ -1,7 +0,0 @@
-1 registers, 5 instructions:
-0 r0 = splat 0 (0)
-loop:
-1 store32 ptr1 r0
-2 store32 ptr2 r0
-3 store32 ptr3 r0
-4 store32 ptr4 r0
diff --git a/tests/sksl/runtime/LargeProgram_SplitLoops.skvm b/tests/sksl/runtime/LargeProgram_SplitLoops.skvm
deleted file mode 100644
index 68f2b9d..0000000
--- a/tests/sksl/runtime/LargeProgram_SplitLoops.skvm
+++ /dev/null
@@ -1,7 +0,0 @@
-1 registers, 5 instructions:
-0 r0 = splat 0 (0)
-loop:
-1 store32 ptr1 r0
-2 store32 ptr2 r0
-3 store32 ptr3 r0
-4 store32 ptr4 r0
diff --git a/tests/sksl/runtime/LargeProgram_StackDepth.skvm b/tests/sksl/runtime/LargeProgram_StackDepth.skvm
deleted file mode 100644
index bd485e5..0000000
--- a/tests/sksl/runtime/LargeProgram_StackDepth.skvm
+++ /dev/null
@@ -1,7 +0,0 @@
-1 registers, 5 instructions:
-0 r0 = splat 3F800000 (1)
-loop:
-1 store32 ptr1 r0
-2 store32 ptr2 r0
-3 store32 ptr3 r0
-4 store32 ptr4 r0
diff --git a/tests/sksl/runtime/LargeProgram_ZeroIterFor.skvm b/tests/sksl/runtime/LargeProgram_ZeroIterFor.skvm
deleted file mode 100644
index 68f2b9d..0000000
--- a/tests/sksl/runtime/LargeProgram_ZeroIterFor.skvm
+++ /dev/null
@@ -1,7 +0,0 @@
-1 registers, 5 instructions:
-0 r0 = splat 0 (0)
-loop:
-1 store32 ptr1 r0
-2 store32 ptr2 r0
-3 store32 ptr3 r0
-4 store32 ptr4 r0
diff --git a/tests/sksl/runtime/LoopFloat.skvm b/tests/sksl/runtime/LoopFloat.skvm
deleted file mode 100644
index 4fa240c..0000000
--- a/tests/sksl/runtime/LoopFloat.skvm
+++ /dev/null
@@ -1,1014 +0,0 @@
-$0 = colorRed (float4 : slot 1/4, L3)
-$1 = colorRed (float4 : slot 2/4, L3)
-$2 = colorRed (float4 : slot 3/4, L3)
-$3 = colorRed (float4 : slot 4/4, L3)
-$4 = colorGreen (float4 : slot 1/4, L3)
-$5 = colorGreen (float4 : slot 2/4, L3)
-$6 = colorGreen (float4 : slot 3/4, L3)
-$7 = colorGreen (float4 : slot 4/4, L3)
-$8 = kZero (float, L6)
-$9 = kTen (float, L15)
-$10 = [main].result (float4 : slot 1/4, L115)
-$11 = [main].result (float4 : slot 2/4, L115)
-$12 = [main].result (float4 : slot 3/4, L115)
-$13 = [main].result (float4 : slot 4/4, L115)
-$14 = pos (float2 : slot 1/2, L115)
-$15 = pos (float2 : slot 2/2, L115)
-$16 = five (float, L116)
-$17 = [return_loop].result (float, L7)
-$18 = five (float, L7)
-$19 = i (float, L8)
-$20 = [continue_loop].result (float, L16)
-$21 = five (float, L16)
-$22 = sum (float, L17)
-$23 = i (float, L18)
-$24 = [break_loop].result (float, L26)
-$25 = five (float, L26)
-$26 = sum (float, L27)
-$27 = kOne (float, L28)
-$28 = i (float, L29)
-$29 = [float_loop].result (float, L37)
-$30 = sum (float, L38)
-$31 = i (float, L39)
-$32 = [loop_operator_le].result (bool, L45)
-$33 = result (float4 : slot 1/4, L50)
-$34 = result (float4 : slot 2/4, L50)
-$35 = result (float4 : slot 3/4, L50)
-$36 = result (float4 : slot 4/4, L50)
-$37 = i (float, L51)
-$38 = [loop_operator_lt].result (bool, L57)
-$39 = result (float4 : slot 1/4, L62)
-$40 = result (float4 : slot 2/4, L62)
-$41 = result (float4 : slot 3/4, L62)
-$42 = result (float4 : slot 4/4, L62)
-$43 = i (float, L63)
-$44 = [loop_operator_ge].result (bool, L69)
-$45 = result (float4 : slot 1/4, L74)
-$46 = result (float4 : slot 2/4, L74)
-$47 = result (float4 : slot 3/4, L74)
-$48 = result (float4 : slot 4/4, L74)
-$49 = i (float, L75)
-$50 = [loop_operator_gt].result (bool, L81)
-$51 = result (float4 : slot 1/4, L86)
-$52 = result (float4 : slot 2/4, L86)
-$53 = result (float4 : slot 3/4, L86)
-$54 = result (float4 : slot 4/4, L86)
-$55 = i (float, L87)
-$56 = [loop_operator_eq].result (bool, L104)
-$57 = result (float4 : slot 1/4, L108)
-$58 = result (float4 : slot 2/4, L108)
-$59 = result (float4 : slot 3/4, L108)
-$60 = result (float4 : slot 4/4, L108)
-$61 = i (float, L109)
-$62 = [loop_operator_ne].result (bool, L93)
-$63 = result (float4 : slot 1/4, L97)
-$64 = result (float4 : slot 2/4, L97)
-$65 = result (float4 : slot 3/4, L97)
-$66 = result (float4 : slot 4/4, L97)
-$67 = i (float, L98)
-F0 = half4 main(float2 pos)
-F1 = float return_loop(float five)
-F2 = float continue_loop(float five)
-F3 = float break_loop(float five)
-F4 = float float_loop()
-F5 = bool loop_operator_le()
-F6 = bool loop_operator_lt()
-F7 = bool loop_operator_ge()
-F8 = bool loop_operator_gt()
-F9 = bool loop_operator_eq()
-F10 = bool loop_operator_ne()
-
-42 registers, 932 instructions:
-0 r0 = uniform32 ptr0 0
-1 r1 = splat 3F000000 (0.5)
-2 r0 = add_f32 r0 r1
-3 r2 = uniform32 ptr0 4
-4 r3 = uniform32 ptr0 8
-5 r4 = uniform32 ptr0 C
-6 r5 = uniform32 ptr0 10
-7 r6 = uniform32 ptr0 14
-8 r7 = uniform32 ptr0 18
-9 r8 = uniform32 ptr0 1C
-10 r9 = uniform32 ptr0 20
-11 r10 = splat 0 (0)
-12 r11 = splat FFFFFFFF (nan)
-13 r12 = eq_f32 r0 r1
-14 r13 = splat 41200000 (10)
-15 r14 = splat 40A00000 (5)
-16 r15 = splat 3F800000 (1)
-17 r16 = splat 40000000 (2)
-18 r17 = splat 40400000 (3)
-19 r18 = splat 40800000 (4)
-20 r19 = splat 40C00000 (6)
-21 r20 = splat 40E00000 (7)
-22 r21 = splat 41000000 (8)
-23 r22 = splat 41100000 (9)
-24 r23 = splat 420C0000 (35)
-25 r24 = splat 41700000 (15)
-26 r25 = splat 3DFBE76D (0.123)
-27 r26 = splat 3E6F9DB2 (0.234)
-28 r27 = splat 3EB0A3D7 (0.345)
-29 r28 = splat 3EE978D5 (0.456)
-30 r29 = splat 3F1126EA (0.56700003)
-31 r30 = splat 3FDCCCCD (1.725)
-32 r31 = splat 7FFFFFFF (nan)
-33 r32 = splat 3CCCCCCD (0.025)
-loop:
-34 r33 = index
-35 r33 = add_f32 r33 r1
-36 r34 = eq_f32 r33 r1
-37 r34 = bit_and r34 r12
-38 trace_var 0 r34 r34 $0 = r2
-39 trace_var 0 r34 r34 $1 = r3
-40 trace_var 0 r34 r34 $2 = r4
-41 trace_var 0 r34 r34 $3 = r5
-42 trace_var 0 r34 r34 $4 = r6
-43 trace_var 0 r34 r34 $5 = r7
-44 trace_var 0 r34 r34 $6 = r8
-45 trace_var 0 r34 r34 $7 = r9
-46 trace_var 0 r34 r34 $8 = r10
-47 trace_var 0 r34 r34 $9 = r13
-48 trace_enter 0 r34 r34 F0
-49 trace_var 0 r34 r34 $14 = r33
-50 trace_var 0 r34 r34 $15 = r0
-51 trace_scope 0 r34 r34 1
-52 trace_line 0 r34 r34 L116
-53 r33 = min_f32 r33 r9
-54 r33 = max_f32 r7 r33
-55 r33 = mul_f32 r33 r14
-56 trace_var 0 r34 r34 $16 = r33
-57 trace_line 0 r34 r34 L117
-58 trace_enter 0 r34 r34 F1
-59 trace_var 0 r34 r34 $18 = r33
-60 trace_scope 0 r34 r34 1
-61 trace_line 0 r34 r34 L8
-62 trace_scope 0 r34 r34 1
-63 trace_var 0 r34 r34 $19 = r10
-64 trace_scope 0 r34 r34 1
-65 trace_line 0 r34 r34 L9
-66 r35 = eq_f32 r33 r10
-67 trace_scope 0 r35 r34 1
-68 trace_line 0 r35 r34 L9
-69 trace_var 0 r35 r34 $17 = r10
-70 trace_scope 0 r35 r34 -1
-71 trace_scope 0 r34 r34 -1
-72 r36 = bit_xor r35 r11
-73 trace_line 0 r36 r34 L8
-74 trace_var 0 r36 r34 $19 = r15
-75 trace_scope 0 r36 r34 1
-76 trace_line 0 r36 r34 L9
-77 r37 = eq_f32 r33 r15
-78 r37 = bit_clear r37 r35
-79 trace_scope 0 r37 r34 1
-80 trace_line 0 r37 r34 L9
-81 r38 = bit_and r37 r15
-82 trace_var 0 r37 r34 $17 = r38
-83 r35 = bit_or r35 r37
-84 trace_scope 0 r37 r34 -1
-85 trace_scope 0 r36 r34 -1
-86 r36 = bit_xor r35 r11
-87 trace_line 0 r36 r34 L8
-88 trace_var 0 r36 r34 $19 = r16
-89 trace_scope 0 r36 r34 1
-90 trace_line 0 r36 r34 L9
-91 r37 = eq_f32 r33 r16
-92 r37 = bit_clear r37 r35
-93 trace_scope 0 r37 r34 1
-94 trace_line 0 r37 r34 L9
-95 r38 = select r37 r16 r38
-96 trace_var 0 r37 r34 $17 = r38
-97 r35 = bit_or r35 r37
-98 trace_scope 0 r37 r34 -1
-99 trace_scope 0 r36 r34 -1
-100 r36 = bit_xor r35 r11
-101 trace_line 0 r36 r34 L8
-102 trace_var 0 r36 r34 $19 = r17
-103 trace_scope 0 r36 r34 1
-104 trace_line 0 r36 r34 L9
-105 r37 = eq_f32 r33 r17
-106 r37 = bit_clear r37 r35
-107 trace_scope 0 r37 r34 1
-108 trace_line 0 r37 r34 L9
-109 r38 = select r37 r17 r38
-110 trace_var 0 r37 r34 $17 = r38
-111 r35 = bit_or r35 r37
-112 trace_scope 0 r37 r34 -1
-113 trace_scope 0 r36 r34 -1
-114 r36 = bit_xor r35 r11
-115 trace_line 0 r36 r34 L8
-116 trace_var 0 r36 r34 $19 = r18
-117 trace_scope 0 r36 r34 1
-118 trace_line 0 r36 r34 L9
-119 r37 = eq_f32 r33 r18
-120 r37 = bit_clear r37 r35
-121 trace_scope 0 r37 r34 1
-122 trace_line 0 r37 r34 L9
-123 r38 = select r37 r18 r38
-124 trace_var 0 r37 r34 $17 = r38
-125 r35 = bit_or r35 r37
-126 trace_scope 0 r37 r34 -1
-127 trace_scope 0 r36 r34 -1
-128 r36 = bit_xor r35 r11
-129 trace_line 0 r36 r34 L8
-130 trace_var 0 r36 r34 $19 = r14
-131 trace_scope 0 r36 r34 1
-132 trace_line 0 r36 r34 L9
-133 r37 = eq_f32 r33 r14
-134 r37 = bit_clear r37 r35
-135 trace_scope 0 r37 r34 1
-136 trace_line 0 r37 r34 L9
-137 r38 = select r37 r14 r38
-138 trace_var 0 r37 r34 $17 = r38
-139 r35 = bit_or r35 r37
-140 trace_scope 0 r37 r34 -1
-141 trace_scope 0 r36 r34 -1
-142 r36 = bit_xor r35 r11
-143 trace_line 0 r36 r34 L8
-144 trace_var 0 r36 r34 $19 = r19
-145 trace_scope 0 r36 r34 1
-146 trace_line 0 r36 r34 L9
-147 r37 = eq_f32 r33 r19
-148 r37 = bit_clear r37 r35
-149 trace_scope 0 r37 r34 1
-150 trace_line 0 r37 r34 L9
-151 r38 = select r37 r19 r38
-152 trace_var 0 r37 r34 $17 = r38
-153 r35 = bit_or r35 r37
-154 trace_scope 0 r37 r34 -1
-155 trace_scope 0 r36 r34 -1
-156 r36 = bit_xor r35 r11
-157 trace_line 0 r36 r34 L8
-158 trace_var 0 r36 r34 $19 = r20
-159 trace_scope 0 r36 r34 1
-160 trace_line 0 r36 r34 L9
-161 r37 = eq_f32 r33 r20
-162 r37 = bit_clear r37 r35
-163 trace_scope 0 r37 r34 1
-164 trace_line 0 r37 r34 L9
-165 r38 = select r37 r20 r38
-166 trace_var 0 r37 r34 $17 = r38
-167 r35 = bit_or r35 r37
-168 trace_scope 0 r37 r34 -1
-169 trace_scope 0 r36 r34 -1
-170 r36 = bit_xor r35 r11
-171 trace_line 0 r36 r34 L8
-172 trace_var 0 r36 r34 $19 = r21
-173 trace_scope 0 r36 r34 1
-174 trace_line 0 r36 r34 L9
-175 r37 = eq_f32 r33 r21
-176 r37 = bit_clear r37 r35
-177 trace_scope 0 r37 r34 1
-178 trace_line 0 r37 r34 L9
-179 r38 = select r37 r21 r38
-180 trace_var 0 r37 r34 $17 = r38
-181 r35 = bit_or r35 r37
-182 trace_scope 0 r37 r34 -1
-183 trace_scope 0 r36 r34 -1
-184 r36 = bit_xor r35 r11
-185 trace_line 0 r36 r34 L8
-186 trace_var 0 r36 r34 $19 = r22
-187 trace_scope 0 r36 r34 1
-188 trace_line 0 r36 r34 L9
-189 r37 = eq_f32 r33 r22
-190 r37 = bit_clear r37 r35
-191 trace_scope 0 r37 r34 1
-192 trace_line 0 r37 r34 L9
-193 r38 = select r37 r22 r38
-194 trace_var 0 r37 r34 $17 = r38
-195 r35 = bit_or r35 r37
-196 trace_scope 0 r37 r34 -1
-197 trace_scope 0 r36 r34 -1
-198 r35 = bit_xor r35 r11
-199 trace_line 0 r35 r34 L8
-200 trace_scope 0 r34 r34 -1
-201 trace_line 0 r35 r34 L11
-202 r38 = bit_clear r38 r35
-203 trace_var 0 r35 r34 $17 = r38
-204 trace_scope 0 r34 r34 -1
-205 trace_exit 0 r34 r34 F1
-206 r38 = eq_f32 r38 r14
-207 trace_enter 0 r38 r34 F2
-208 trace_var 0 r38 r34 $21 = r33
-209 trace_scope 0 r38 r34 1
-210 trace_line 0 r38 r34 L17
-211 trace_var 0 r38 r34 $22 = r10
-212 trace_line 0 r38 r34 L18
-213 trace_scope 0 r38 r34 1
-214 trace_var 0 r38 r34 $23 = r10
-215 trace_scope 0 r38 r34 1
-216 trace_line 0 r38 r34 L19
-217 r35 = gt_f32 r33 r10
-218 r35 = bit_and r38 r35
-219 trace_scope 0 r35 r34 1
-220 trace_line 0 r35 r34 L19
-221 r36 = bit_xor r35 r11
-222 trace_scope 0 r35 r34 -1
-223 r37 = bit_clear r38 r35
-224 trace_line 0 r37 r34 L20
-225 trace_scope 0 r38 r34 -1
-226 r36 = bit_or r35 r36
-227 r35 = bit_and r38 r36
-228 trace_line 0 r35 r34 L18
-229 trace_var 0 r35 r34 $23 = r15
-230 trace_scope 0 r35 r34 1
-231 trace_line 0 r35 r34 L19
-232 r37 = gt_f32 r33 r15
-233 r37 = bit_and r38 r37
-234 r37 = bit_and r36 r37
-235 trace_scope 0 r37 r34 1
-236 trace_line 0 r37 r34 L19
-237 r36 = bit_clear r36 r37
-238 trace_scope 0 r37 r34 -1
-239 r39 = bit_and r38 r36
-240 trace_line 0 r39 r34 L20
-241 r40 = bit_and r39 r15
-242 trace_var 0 r39 r34 $22 = r40
-243 trace_scope 0 r35 r34 -1
-244 r36 = bit_or r37 r36
-245 r37 = bit_and r38 r36
-246 trace_line 0 r37 r34 L18
-247 trace_var 0 r37 r34 $23 = r16
-248 trace_scope 0 r37 r34 1
-249 trace_line 0 r37 r34 L19
-250 r35 = gt_f32 r33 r16
-251 r35 = bit_and r38 r35
-252 r35 = bit_and r36 r35
-253 trace_scope 0 r35 r34 1
-254 trace_line 0 r35 r34 L19
-255 r36 = bit_clear r36 r35
-256 trace_scope 0 r35 r34 -1
-257 r39 = bit_and r38 r36
-258 trace_line 0 r39 r34 L20
-259 r41 = add_f32 r40 r16
-260 r40 = select r39 r41 r40
-261 trace_var 0 r39 r34 $22 = r40
-262 trace_scope 0 r37 r34 -1
-263 r36 = bit_or r35 r36
-264 r35 = bit_and r38 r36
-265 trace_line 0 r35 r34 L18
-266 trace_var 0 r35 r34 $23 = r17
-267 trace_scope 0 r35 r34 1
-268 trace_line 0 r35 r34 L19
-269 r37 = gt_f32 r33 r17
-270 r37 = bit_and r38 r37
-271 r37 = bit_and r36 r37
-272 trace_scope 0 r37 r34 1
-273 trace_line 0 r37 r34 L19
-274 r36 = bit_clear r36 r37
-275 trace_scope 0 r37 r34 -1
-276 r39 = bit_and r38 r36
-277 trace_line 0 r39 r34 L20
-278 r41 = add_f32 r40 r17
-279 r40 = select r39 r41 r40
-280 trace_var 0 r39 r34 $22 = r40
-281 trace_scope 0 r35 r34 -1
-282 r36 = bit_or r37 r36
-283 r37 = bit_and r38 r36
-284 trace_line 0 r37 r34 L18
-285 trace_var 0 r37 r34 $23 = r18
-286 trace_scope 0 r37 r34 1
-287 trace_line 0 r37 r34 L19
-288 r35 = gt_f32 r33 r18
-289 r35 = bit_and r38 r35
-290 r35 = bit_and r36 r35
-291 trace_scope 0 r35 r34 1
-292 trace_line 0 r35 r34 L19
-293 r36 = bit_clear r36 r35
-294 trace_scope 0 r35 r34 -1
-295 r39 = bit_and r38 r36
-296 trace_line 0 r39 r34 L20
-297 r41 = add_f32 r40 r18
-298 r40 = select r39 r41 r40
-299 trace_var 0 r39 r34 $22 = r40
-300 trace_scope 0 r37 r34 -1
-301 r36 = bit_or r35 r36
-302 r35 = bit_and r38 r36
-303 trace_line 0 r35 r34 L18
-304 trace_var 0 r35 r34 $23 = r14
-305 trace_scope 0 r35 r34 1
-306 trace_line 0 r35 r34 L19
-307 r37 = gt_f32 r33 r14
-308 r37 = bit_and r38 r37
-309 r37 = bit_and r36 r37
-310 trace_scope 0 r37 r34 1
-311 trace_line 0 r37 r34 L19
-312 r36 = bit_clear r36 r37
-313 trace_scope 0 r37 r34 -1
-314 r39 = bit_and r38 r36
-315 trace_line 0 r39 r34 L20
-316 r41 = add_f32 r40 r14
-317 r40 = select r39 r41 r40
-318 trace_var 0 r39 r34 $22 = r40
-319 trace_scope 0 r35 r34 -1
-320 r36 = bit_or r37 r36
-321 r37 = bit_and r38 r36
-322 trace_line 0 r37 r34 L18
-323 trace_var 0 r37 r34 $23 = r19
-324 trace_scope 0 r37 r34 1
-325 trace_line 0 r37 r34 L19
-326 r35 = gt_f32 r33 r19
-327 r35 = bit_and r38 r35
-328 r35 = bit_and r36 r35
-329 trace_scope 0 r35 r34 1
-330 trace_line 0 r35 r34 L19
-331 r36 = bit_clear r36 r35
-332 trace_scope 0 r35 r34 -1
-333 r39 = bit_and r38 r36
-334 trace_line 0 r39 r34 L20
-335 r41 = add_f32 r40 r19
-336 r40 = select r39 r41 r40
-337 trace_var 0 r39 r34 $22 = r40
-338 trace_scope 0 r37 r34 -1
-339 r36 = bit_or r35 r36
-340 r35 = bit_and r38 r36
-341 trace_line 0 r35 r34 L18
-342 trace_var 0 r35 r34 $23 = r20
-343 trace_scope 0 r35 r34 1
-344 trace_line 0 r35 r34 L19
-345 r37 = gt_f32 r33 r20
-346 r37 = bit_and r38 r37
-347 r37 = bit_and r36 r37
-348 trace_scope 0 r37 r34 1
-349 trace_line 0 r37 r34 L19
-350 r36 = bit_clear r36 r37
-351 trace_scope 0 r37 r34 -1
-352 r39 = bit_and r38 r36
-353 trace_line 0 r39 r34 L20
-354 r41 = add_f32 r40 r20
-355 r40 = select r39 r41 r40
-356 trace_var 0 r39 r34 $22 = r40
-357 trace_scope 0 r35 r34 -1
-358 r36 = bit_or r37 r36
-359 r37 = bit_and r38 r36
-360 trace_line 0 r37 r34 L18
-361 trace_var 0 r37 r34 $23 = r21
-362 trace_scope 0 r37 r34 1
-363 trace_line 0 r37 r34 L19
-364 r35 = gt_f32 r33 r21
-365 r35 = bit_and r38 r35
-366 r35 = bit_and r36 r35
-367 trace_scope 0 r35 r34 1
-368 trace_line 0 r35 r34 L19
-369 r36 = bit_clear r36 r35
-370 trace_scope 0 r35 r34 -1
-371 r39 = bit_and r38 r36
-372 trace_line 0 r39 r34 L20
-373 r41 = add_f32 r40 r21
-374 r40 = select r39 r41 r40
-375 trace_var 0 r39 r34 $22 = r40
-376 trace_scope 0 r37 r34 -1
-377 r36 = bit_or r35 r36
-378 r35 = bit_and r38 r36
-379 trace_line 0 r35 r34 L18
-380 trace_var 0 r35 r34 $23 = r22
-381 trace_scope 0 r35 r34 1
-382 trace_line 0 r35 r34 L19
-383 r37 = gt_f32 r33 r22
-384 r37 = bit_and r38 r37
-385 r37 = bit_and r36 r37
-386 trace_scope 0 r37 r34 1
-387 trace_line 0 r37 r34 L19
-388 r36 = bit_clear r36 r37
-389 trace_scope 0 r37 r34 -1
-390 r39 = bit_and r38 r36
-391 trace_line 0 r39 r34 L20
-392 r41 = add_f32 r40 r22
-393 r40 = select r39 r41 r40
-394 trace_var 0 r39 r34 $22 = r40
-395 trace_scope 0 r35 r34 -1
-396 r36 = bit_or r37 r36
-397 r36 = bit_and r38 r36
-398 trace_line 0 r36 r34 L18
-399 trace_scope 0 r38 r34 -1
-400 trace_line 0 r38 r34 L22
-401 r40 = bit_and r38 r40
-402 trace_var 0 r38 r34 $20 = r40
-403 trace_scope 0 r38 r34 -1
-404 trace_exit 0 r38 r34 F2
-405 r40 = eq_f32 r40 r23
-406 r40 = bit_and r38 r40
-407 trace_enter 0 r40 r34 F3
-408 trace_var 0 r40 r34 $25 = r33
-409 trace_scope 0 r40 r34 1
-410 trace_line 0 r40 r34 L27
-411 trace_var 0 r40 r34 $26 = r10
-412 trace_line 0 r40 r34 L28
-413 trace_var 0 r40 r34 $27 = r15
-414 trace_line 0 r40 r34 L29
-415 trace_scope 0 r40 r34 1
-416 trace_var 0 r40 r34 $28 = r10
-417 trace_scope 0 r40 r34 1
-418 trace_line 0 r40 r34 L30
-419 r38 = gt_f32 r10 r33
-420 r38 = bit_and r40 r38
-421 trace_scope 0 r38 r34 1
-422 trace_line 0 r38 r34 L30
-423 trace_scope 0 r38 r34 -1
-424 r36 = bit_clear r40 r38
-425 trace_line 0 r36 r34 L31
-426 trace_scope 0 r40 r34 -1
-427 trace_line 0 r36 r34 L29
-428 trace_var 0 r36 r34 $28 = r15
-429 trace_scope 0 r36 r34 1
-430 trace_line 0 r36 r34 L30
-431 r37 = gt_f32 r15 r33
-432 r37 = bit_and r40 r37
-433 r37 = bit_clear r37 r38
-434 trace_scope 0 r37 r34 1
-435 trace_line 0 r37 r34 L30
-436 r35 = bit_xor r37 r11
-437 r38 = bit_clear r35 r38
-438 trace_scope 0 r37 r34 -1
-439 r37 = bit_and r40 r38
-440 trace_line 0 r37 r34 L31
-441 r35 = bit_and r37 r15
-442 trace_var 0 r37 r34 $26 = r35
-443 trace_scope 0 r36 r34 -1
-444 trace_line 0 r37 r34 L29
-445 trace_var 0 r37 r34 $28 = r16
-446 trace_scope 0 r37 r34 1
-447 trace_line 0 r37 r34 L30
-448 r36 = gt_f32 r16 r33
-449 r36 = bit_and r40 r36
-450 r36 = bit_and r38 r36
-451 trace_scope 0 r36 r34 1
-452 trace_line 0 r36 r34 L30
-453 r38 = bit_clear r38 r36
-454 trace_scope 0 r36 r34 -1
-455 r36 = bit_and r40 r38
-456 trace_line 0 r36 r34 L31
-457 r39 = add_f32 r35 r16
-458 r35 = select r36 r39 r35
-459 trace_var 0 r36 r34 $26 = r35
-460 trace_scope 0 r37 r34 -1
-461 trace_line 0 r36 r34 L29
-462 trace_var 0 r36 r34 $28 = r17
-463 trace_scope 0 r36 r34 1
-464 trace_line 0 r36 r34 L30
-465 r37 = gt_f32 r17 r33
-466 r37 = bit_and r40 r37
-467 r37 = bit_and r38 r37
-468 trace_scope 0 r37 r34 1
-469 trace_line 0 r37 r34 L30
-470 r38 = bit_clear r38 r37
-471 trace_scope 0 r37 r34 -1
-472 r37 = bit_and r40 r38
-473 trace_line 0 r37 r34 L31
-474 r39 = add_f32 r35 r17
-475 r35 = select r37 r39 r35
-476 trace_var 0 r37 r34 $26 = r35
-477 trace_scope 0 r36 r34 -1
-478 trace_line 0 r37 r34 L29
-479 trace_var 0 r37 r34 $28 = r18
-480 trace_scope 0 r37 r34 1
-481 trace_line 0 r37 r34 L30
-482 r36 = gt_f32 r18 r33
-483 r36 = bit_and r40 r36
-484 r36 = bit_and r38 r36
-485 trace_scope 0 r36 r34 1
-486 trace_line 0 r36 r34 L30
-487 r38 = bit_clear r38 r36
-488 trace_scope 0 r36 r34 -1
-489 r36 = bit_and r40 r38
-490 trace_line 0 r36 r34 L31
-491 r39 = add_f32 r35 r18
-492 r35 = select r36 r39 r35
-493 trace_var 0 r36 r34 $26 = r35
-494 trace_scope 0 r37 r34 -1
-495 trace_line 0 r36 r34 L29
-496 trace_var 0 r36 r34 $28 = r14
-497 trace_scope 0 r36 r34 1
-498 trace_line 0 r36 r34 L30
-499 r37 = gt_f32 r14 r33
-500 r37 = bit_and r40 r37
-501 r37 = bit_and r38 r37
-502 trace_scope 0 r37 r34 1
-503 trace_line 0 r37 r34 L30
-504 r38 = bit_clear r38 r37
-505 trace_scope 0 r37 r34 -1
-506 r37 = bit_and r40 r38
-507 trace_line 0 r37 r34 L31
-508 r39 = add_f32 r35 r14
-509 r35 = select r37 r39 r35
-510 trace_var 0 r37 r34 $26 = r35
-511 trace_scope 0 r36 r34 -1
-512 trace_line 0 r37 r34 L29
-513 trace_var 0 r37 r34 $28 = r19
-514 trace_scope 0 r37 r34 1
-515 trace_line 0 r37 r34 L30
-516 r36 = gt_f32 r19 r33
-517 r36 = bit_and r40 r36
-518 r36 = bit_and r38 r36
-519 trace_scope 0 r36 r34 1
-520 trace_line 0 r36 r34 L30
-521 r38 = bit_clear r38 r36
-522 trace_scope 0 r36 r34 -1
-523 r36 = bit_and r40 r38
-524 trace_line 0 r36 r34 L31
-525 r39 = add_f32 r35 r19
-526 r35 = select r36 r39 r35
-527 trace_var 0 r36 r34 $26 = r35
-528 trace_scope 0 r37 r34 -1
-529 trace_line 0 r36 r34 L29
-530 trace_var 0 r36 r34 $28 = r20
-531 trace_scope 0 r36 r34 1
-532 trace_line 0 r36 r34 L30
-533 r37 = gt_f32 r20 r33
-534 r37 = bit_and r40 r37
-535 r37 = bit_and r38 r37
-536 trace_scope 0 r37 r34 1
-537 trace_line 0 r37 r34 L30
-538 r38 = bit_clear r38 r37
-539 trace_scope 0 r37 r34 -1
-540 r37 = bit_and r40 r38
-541 trace_line 0 r37 r34 L31
-542 r39 = add_f32 r35 r20
-543 r35 = select r37 r39 r35
-544 trace_var 0 r37 r34 $26 = r35
-545 trace_scope 0 r36 r34 -1
-546 trace_line 0 r37 r34 L29
-547 trace_var 0 r37 r34 $28 = r21
-548 trace_scope 0 r37 r34 1
-549 trace_line 0 r37 r34 L30
-550 r36 = gt_f32 r21 r33
-551 r36 = bit_and r40 r36
-552 r36 = bit_and r38 r36
-553 trace_scope 0 r36 r34 1
-554 trace_line 0 r36 r34 L30
-555 r38 = bit_clear r38 r36
-556 trace_scope 0 r36 r34 -1
-557 r36 = bit_and r40 r38
-558 trace_line 0 r36 r34 L31
-559 r39 = add_f32 r35 r21
-560 r35 = select r36 r39 r35
-561 trace_var 0 r36 r34 $26 = r35
-562 trace_scope 0 r37 r34 -1
-563 trace_line 0 r36 r34 L29
-564 trace_var 0 r36 r34 $28 = r22
-565 trace_scope 0 r36 r34 1
-566 trace_line 0 r36 r34 L30
-567 r33 = gt_f32 r22 r33
-568 r33 = bit_and r40 r33
-569 r33 = bit_and r38 r33
-570 trace_scope 0 r33 r34 1
-571 trace_line 0 r33 r34 L30
-572 r38 = bit_clear r38 r33
-573 trace_scope 0 r33 r34 -1
-574 r38 = bit_and r40 r38
-575 trace_line 0 r38 r34 L31
-576 r33 = add_f32 r35 r22
-577 r35 = select r38 r33 r35
-578 trace_var 0 r38 r34 $26 = r35
-579 trace_scope 0 r36 r34 -1
-580 trace_line 0 r38 r34 L29
-581 trace_scope 0 r40 r34 -1
-582 trace_line 0 r40 r34 L33
-583 r35 = bit_and r40 r35
-584 trace_var 0 r40 r34 $24 = r35
-585 trace_scope 0 r40 r34 -1
-586 trace_exit 0 r40 r34 F3
-587 r35 = eq_f32 r35 r24
-588 r35 = bit_and r40 r35
-589 trace_enter 0 r35 r34 F4
-590 trace_scope 0 r35 r34 1
-591 trace_line 0 r35 r34 L38
-592 trace_var 0 r35 r34 $30 = r10
-593 trace_line 0 r35 r34 L39
-594 trace_scope 0 r35 r34 1
-595 trace_var 0 r35 r34 $31 = r25
-596 trace_scope 0 r35 r34 1
-597 trace_line 0 r35 r34 L40
-598 r40 = bit_and r35 r25
-599 trace_var 0 r35 r34 $30 = r40
-600 trace_scope 0 r35 r34 -1
-601 trace_line 0 r35 r34 L39
-602 trace_var 0 r35 r34 $31 = r26
-603 trace_scope 0 r35 r34 1
-604 trace_line 0 r35 r34 L40
-605 r38 = add_f32 r40 r26
-606 r40 = select r35 r38 r40
-607 trace_var 0 r35 r34 $30 = r40
-608 trace_scope 0 r35 r34 -1
-609 trace_line 0 r35 r34 L39
-610 trace_var 0 r35 r34 $31 = r27
-611 trace_scope 0 r35 r34 1
-612 trace_line 0 r35 r34 L40
-613 r38 = add_f32 r40 r27
-614 r40 = select r35 r38 r40
-615 trace_var 0 r35 r34 $30 = r40
-616 trace_scope 0 r35 r34 -1
-617 trace_line 0 r35 r34 L39
-618 trace_var 0 r35 r34 $31 = r28
-619 trace_scope 0 r35 r34 1
-620 trace_line 0 r35 r34 L40
-621 r38 = add_f32 r40 r28
-622 r40 = select r35 r38 r40
-623 trace_var 0 r35 r34 $30 = r40
-624 trace_scope 0 r35 r34 -1
-625 trace_line 0 r35 r34 L39
-626 trace_var 0 r35 r34 $31 = r29
-627 trace_scope 0 r35 r34 1
-628 trace_line 0 r35 r34 L40
-629 r38 = add_f32 r40 r29
-630 r40 = select r35 r38 r40
-631 trace_var 0 r35 r34 $30 = r40
-632 trace_scope 0 r35 r34 -1
-633 trace_line 0 r35 r34 L39
-634 trace_scope 0 r35 r34 -1
-635 trace_line 0 r35 r34 L42
-636 r40 = sub_f32 r40 r30
-637 r40 = bit_and r35 r40
-638 trace_var 0 r35 r34 $29 = r40
-639 trace_scope 0 r35 r34 -1
-640 trace_exit 0 r35 r34 F4
-641 r40 = bit_and r40 r31
-642 r40 = gt_f32 r32 r40
-643 r40 = bit_and r35 r40
-644 trace_enter 0 r40 r34 F5
-645 trace_scope 0 r40 r34 1
-646 trace_line 0 r40 r34 L47
-647 trace_line 0 r40 r34 L48
-648 trace_line 0 r40 r34 L50
-649 trace_var 0 r40 r34 $33 = r22
-650 trace_var 0 r40 r34 $34 = r22
-651 trace_var 0 r40 r34 $35 = r22
-652 trace_var 0 r40 r34 $36 = r22
-653 trace_line 0 r40 r34 L51
-654 trace_scope 0 r40 r34 1
-655 trace_var 0 r40 r34 $37 = r15
-656 trace_scope 0 r40 r34 1
-657 trace_line 0 r40 r34 L52
-658 r35 = select r40 r15 r22
-659 trace_var 0 r40 r34 $36 = r35
-660 trace_scope 0 r40 r34 -1
-661 trace_line 0 r40 r34 L51
-662 trace_var 0 r40 r34 $37 = r16
-663 trace_scope 0 r40 r34 1
-664 trace_line 0 r40 r34 L52
-665 r38 = select r40 r35 r22
-666 trace_var 0 r40 r34 $35 = r38
-667 r35 = select r40 r16 r35
-668 trace_var 0 r40 r34 $36 = r35
-669 trace_scope 0 r40 r34 -1
-670 trace_line 0 r40 r34 L51
-671 trace_var 0 r40 r34 $37 = r17
-672 trace_scope 0 r40 r34 1
-673 trace_line 0 r40 r34 L52
-674 r36 = select r40 r38 r22
-675 trace_var 0 r40 r34 $34 = r36
-676 r38 = select r40 r35 r38
-677 trace_var 0 r40 r34 $35 = r38
-678 r35 = select r40 r17 r35
-679 trace_var 0 r40 r34 $36 = r35
-680 trace_scope 0 r40 r34 -1
-681 trace_line 0 r40 r34 L51
-682 trace_scope 0 r40 r34 -1
-683 trace_line 0 r40 r34 L54
-684 r36 = eq_f32 r36 r15
-685 r38 = eq_f32 r38 r16
-686 r35 = eq_f32 r35 r17
-687 r38 = bit_and r36 r38
-688 r38 = bit_and r35 r38
-689 r38 = bit_and r40 r38
-690 trace_var 0 r40 r34 $32 = r38
-691 trace_scope 0 r40 r34 -1
-692 trace_exit 0 r40 r34 F5
-693 r38 = bit_and r40 r38
-694 trace_enter 0 r38 r34 F6
-695 trace_scope 0 r38 r34 1
-696 trace_line 0 r38 r34 L59
-697 trace_line 0 r38 r34 L60
-698 trace_line 0 r38 r34 L62
-699 trace_var 0 r38 r34 $39 = r22
-700 trace_var 0 r38 r34 $40 = r22
-701 trace_var 0 r38 r34 $41 = r22
-702 trace_var 0 r38 r34 $42 = r22
-703 trace_line 0 r38 r34 L63
-704 trace_scope 0 r38 r34 1
-705 trace_var 0 r38 r34 $43 = r15
-706 trace_scope 0 r38 r34 1
-707 trace_line 0 r38 r34 L64
-708 r40 = select r38 r15 r22
-709 trace_var 0 r38 r34 $42 = r40
-710 trace_scope 0 r38 r34 -1
-711 trace_line 0 r38 r34 L63
-712 trace_var 0 r38 r34 $43 = r16
-713 trace_scope 0 r38 r34 1
-714 trace_line 0 r38 r34 L64
-715 r35 = select r38 r40 r22
-716 trace_var 0 r38 r34 $41 = r35
-717 r40 = select r38 r16 r40
-718 trace_var 0 r38 r34 $42 = r40
-719 trace_scope 0 r38 r34 -1
-720 trace_line 0 r38 r34 L63
-721 trace_var 0 r38 r34 $43 = r17
-722 trace_scope 0 r38 r34 1
-723 trace_line 0 r38 r34 L64
-724 r36 = select r38 r35 r22
-725 trace_var 0 r38 r34 $40 = r36
-726 r35 = select r38 r40 r35
-727 trace_var 0 r38 r34 $41 = r35
-728 r40 = select r38 r17 r40
-729 trace_var 0 r38 r34 $42 = r40
-730 trace_scope 0 r38 r34 -1
-731 trace_line 0 r38 r34 L63
-732 trace_scope 0 r38 r34 -1
-733 trace_line 0 r38 r34 L66
-734 r36 = eq_f32 r36 r15
-735 r35 = eq_f32 r35 r16
-736 r40 = eq_f32 r40 r17
-737 r35 = bit_and r36 r35
-738 r35 = bit_and r40 r35
-739 r35 = bit_and r38 r35
-740 trace_var 0 r38 r34 $38 = r35
-741 trace_scope 0 r38 r34 -1
-742 trace_exit 0 r38 r34 F6
-743 r35 = bit_and r38 r35
-744 trace_enter 0 r35 r34 F7
-745 trace_scope 0 r35 r34 1
-746 trace_line 0 r35 r34 L71
-747 trace_line 0 r35 r34 L72
-748 trace_line 0 r35 r34 L74
-749 trace_var 0 r35 r34 $45 = r22
-750 trace_var 0 r35 r34 $46 = r22
-751 trace_var 0 r35 r34 $47 = r22
-752 trace_var 0 r35 r34 $48 = r22
-753 trace_line 0 r35 r34 L75
-754 trace_scope 0 r35 r34 1
-755 trace_var 0 r35 r34 $49 = r17
-756 trace_scope 0 r35 r34 1
-757 trace_line 0 r35 r34 L76
-758 r38 = select r35 r17 r22
-759 trace_var 0 r35 r34 $48 = r38
-760 trace_scope 0 r35 r34 -1
-761 trace_line 0 r35 r34 L75
-762 trace_var 0 r35 r34 $49 = r16
-763 trace_scope 0 r35 r34 1
-764 trace_line 0 r35 r34 L76
-765 r40 = select r35 r38 r22
-766 trace_var 0 r35 r34 $47 = r40
-767 r38 = select r35 r16 r38
-768 trace_var 0 r35 r34 $48 = r38
-769 trace_scope 0 r35 r34 -1
-770 trace_line 0 r35 r34 L75
-771 trace_var 0 r35 r34 $49 = r15
-772 trace_scope 0 r35 r34 1
-773 trace_line 0 r35 r34 L76
-774 r36 = select r35 r40 r22
-775 trace_var 0 r35 r34 $46 = r36
-776 r40 = select r35 r38 r40
-777 trace_var 0 r35 r34 $47 = r40
-778 r38 = select r35 r15 r38
-779 trace_var 0 r35 r34 $48 = r38
-780 trace_scope 0 r35 r34 -1
-781 trace_line 0 r35 r34 L75
-782 trace_scope 0 r35 r34 -1
-783 trace_line 0 r35 r34 L78
-784 r36 = eq_f32 r36 r17
-785 r40 = eq_f32 r40 r16
-786 r38 = eq_f32 r38 r15
-787 r40 = bit_and r36 r40
-788 r40 = bit_and r38 r40
-789 r40 = bit_and r35 r40
-790 trace_var 0 r35 r34 $44 = r40
-791 trace_scope 0 r35 r34 -1
-792 trace_exit 0 r35 r34 F7
-793 r40 = bit_and r35 r40
-794 trace_enter 0 r40 r34 F8
-795 trace_scope 0 r40 r34 1
-796 trace_line 0 r40 r34 L83
-797 trace_line 0 r40 r34 L84
-798 trace_line 0 r40 r34 L86
-799 trace_var 0 r40 r34 $51 = r22
-800 trace_var 0 r40 r34 $52 = r22
-801 trace_var 0 r40 r34 $53 = r22
-802 trace_var 0 r40 r34 $54 = r22
-803 trace_line 0 r40 r34 L87
-804 trace_scope 0 r40 r34 1
-805 trace_var 0 r40 r34 $55 = r17
-806 trace_scope 0 r40 r34 1
-807 trace_line 0 r40 r34 L88
-808 r35 = select r40 r17 r22
-809 trace_var 0 r40 r34 $54 = r35
-810 trace_scope 0 r40 r34 -1
-811 trace_line 0 r40 r34 L87
-812 trace_var 0 r40 r34 $55 = r16
-813 trace_scope 0 r40 r34 1
-814 trace_line 0 r40 r34 L88
-815 r38 = select r40 r35 r22
-816 trace_var 0 r40 r34 $53 = r38
-817 r35 = select r40 r16 r35
-818 trace_var 0 r40 r34 $54 = r35
-819 trace_scope 0 r40 r34 -1
-820 trace_line 0 r40 r34 L87
-821 trace_var 0 r40 r34 $55 = r15
-822 trace_scope 0 r40 r34 1
-823 trace_line 0 r40 r34 L88
-824 r36 = select r40 r38 r22
-825 trace_var 0 r40 r34 $52 = r36
-826 r38 = select r40 r35 r38
-827 trace_var 0 r40 r34 $53 = r38
-828 r35 = select r40 r15 r35
-829 trace_var 0 r40 r34 $54 = r35
-830 trace_scope 0 r40 r34 -1
-831 trace_line 0 r40 r34 L87
-832 trace_scope 0 r40 r34 -1
-833 trace_line 0 r40 r34 L90
-834 r36 = eq_f32 r36 r17
-835 r38 = eq_f32 r38 r16
-836 r35 = eq_f32 r35 r15
-837 r38 = bit_and r36 r38
-838 r38 = bit_and r35 r38
-839 r38 = bit_and r40 r38
-840 trace_var 0 r40 r34 $50 = r38
-841 trace_scope 0 r40 r34 -1
-842 trace_exit 0 r40 r34 F8
-843 r38 = bit_and r40 r38
-844 trace_enter 0 r38 r34 F9
-845 trace_scope 0 r38 r34 1
-846 trace_line 0 r38 r34 L106
-847 trace_line 0 r38 r34 L108
-848 trace_var 0 r38 r34 $57 = r22
-849 trace_var 0 r38 r34 $58 = r22
-850 trace_var 0 r38 r34 $59 = r22
-851 trace_var 0 r38 r34 $60 = r22
-852 trace_line 0 r38 r34 L109
-853 trace_scope 0 r38 r34 1
-854 trace_var 0 r38 r34 $61 = r15
-855 trace_scope 0 r38 r34 1
-856 trace_line 0 r38 r34 L110
-857 r40 = select r38 r15 r22
-858 trace_var 0 r38 r34 $60 = r40
-859 trace_scope 0 r38 r34 -1
-860 trace_line 0 r38 r34 L109
-861 trace_scope 0 r38 r34 -1
-862 trace_line 0 r38 r34 L112
-863 r40 = eq_f32 r40 r15
-864 r40 = bit_and r38 r40
-865 trace_var 0 r38 r34 $56 = r40
-866 trace_scope 0 r38 r34 -1
-867 trace_exit 0 r38 r34 F9
-868 r40 = bit_and r38 r40
-869 trace_enter 0 r40 r34 F10
-870 trace_scope 0 r40 r34 1
-871 trace_line 0 r40 r34 L95
-872 trace_line 0 r40 r34 L97
-873 trace_var 0 r40 r34 $63 = r22
-874 trace_var 0 r40 r34 $64 = r22
-875 trace_var 0 r40 r34 $65 = r22
-876 trace_var 0 r40 r34 $66 = r22
-877 trace_line 0 r40 r34 L98
-878 trace_scope 0 r40 r34 1
-879 trace_var 0 r40 r34 $67 = r15
-880 trace_scope 0 r40 r34 1
-881 trace_line 0 r40 r34 L99
-882 r38 = select r40 r15 r22
-883 trace_var 0 r40 r34 $66 = r38
-884 trace_scope 0 r40 r34 -1
-885 trace_line 0 r40 r34 L98
-886 trace_var 0 r40 r34 $67 = r16
-887 trace_scope 0 r40 r34 1
-888 trace_line 0 r40 r34 L99
-889 r35 = select r40 r38 r22
-890 trace_var 0 r40 r34 $65 = r35
-891 r38 = select r40 r16 r38
-892 trace_var 0 r40 r34 $66 = r38
-893 trace_scope 0 r40 r34 -1
-894 trace_line 0 r40 r34 L98
-895 trace_var 0 r40 r34 $67 = r17
-896 trace_scope 0 r40 r34 1
-897 trace_line 0 r40 r34 L99
-898 r36 = select r40 r35 r22
-899 trace_var 0 r40 r34 $64 = r36
-900 r35 = select r40 r38 r35
-901 trace_var 0 r40 r34 $65 = r35
-902 r38 = select r40 r17 r38
-903 trace_var 0 r40 r34 $66 = r38
-904 trace_scope 0 r40 r34 -1
-905 trace_line 0 r40 r34 L98
-906 trace_scope 0 r40 r34 -1
-907 trace_line 0 r40 r34 L101
-908 r36 = eq_f32 r36 r15
-909 r35 = eq_f32 r35 r16
-910 r38 = eq_f32 r38 r17
-911 r35 = bit_and r36 r35
-912 r35 = bit_and r38 r35
-913 r35 = bit_and r40 r35
-914 trace_var 0 r40 r34 $62 = r35
-915 trace_scope 0 r40 r34 -1
-916 trace_exit 0 r40 r34 F10
-917 r35 = bit_and r40 r35
-918 r40 = select r35 r6 r2
-919 r38 = select r35 r7 r3
-920 r36 = select r35 r8 r4
-921 r35 = select r35 r9 r5
-922 trace_var 0 r34 r34 $10 = r40
-923 trace_var 0 r34 r34 $11 = r38
-924 trace_var 0 r34 r34 $12 = r36
-925 trace_var 0 r34 r34 $13 = r35
-926 trace_scope 0 r34 r34 -1
-927 trace_exit 0 r34 r34 F0
-928 store32 ptr1 r40
-929 store32 ptr2 r38
-930 store32 ptr3 r36
-931 store32 ptr4 r35
diff --git a/tests/sksl/runtime/LoopInt.skvm b/tests/sksl/runtime/LoopInt.skvm
deleted file mode 100644
index 6f19604..0000000
--- a/tests/sksl/runtime/LoopInt.skvm
+++ /dev/null
@@ -1,840 +0,0 @@
-$0 = colorRed (float4 : slot 1/4, L3)
-$1 = colorRed (float4 : slot 2/4, L3)
-$2 = colorRed (float4 : slot 3/4, L3)
-$3 = colorRed (float4 : slot 4/4, L3)
-$4 = colorGreen (float4 : slot 1/4, L3)
-$5 = colorGreen (float4 : slot 2/4, L3)
-$6 = colorGreen (float4 : slot 3/4, L3)
-$7 = colorGreen (float4 : slot 4/4, L3)
-$8 = kZero (int, L6)
-$9 = kTen (int, L15)
-$10 = [main].result (float4 : slot 1/4, L106)
-$11 = [main].result (float4 : slot 2/4, L106)
-$12 = [main].result (float4 : slot 3/4, L106)
-$13 = [main].result (float4 : slot 4/4, L106)
-$14 = pos (float2 : slot 1/2, L106)
-$15 = pos (float2 : slot 2/2, L106)
-$16 = five (int, L107)
-$17 = [return_loop].result (int, L7)
-$18 = five (int, L7)
-$19 = i (int, L8)
-$20 = [continue_loop].result (int, L16)
-$21 = five (int, L16)
-$22 = sum (int, L17)
-$23 = i (int, L18)
-$24 = [break_loop].result (int, L26)
-$25 = five (int, L26)
-$26 = sum (int, L27)
-$27 = kOne (int, L28)
-$28 = i (int, L29)
-$29 = [loop_operator_le].result (bool, L36)
-$30 = result (int4 : slot 1/4, L41)
-$31 = result (int4 : slot 2/4, L41)
-$32 = result (int4 : slot 3/4, L41)
-$33 = result (int4 : slot 4/4, L41)
-$34 = i (int, L42)
-$35 = [loop_operator_lt].result (bool, L48)
-$36 = result (int4 : slot 1/4, L53)
-$37 = result (int4 : slot 2/4, L53)
-$38 = result (int4 : slot 3/4, L53)
-$39 = result (int4 : slot 4/4, L53)
-$40 = i (int, L54)
-$41 = [loop_operator_ge].result (bool, L60)
-$42 = result (int4 : slot 1/4, L65)
-$43 = result (int4 : slot 2/4, L65)
-$44 = result (int4 : slot 3/4, L65)
-$45 = result (int4 : slot 4/4, L65)
-$46 = i (int, L66)
-$47 = [loop_operator_gt].result (bool, L72)
-$48 = result (int4 : slot 1/4, L77)
-$49 = result (int4 : slot 2/4, L77)
-$50 = result (int4 : slot 3/4, L77)
-$51 = result (int4 : slot 4/4, L77)
-$52 = i (int, L78)
-$53 = [loop_operator_eq].result (bool, L95)
-$54 = result (int4 : slot 1/4, L99)
-$55 = result (int4 : slot 2/4, L99)
-$56 = result (int4 : slot 3/4, L99)
-$57 = result (int4 : slot 4/4, L99)
-$58 = i (int, L100)
-$59 = [loop_operator_ne].result (bool, L84)
-$60 = result (int4 : slot 1/4, L88)
-$61 = result (int4 : slot 2/4, L88)
-$62 = result (int4 : slot 3/4, L88)
-$63 = result (int4 : slot 4/4, L88)
-$64 = i (int, L89)
-F0 = half4 main(float2 pos)
-F1 = int return_loop(int five)
-F2 = int continue_loop(int five)
-F3 = int break_loop(int five)
-F4 = bool loop_operator_le()
-F5 = bool loop_operator_lt()
-F6 = bool loop_operator_ge()
-F7 = bool loop_operator_gt()
-F8 = bool loop_operator_eq()
-F9 = bool loop_operator_ne()
-
-34 registers, 762 instructions:
-0 r0 = uniform32 ptr0 0
-1 r1 = splat 3F000000 (0.5)
-2 r0 = add_f32 r0 r1
-3 r2 = uniform32 ptr0 4
-4 r3 = uniform32 ptr0 8
-5 r4 = uniform32 ptr0 C
-6 r5 = uniform32 ptr0 10
-7 r6 = uniform32 ptr0 14
-8 r7 = uniform32 ptr0 18
-9 r8 = uniform32 ptr0 1C
-10 r9 = uniform32 ptr0 20
-11 r10 = splat 0 (0)
-12 r11 = splat FFFFFFFF (nan)
-13 r12 = eq_f32 r0 r1
-14 r13 = splat A (1.4012985e-44)
-15 r14 = splat 5 (7.0064923e-45)
-16 r15 = splat 1 (1.4012985e-45)
-17 r16 = splat 2 (2.8025969e-45)
-18 r17 = splat 3 (4.2038954e-45)
-19 r18 = splat 4 (5.6051939e-45)
-20 r19 = splat 6 (8.4077908e-45)
-21 r20 = splat 7 (9.8090893e-45)
-22 r21 = splat 8 (1.1210388e-44)
-23 r22 = splat 9 (1.2611686e-44)
-24 r23 = splat 23 (4.9045446e-44)
-25 r24 = splat F (2.1019477e-44)
-loop:
-26 r25 = index
-27 r25 = add_f32 r25 r1
-28 r26 = eq_f32 r25 r1
-29 r26 = bit_and r26 r12
-30 trace_var 0 r26 r26 $0 = r2
-31 trace_var 0 r26 r26 $1 = r3
-32 trace_var 0 r26 r26 $2 = r4
-33 trace_var 0 r26 r26 $3 = r5
-34 trace_var 0 r26 r26 $4 = r6
-35 trace_var 0 r26 r26 $5 = r7
-36 trace_var 0 r26 r26 $6 = r8
-37 trace_var 0 r26 r26 $7 = r9
-38 trace_var 0 r26 r26 $8 = r10
-39 trace_var 0 r26 r26 $9 = r13
-40 trace_enter 0 r26 r26 F0
-41 trace_var 0 r26 r26 $14 = r25
-42 trace_var 0 r26 r26 $15 = r0
-43 trace_scope 0 r26 r26 1
-44 trace_line 0 r26 r26 L107
-45 r25 = min_f32 r25 r9
-46 r25 = max_f32 r7 r25
-47 r25 = trunc r25
-48 r25 = mul_i32 r25 r14
-49 trace_var 0 r26 r26 $16 = r25
-50 trace_line 0 r26 r26 L111
-51 trace_enter 0 r26 r26 F1
-52 trace_var 0 r26 r26 $18 = r25
-53 trace_scope 0 r26 r26 1
-54 trace_line 0 r26 r26 L8
-55 trace_scope 0 r26 r26 1
-56 trace_var 0 r26 r26 $19 = r10
-57 trace_scope 0 r26 r26 1
-58 trace_line 0 r26 r26 L9
-59 r27 = eq_i32 r25 r10
-60 trace_scope 0 r27 r26 1
-61 trace_line 0 r27 r26 L9
-62 trace_var 0 r27 r26 $17 = r10
-63 trace_scope 0 r27 r26 -1
-64 trace_scope 0 r26 r26 -1
-65 r28 = bit_xor r27 r11
-66 trace_line 0 r28 r26 L8
-67 trace_var 0 r28 r26 $19 = r15
-68 trace_scope 0 r28 r26 1
-69 trace_line 0 r28 r26 L9
-70 r29 = eq_i32 r25 r15
-71 r29 = bit_clear r29 r27
-72 trace_scope 0 r29 r26 1
-73 trace_line 0 r29 r26 L9
-74 r30 = bit_and r29 r15
-75 trace_var 0 r29 r26 $17 = r30
-76 r27 = bit_or r27 r29
-77 trace_scope 0 r29 r26 -1
-78 trace_scope 0 r28 r26 -1
-79 r28 = bit_xor r27 r11
-80 trace_line 0 r28 r26 L8
-81 trace_var 0 r28 r26 $19 = r16
-82 trace_scope 0 r28 r26 1
-83 trace_line 0 r28 r26 L9
-84 r29 = eq_i32 r25 r16
-85 r29 = bit_clear r29 r27
-86 trace_scope 0 r29 r26 1
-87 trace_line 0 r29 r26 L9
-88 r30 = select r29 r16 r30
-89 trace_var 0 r29 r26 $17 = r30
-90 r27 = bit_or r27 r29
-91 trace_scope 0 r29 r26 -1
-92 trace_scope 0 r28 r26 -1
-93 r28 = bit_xor r27 r11
-94 trace_line 0 r28 r26 L8
-95 trace_var 0 r28 r26 $19 = r17
-96 trace_scope 0 r28 r26 1
-97 trace_line 0 r28 r26 L9
-98 r29 = eq_i32 r25 r17
-99 r29 = bit_clear r29 r27
-100 trace_scope 0 r29 r26 1
-101 trace_line 0 r29 r26 L9
-102 r30 = select r29 r17 r30
-103 trace_var 0 r29 r26 $17 = r30
-104 r27 = bit_or r27 r29
-105 trace_scope 0 r29 r26 -1
-106 trace_scope 0 r28 r26 -1
-107 r28 = bit_xor r27 r11
-108 trace_line 0 r28 r26 L8
-109 trace_var 0 r28 r26 $19 = r18
-110 trace_scope 0 r28 r26 1
-111 trace_line 0 r28 r26 L9
-112 r29 = eq_i32 r25 r18
-113 r29 = bit_clear r29 r27
-114 trace_scope 0 r29 r26 1
-115 trace_line 0 r29 r26 L9
-116 r30 = select r29 r18 r30
-117 trace_var 0 r29 r26 $17 = r30
-118 r27 = bit_or r27 r29
-119 trace_scope 0 r29 r26 -1
-120 trace_scope 0 r28 r26 -1
-121 r28 = bit_xor r27 r11
-122 trace_line 0 r28 r26 L8
-123 trace_var 0 r28 r26 $19 = r14
-124 trace_scope 0 r28 r26 1
-125 trace_line 0 r28 r26 L9
-126 r29 = eq_i32 r25 r14
-127 r29 = bit_clear r29 r27
-128 trace_scope 0 r29 r26 1
-129 trace_line 0 r29 r26 L9
-130 r30 = select r29 r14 r30
-131 trace_var 0 r29 r26 $17 = r30
-132 r27 = bit_or r27 r29
-133 trace_scope 0 r29 r26 -1
-134 trace_scope 0 r28 r26 -1
-135 r28 = bit_xor r27 r11
-136 trace_line 0 r28 r26 L8
-137 trace_var 0 r28 r26 $19 = r19
-138 trace_scope 0 r28 r26 1
-139 trace_line 0 r28 r26 L9
-140 r29 = eq_i32 r25 r19
-141 r29 = bit_clear r29 r27
-142 trace_scope 0 r29 r26 1
-143 trace_line 0 r29 r26 L9
-144 r30 = select r29 r19 r30
-145 trace_var 0 r29 r26 $17 = r30
-146 r27 = bit_or r27 r29
-147 trace_scope 0 r29 r26 -1
-148 trace_scope 0 r28 r26 -1
-149 r28 = bit_xor r27 r11
-150 trace_line 0 r28 r26 L8
-151 trace_var 0 r28 r26 $19 = r20
-152 trace_scope 0 r28 r26 1
-153 trace_line 0 r28 r26 L9
-154 r29 = eq_i32 r25 r20
-155 r29 = bit_clear r29 r27
-156 trace_scope 0 r29 r26 1
-157 trace_line 0 r29 r26 L9
-158 r30 = select r29 r20 r30
-159 trace_var 0 r29 r26 $17 = r30
-160 r27 = bit_or r27 r29
-161 trace_scope 0 r29 r26 -1
-162 trace_scope 0 r28 r26 -1
-163 r28 = bit_xor r27 r11
-164 trace_line 0 r28 r26 L8
-165 trace_var 0 r28 r26 $19 = r21
-166 trace_scope 0 r28 r26 1
-167 trace_line 0 r28 r26 L9
-168 r29 = eq_i32 r25 r21
-169 r29 = bit_clear r29 r27
-170 trace_scope 0 r29 r26 1
-171 trace_line 0 r29 r26 L9
-172 r30 = select r29 r21 r30
-173 trace_var 0 r29 r26 $17 = r30
-174 r27 = bit_or r27 r29
-175 trace_scope 0 r29 r26 -1
-176 trace_scope 0 r28 r26 -1
-177 r28 = bit_xor r27 r11
-178 trace_line 0 r28 r26 L8
-179 trace_var 0 r28 r26 $19 = r22
-180 trace_scope 0 r28 r26 1
-181 trace_line 0 r28 r26 L9
-182 r29 = eq_i32 r25 r22
-183 r29 = bit_clear r29 r27
-184 trace_scope 0 r29 r26 1
-185 trace_line 0 r29 r26 L9
-186 r30 = select r29 r22 r30
-187 trace_var 0 r29 r26 $17 = r30
-188 r27 = bit_or r27 r29
-189 trace_scope 0 r29 r26 -1
-190 trace_scope 0 r28 r26 -1
-191 r27 = bit_xor r27 r11
-192 trace_line 0 r27 r26 L8
-193 trace_scope 0 r26 r26 -1
-194 trace_line 0 r27 r26 L11
-195 r30 = bit_clear r30 r27
-196 trace_var 0 r27 r26 $17 = r30
-197 trace_scope 0 r26 r26 -1
-198 trace_exit 0 r26 r26 F1
-199 r30 = eq_i32 r30 r14
-200 trace_enter 0 r30 r26 F2
-201 trace_var 0 r30 r26 $21 = r25
-202 trace_scope 0 r30 r26 1
-203 trace_line 0 r30 r26 L17
-204 trace_var 0 r30 r26 $22 = r10
-205 trace_line 0 r30 r26 L18
-206 trace_scope 0 r30 r26 1
-207 trace_var 0 r30 r26 $23 = r10
-208 trace_scope 0 r30 r26 1
-209 trace_line 0 r30 r26 L19
-210 r27 = gt_i32 r25 r10
-211 r27 = bit_and r30 r27
-212 trace_scope 0 r27 r26 1
-213 trace_line 0 r27 r26 L19
-214 r28 = bit_xor r27 r11
-215 trace_scope 0 r27 r26 -1
-216 r29 = bit_clear r30 r27
-217 trace_line 0 r29 r26 L20
-218 trace_scope 0 r30 r26 -1
-219 r28 = bit_or r27 r28
-220 r27 = bit_and r30 r28
-221 trace_line 0 r27 r26 L18
-222 trace_var 0 r27 r26 $23 = r15
-223 trace_scope 0 r27 r26 1
-224 trace_line 0 r27 r26 L19
-225 r29 = gt_i32 r25 r15
-226 r29 = bit_and r30 r29
-227 r29 = bit_and r28 r29
-228 trace_scope 0 r29 r26 1
-229 trace_line 0 r29 r26 L19
-230 r28 = bit_clear r28 r29
-231 trace_scope 0 r29 r26 -1
-232 r31 = bit_and r30 r28
-233 trace_line 0 r31 r26 L20
-234 r32 = bit_and r31 r15
-235 trace_var 0 r31 r26 $22 = r32
-236 trace_scope 0 r27 r26 -1
-237 r28 = bit_or r29 r28
-238 r29 = bit_and r30 r28
-239 trace_line 0 r29 r26 L18
-240 trace_var 0 r29 r26 $23 = r16
-241 trace_scope 0 r29 r26 1
-242 trace_line 0 r29 r26 L19
-243 r27 = gt_i32 r25 r16
-244 r27 = bit_and r30 r27
-245 r27 = bit_and r28 r27
-246 trace_scope 0 r27 r26 1
-247 trace_line 0 r27 r26 L19
-248 r28 = bit_clear r28 r27
-249 trace_scope 0 r27 r26 -1
-250 r31 = bit_and r30 r28
-251 trace_line 0 r31 r26 L20
-252 r33 = add_i32 r32 r16
-253 r32 = select r31 r33 r32
-254 trace_var 0 r31 r26 $22 = r32
-255 trace_scope 0 r29 r26 -1
-256 r28 = bit_or r27 r28
-257 r27 = bit_and r30 r28
-258 trace_line 0 r27 r26 L18
-259 trace_var 0 r27 r26 $23 = r17
-260 trace_scope 0 r27 r26 1
-261 trace_line 0 r27 r26 L19
-262 r29 = gt_i32 r25 r17
-263 r29 = bit_and r30 r29
-264 r29 = bit_and r28 r29
-265 trace_scope 0 r29 r26 1
-266 trace_line 0 r29 r26 L19
-267 r28 = bit_clear r28 r29
-268 trace_scope 0 r29 r26 -1
-269 r31 = bit_and r30 r28
-270 trace_line 0 r31 r26 L20
-271 r33 = add_i32 r32 r17
-272 r32 = select r31 r33 r32
-273 trace_var 0 r31 r26 $22 = r32
-274 trace_scope 0 r27 r26 -1
-275 r28 = bit_or r29 r28
-276 r29 = bit_and r30 r28
-277 trace_line 0 r29 r26 L18
-278 trace_var 0 r29 r26 $23 = r18
-279 trace_scope 0 r29 r26 1
-280 trace_line 0 r29 r26 L19
-281 r27 = gt_i32 r25 r18
-282 r27 = bit_and r30 r27
-283 r27 = bit_and r28 r27
-284 trace_scope 0 r27 r26 1
-285 trace_line 0 r27 r26 L19
-286 r28 = bit_clear r28 r27
-287 trace_scope 0 r27 r26 -1
-288 r31 = bit_and r30 r28
-289 trace_line 0 r31 r26 L20
-290 r33 = add_i32 r32 r18
-291 r32 = select r31 r33 r32
-292 trace_var 0 r31 r26 $22 = r32
-293 trace_scope 0 r29 r26 -1
-294 r28 = bit_or r27 r28
-295 r27 = bit_and r30 r28
-296 trace_line 0 r27 r26 L18
-297 trace_var 0 r27 r26 $23 = r14
-298 trace_scope 0 r27 r26 1
-299 trace_line 0 r27 r26 L19
-300 r29 = gt_i32 r25 r14
-301 r29 = bit_and r30 r29
-302 r29 = bit_and r28 r29
-303 trace_scope 0 r29 r26 1
-304 trace_line 0 r29 r26 L19
-305 r28 = bit_clear r28 r29
-306 trace_scope 0 r29 r26 -1
-307 r31 = bit_and r30 r28
-308 trace_line 0 r31 r26 L20
-309 r33 = add_i32 r32 r14
-310 r32 = select r31 r33 r32
-311 trace_var 0 r31 r26 $22 = r32
-312 trace_scope 0 r27 r26 -1
-313 r28 = bit_or r29 r28
-314 r29 = bit_and r30 r28
-315 trace_line 0 r29 r26 L18
-316 trace_var 0 r29 r26 $23 = r19
-317 trace_scope 0 r29 r26 1
-318 trace_line 0 r29 r26 L19
-319 r27 = gt_i32 r25 r19
-320 r27 = bit_and r30 r27
-321 r27 = bit_and r28 r27
-322 trace_scope 0 r27 r26 1
-323 trace_line 0 r27 r26 L19
-324 r28 = bit_clear r28 r27
-325 trace_scope 0 r27 r26 -1
-326 r31 = bit_and r30 r28
-327 trace_line 0 r31 r26 L20
-328 r33 = add_i32 r32 r19
-329 r32 = select r31 r33 r32
-330 trace_var 0 r31 r26 $22 = r32
-331 trace_scope 0 r29 r26 -1
-332 r28 = bit_or r27 r28
-333 r27 = bit_and r30 r28
-334 trace_line 0 r27 r26 L18
-335 trace_var 0 r27 r26 $23 = r20
-336 trace_scope 0 r27 r26 1
-337 trace_line 0 r27 r26 L19
-338 r29 = gt_i32 r25 r20
-339 r29 = bit_and r30 r29
-340 r29 = bit_and r28 r29
-341 trace_scope 0 r29 r26 1
-342 trace_line 0 r29 r26 L19
-343 r28 = bit_clear r28 r29
-344 trace_scope 0 r29 r26 -1
-345 r31 = bit_and r30 r28
-346 trace_line 0 r31 r26 L20
-347 r33 = add_i32 r32 r20
-348 r32 = select r31 r33 r32
-349 trace_var 0 r31 r26 $22 = r32
-350 trace_scope 0 r27 r26 -1
-351 r28 = bit_or r29 r28
-352 r29 = bit_and r30 r28
-353 trace_line 0 r29 r26 L18
-354 trace_var 0 r29 r26 $23 = r21
-355 trace_scope 0 r29 r26 1
-356 trace_line 0 r29 r26 L19
-357 r27 = gt_i32 r25 r21
-358 r27 = bit_and r30 r27
-359 r27 = bit_and r28 r27
-360 trace_scope 0 r27 r26 1
-361 trace_line 0 r27 r26 L19
-362 r28 = bit_clear r28 r27
-363 trace_scope 0 r27 r26 -1
-364 r31 = bit_and r30 r28
-365 trace_line 0 r31 r26 L20
-366 r33 = add_i32 r32 r21
-367 r32 = select r31 r33 r32
-368 trace_var 0 r31 r26 $22 = r32
-369 trace_scope 0 r29 r26 -1
-370 r28 = bit_or r27 r28
-371 r27 = bit_and r30 r28
-372 trace_line 0 r27 r26 L18
-373 trace_var 0 r27 r26 $23 = r22
-374 trace_scope 0 r27 r26 1
-375 trace_line 0 r27 r26 L19
-376 r25 = gt_i32 r25 r22
-377 r25 = bit_and r30 r25
-378 r25 = bit_and r28 r25
-379 trace_scope 0 r25 r26 1
-380 trace_line 0 r25 r26 L19
-381 r28 = bit_clear r28 r25
-382 trace_scope 0 r25 r26 -1
-383 r29 = bit_and r30 r28
-384 trace_line 0 r29 r26 L20
-385 r31 = add_i32 r32 r22
-386 r32 = select r29 r31 r32
-387 trace_var 0 r29 r26 $22 = r32
-388 trace_scope 0 r27 r26 -1
-389 r28 = bit_or r25 r28
-390 r28 = bit_and r30 r28
-391 trace_line 0 r28 r26 L18
-392 trace_scope 0 r30 r26 -1
-393 trace_line 0 r30 r26 L22
-394 r32 = bit_and r30 r32
-395 trace_var 0 r30 r26 $20 = r32
-396 trace_scope 0 r30 r26 -1
-397 trace_exit 0 r30 r26 F2
-398 r32 = eq_i32 r32 r23
-399 r32 = bit_and r30 r32
-400 trace_enter 0 r32 r26 F3
-401 trace_var 0 r32 r26 $25 = r14
-402 trace_scope 0 r32 r26 1
-403 trace_line 0 r32 r26 L27
-404 trace_var 0 r32 r26 $26 = r10
-405 trace_line 0 r32 r26 L28
-406 trace_var 0 r32 r26 $27 = r15
-407 trace_line 0 r32 r26 L29
-408 trace_scope 0 r32 r26 1
-409 trace_var 0 r32 r26 $28 = r10
-410 trace_scope 0 r32 r26 1
-411 trace_line 0 r32 r26 L30
-412 trace_line 0 r32 r26 L31
-413 trace_scope 0 r32 r26 -1
-414 trace_line 0 r32 r26 L29
-415 trace_var 0 r32 r26 $28 = r15
-416 trace_scope 0 r32 r26 1
-417 trace_line 0 r32 r26 L30
-418 trace_line 0 r32 r26 L31
-419 r30 = bit_and r32 r15
-420 trace_var 0 r32 r26 $26 = r30
-421 trace_scope 0 r32 r26 -1
-422 trace_line 0 r32 r26 L29
-423 trace_var 0 r32 r26 $28 = r16
-424 trace_scope 0 r32 r26 1
-425 trace_line 0 r32 r26 L30
-426 trace_line 0 r32 r26 L31
-427 r28 = add_i32 r30 r16
-428 r30 = select r32 r28 r30
-429 trace_var 0 r32 r26 $26 = r30
-430 trace_scope 0 r32 r26 -1
-431 trace_line 0 r32 r26 L29
-432 trace_var 0 r32 r26 $28 = r17
-433 trace_scope 0 r32 r26 1
-434 trace_line 0 r32 r26 L30
-435 trace_line 0 r32 r26 L31
-436 r28 = add_i32 r30 r17
-437 r30 = select r32 r28 r30
-438 trace_var 0 r32 r26 $26 = r30
-439 trace_scope 0 r32 r26 -1
-440 trace_line 0 r32 r26 L29
-441 trace_var 0 r32 r26 $28 = r18
-442 trace_scope 0 r32 r26 1
-443 trace_line 0 r32 r26 L30
-444 trace_line 0 r32 r26 L31
-445 r28 = add_i32 r30 r18
-446 r30 = select r32 r28 r30
-447 trace_var 0 r32 r26 $26 = r30
-448 trace_scope 0 r32 r26 -1
-449 trace_line 0 r32 r26 L29
-450 trace_var 0 r32 r26 $28 = r14
-451 trace_scope 0 r32 r26 1
-452 trace_line 0 r32 r26 L30
-453 trace_line 0 r32 r26 L31
-454 r28 = add_i32 r30 r14
-455 r30 = select r32 r28 r30
-456 trace_var 0 r32 r26 $26 = r30
-457 trace_scope 0 r32 r26 -1
-458 trace_line 0 r32 r26 L29
-459 trace_var 0 r32 r26 $28 = r19
-460 trace_scope 0 r32 r26 1
-461 trace_line 0 r32 r26 L30
-462 trace_scope 0 r32 r26 1
-463 trace_line 0 r32 r26 L30
-464 trace_scope 0 r32 r26 -1
-465 trace_scope 0 r32 r26 -1
-466 trace_scope 0 r32 r26 -1
-467 trace_line 0 r32 r26 L33
-468 r30 = bit_and r32 r30
-469 trace_var 0 r32 r26 $24 = r30
-470 trace_scope 0 r32 r26 -1
-471 trace_exit 0 r32 r26 F3
-472 r30 = eq_i32 r30 r24
-473 r30 = bit_and r32 r30
-474 trace_enter 0 r30 r26 F4
-475 trace_scope 0 r30 r26 1
-476 trace_line 0 r30 r26 L38
-477 trace_line 0 r30 r26 L39
-478 trace_line 0 r30 r26 L41
-479 trace_var 0 r30 r26 $30 = r22
-480 trace_var 0 r30 r26 $31 = r22
-481 trace_var 0 r30 r26 $32 = r22
-482 trace_var 0 r30 r26 $33 = r22
-483 trace_line 0 r30 r26 L42
-484 trace_scope 0 r30 r26 1
-485 trace_var 0 r30 r26 $34 = r15
-486 trace_scope 0 r30 r26 1
-487 trace_line 0 r30 r26 L43
-488 r32 = select r30 r15 r22
-489 trace_var 0 r30 r26 $33 = r32
-490 trace_scope 0 r30 r26 -1
-491 trace_line 0 r30 r26 L42
-492 trace_var 0 r30 r26 $34 = r16
-493 trace_scope 0 r30 r26 1
-494 trace_line 0 r30 r26 L43
-495 r28 = select r30 r32 r22
-496 trace_var 0 r30 r26 $32 = r28
-497 r32 = select r30 r16 r32
-498 trace_var 0 r30 r26 $33 = r32
-499 trace_scope 0 r30 r26 -1
-500 trace_line 0 r30 r26 L42
-501 trace_var 0 r30 r26 $34 = r17
-502 trace_scope 0 r30 r26 1
-503 trace_line 0 r30 r26 L43
-504 r25 = select r30 r28 r22
-505 trace_var 0 r30 r26 $31 = r25
-506 r28 = select r30 r32 r28
-507 trace_var 0 r30 r26 $32 = r28
-508 r32 = select r30 r17 r32
-509 trace_var 0 r30 r26 $33 = r32
-510 trace_scope 0 r30 r26 -1
-511 trace_line 0 r30 r26 L42
-512 trace_scope 0 r30 r26 -1
-513 trace_line 0 r30 r26 L45
-514 r25 = eq_i32 r25 r15
-515 r28 = eq_i32 r28 r16
-516 r32 = eq_i32 r32 r17
-517 r28 = bit_and r25 r28
-518 r28 = bit_and r32 r28
-519 r28 = bit_and r30 r28
-520 trace_var 0 r30 r26 $29 = r28
-521 trace_scope 0 r30 r26 -1
-522 trace_exit 0 r30 r26 F4
-523 r28 = bit_and r30 r28
-524 trace_enter 0 r28 r26 F5
-525 trace_scope 0 r28 r26 1
-526 trace_line 0 r28 r26 L50
-527 trace_line 0 r28 r26 L51
-528 trace_line 0 r28 r26 L53
-529 trace_var 0 r28 r26 $36 = r22
-530 trace_var 0 r28 r26 $37 = r22
-531 trace_var 0 r28 r26 $38 = r22
-532 trace_var 0 r28 r26 $39 = r22
-533 trace_line 0 r28 r26 L54
-534 trace_scope 0 r28 r26 1
-535 trace_var 0 r28 r26 $40 = r15
-536 trace_scope 0 r28 r26 1
-537 trace_line 0 r28 r26 L55
-538 r30 = select r28 r15 r22
-539 trace_var 0 r28 r26 $39 = r30
-540 trace_scope 0 r28 r26 -1
-541 trace_line 0 r28 r26 L54
-542 trace_var 0 r28 r26 $40 = r16
-543 trace_scope 0 r28 r26 1
-544 trace_line 0 r28 r26 L55
-545 r32 = select r28 r30 r22
-546 trace_var 0 r28 r26 $38 = r32
-547 r30 = select r28 r16 r30
-548 trace_var 0 r28 r26 $39 = r30
-549 trace_scope 0 r28 r26 -1
-550 trace_line 0 r28 r26 L54
-551 trace_var 0 r28 r26 $40 = r17
-552 trace_scope 0 r28 r26 1
-553 trace_line 0 r28 r26 L55
-554 r25 = select r28 r32 r22
-555 trace_var 0 r28 r26 $37 = r25
-556 r32 = select r28 r30 r32
-557 trace_var 0 r28 r26 $38 = r32
-558 r30 = select r28 r17 r30
-559 trace_var 0 r28 r26 $39 = r30
-560 trace_scope 0 r28 r26 -1
-561 trace_line 0 r28 r26 L54
-562 trace_scope 0 r28 r26 -1
-563 trace_line 0 r28 r26 L57
-564 r25 = eq_i32 r25 r15
-565 r32 = eq_i32 r32 r16
-566 r30 = eq_i32 r30 r17
-567 r32 = bit_and r25 r32
-568 r32 = bit_and r30 r32
-569 r32 = bit_and r28 r32
-570 trace_var 0 r28 r26 $35 = r32
-571 trace_scope 0 r28 r26 -1
-572 trace_exit 0 r28 r26 F5
-573 r32 = bit_and r28 r32
-574 trace_enter 0 r32 r26 F6
-575 trace_scope 0 r32 r26 1
-576 trace_line 0 r32 r26 L62
-577 trace_line 0 r32 r26 L63
-578 trace_line 0 r32 r26 L65
-579 trace_var 0 r32 r26 $42 = r22
-580 trace_var 0 r32 r26 $43 = r22
-581 trace_var 0 r32 r26 $44 = r22
-582 trace_var 0 r32 r26 $45 = r22
-583 trace_line 0 r32 r26 L66
-584 trace_scope 0 r32 r26 1
-585 trace_var 0 r32 r26 $46 = r17
-586 trace_scope 0 r32 r26 1
-587 trace_line 0 r32 r26 L67
-588 r28 = select r32 r17 r22
-589 trace_var 0 r32 r26 $45 = r28
-590 trace_scope 0 r32 r26 -1
-591 trace_line 0 r32 r26 L66
-592 trace_var 0 r32 r26 $46 = r16
-593 trace_scope 0 r32 r26 1
-594 trace_line 0 r32 r26 L67
-595 r30 = select r32 r28 r22
-596 trace_var 0 r32 r26 $44 = r30
-597 r28 = select r32 r16 r28
-598 trace_var 0 r32 r26 $45 = r28
-599 trace_scope 0 r32 r26 -1
-600 trace_line 0 r32 r26 L66
-601 trace_var 0 r32 r26 $46 = r15
-602 trace_scope 0 r32 r26 1
-603 trace_line 0 r32 r26 L67
-604 r25 = select r32 r30 r22
-605 trace_var 0 r32 r26 $43 = r25
-606 r30 = select r32 r28 r30
-607 trace_var 0 r32 r26 $44 = r30
-608 r28 = select r32 r15 r28
-609 trace_var 0 r32 r26 $45 = r28
-610 trace_scope 0 r32 r26 -1
-611 trace_line 0 r32 r26 L66
-612 trace_scope 0 r32 r26 -1
-613 trace_line 0 r32 r26 L69
-614 r25 = eq_i32 r25 r17
-615 r30 = eq_i32 r30 r16
-616 r28 = eq_i32 r28 r15
-617 r30 = bit_and r25 r30
-618 r30 = bit_and r28 r30
-619 r30 = bit_and r32 r30
-620 trace_var 0 r32 r26 $41 = r30
-621 trace_scope 0 r32 r26 -1
-622 trace_exit 0 r32 r26 F6
-623 r30 = bit_and r32 r30
-624 trace_enter 0 r30 r26 F7
-625 trace_scope 0 r30 r26 1
-626 trace_line 0 r30 r26 L74
-627 trace_line 0 r30 r26 L75
-628 trace_line 0 r30 r26 L77
-629 trace_var 0 r30 r26 $48 = r22
-630 trace_var 0 r30 r26 $49 = r22
-631 trace_var 0 r30 r26 $50 = r22
-632 trace_var 0 r30 r26 $51 = r22
-633 trace_line 0 r30 r26 L78
-634 trace_scope 0 r30 r26 1
-635 trace_var 0 r30 r26 $52 = r17
-636 trace_scope 0 r30 r26 1
-637 trace_line 0 r30 r26 L79
-638 r32 = select r30 r17 r22
-639 trace_var 0 r30 r26 $51 = r32
-640 trace_scope 0 r30 r26 -1
-641 trace_line 0 r30 r26 L78
-642 trace_var 0 r30 r26 $52 = r16
-643 trace_scope 0 r30 r26 1
-644 trace_line 0 r30 r26 L79
-645 r28 = select r30 r32 r22
-646 trace_var 0 r30 r26 $50 = r28
-647 r32 = select r30 r16 r32
-648 trace_var 0 r30 r26 $51 = r32
-649 trace_scope 0 r30 r26 -1
-650 trace_line 0 r30 r26 L78
-651 trace_var 0 r30 r26 $52 = r15
-652 trace_scope 0 r30 r26 1
-653 trace_line 0 r30 r26 L79
-654 r25 = select r30 r28 r22
-655 trace_var 0 r30 r26 $49 = r25
-656 r28 = select r30 r32 r28
-657 trace_var 0 r30 r26 $50 = r28
-658 r32 = select r30 r15 r32
-659 trace_var 0 r30 r26 $51 = r32
-660 trace_scope 0 r30 r26 -1
-661 trace_line 0 r30 r26 L78
-662 trace_scope 0 r30 r26 -1
-663 trace_line 0 r30 r26 L81
-664 r25 = eq_i32 r25 r17
-665 r28 = eq_i32 r28 r16
-666 r32 = eq_i32 r32 r15
-667 r28 = bit_and r25 r28
-668 r28 = bit_and r32 r28
-669 r28 = bit_and r30 r28
-670 trace_var 0 r30 r26 $47 = r28
-671 trace_scope 0 r30 r26 -1
-672 trace_exit 0 r30 r26 F7
-673 r28 = bit_and r30 r28
-674 trace_enter 0 r28 r26 F8
-675 trace_scope 0 r28 r26 1
-676 trace_line 0 r28 r26 L97
-677 trace_line 0 r28 r26 L99
-678 trace_var 0 r28 r26 $54 = r22
-679 trace_var 0 r28 r26 $55 = r22
-680 trace_var 0 r28 r26 $56 = r22
-681 trace_var 0 r28 r26 $57 = r22
-682 trace_line 0 r28 r26 L100
-683 trace_scope 0 r28 r26 1
-684 trace_var 0 r28 r26 $58 = r15
-685 trace_scope 0 r28 r26 1
-686 trace_line 0 r28 r26 L101
-687 r30 = select r28 r15 r22
-688 trace_var 0 r28 r26 $57 = r30
-689 trace_scope 0 r28 r26 -1
-690 trace_line 0 r28 r26 L100
-691 trace_scope 0 r28 r26 -1
-692 trace_line 0 r28 r26 L103
-693 r30 = eq_i32 r30 r15
-694 r30 = bit_and r28 r30
-695 trace_var 0 r28 r26 $53 = r30
-696 trace_scope 0 r28 r26 -1
-697 trace_exit 0 r28 r26 F8
-698 r30 = bit_and r28 r30
-699 trace_enter 0 r30 r26 F9
-700 trace_scope 0 r30 r26 1
-701 trace_line 0 r30 r26 L86
-702 trace_line 0 r30 r26 L88
-703 trace_var 0 r30 r26 $60 = r22
-704 trace_var 0 r30 r26 $61 = r22
-705 trace_var 0 r30 r26 $62 = r22
-706 trace_var 0 r30 r26 $63 = r22
-707 trace_line 0 r30 r26 L89
-708 trace_scope 0 r30 r26 1
-709 trace_var 0 r30 r26 $64 = r15
-710 trace_scope 0 r30 r26 1
-711 trace_line 0 r30 r26 L90
-712 r28 = select r30 r15 r22
-713 trace_var 0 r30 r26 $63 = r28
-714 trace_scope 0 r30 r26 -1
-715 trace_line 0 r30 r26 L89
-716 trace_var 0 r30 r26 $64 = r16
-717 trace_scope 0 r30 r26 1
-718 trace_line 0 r30 r26 L90
-719 r32 = select r30 r28 r22
-720 trace_var 0 r30 r26 $62 = r32
-721 r28 = select r30 r16 r28
-722 trace_var 0 r30 r26 $63 = r28
-723 trace_scope 0 r30 r26 -1
-724 trace_line 0 r30 r26 L89
-725 trace_var 0 r30 r26 $64 = r17
-726 trace_scope 0 r30 r26 1
-727 trace_line 0 r30 r26 L90
-728 r25 = select r30 r32 r22
-729 trace_var 0 r30 r26 $61 = r25
-730 r32 = select r30 r28 r32
-731 trace_var 0 r30 r26 $62 = r32
-732 r28 = select r30 r17 r28
-733 trace_var 0 r30 r26 $63 = r28
-734 trace_scope 0 r30 r26 -1
-735 trace_line 0 r30 r26 L89
-736 trace_scope 0 r30 r26 -1
-737 trace_line 0 r30 r26 L92
-738 r25 = eq_i32 r25 r15
-739 r32 = eq_i32 r32 r16
-740 r28 = eq_i32 r28 r17
-741 r32 = bit_and r25 r32
-742 r32 = bit_and r28 r32
-743 r32 = bit_and r30 r32
-744 trace_var 0 r30 r26 $59 = r32
-745 trace_scope 0 r30 r26 -1
-746 trace_exit 0 r30 r26 F9
-747 r32 = bit_and r30 r32
-748 r30 = select r32 r6 r2
-749 r28 = select r32 r7 r3
-750 r25 = select r32 r8 r4
-751 r32 = select r32 r9 r5
-752 trace_var 0 r26 r26 $10 = r30
-753 trace_var 0 r26 r26 $11 = r28
-754 trace_var 0 r26 r26 $12 = r25
-755 trace_var 0 r26 r26 $13 = r32
-756 trace_scope 0 r26 r26 -1
-757 trace_exit 0 r26 r26 F0
-758 store32 ptr1 r30
-759 store32 ptr2 r28
-760 store32 ptr3 r25
-761 store32 ptr4 r32
diff --git a/tests/sksl/runtime/MultipleCallsInOneStatement.skvm b/tests/sksl/runtime/MultipleCallsInOneStatement.skvm
deleted file mode 100644
index 8c52944..0000000
--- a/tests/sksl/runtime/MultipleCallsInOneStatement.skvm
+++ /dev/null
@@ -1,90 +0,0 @@
-$0 = colorRed (float4 : slot 1/4, L3)
-$1 = colorRed (float4 : slot 2/4, L3)
-$2 = colorRed (float4 : slot 3/4, L3)
-$3 = colorRed (float4 : slot 4/4, L3)
-$4 = colorGreen (float4 : slot 1/4, L3)
-$5 = colorGreen (float4 : slot 2/4, L3)
-$6 = colorGreen (float4 : slot 3/4, L3)
-$7 = colorGreen (float4 : slot 4/4, L3)
-$8 = [main].result (float4 : slot 1/4, L9)
-$9 = [main].result (float4 : slot 2/4, L9)
-$10 = [main].result (float4 : slot 3/4, L9)
-$11 = [main].result (float4 : slot 4/4, L9)
-$12 = pos (float2 : slot 1/2, L9)
-$13 = pos (float2 : slot 2/2, L9)
-$14 = ten (int, L11)
-$15 = [get].result (int, L5)
-$16 = x (int, L5)
-$17 = [get].result (int, L5)
-$18 = [get].result (int, L5)
-F0 = half4 main(float2 pos)
-F1 = int get(int x)
-
-17 registers, 66 instructions:
-0 r0 = uniform32 ptr0 0
-1 r1 = splat 3F000000 (0.5)
-2 r0 = add_f32 r0 r1
-3 r2 = uniform32 ptr0 4
-4 r3 = uniform32 ptr0 8
-5 r4 = uniform32 ptr0 C
-6 r5 = uniform32 ptr0 10
-7 r6 = uniform32 ptr0 14
-8 r7 = uniform32 ptr0 18
-9 r8 = uniform32 ptr0 1C
-10 r9 = uniform32 ptr0 20
-11 r10 = eq_f32 r0 r1
-12 r11 = splat 5 (7.0064923e-45)
-13 r12 = splat 3 (4.2038954e-45)
-14 r13 = splat 2 (2.8025969e-45)
-15 r14 = splat A (1.4012985e-44)
-loop:
-16 r15 = index
-17 r15 = add_f32 r15 r1
-18 r16 = eq_f32 r15 r1
-19 r16 = bit_and r16 r10
-20 trace_var 0 r16 r16 $0 = r2
-21 trace_var 0 r16 r16 $1 = r3
-22 trace_var 0 r16 r16 $2 = r4
-23 trace_var 0 r16 r16 $3 = r5
-24 trace_var 0 r16 r16 $4 = r6
-25 trace_var 0 r16 r16 $5 = r7
-26 trace_var 0 r16 r16 $6 = r8
-27 trace_var 0 r16 r16 $7 = r9
-28 trace_enter 0 r16 r16 F0
-29 trace_var 0 r16 r16 $12 = r15
-30 trace_var 0 r16 r16 $13 = r0
-31 trace_scope 0 r16 r16 1
-32 trace_line 0 r16 r16 L11
-33 trace_enter 0 r16 r16 F1
-34 trace_var 0 r16 r16 $16 = r11
-35 trace_scope 0 r16 r16 1
-36 trace_line 0 r16 r16 L6
-37 trace_var 0 r16 r16 $15 = r11
-38 trace_scope 0 r16 r16 -1
-39 trace_exit 0 r16 r16 F1
-40 trace_enter 0 r16 r16 F1
-41 trace_var 0 r16 r16 $16 = r12
-42 trace_scope 0 r16 r16 1
-43 trace_line 0 r16 r16 L6
-44 trace_var 0 r16 r16 $17 = r12
-45 trace_scope 0 r16 r16 -1
-46 trace_exit 0 r16 r16 F1
-47 trace_enter 0 r16 r16 F1
-48 trace_var 0 r16 r16 $16 = r13
-49 trace_scope 0 r16 r16 1
-50 trace_line 0 r16 r16 L6
-51 trace_var 0 r16 r16 $18 = r13
-52 trace_scope 0 r16 r16 -1
-53 trace_exit 0 r16 r16 F1
-54 trace_var 0 r16 r16 $14 = r14
-55 trace_line 0 r16 r16 L12
-56 trace_var 0 r16 r16 $8 = r6
-57 trace_var 0 r16 r16 $9 = r7
-58 trace_var 0 r16 r16 $10 = r8
-59 trace_var 0 r16 r16 $11 = r9
-60 trace_scope 0 r16 r16 -1
-61 trace_exit 0 r16 r16 F0
-62 store32 ptr1 r6
-63 store32 ptr2 r7
-64 store32 ptr3 r8
-65 store32 ptr4 r9
diff --git a/tests/sksl/runtime/Ossfuzz52603.skvm b/tests/sksl/runtime/Ossfuzz52603.skvm
deleted file mode 100644
index 8f00020..0000000
--- a/tests/sksl/runtime/Ossfuzz52603.skvm
+++ /dev/null
@@ -1,10 +0,0 @@
-4 registers, 8 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-loop:
-4 store32 ptr1 r0
-5 store32 ptr2 r1
-6 store32 ptr3 r2
-7 store32 ptr4 r3
diff --git a/tests/sksl/runtime/PrecisionQualifiers.skvm b/tests/sksl/runtime/PrecisionQualifiers.skvm
deleted file mode 100644
index 905c43b..0000000
--- a/tests/sksl/runtime/PrecisionQualifiers.skvm
+++ /dev/null
@@ -1,422 +0,0 @@
-$0 = colorGreen (float4 : slot 1/4, L3)
-$1 = colorGreen (float4 : slot 2/4, L3)
-$2 = colorGreen (float4 : slot 3/4, L3)
-$3 = colorGreen (float4 : slot 4/4, L3)
-$4 = colorRed (float4 : slot 1/4, L3)
-$5 = colorRed (float4 : slot 2/4, L3)
-$6 = colorRed (float4 : slot 3/4, L3)
-$7 = colorRed (float4 : slot 4/4, L3)
-$8 = [main].result (float4 : slot 1/4, L57)
-$9 = [main].result (float4 : slot 2/4, L57)
-$10 = [main].result (float4 : slot 3/4, L57)
-$11 = [main].result (float4 : slot 4/4, L57)
-$12 = coords (float2 : slot 1/2, L57)
-$13 = coords (float2 : slot 2/2, L57)
-$14 = zero (float4 : slot 1/4, L58)
-$15 = zero (float4 : slot 2/4, L58)
-$16 = zero (float4 : slot 3/4, L58)
-$17 = zero (float4 : slot 4/4, L58)
-$18 = one (float4 : slot 1/4, L59)
-$19 = one (float4 : slot 2/4, L59)
-$20 = one (float4 : slot 3/4, L59)
-$21 = one (float4 : slot 4/4, L59)
-$22 = green (float4 : slot 1/4, L60)
-$23 = green (float4 : slot 2/4, L60)
-$24 = green (float4 : slot 3/4, L60)
-$25 = green (float4 : slot 4/4, L60)
-$26 = red (float4 : slot 1/4, L63)
-$27 = red (float4 : slot 2/4, L63)
-$28 = red (float4 : slot 3/4, L63)
-$29 = red (float4 : slot 4/4, L63)
-$30 = [test_scalar].result (bool, L5)
-$31 = mp (float, L6)
-$32 = hp (float, L7)
-$33 = ihp (int, L8)
-$34 = imp (int, L9)
-$35 = [test_vector].result (bool, L14)
-$36 = mp2 (float2 : slot 1/2, L15)
-$37 = mp2 (float2 : slot 2/2, L15)
-$38 = hp2 (float2 : slot 1/2, L16)
-$39 = hp2 (float2 : slot 2/2, L16)
-$40 = mp3 (float3 : slot 1/3, L17)
-$41 = mp3 (float3 : slot 2/3, L17)
-$42 = mp3 (float3 : slot 3/3, L17)
-$43 = hp3 (float3 : slot 1/3, L18)
-$44 = hp3 (float3 : slot 2/3, L18)
-$45 = hp3 (float3 : slot 3/3, L18)
-$46 = mp4 (float4 : slot 1/4, L19)
-$47 = mp4 (float4 : slot 2/4, L19)
-$48 = mp4 (float4 : slot 3/4, L19)
-$49 = mp4 (float4 : slot 4/4, L19)
-$50 = hp4 (float4 : slot 1/4, L20)
-$51 = hp4 (float4 : slot 2/4, L20)
-$52 = hp4 (float4 : slot 3/4, L20)
-$53 = hp4 (float4 : slot 4/4, L20)
-$54 = ihp2 (int2 : slot 1/2, L22)
-$55 = ihp2 (int2 : slot 2/2, L22)
-$56 = imp2 (int2 : slot 1/2, L23)
-$57 = imp2 (int2 : slot 2/2, L23)
-$58 = ihp3 (int3 : slot 1/3, L24)
-$59 = ihp3 (int3 : slot 2/3, L24)
-$60 = ihp3 (int3 : slot 3/3, L24)
-$61 = imp3 (int3 : slot 1/3, L25)
-$62 = imp3 (int3 : slot 2/3, L25)
-$63 = imp3 (int3 : slot 3/3, L25)
-$64 = ihp4 (int4 : slot 1/4, L26)
-$65 = ihp4 (int4 : slot 2/4, L26)
-$66 = ihp4 (int4 : slot 3/4, L26)
-$67 = ihp4 (int4 : slot 4/4, L26)
-$68 = imp4 (int4 : slot 1/4, L27)
-$69 = imp4 (int4 : slot 2/4, L27)
-$70 = imp4 (int4 : slot 3/4, L27)
-$71 = imp4 (int4 : slot 4/4, L27)
-$72 = [test_matrix].result (bool, L33)
-$73 = mp2 (float2x2 : slot 1/4, L34)
-$74 = mp2 (float2x2 : slot 2/4, L34)
-$75 = mp2 (float2x2 : slot 3/4, L34)
-$76 = mp2 (float2x2 : slot 4/4, L34)
-$77 = hp2 (float2x2 : slot 1/4, L35)
-$78 = hp2 (float2x2 : slot 2/4, L35)
-$79 = hp2 (float2x2 : slot 3/4, L35)
-$80 = hp2 (float2x2 : slot 4/4, L35)
-$81 = mp3 (float3x3 : slot 1/9, L36)
-$82 = mp3 (float3x3 : slot 2/9, L36)
-$83 = mp3 (float3x3 : slot 3/9, L36)
-$84 = mp3 (float3x3 : slot 4/9, L36)
-$85 = mp3 (float3x3 : slot 5/9, L36)
-$86 = mp3 (float3x3 : slot 6/9, L36)
-$87 = mp3 (float3x3 : slot 7/9, L36)
-$88 = mp3 (float3x3 : slot 8/9, L36)
-$89 = mp3 (float3x3 : slot 9/9, L36)
-$90 = hp3 (float3x3 : slot 1/9, L37)
-$91 = hp3 (float3x3 : slot 2/9, L37)
-$92 = hp3 (float3x3 : slot 3/9, L37)
-$93 = hp3 (float3x3 : slot 4/9, L37)
-$94 = hp3 (float3x3 : slot 5/9, L37)
-$95 = hp3 (float3x3 : slot 6/9, L37)
-$96 = hp3 (float3x3 : slot 7/9, L37)
-$97 = hp3 (float3x3 : slot 8/9, L37)
-$98 = hp3 (float3x3 : slot 9/9, L37)
-$99 = mp4 (float4x4 : slot 1/16, L38)
-$100 = mp4 (float4x4 : slot 2/16, L38)
-$101 = mp4 (float4x4 : slot 3/16, L38)
-$102 = mp4 (float4x4 : slot 4/16, L38)
-$103 = mp4 (float4x4 : slot 5/16, L38)
-$104 = mp4 (float4x4 : slot 6/16, L38)
-$105 = mp4 (float4x4 : slot 7/16, L38)
-$106 = mp4 (float4x4 : slot 8/16, L38)
-$107 = mp4 (float4x4 : slot 9/16, L38)
-$108 = mp4 (float4x4 : slot 10/16, L38)
-$109 = mp4 (float4x4 : slot 11/16, L38)
-$110 = mp4 (float4x4 : slot 12/16, L38)
-$111 = mp4 (float4x4 : slot 13/16, L38)
-$112 = mp4 (float4x4 : slot 14/16, L38)
-$113 = mp4 (float4x4 : slot 15/16, L38)
-$114 = mp4 (float4x4 : slot 16/16, L38)
-$115 = hp4 (float4x4 : slot 1/16, L39)
-$116 = hp4 (float4x4 : slot 2/16, L39)
-$117 = hp4 (float4x4 : slot 3/16, L39)
-$118 = hp4 (float4x4 : slot 4/16, L39)
-$119 = hp4 (float4x4 : slot 5/16, L39)
-$120 = hp4 (float4x4 : slot 6/16, L39)
-$121 = hp4 (float4x4 : slot 7/16, L39)
-$122 = hp4 (float4x4 : slot 8/16, L39)
-$123 = hp4 (float4x4 : slot 9/16, L39)
-$124 = hp4 (float4x4 : slot 10/16, L39)
-$125 = hp4 (float4x4 : slot 11/16, L39)
-$126 = hp4 (float4x4 : slot 12/16, L39)
-$127 = hp4 (float4x4 : slot 13/16, L39)
-$128 = hp4 (float4x4 : slot 14/16, L39)
-$129 = hp4 (float4x4 : slot 15/16, L39)
-$130 = hp4 (float4x4 : slot 16/16, L39)
-$131 = [test_array].result (bool, L44)
-$132 = mf[0] (float, L45)
-$133 = hf[0] (float, L46)
-$134 = mv[0] (float2 : slot 1/2, L47)
-$135 = mv[0] (float2 : slot 2/2, L47)
-$136 = mv[1] (float2 : slot 1/2, L47)
-$137 = mv[1] (float2 : slot 2/2, L47)
-$138 = hv[0] (float2 : slot 1/2, L48)
-$139 = hv[0] (float2 : slot 2/2, L48)
-$140 = hv[1] (float2 : slot 1/2, L48)
-$141 = hv[1] (float2 : slot 2/2, L48)
-$142 = [highp_param].result (bool, L53)
-$143 = value (float, L53)
-$144 = [mediump_param].result (bool, L54)
-$145 = value (float, L54)
-$146 = [lowp_param].result (bool, L55)
-$147 = value (float, L55)
-F0 = vec4 main(vec2 coords)
-F1 = bool test_scalar()
-F2 = bool test_vector()
-F3 = bool test_matrix()
-F4 = bool test_array()
-F5 = bool highp_param(float value)
-F6 = bool mediump_param(half value)
-F7 = bool lowp_param(half value)
-
-22 registers, 263 instructions:
-0 r0 = uniform32 ptr0 0
-1 r1 = splat 3F000000 (0.5)
-2 r0 = add_f32 r0 r1
-3 r2 = uniform32 ptr0 4
-4 r3 = uniform32 ptr0 8
-5 r4 = uniform32 ptr0 C
-6 r5 = uniform32 ptr0 10
-7 r6 = uniform32 ptr0 14
-8 r7 = uniform32 ptr0 18
-9 r8 = uniform32 ptr0 1C
-10 r9 = uniform32 ptr0 20
-11 r10 = splat 0 (0)
-12 r11 = splat FFFFFFFF (nan)
-13 r12 = eq_f32 r0 r1
-14 r13 = splat 3F800000 (1)
-15 r14 = splat 2 (2.8025969e-45)
-16 r15 = splat 40000000 (2)
-17 r16 = splat 40400000 (3)
-18 r17 = splat 40800000 (4)
-19 r18 = splat 3 (4.2038954e-45)
-20 r19 = splat 4 (5.6051939e-45)
-loop:
-21 r20 = index
-22 r20 = add_f32 r20 r1
-23 r21 = eq_f32 r20 r1
-24 r21 = bit_and r21 r12
-25 trace_var 0 r21 r21 $0 = r2
-26 trace_var 0 r21 r21 $1 = r3
-27 trace_var 0 r21 r21 $2 = r4
-28 trace_var 0 r21 r21 $3 = r5
-29 trace_var 0 r21 r21 $4 = r6
-30 trace_var 0 r21 r21 $5 = r7
-31 trace_var 0 r21 r21 $6 = r8
-32 trace_var 0 r21 r21 $7 = r9
-33 trace_enter 0 r21 r21 F0
-34 trace_var 0 r21 r21 $12 = r20
-35 trace_var 0 r21 r21 $13 = r0
-36 trace_scope 0 r21 r21 1
-37 trace_line 0 r21 r21 L58
-38 trace_var 0 r21 r21 $14 = r10
-39 trace_var 0 r21 r21 $15 = r10
-40 trace_var 0 r21 r21 $16 = r10
-41 trace_var 0 r21 r21 $17 = r10
-42 trace_line 0 r21 r21 L59
-43 trace_var 0 r21 r21 $18 = r13
-44 trace_var 0 r21 r21 $19 = r13
-45 trace_var 0 r21 r21 $20 = r13
-46 trace_var 0 r21 r21 $21 = r13
-47 trace_line 0 r21 r21 L60
-48 trace_var 0 r21 r21 $22 = r2
-49 trace_var 0 r21 r21 $23 = r3
-50 trace_var 0 r21 r21 $24 = r4
-51 trace_var 0 r21 r21 $25 = r5
-52 trace_line 0 r21 r21 L61
-53 trace_line 0 r21 r21 L63
-54 trace_var 0 r21 r21 $26 = r6
-55 trace_var 0 r21 r21 $27 = r7
-56 trace_var 0 r21 r21 $28 = r8
-57 trace_var 0 r21 r21 $29 = r9
-58 trace_line 0 r21 r21 L64
-59 trace_line 0 r21 r21 L66
-60 trace_enter 0 r21 r21 F1
-61 trace_scope 0 r21 r21 1
-62 trace_line 0 r21 r21 L6
-63 trace_var 0 r21 r21 $31 = r1
-64 trace_line 0 r21 r21 L7
-65 trace_var 0 r21 r21 $32 = r1
-66 trace_line 0 r21 r21 L8
-67 trace_var 0 r21 r21 $33 = r14
-68 trace_line 0 r21 r21 L9
-69 trace_var 0 r21 r21 $34 = r14
-70 trace_line 0 r21 r21 L11
-71 trace_var 0 r21 r21 $30 = r11
-72 trace_scope 0 r21 r21 -1
-73 trace_exit 0 r21 r21 F1
-74 trace_enter 0 r21 r21 F2
-75 trace_scope 0 r21 r21 1
-76 trace_line 0 r21 r21 L15
-77 trace_var 0 r21 r21 $36 = r15
-78 trace_var 0 r21 r21 $37 = r15
-79 trace_line 0 r21 r21 L16
-80 trace_var 0 r21 r21 $38 = r15
-81 trace_var 0 r21 r21 $39 = r15
-82 trace_line 0 r21 r21 L17
-83 trace_var 0 r21 r21 $40 = r16
-84 trace_var 0 r21 r21 $41 = r16
-85 trace_var 0 r21 r21 $42 = r16
-86 trace_line 0 r21 r21 L18
-87 trace_var 0 r21 r21 $43 = r16
-88 trace_var 0 r21 r21 $44 = r16
-89 trace_var 0 r21 r21 $45 = r16
-90 trace_line 0 r21 r21 L19
-91 trace_var 0 r21 r21 $46 = r17
-92 trace_var 0 r21 r21 $47 = r17
-93 trace_var 0 r21 r21 $48 = r17
-94 trace_var 0 r21 r21 $49 = r17
-95 trace_line 0 r21 r21 L20
-96 trace_var 0 r21 r21 $50 = r17
-97 trace_var 0 r21 r21 $51 = r17
-98 trace_var 0 r21 r21 $52 = r17
-99 trace_var 0 r21 r21 $53 = r17
-100 trace_line 0 r21 r21 L22
-101 trace_var 0 r21 r21 $54 = r14
-102 trace_var 0 r21 r21 $55 = r14
-103 trace_line 0 r21 r21 L23
-104 trace_var 0 r21 r21 $56 = r14
-105 trace_var 0 r21 r21 $57 = r14
-106 trace_line 0 r21 r21 L24
-107 trace_var 0 r21 r21 $58 = r18
-108 trace_var 0 r21 r21 $59 = r18
-109 trace_var 0 r21 r21 $60 = r18
-110 trace_line 0 r21 r21 L25
-111 trace_var 0 r21 r21 $61 = r18
-112 trace_var 0 r21 r21 $62 = r18
-113 trace_var 0 r21 r21 $63 = r18
-114 trace_line 0 r21 r21 L26
-115 trace_var 0 r21 r21 $64 = r19
-116 trace_var 0 r21 r21 $65 = r19
-117 trace_var 0 r21 r21 $66 = r19
-118 trace_var 0 r21 r21 $67 = r19
-119 trace_line 0 r21 r21 L27
-120 trace_var 0 r21 r21 $68 = r19
-121 trace_var 0 r21 r21 $69 = r19
-122 trace_var 0 r21 r21 $70 = r19
-123 trace_var 0 r21 r21 $71 = r19
-124 trace_line 0 r21 r21 L29
-125 trace_var 0 r21 r21 $35 = r11
-126 trace_scope 0 r21 r21 -1
-127 trace_exit 0 r21 r21 F2
-128 trace_enter 0 r21 r21 F3
-129 trace_scope 0 r21 r21 1
-130 trace_line 0 r21 r21 L34
-131 trace_var 0 r21 r21 $73 = r15
-132 trace_var 0 r21 r21 $74 = r10
-133 trace_var 0 r21 r21 $75 = r10
-134 trace_var 0 r21 r21 $76 = r15
-135 trace_line 0 r21 r21 L35
-136 trace_var 0 r21 r21 $77 = r15
-137 trace_var 0 r21 r21 $78 = r10
-138 trace_var 0 r21 r21 $79 = r10
-139 trace_var 0 r21 r21 $80 = r15
-140 trace_line 0 r21 r21 L36
-141 trace_var 0 r21 r21 $81 = r16
-142 trace_var 0 r21 r21 $82 = r10
-143 trace_var 0 r21 r21 $83 = r10
-144 trace_var 0 r21 r21 $84 = r10
-145 trace_var 0 r21 r21 $85 = r16
-146 trace_var 0 r21 r21 $86 = r10
-147 trace_var 0 r21 r21 $87 = r10
-148 trace_var 0 r21 r21 $88 = r10
-149 trace_var 0 r21 r21 $89 = r16
-150 trace_line 0 r21 r21 L37
-151 trace_var 0 r21 r21 $90 = r16
-152 trace_var 0 r21 r21 $91 = r10
-153 trace_var 0 r21 r21 $92 = r10
-154 trace_var 0 r21 r21 $93 = r10
-155 trace_var 0 r21 r21 $94 = r16
-156 trace_var 0 r21 r21 $95 = r10
-157 trace_var 0 r21 r21 $96 = r10
-158 trace_var 0 r21 r21 $97 = r10
-159 trace_var 0 r21 r21 $98 = r16
-160 trace_line 0 r21 r21 L38
-161 trace_var 0 r21 r21 $99 = r17
-162 trace_var 0 r21 r21 $100 = r10
-163 trace_var 0 r21 r21 $101 = r10
-164 trace_var 0 r21 r21 $102 = r10
-165 trace_var 0 r21 r21 $103 = r10
-166 trace_var 0 r21 r21 $104 = r17
-167 trace_var 0 r21 r21 $105 = r10
-168 trace_var 0 r21 r21 $106 = r10
-169 trace_var 0 r21 r21 $107 = r10
-170 trace_var 0 r21 r21 $108 = r10
-171 trace_var 0 r21 r21 $109 = r17
-172 trace_var 0 r21 r21 $110 = r10
-173 trace_var 0 r21 r21 $111 = r10
-174 trace_var 0 r21 r21 $112 = r10
-175 trace_var 0 r21 r21 $113 = r10
-176 trace_var 0 r21 r21 $114 = r17
-177 trace_line 0 r21 r21 L39
-178 trace_var 0 r21 r21 $115 = r17
-179 trace_var 0 r21 r21 $116 = r10
-180 trace_var 0 r21 r21 $117 = r10
-181 trace_var 0 r21 r21 $118 = r10
-182 trace_var 0 r21 r21 $119 = r10
-183 trace_var 0 r21 r21 $120 = r17
-184 trace_var 0 r21 r21 $121 = r10
-185 trace_var 0 r21 r21 $122 = r10
-186 trace_var 0 r21 r21 $123 = r10
-187 trace_var 0 r21 r21 $124 = r10
-188 trace_var 0 r21 r21 $125 = r17
-189 trace_var 0 r21 r21 $126 = r10
-190 trace_var 0 r21 r21 $127 = r10
-191 trace_var 0 r21 r21 $128 = r10
-192 trace_var 0 r21 r21 $129 = r10
-193 trace_var 0 r21 r21 $130 = r17
-194 trace_line 0 r21 r21 L41
-195 trace_var 0 r21 r21 $72 = r11
-196 trace_scope 0 r21 r21 -1
-197 trace_exit 0 r21 r21 F3
-198 trace_enter 0 r21 r21 F4
-199 trace_scope 0 r21 r21 1
-200 trace_line 0 r21 r21 L45
-201 trace_var 0 r21 r21 $132 = r10
-202 trace_line 0 r21 r21 L45
-203 trace_var 0 r21 r21 $132 = r13
-204 trace_line 0 r21 r21 L46
-205 trace_var 0 r21 r21 $133 = r10
-206 trace_line 0 r21 r21 L46
-207 trace_var 0 r21 r21 $133 = r13
-208 trace_line 0 r21 r21 L47
-209 trace_var 0 r21 r21 $134 = r10
-210 trace_var 0 r21 r21 $135 = r10
-211 trace_var 0 r21 r21 $136 = r10
-212 trace_var 0 r21 r21 $137 = r10
-213 trace_line 0 r21 r21 L47
-214 trace_var 0 r21 r21 $135 = r13
-215 trace_line 0 r21 r21 L47
-216 trace_var 0 r21 r21 $136 = r15
-217 trace_var 0 r21 r21 $137 = r16
-218 trace_line 0 r21 r21 L48
-219 trace_var 0 r21 r21 $138 = r10
-220 trace_var 0 r21 r21 $139 = r10
-221 trace_var 0 r21 r21 $140 = r10
-222 trace_var 0 r21 r21 $141 = r10
-223 trace_line 0 r21 r21 L48
-224 trace_var 0 r21 r21 $139 = r13
-225 trace_line 0 r21 r21 L48
-226 trace_var 0 r21 r21 $140 = r15
-227 trace_var 0 r21 r21 $141 = r16
-228 trace_line 0 r21 r21 L50
-229 trace_var 0 r21 r21 $131 = r11
-230 trace_scope 0 r21 r21 -1
-231 trace_exit 0 r21 r21 F4
-232 trace_enter 0 r21 r21 F5
-233 trace_var 0 r21 r21 $143 = r13
-234 trace_scope 0 r21 r21 1
-235 trace_line 0 r21 r21 L53
-236 trace_var 0 r21 r21 $142 = r11
-237 trace_scope 0 r21 r21 -1
-238 trace_exit 0 r21 r21 F5
-239 trace_enter 0 r21 r21 F6
-240 trace_var 0 r21 r21 $145 = r15
-241 trace_scope 0 r21 r21 1
-242 trace_line 0 r21 r21 L54
-243 trace_var 0 r21 r21 $144 = r11
-244 trace_scope 0 r21 r21 -1
-245 trace_exit 0 r21 r21 F6
-246 trace_enter 0 r21 r21 F7
-247 trace_var 0 r21 r21 $147 = r16
-248 trace_scope 0 r21 r21 1
-249 trace_line 0 r21 r21 L55
-250 trace_var 0 r21 r21 $146 = r11
-251 trace_scope 0 r21 r21 -1
-252 trace_exit 0 r21 r21 F7
-253 trace_var 0 r21 r21 $8 = r2
-254 trace_var 0 r21 r21 $9 = r3
-255 trace_var 0 r21 r21 $10 = r4
-256 trace_var 0 r21 r21 $11 = r5
-257 trace_scope 0 r21 r21 -1
-258 trace_exit 0 r21 r21 F0
-259 store32 ptr1 r2
-260 store32 ptr2 r3
-261 store32 ptr3 r4
-262 store32 ptr4 r5
diff --git a/tests/sksl/runtime/QualifierOrder.skvm b/tests/sksl/runtime/QualifierOrder.skvm
deleted file mode 100644
index 8f00020..0000000
--- a/tests/sksl/runtime/QualifierOrder.skvm
+++ /dev/null
@@ -1,10 +0,0 @@
-4 registers, 8 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-loop:
-4 store32 ptr1 r0
-5 store32 ptr2 r1
-6 store32 ptr3 r2
-7 store32 ptr4 r3
diff --git a/tests/sksl/runtime/RecursiveComparison_Arrays.skvm b/tests/sksl/runtime/RecursiveComparison_Arrays.skvm
deleted file mode 100644
index 015946c..0000000
--- a/tests/sksl/runtime/RecursiveComparison_Arrays.skvm
+++ /dev/null
@@ -1,135 +0,0 @@
-25 registers, 133 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-4 r4 = uniform32 ptr0 14
-5 r5 = uniform32 ptr0 18
-6 r6 = uniform32 ptr0 1C
-7 r7 = uniform32 ptr0 20
-8 r8 = splat 0 (0)
-9 r9 = div_f32 r0 r2
-10 r10 = div_f32 r2 r0
-11 r11 = mul_f32 r0 r2
-12 r8 = sub_f32 r8 r0
-13 r8 = mul_f32 r2 r8
-14 r12 = splat 42280000 (42)
-15 r12 = mul_f32 r1 r12
-16 r13 = splat 422C0000 (43)
-17 r13 = mul_f32 r1 r13
-18 r14 = splat 42300000 (44)
-19 r14 = mul_f32 r1 r14
-20 r15 = splat 3F800000 (1)
-21 r15 = add_f32 r0 r15
-22 r16 = mul_f32 r12 r15
-23 r17 = mul_f32 r8 r15
-24 r18 = mul_f32 r11 r15
-25 r19 = eq_f32 r12 r16
-26 r20 = eq_f32 r8 r17
-27 r21 = eq_f32 r11 r18
-28 r20 = bit_and r19 r20
-29 r20 = bit_and r21 r20
-30 r21 = bit_and r12 r20
-31 r19 = bit_and r8 r20
-32 r22 = bit_and r11 r20
-33 r23 = bit_and r16 r20
-34 r17 = bit_and r17 r20
-35 r18 = bit_and r18 r20
-36 r23 = neq_f32 r21 r23
-37 r17 = neq_f32 r19 r17
-38 r18 = neq_f32 r22 r18
-39 r17 = bit_or r23 r17
-40 r17 = bit_or r18 r17
-41 r17 = bit_and r20 r17
-42 r17 = bit_clear r20 r17
-43 r20 = bit_and r12 r17
-44 r18 = bit_and r9 r17
-45 r23 = bit_and r10 r17
-46 r22 = bit_and r16 r17
-47 r19 = mul_f32 r9 r15
-48 r21 = bit_and r17 r19
-49 r15 = mul_f32 r10 r15
-50 r24 = bit_and r17 r15
-51 r22 = neq_f32 r20 r22
-52 r21 = neq_f32 r18 r21
-53 r24 = neq_f32 r23 r24
-54 r21 = bit_or r22 r21
-55 r21 = bit_or r24 r21
-56 r21 = bit_and r17 r21
-57 r21 = bit_and r17 r21
-58 r17 = bit_and r12 r21
-59 r24 = bit_and r9 r21
-60 r10 = bit_and r10 r21
-61 r16 = bit_and r16 r21
-62 r19 = bit_and r19 r21
-63 r15 = bit_and r15 r21
-64 r16 = eq_f32 r17 r16
-65 r19 = eq_f32 r24 r19
-66 r15 = eq_f32 r10 r15
-67 r19 = bit_and r16 r19
-68 r19 = bit_and r15 r19
-69 r19 = bit_and r21 r19
-70 r19 = bit_clear r21 r19
-71 r21 = splat 40000000 (2)
-72 r21 = add_f32 r0 r21
-73 r15 = bit_and r12 r19
-74 r16 = bit_and r13 r19
-75 r10 = bit_and r14 r19
-76 r24 = mul_f32 r12 r21
-77 r17 = bit_and r19 r24
-78 r22 = mul_f32 r13 r21
-79 r23 = bit_and r19 r22
-80 r17 = neq_f32 r15 r17
-81 r23 = neq_f32 r16 r23
-82 r10 = neq_f32 r10 r10
-83 r23 = bit_or r17 r23
-84 r23 = bit_or r10 r23
-85 r23 = bit_and r19 r23
-86 r23 = bit_and r19 r23
-87 r12 = bit_and r12 r23
-88 r13 = bit_and r13 r23
-89 r14 = bit_and r14 r23
-90 r24 = bit_and r24 r23
-91 r22 = bit_and r22 r23
-92 r24 = eq_f32 r12 r24
-93 r22 = eq_f32 r13 r22
-94 r14 = eq_f32 r14 r14
-95 r22 = bit_and r24 r22
-96 r22 = bit_and r14 r22
-97 r22 = bit_and r23 r22
-98 r22 = bit_clear r23 r22
-99 r23 = bit_and r9 r22
-100 r14 = bit_and r8 r22
-101 r24 = bit_and r11 r22
-102 r13 = mul_f32 r9 r21
-103 r12 = bit_and r22 r13
-104 r21 = mul_f32 r8 r21
-105 r19 = bit_and r22 r21
-106 r12 = neq_f32 r23 r12
-107 r19 = neq_f32 r14 r19
-108 r24 = neq_f32 r24 r24
-109 r19 = bit_or r12 r19
-110 r19 = bit_or r24 r19
-111 r19 = bit_and r22 r19
-112 r19 = bit_and r22 r19
-113 r9 = bit_and r9 r19
-114 r8 = bit_and r8 r19
-115 r11 = bit_and r11 r19
-116 r13 = bit_and r13 r19
-117 r21 = bit_and r21 r19
-118 r13 = eq_f32 r9 r13
-119 r21 = eq_f32 r8 r21
-120 r11 = eq_f32 r11 r11
-121 r21 = bit_and r13 r21
-122 r21 = bit_and r11 r21
-123 r21 = bit_and r19 r21
-124 r21 = bit_clear r19 r21
-125 r4 = select r21 r0 r4
-126 r5 = select r21 r1 r5
-127 r6 = select r21 r2 r6
-128 r7 = select r21 r3 r7
-loop:
-129 store32 ptr1 r4
-130 store32 ptr2 r5
-131 store32 ptr3 r6
-132 store32 ptr4 r7
diff --git a/tests/sksl/runtime/RecursiveComparison_Structs.skvm b/tests/sksl/runtime/RecursiveComparison_Structs.skvm
deleted file mode 100644
index 015946c..0000000
--- a/tests/sksl/runtime/RecursiveComparison_Structs.skvm
+++ /dev/null
@@ -1,135 +0,0 @@
-25 registers, 133 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-4 r4 = uniform32 ptr0 14
-5 r5 = uniform32 ptr0 18
-6 r6 = uniform32 ptr0 1C
-7 r7 = uniform32 ptr0 20
-8 r8 = splat 0 (0)
-9 r9 = div_f32 r0 r2
-10 r10 = div_f32 r2 r0
-11 r11 = mul_f32 r0 r2
-12 r8 = sub_f32 r8 r0
-13 r8 = mul_f32 r2 r8
-14 r12 = splat 42280000 (42)
-15 r12 = mul_f32 r1 r12
-16 r13 = splat 422C0000 (43)
-17 r13 = mul_f32 r1 r13
-18 r14 = splat 42300000 (44)
-19 r14 = mul_f32 r1 r14
-20 r15 = splat 3F800000 (1)
-21 r15 = add_f32 r0 r15
-22 r16 = mul_f32 r12 r15
-23 r17 = mul_f32 r8 r15
-24 r18 = mul_f32 r11 r15
-25 r19 = eq_f32 r12 r16
-26 r20 = eq_f32 r8 r17
-27 r21 = eq_f32 r11 r18
-28 r20 = bit_and r19 r20
-29 r20 = bit_and r21 r20
-30 r21 = bit_and r12 r20
-31 r19 = bit_and r8 r20
-32 r22 = bit_and r11 r20
-33 r23 = bit_and r16 r20
-34 r17 = bit_and r17 r20
-35 r18 = bit_and r18 r20
-36 r23 = neq_f32 r21 r23
-37 r17 = neq_f32 r19 r17
-38 r18 = neq_f32 r22 r18
-39 r17 = bit_or r23 r17
-40 r17 = bit_or r18 r17
-41 r17 = bit_and r20 r17
-42 r17 = bit_clear r20 r17
-43 r20 = bit_and r12 r17
-44 r18 = bit_and r9 r17
-45 r23 = bit_and r10 r17
-46 r22 = bit_and r16 r17
-47 r19 = mul_f32 r9 r15
-48 r21 = bit_and r17 r19
-49 r15 = mul_f32 r10 r15
-50 r24 = bit_and r17 r15
-51 r22 = neq_f32 r20 r22
-52 r21 = neq_f32 r18 r21
-53 r24 = neq_f32 r23 r24
-54 r21 = bit_or r22 r21
-55 r21 = bit_or r24 r21
-56 r21 = bit_and r17 r21
-57 r21 = bit_and r17 r21
-58 r17 = bit_and r12 r21
-59 r24 = bit_and r9 r21
-60 r10 = bit_and r10 r21
-61 r16 = bit_and r16 r21
-62 r19 = bit_and r19 r21
-63 r15 = bit_and r15 r21
-64 r16 = eq_f32 r17 r16
-65 r19 = eq_f32 r24 r19
-66 r15 = eq_f32 r10 r15
-67 r19 = bit_and r16 r19
-68 r19 = bit_and r15 r19
-69 r19 = bit_and r21 r19
-70 r19 = bit_clear r21 r19
-71 r21 = splat 40000000 (2)
-72 r21 = add_f32 r0 r21
-73 r15 = bit_and r12 r19
-74 r16 = bit_and r13 r19
-75 r10 = bit_and r14 r19
-76 r24 = mul_f32 r12 r21
-77 r17 = bit_and r19 r24
-78 r22 = mul_f32 r13 r21
-79 r23 = bit_and r19 r22
-80 r17 = neq_f32 r15 r17
-81 r23 = neq_f32 r16 r23
-82 r10 = neq_f32 r10 r10
-83 r23 = bit_or r17 r23
-84 r23 = bit_or r10 r23
-85 r23 = bit_and r19 r23
-86 r23 = bit_and r19 r23
-87 r12 = bit_and r12 r23
-88 r13 = bit_and r13 r23
-89 r14 = bit_and r14 r23
-90 r24 = bit_and r24 r23
-91 r22 = bit_and r22 r23
-92 r24 = eq_f32 r12 r24
-93 r22 = eq_f32 r13 r22
-94 r14 = eq_f32 r14 r14
-95 r22 = bit_and r24 r22
-96 r22 = bit_and r14 r22
-97 r22 = bit_and r23 r22
-98 r22 = bit_clear r23 r22
-99 r23 = bit_and r9 r22
-100 r14 = bit_and r8 r22
-101 r24 = bit_and r11 r22
-102 r13 = mul_f32 r9 r21
-103 r12 = bit_and r22 r13
-104 r21 = mul_f32 r8 r21
-105 r19 = bit_and r22 r21
-106 r12 = neq_f32 r23 r12
-107 r19 = neq_f32 r14 r19
-108 r24 = neq_f32 r24 r24
-109 r19 = bit_or r12 r19
-110 r19 = bit_or r24 r19
-111 r19 = bit_and r22 r19
-112 r19 = bit_and r22 r19
-113 r9 = bit_and r9 r19
-114 r8 = bit_and r8 r19
-115 r11 = bit_and r11 r19
-116 r13 = bit_and r13 r19
-117 r21 = bit_and r21 r19
-118 r13 = eq_f32 r9 r13
-119 r21 = eq_f32 r8 r21
-120 r11 = eq_f32 r11 r11
-121 r21 = bit_and r13 r21
-122 r21 = bit_and r11 r21
-123 r21 = bit_and r19 r21
-124 r21 = bit_clear r19 r21
-125 r4 = select r21 r0 r4
-126 r5 = select r21 r1 r5
-127 r6 = select r21 r2 r6
-128 r7 = select r21 r3 r7
-loop:
-129 store32 ptr1 r4
-130 store32 ptr2 r5
-131 store32 ptr3 r6
-132 store32 ptr4 r7
diff --git a/tests/sksl/runtime/RecursiveComparison_Types.skvm b/tests/sksl/runtime/RecursiveComparison_Types.skvm
deleted file mode 100644
index 6e8f421..0000000
--- a/tests/sksl/runtime/RecursiveComparison_Types.skvm
+++ /dev/null
@@ -1,238 +0,0 @@
-37 registers, 236 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-4 r4 = uniform32 ptr0 14
-5 r5 = uniform32 ptr0 18
-6 r6 = uniform32 ptr0 1C
-7 r7 = uniform32 ptr0 20
-8 r8 = splat 0 (0)
-9 r9 = div_f32 r0 r2
-10 r10 = div_f32 r2 r0
-11 r11 = mul_f32 r0 r2
-12 r8 = sub_f32 r8 r0
-13 r8 = mul_f32 r2 r8
-14 r12 = splat 42280000 (42)
-15 r12 = mul_f32 r1 r12
-16 r13 = splat 422C0000 (43)
-17 r13 = mul_f32 r1 r13
-18 r14 = splat 42300000 (44)
-19 r14 = mul_f32 r1 r14
-20 r15 = splat 42340000 (45)
-21 r15 = mul_f32 r1 r15
-22 r16 = splat 42380000 (46)
-23 r16 = mul_f32 r1 r16
-24 r17 = splat 423C0000 (47)
-25 r17 = mul_f32 r1 r17
-26 r18 = splat 3F800000 (1)
-27 r18 = add_f32 r0 r18
-28 r19 = mul_f32 r12 r18
-29 r20 = mul_f32 r8 r18
-30 r21 = mul_f32 r11 r18
-31 r22 = mul_f32 r13 r18
-32 r23 = mul_f32 r14 r18
-33 r24 = mul_f32 r15 r18
-34 r25 = eq_f32 r12 r19
-35 r26 = eq_f32 r8 r20
-36 r27 = eq_f32 r11 r21
-37 r28 = eq_f32 r13 r22
-38 r29 = eq_f32 r14 r23
-39 r30 = eq_f32 r15 r24
-40 r26 = bit_and r25 r26
-41 r26 = bit_and r27 r26
-42 r26 = bit_and r28 r26
-43 r26 = bit_and r29 r26
-44 r26 = bit_and r30 r26
-45 r30 = bit_and r12 r26
-46 r29 = bit_and r8 r26
-47 r28 = bit_and r11 r26
-48 r27 = bit_and r13 r26
-49 r25 = bit_and r14 r26
-50 r31 = bit_and r15 r26
-51 r32 = bit_and r19 r26
-52 r20 = bit_and r20 r26
-53 r21 = bit_and r21 r26
-54 r33 = bit_and r22 r26
-55 r34 = bit_and r23 r26
-56 r35 = bit_and r24 r26
-57 r32 = neq_f32 r30 r32
-58 r20 = neq_f32 r29 r20
-59 r21 = neq_f32 r28 r21
-60 r33 = neq_f32 r27 r33
-61 r34 = neq_f32 r25 r34
-62 r35 = neq_f32 r31 r35
-63 r20 = bit_or r32 r20
-64 r20 = bit_or r21 r20
-65 r20 = bit_or r33 r20
-66 r20 = bit_or r34 r20
-67 r20 = bit_or r35 r20
-68 r20 = bit_and r26 r20
-69 r20 = bit_clear r26 r20
-70 r26 = bit_and r12 r20
-71 r35 = bit_and r9 r20
-72 r34 = bit_and r10 r20
-73 r33 = bit_and r13 r20
-74 r21 = bit_and r14 r20
-75 r32 = bit_and r15 r20
-76 r31 = bit_and r19 r20
-77 r25 = mul_f32 r9 r18
-78 r18 = mul_f32 r10 r18
-79 r27 = bit_and r20 r25
-80 r28 = bit_and r20 r18
-81 r29 = bit_and r22 r20
-82 r30 = bit_and r23 r20
-83 r36 = bit_and r24 r20
-84 r31 = neq_f32 r26 r31
-85 r27 = neq_f32 r35 r27
-86 r28 = neq_f32 r34 r28
-87 r29 = neq_f32 r33 r29
-88 r30 = neq_f32 r21 r30
-89 r36 = neq_f32 r32 r36
-90 r27 = bit_or r31 r27
-91 r27 = bit_or r28 r27
-92 r27 = bit_or r29 r27
-93 r27 = bit_or r30 r27
-94 r27 = bit_or r36 r27
-95 r27 = bit_and r20 r27
-96 r27 = bit_and r20 r27
-97 r20 = bit_and r12 r27
-98 r36 = bit_and r9 r27
-99 r10 = bit_and r10 r27
-100 r30 = bit_and r13 r27
-101 r29 = bit_and r14 r27
-102 r28 = bit_and r15 r27
-103 r19 = bit_and r19 r27
-104 r25 = bit_and r25 r27
-105 r18 = bit_and r18 r27
-106 r22 = bit_and r22 r27
-107 r23 = bit_and r23 r27
-108 r24 = bit_and r24 r27
-109 r19 = eq_f32 r20 r19
-110 r25 = eq_f32 r36 r25
-111 r18 = eq_f32 r10 r18
-112 r22 = eq_f32 r30 r22
-113 r23 = eq_f32 r29 r23
-114 r24 = eq_f32 r28 r24
-115 r25 = bit_and r19 r25
-116 r25 = bit_and r18 r25
-117 r25 = bit_and r22 r25
-118 r25 = bit_and r23 r25
-119 r25 = bit_and r24 r25
-120 r25 = bit_and r27 r25
-121 r25 = bit_clear r27 r25
-122 r27 = splat 40000000 (2)
-123 r27 = add_f32 r0 r27
-124 r24 = bit_and r12 r25
-125 r23 = bit_and r13 r25
-126 r22 = bit_and r14 r25
-127 r18 = bit_and r15 r25
-128 r19 = bit_and r16 r25
-129 r28 = bit_and r17 r25
-130 r29 = mul_f32 r12 r27
-131 r30 = bit_and r25 r29
-132 r10 = mul_f32 r13 r27
-133 r36 = mul_f32 r14 r27
-134 r20 = bit_and r25 r10
-135 r31 = bit_and r25 r36
-136 r32 = mul_f32 r15 r27
-137 r21 = bit_and r25 r32
-138 r33 = mul_f32 r16 r27
-139 r34 = bit_and r25 r33
-140 r30 = neq_f32 r24 r30
-141 r20 = neq_f32 r23 r20
-142 r31 = neq_f32 r22 r31
-143 r21 = neq_f32 r18 r21
-144 r34 = neq_f32 r19 r34
-145 r28 = neq_f32 r28 r28
-146 r20 = bit_or r30 r20
-147 r20 = bit_or r31 r20
-148 r20 = bit_or r21 r20
-149 r20 = bit_or r34 r20
-150 r20 = bit_or r28 r20
-151 r20 = bit_and r25 r20
-152 r20 = bit_and r25 r20
-153 r25 = bit_and r12 r20
-154 r28 = bit_and r13 r20
-155 r34 = bit_and r14 r20
-156 r15 = bit_and r15 r20
-157 r16 = bit_and r16 r20
-158 r17 = bit_and r17 r20
-159 r21 = bit_and r29 r20
-160 r31 = bit_and r10 r20
-161 r36 = bit_and r36 r20
-162 r32 = bit_and r32 r20
-163 r33 = bit_and r33 r20
-164 r21 = eq_f32 r25 r21
-165 r31 = eq_f32 r28 r31
-166 r36 = eq_f32 r34 r36
-167 r32 = eq_f32 r15 r32
-168 r33 = eq_f32 r16 r33
-169 r17 = eq_f32 r17 r17
-170 r31 = bit_and r21 r31
-171 r31 = bit_and r36 r31
-172 r31 = bit_and r32 r31
-173 r31 = bit_and r33 r31
-174 r31 = bit_and r17 r31
-175 r31 = bit_and r20 r31
-176 r31 = bit_clear r20 r31
-177 r20 = bit_and r9 r31
-178 r17 = bit_and r8 r31
-179 r33 = bit_and r11 r31
-180 r32 = bit_and r12 r31
-181 r36 = bit_and r13 r31
-182 r21 = bit_and r14 r31
-183 r16 = mul_f32 r9 r27
-184 r15 = bit_and r31 r16
-185 r34 = mul_f32 r8 r27
-186 r27 = mul_f32 r11 r27
-187 r28 = bit_and r31 r34
-188 r25 = bit_and r31 r27
-189 r30 = bit_and r29 r31
-190 r19 = bit_and r10 r31
-191 r15 = neq_f32 r20 r15
-192 r28 = neq_f32 r17 r28
-193 r25 = neq_f32 r33 r25
-194 r30 = neq_f32 r32 r30
-195 r19 = neq_f32 r36 r19
-196 r21 = neq_f32 r21 r21
-197 r28 = bit_or r15 r28
-198 r28 = bit_or r25 r28
-199 r28 = bit_or r30 r28
-200 r28 = bit_or r19 r28
-201 r28 = bit_or r21 r28
-202 r28 = bit_and r31 r28
-203 r28 = bit_and r31 r28
-204 r9 = bit_and r9 r28
-205 r8 = bit_and r8 r28
-206 r11 = bit_and r11 r28
-207 r12 = bit_and r12 r28
-208 r13 = bit_and r13 r28
-209 r14 = bit_and r14 r28
-210 r16 = bit_and r16 r28
-211 r34 = bit_and r34 r28
-212 r27 = bit_and r27 r28
-213 r29 = bit_and r29 r28
-214 r10 = bit_and r10 r28
-215 r16 = eq_f32 r9 r16
-216 r34 = eq_f32 r8 r34
-217 r27 = eq_f32 r11 r27
-218 r29 = eq_f32 r12 r29
-219 r10 = eq_f32 r13 r10
-220 r14 = eq_f32 r14 r14
-221 r34 = bit_and r16 r34
-222 r34 = bit_and r27 r34
-223 r34 = bit_and r29 r34
-224 r34 = bit_and r10 r34
-225 r34 = bit_and r14 r34
-226 r34 = bit_and r28 r34
-227 r34 = bit_clear r28 r34
-228 r4 = select r34 r0 r4
-229 r5 = select r34 r1 r5
-230 r6 = select r34 r2 r6
-231 r7 = select r34 r3 r7
-loop:
-232 store32 ptr1 r4
-233 store32 ptr2 r5
-234 store32 ptr3 r6
-235 store32 ptr4 r7
diff --git a/tests/sksl/runtime/RecursiveComparison_Vectors.skvm b/tests/sksl/runtime/RecursiveComparison_Vectors.skvm
deleted file mode 100644
index dfeb110..0000000
--- a/tests/sksl/runtime/RecursiveComparison_Vectors.skvm
+++ /dev/null
@@ -1,113 +0,0 @@
-25 registers, 111 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-4 r4 = uniform32 ptr0 14
-5 r5 = uniform32 ptr0 18
-6 r6 = uniform32 ptr0 1C
-7 r7 = uniform32 ptr0 20
-8 r8 = splat 0 (0)
-9 r9 = div_f32 r0 r2
-10 r10 = div_f32 r2 r0
-11 r11 = mul_f32 r0 r2
-12 r8 = sub_f32 r8 r0
-13 r8 = mul_f32 r2 r8
-14 r12 = splat 42280000 (42)
-15 r12 = mul_f32 r1 r12
-16 r13 = splat 422C0000 (43)
-17 r13 = mul_f32 r1 r13
-18 r14 = splat 42300000 (44)
-19 r14 = mul_f32 r1 r14
-20 r15 = splat 42340000 (45)
-21 r15 = mul_f32 r1 r15
-22 r16 = splat 3F800000 (1)
-23 r16 = add_f32 r0 r16
-24 r17 = mul_f32 r12 r16
-25 r18 = mul_f32 r8 r16
-26 r19 = mul_f32 r11 r16
-27 r20 = mul_f32 r13 r16
-28 r21 = eq_f32 r12 r17
-29 r22 = eq_f32 r8 r18
-30 r23 = eq_f32 r11 r19
-31 r24 = eq_f32 r13 r20
-32 r22 = bit_and r21 r22
-33 r22 = bit_and r23 r22
-34 r22 = bit_and r24 r22
-35 r17 = neq_f32 r12 r17
-36 r18 = neq_f32 r8 r18
-37 r19 = neq_f32 r11 r19
-38 r20 = neq_f32 r13 r20
-39 r18 = bit_or r17 r18
-40 r18 = bit_or r19 r18
-41 r18 = bit_or r20 r18
-42 r18 = bit_and r22 r18
-43 r18 = bit_clear r22 r18
-44 r22 = mul_f32 r9 r16
-45 r16 = mul_f32 r10 r16
-46 r19 = eq_f32 r9 r22
-47 r23 = eq_f32 r10 r16
-48 r19 = bit_and r21 r19
-49 r19 = bit_and r23 r19
-50 r19 = bit_and r24 r19
-51 r22 = neq_f32 r9 r22
-52 r16 = neq_f32 r10 r16
-53 r22 = bit_or r17 r22
-54 r22 = bit_or r16 r22
-55 r22 = bit_or r20 r22
-56 r22 = bit_and r18 r22
-57 r22 = bit_and r18 r22
-58 r19 = bit_and r19 r22
-59 r19 = bit_clear r22 r19
-60 r22 = splat 40000000 (2)
-61 r22 = add_f32 r0 r22
-62 r18 = mul_f32 r12 r22
-63 r20 = mul_f32 r13 r22
-64 r16 = mul_f32 r14 r22
-65 r17 = mul_f32 r15 r22
-66 r10 = eq_f32 r12 r18
-67 r24 = eq_f32 r13 r20
-68 r23 = eq_f32 r14 r16
-69 r21 = eq_f32 r15 r17
-70 r24 = bit_and r10 r24
-71 r24 = bit_and r23 r24
-72 r24 = bit_and r21 r24
-73 r18 = neq_f32 r12 r18
-74 r20 = neq_f32 r13 r20
-75 r16 = neq_f32 r14 r16
-76 r17 = neq_f32 r15 r17
-77 r20 = bit_or r18 r20
-78 r20 = bit_or r16 r20
-79 r20 = bit_or r17 r20
-80 r20 = bit_and r19 r20
-81 r20 = bit_and r19 r20
-82 r24 = bit_and r24 r20
-83 r24 = bit_clear r20 r24
-84 r20 = mul_f32 r9 r22
-85 r19 = mul_f32 r8 r22
-86 r22 = mul_f32 r11 r22
-87 r17 = eq_f32 r9 r20
-88 r16 = eq_f32 r8 r19
-89 r15 = eq_f32 r11 r22
-90 r16 = bit_and r17 r16
-91 r16 = bit_and r15 r16
-92 r16 = bit_and r10 r16
-93 r20 = neq_f32 r9 r20
-94 r19 = neq_f32 r8 r19
-95 r22 = neq_f32 r11 r22
-96 r19 = bit_or r20 r19
-97 r19 = bit_or r22 r19
-98 r19 = bit_or r18 r19
-99 r19 = bit_and r24 r19
-100 r19 = bit_and r24 r19
-101 r16 = bit_and r16 r19
-102 r16 = bit_clear r19 r16
-103 r4 = select r16 r0 r4
-104 r5 = select r16 r1 r5
-105 r6 = select r16 r2 r6
-106 r7 = select r16 r3 r7
-loop:
-107 store32 ptr1 r4
-108 store32 ptr2 r5
-109 store32 ptr3 r6
-110 store32 ptr4 r7
diff --git a/tests/sksl/runtime/SampleWithExplicitCoord.skvm b/tests/sksl/runtime/SampleWithExplicitCoord.skvm
deleted file mode 100644
index a00038e..0000000
--- a/tests/sksl/runtime/SampleWithExplicitCoord.skvm
+++ /dev/null
@@ -1,27 +0,0 @@
-10 registers, 25 instructions:
-0 r0 = uniform32 ptr0 0
-1 r1 = splat 3F000000 (0.5)
-2 r0 = add_f32 r0 r1
-3 r2 = uniform32 ptr0 C
-4 r0 = trunc r0
-5 r3 = splat 1 (1.4012985e-45)
-6 r4 = splat 2 (2.8025969e-45)
-7 r5 = splat 3 (4.2038954e-45)
-loop:
-8 r6 = index
-9 r6 = add_f32 r6 r1
-10 r6 = trunc r6
-11 r6 = mul_i32 r2 r6
-12 r6 = add_i32 r0 r6
-13 r6 = shl_i32 r6 2
-14 r7 = gather32 ptr0 4 r6
-15 r8 = add_i32 r6 r3
-16 r8 = gather32 ptr0 4 r8
-17 r9 = add_i32 r6 r4
-18 r9 = gather32 ptr0 4 r9
-19 r6 = add_i32 r6 r5
-20 r6 = gather32 ptr0 4 r6
-21 store32 ptr1 r7
-22 store32 ptr2 r8
-23 store32 ptr3 r9
-24 store32 ptr4 r6
diff --git a/tests/sksl/runtime/Switch.skvm b/tests/sksl/runtime/Switch.skvm
deleted file mode 100644
index 63d54d0..0000000
--- a/tests/sksl/runtime/Switch.skvm
+++ /dev/null
@@ -1,35 +0,0 @@
-16 registers, 33 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-4 r4 = uniform32 ptr0 14
-5 r5 = uniform32 ptr0 18
-6 r6 = uniform32 ptr0 1C
-7 r7 = uniform32 ptr0 20
-8 r8 = splat 0 (0)
-9 r9 = splat FFFFFFFF (nan)
-10 r10 = trunc r1
-11 r8 = eq_i32 r10 r8
-12 r11 = bit_and r4 r8
-13 r12 = bit_and r5 r8
-14 r13 = bit_and r6 r8
-15 r14 = bit_and r7 r8
-16 r15 = splat 1 (1.4012985e-45)
-17 r15 = eq_i32 r10 r15
-18 r15 = bit_clear r15 r8
-19 r11 = select r15 r0 r11
-20 r12 = select r15 r1 r12
-21 r13 = select r15 r2 r13
-22 r14 = select r15 r3 r14
-23 r9 = bit_xor r15 r9
-24 r8 = bit_clear r9 r8
-25 r11 = select r8 r4 r11
-26 r12 = select r8 r5 r12
-27 r13 = select r8 r6 r13
-28 r14 = select r8 r7 r14
-loop:
-29 store32 ptr1 r11
-30 store32 ptr2 r12
-31 store32 ptr3 r13
-32 store32 ptr4 r14
diff --git a/tests/sksl/runtime/SwitchDefaultOnly.skvm b/tests/sksl/runtime/SwitchDefaultOnly.skvm
deleted file mode 100644
index 8f00020..0000000
--- a/tests/sksl/runtime/SwitchDefaultOnly.skvm
+++ /dev/null
@@ -1,10 +0,0 @@
-4 registers, 8 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-loop:
-4 store32 ptr1 r0
-5 store32 ptr2 r1
-6 store32 ptr3 r2
-7 store32 ptr4 r3
diff --git a/tests/sksl/runtime/SwitchWithFallthrough.skvm b/tests/sksl/runtime/SwitchWithFallthrough.skvm
deleted file mode 100644
index 6968f5a..0000000
--- a/tests/sksl/runtime/SwitchWithFallthrough.skvm
+++ /dev/null
@@ -1,43 +0,0 @@
-14 registers, 41 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-4 r4 = uniform32 ptr0 14
-5 r5 = uniform32 ptr0 18
-6 r6 = uniform32 ptr0 1C
-7 r7 = uniform32 ptr0 20
-8 r8 = splat 0 (0)
-9 r9 = splat FFFFFFFF (nan)
-10 r10 = trunc r1
-11 r11 = splat 2 (2.8025969e-45)
-12 r11 = eq_i32 r10 r11
-13 r12 = splat 1 (1.4012985e-45)
-14 r12 = eq_i32 r10 r12
-15 r13 = bit_clear r12 r11
-16 r8 = eq_i32 r10 r8
-17 r13 = bit_or r13 r8
-18 r13 = bit_clear r13 r11
-19 r8 = bit_and r8 r13
-20 r12 = bit_and r12 r13
-21 r12 = bit_clear r12 r8
-22 r11 = bit_or r11 r12
-23 r11 = bit_and r13 r11
-24 r11 = bit_clear r11 r8
-25 r12 = select r11 r9 r12
-26 r9 = splat 3 (4.2038954e-45)
-27 r9 = eq_i32 r10 r9
-28 r9 = bit_or r12 r9
-29 r9 = bit_and r13 r9
-30 r8 = bit_clear r9 r8
-31 r8 = bit_and r13 r8
-32 r8 = bit_and r13 r8
-33 r4 = select r8 r0 r4
-34 r5 = select r8 r1 r5
-35 r6 = select r8 r2 r6
-36 r7 = select r8 r3 r7
-loop:
-37 store32 ptr1 r4
-38 store32 ptr2 r5
-39 store32 ptr3 r6
-40 store32 ptr4 r7
diff --git a/tests/sksl/runtime/SwitchWithLoops.skvm b/tests/sksl/runtime/SwitchWithLoops.skvm
deleted file mode 100644
index da50db4..0000000
--- a/tests/sksl/runtime/SwitchWithLoops.skvm
+++ /dev/null
@@ -1,170 +0,0 @@
-16 registers, 168 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 8
-2 r2 = uniform32 ptr0 C
-3 r3 = uniform32 ptr0 10
-4 r4 = uniform32 ptr0 14
-5 r5 = uniform32 ptr0 18
-6 r6 = uniform32 ptr0 1C
-7 r7 = uniform32 ptr0 20
-8 r8 = splat FFFFFFFF (nan)
-9 r9 = trunc r1
-10 r10 = splat 1 (1.4012985e-45)
-11 r9 = eq_i32 r9 r10
-12 r11 = bit_and r9 r10
-13 r11 = add_i32 r11 r10
-14 r12 = splat 2 (2.8025969e-45)
-15 r12 = eq_i32 r11 r12
-16 r11 = bit_and r9 r12
-17 r13 = bit_and r11 r10
-18 r8 = bit_xor r11 r8
-19 r8 = bit_or r11 r8
-20 r14 = bit_and r11 r8
-21 r15 = add_i32 r13 r10
-22 r13 = select r14 r15 r13
-23 r8 = bit_clear r8 r14
-24 r8 = bit_or r14 r8
-25 r14 = bit_and r11 r8
-26 r15 = add_i32 r13 r10
-27 r13 = select r14 r15 r13
-28 r8 = bit_clear r8 r14
-29 r8 = bit_or r14 r8
-30 r14 = bit_and r11 r8
-31 r15 = add_i32 r13 r10
-32 r13 = select r14 r15 r13
-33 r8 = bit_clear r8 r14
-34 r8 = bit_or r14 r8
-35 r14 = bit_and r11 r8
-36 r15 = add_i32 r13 r10
-37 r13 = select r14 r15 r13
-38 r8 = bit_clear r8 r14
-39 r8 = bit_or r14 r8
-40 r14 = bit_and r11 r8
-41 r15 = add_i32 r13 r10
-42 r13 = select r14 r15 r13
-43 r8 = bit_clear r8 r14
-44 r8 = bit_or r14 r8
-45 r14 = bit_and r11 r8
-46 r15 = add_i32 r13 r10
-47 r13 = select r14 r15 r13
-48 r8 = bit_clear r8 r14
-49 r8 = bit_or r14 r8
-50 r14 = bit_and r11 r8
-51 r15 = add_i32 r13 r10
-52 r13 = select r14 r15 r13
-53 r8 = bit_clear r8 r14
-54 r8 = bit_or r14 r8
-55 r14 = bit_and r11 r8
-56 r15 = add_i32 r13 r10
-57 r13 = select r14 r15 r13
-58 r8 = bit_clear r8 r14
-59 r8 = bit_or r14 r8
-60 r8 = bit_and r11 r8
-61 r11 = add_i32 r13 r10
-62 r13 = select r8 r11 r13
-63 r11 = add_i32 r13 r10
-64 r13 = select r12 r11 r13
-65 r11 = splat B (1.5414283e-44)
-66 r11 = eq_i32 r13 r11
-67 r11 = bit_and r12 r11
-68 r11 = bit_and r12 r11
-69 r9 = bit_and r9 r11
-70 r12 = bit_and r9 r10
-71 r13 = bit_clear r11 r9
-72 r8 = add_i32 r12 r10
-73 r14 = bit_clear r11 r13
-74 r12 = select r14 r8 r12
-75 r8 = bit_clear r9 r13
-76 r14 = add_i32 r12 r10
-77 r12 = select r8 r14 r12
-78 r8 = bit_clear r11 r8
-79 r8 = bit_clear r8 r13
-80 r8 = bit_or r13 r8
-81 r13 = add_i32 r12 r10
-82 r14 = bit_clear r11 r8
-83 r12 = select r14 r13 r12
-84 r13 = bit_clear r9 r8
-85 r14 = add_i32 r12 r10
-86 r12 = select r13 r14 r12
-87 r13 = bit_clear r11 r13
-88 r13 = bit_clear r13 r8
-89 r13 = bit_or r8 r13
-90 r8 = add_i32 r12 r10
-91 r14 = bit_clear r11 r13
-92 r12 = select r14 r8 r12
-93 r8 = bit_clear r9 r13
-94 r14 = add_i32 r12 r10
-95 r12 = select r8 r14 r12
-96 r8 = bit_clear r11 r8
-97 r8 = bit_clear r8 r13
-98 r8 = bit_or r13 r8
-99 r13 = add_i32 r12 r10
-100 r14 = bit_clear r11 r8
-101 r12 = select r14 r13 r12
-102 r13 = bit_clear r9 r8
-103 r14 = add_i32 r12 r10
-104 r12 = select r13 r14 r12
-105 r13 = bit_clear r11 r13
-106 r13 = bit_clear r13 r8
-107 r13 = bit_or r8 r13
-108 r8 = add_i32 r12 r10
-109 r14 = bit_clear r11 r13
-110 r12 = select r14 r8 r12
-111 r8 = bit_clear r9 r13
-112 r14 = add_i32 r12 r10
-113 r12 = select r8 r14 r12
-114 r8 = bit_clear r11 r8
-115 r8 = bit_clear r8 r13
-116 r8 = bit_or r13 r8
-117 r13 = add_i32 r12 r10
-118 r14 = bit_clear r11 r8
-119 r12 = select r14 r13 r12
-120 r13 = bit_clear r9 r8
-121 r14 = add_i32 r12 r10
-122 r12 = select r13 r14 r12
-123 r13 = bit_clear r11 r13
-124 r13 = bit_clear r13 r8
-125 r13 = bit_or r8 r13
-126 r8 = add_i32 r12 r10
-127 r14 = bit_clear r11 r13
-128 r12 = select r14 r8 r12
-129 r8 = bit_clear r9 r13
-130 r14 = add_i32 r12 r10
-131 r12 = select r8 r14 r12
-132 r8 = bit_clear r11 r8
-133 r8 = bit_clear r8 r13
-134 r8 = bit_or r13 r8
-135 r13 = add_i32 r12 r10
-136 r14 = bit_clear r11 r8
-137 r12 = select r14 r13 r12
-138 r13 = bit_clear r9 r8
-139 r14 = add_i32 r12 r10
-140 r12 = select r13 r14 r12
-141 r13 = bit_clear r11 r13
-142 r13 = bit_clear r13 r8
-143 r13 = bit_or r8 r13
-144 r8 = add_i32 r12 r10
-145 r14 = bit_clear r11 r13
-146 r12 = select r14 r8 r12
-147 r9 = bit_clear r9 r13
-148 r8 = add_i32 r12 r10
-149 r12 = select r9 r8 r12
-150 r9 = bit_clear r11 r9
-151 r9 = bit_clear r9 r13
-152 r9 = bit_or r13 r9
-153 r10 = add_i32 r12 r10
-154 r9 = bit_clear r11 r9
-155 r12 = select r9 r10 r12
-156 r10 = splat 14 (2.8025969e-44)
-157 r10 = eq_i32 r12 r10
-158 r10 = bit_and r9 r10
-159 r10 = bit_and r11 r10
-160 r4 = select r10 r0 r4
-161 r5 = select r10 r1 r5
-162 r6 = select r10 r2 r6
-163 r7 = select r10 r3 r7
-loop:
-164 store32 ptr1 r4
-165 store32 ptr2 r5
-166 store32 ptr3 r6
-167 store32 ptr4 r7
diff --git a/tests/sksl/runtime/VectorIndexing.skvm b/tests/sksl/runtime/VectorIndexing.skvm
deleted file mode 100644
index 94829ac..0000000
--- a/tests/sksl/runtime/VectorIndexing.skvm
+++ /dev/null
@@ -1,21 +0,0 @@
-9 registers, 19 instructions:
-0 r0 = uniform32 ptr0 4
-1 r1 = uniform32 ptr0 14
-2 r2 = uniform32 ptr0 18
-3 r3 = uniform32 ptr0 1C
-4 r4 = uniform32 ptr0 20
-5 r5 = uniform32 ptr0 24
-6 r6 = uniform32 ptr0 2C
-7 r7 = uniform32 ptr0 30
-8 r8 = uniform32 ptr0 40
-9 r2 = add_f32 r1 r2
-10 r2 = add_f32 r3 r2
-11 r2 = add_f32 r4 r2
-12 r5 = mul_f32 r5 r5
-13 r5 = mul_f32 r6 r5
-14 r5 = mul_f32 r7 r5
-loop:
-15 store32 ptr1 r0
-16 store32 ptr2 r2
-17 store32 ptr3 r5
-18 store32 ptr4 r8
diff --git a/tests/sksl/runtime_errors/Caps.skvm b/tests/sksl/runtime_errors/Caps.skvm
deleted file mode 100644
index 4764420..0000000
--- a/tests/sksl/runtime_errors/Caps.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 1: name 'sk_Caps' is reserved
-bool b = sk_Caps.atan2ImplementedAsAtanYOverX;
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/DerivativesES2.skvm b/tests/sksl/runtime_errors/DerivativesES2.skvm
deleted file mode 100644
index 34489ab..0000000
--- a/tests/sksl/runtime_errors/DerivativesES2.skvm
+++ /dev/null
@@ -1,9 +0,0 @@
-### Compilation failed:
-
-error: 1: no match for dFdx(float2)
-float2 dx(float2 coords) { return dFdx(coords); }
- ^^^^^^^^^^^^
-error: 2: no match for dFdy(float2)
-float2 dy(float2 coords) { return dFdy(coords); }
- ^^^^^^^^^^^^
-2 errors
diff --git a/tests/sksl/runtime_errors/ES3Types.skvm b/tests/sksl/runtime_errors/ES3Types.skvm
deleted file mode 100644
index 29df840..0000000
--- a/tests/sksl/runtime_errors/ES3Types.skvm
+++ /dev/null
@@ -1,111 +0,0 @@
-### Compilation failed:
-
-error: 1: type 'float2x3' is not supported
-void f23() { float2x3 x; }
- ^^^^^^^^
-error: 2: type 'float2x4' is not supported
-void f24() { float2x4 x; }
- ^^^^^^^^
-error: 3: type 'float3x2' is not supported
-void f32() { float3x2 x; }
- ^^^^^^^^
-error: 4: type 'float3x4' is not supported
-void f34() { float3x4 x; }
- ^^^^^^^^
-error: 5: type 'float4x2' is not supported
-void f42() { float4x2 x; }
- ^^^^^^^^
-error: 6: type 'float4x3' is not supported
-void f43() { float4x3 x; }
- ^^^^^^^^
-error: 8: type 'half2x3' is not supported
-void h23() { half2x3 x; }
- ^^^^^^^
-error: 9: type 'half2x4' is not supported
-void h24() { half2x4 x; }
- ^^^^^^^
-error: 10: type 'half3x2' is not supported
-void h32() { half3x2 x; }
- ^^^^^^^
-error: 11: type 'half3x4' is not supported
-void h34() { half3x4 x; }
- ^^^^^^^
-error: 12: type 'half4x2' is not supported
-void h42() { half4x2 x; }
- ^^^^^^^
-error: 13: type 'half4x3' is not supported
-void h43() { half4x3 x; }
- ^^^^^^^
-error: 15: type 'uint' is not supported
-void u() { uint x; }
- ^^^^
-error: 16: type 'uint2' is not supported
-void u2() { uint2 x; }
- ^^^^^
-error: 17: type 'uint3' is not supported
-void u3() { uint3 x; }
- ^^^^^
-error: 18: type 'uint4' is not supported
-void u4() { uint4 x; }
- ^^^^^
-error: 20: type 'ushort' is not supported
-void us() { ushort x; }
- ^^^^^^
-error: 21: type 'ushort2' is not supported
-void us2() { ushort2 x; }
- ^^^^^^^
-error: 22: type 'ushort3' is not supported
-void us3() { ushort3 x; }
- ^^^^^^^
-error: 23: type 'ushort4' is not supported
-void us4() { ushort4 x; }
- ^^^^^^^
-error: 25: type 'uint4' is not supported
-void au4() { uint4 x[2]; }
- ^^^^^
-error: 26: type 'ushort' is not supported
-void aus() { ushort x[2]; }
- ^^^^^^
-error: 27: type 'float2x3' is not supported
-void af23() { float2x3 x[2]; }
- ^^^^^^^^
-error: 29: type 'half4x2' is not supported
-struct Sh42 { half4x2 x; };
- ^^^^^^^
-error: 30: type 'ushort' is not supported
-struct Sus { ushort x; };
- ^^^^^^
-error: 31: type 'uint' is not supported
-struct Sau { uint x[2]; };
- ^^^^
-error: 33: type 'float2x3' is not supported
-void ctor_f23() { float2x3(0); }
- ^^^^^^^^
-error: 34: type 'half4x2' is not supported
-void ctor_h42() { half4x2(0); }
- ^^^^^^^
-error: 35: type 'uint' is not supported
-void ctor_u() { uint(0); }
- ^^^^
-error: 36: type 'ushort4' is not supported
-void ctor_us4() { ushort4(0); }
- ^^^^^^^
-error: 37: type 'ushort' is not supported
-void ctor_aus() { ushort[2](0, 0); }
- ^^^^^^
-error: 39: type 'float2x3' is not supported
-void access_f23() { float2x3 var; var[0][0]; }
- ^^^^^^^^
-error: 40: type 'half4x2' is not supported
-void access_h42() { half4x2 var; var[0][0]; }
- ^^^^^^^
-error: 41: type 'uint' is not supported
-void access_u() { uint var; var.x; }
- ^^^^
-error: 42: type 'ushort4' is not supported
-void access_us4() { ushort4 var; var.x; }
- ^^^^^^^
-error: 43: type 'ushort' is not supported
-void access_aus() { ushort var[2]; var[0].x; }
- ^^^^^^
-36 errors
diff --git a/tests/sksl/runtime_errors/FirstClassArrays.skvm b/tests/sksl/runtime_errors/FirstClassArrays.skvm
deleted file mode 100644
index f117a0b..0000000
--- a/tests/sksl/runtime_errors/FirstClassArrays.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 8: construction of array type 'float[3]' is not supported
-void array_ctor() { float[3](1, 2, 3); }
- ^^^^^^^^^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/IllegalArrayOps.skvm b/tests/sksl/runtime_errors/IllegalArrayOps.skvm
deleted file mode 100644
index 062afd8..0000000
--- a/tests/sksl/runtime_errors/IllegalArrayOps.skvm
+++ /dev/null
@@ -1,54 +0,0 @@
-### Compilation failed:
-
-error: 16: operator '=' can not operate on arrays (or structs containing arrays)
-void assign_A() { a1 = a2; }
- ^^^^^^^
-error: 17: operator '=' can not operate on arrays (or structs containing arrays)
-void assign_S() { s1 = s2; }
- ^^^^^^^
-error: 18: operator '=' can not operate on arrays (or structs containing arrays)
-void assign_T() { t1 = t2; }
- ^^^^^^^
-error: 21: functions may not return structs containing arrays
-S return_S() { return s1; }
-^^^^^^^^^^^^
-error: 22: functions may not return structs containing arrays
-T return_T() { return t1; }
-^^^^^^^^^^^^
-error: 24: operator '==' can not operate on arrays (or structs containing arrays)
-bool equals_A() { return a1 == a2; }
- ^^^^^^^^
-error: 25: operator '==' can not operate on arrays (or structs containing arrays)
-bool equals_S() { return s1 == s2; }
- ^^^^^^^^
-error: 26: operator '==' can not operate on arrays (or structs containing arrays)
-bool equals_T() { return t1 == t2; }
- ^^^^^^^^
-error: 28: operator '!=' can not operate on arrays (or structs containing arrays)
-bool notequals_A() { return a1 != a2; }
- ^^^^^^^^
-error: 29: operator '!=' can not operate on arrays (or structs containing arrays)
-bool notequals_S() { return s1 != s2; }
- ^^^^^^^^
-error: 30: operator '!=' can not operate on arrays (or structs containing arrays)
-bool notequals_T() { return t1 != t2; }
- ^^^^^^^^
-error: 32: operator ',' can not operate on arrays (or structs containing arrays)
-void sequence_A() { a1, a2; }
- ^^^^^^
-error: 33: operator ',' can not operate on arrays (or structs containing arrays)
-void sequence_S() { s1, s2; }
- ^^^^^^
-error: 34: operator ',' can not operate on arrays (or structs containing arrays)
-void sequence_T() { t1, t2; }
- ^^^^^^
-error: 36: ternary operator result may not be an array (or struct containing an array)
-int ternary_A(bool b) { return (b ? a1 : a2) [0]; }
- ^^^^^^^^^^^
-error: 37: ternary operator result may not be an array (or struct containing an array)
-int ternary_S(bool b) { return (b ? s1 : s2) .x[0]; }
- ^^^^^^^^^^^
-error: 38: ternary operator result may not be an array (or struct containing an array)
-int ternary_T(bool b) { return (b ? t1 : t2).s.x[0]; }
- ^^^^^^^^^^^
-17 errors
diff --git a/tests/sksl/runtime_errors/IllegalIndexing.skvm b/tests/sksl/runtime_errors/IllegalIndexing.skvm
deleted file mode 100644
index ba39ad2..0000000
--- a/tests/sksl/runtime_errors/IllegalIndexing.skvm
+++ /dev/null
@@ -1,9 +0,0 @@
-### Compilation failed:
-
-error: 23: index expression must be constant
-void uniform_index() { int a[2]; a[u] = 0; }
- ^^^^
-error: 24: index expression must be constant
-void param_index(int p) { int a[2]; a[p] = 0; }
- ^^^^
-2 errors
diff --git a/tests/sksl/runtime_errors/IllegalLayoutFlags.skvm b/tests/sksl/runtime_errors/IllegalLayoutFlags.skvm
deleted file mode 100644
index ca24aae..0000000
--- a/tests/sksl/runtime_errors/IllegalLayoutFlags.skvm
+++ /dev/null
@@ -1,42 +0,0 @@
-### Compilation failed:
-
-error: 1: layout qualifier 'builtin' is not permitted here
-layout(builtin=15) float4 sk_FragCoord;
-^^^^^^^^^^^^^^^^^^
-error: 2: layout qualifier 'builtin' is not permitted here
-layout(builtin=17) bool sk_Clockwise;
-^^^^^^^^^^^^^^^^^^
-error: 3: layout qualifier 'builtin' is not permitted here
-layout(builtin=10010) half4 input_color;
-^^^^^^^^^^^^^^^^^^^^^
-error: 5: layout qualifier 'origin_upper_left' is not permitted here
-layout(origin_upper_left) float upper_left;
-^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 6: layout qualifier 'push_constant' is not permitted here
-layout(push_constant) float push_constant;
-^^^^^^^^^^^^^^^^^^^^^
-error: 7: layout qualifier 'location' is not permitted here
-layout(location=0) float location;
-^^^^^^^^^^^^^^^^^^
-error: 8: layout qualifier 'offset' is not permitted here
-layout(offset=0) float offset;
-^^^^^^^^^^^^^^^^
-error: 9: layout qualifier 'binding' is not permitted here
-layout(binding=0) float binding;
-^^^^^^^^^^^^^^^^^
-error: 10: layout qualifier 'texture' is not permitted here
-layout(texture=0) float texture;
-^^^^^^^^^^^^^^^^^
-error: 11: layout qualifier 'sampler' is not permitted here
-layout(sampler=0) float mySampler;
-^^^^^^^^^^^^^^^^^
-error: 12: layout qualifier 'index' is not permitted here
-layout(index=0) float index;
-^^^^^^^^^^^^^^^
-error: 13: layout qualifier 'set' is not permitted here
-layout(set=0) float set;
-^^^^^^^^^^^^^
-error: 14: layout qualifier 'input_attachment_index' is not permitted here
-layout(input_attachment_index=0) float input_attachment_index;
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-13 errors
diff --git a/tests/sksl/runtime_errors/IllegalModifiers.skvm b/tests/sksl/runtime_errors/IllegalModifiers.skvm
deleted file mode 100644
index 7ddbd8c..0000000
--- a/tests/sksl/runtime_errors/IllegalModifiers.skvm
+++ /dev/null
@@ -1,66 +0,0 @@
-### Compilation failed:
-
-error: 1: 'flat' is not permitted here
-flat float _flat;
-^^^^
-error: 2: 'noperspective' is not permitted here
-noperspective float _noperspective;
-^^^^^^^^^^^^^
-error: 3: 'in' is not permitted here
-in float _in;
-^^
-error: 4: 'out' is not permitted here
-out float _out;
-^^^
-error: 5: 'workgroup' is not permitted here
-workgroup float _workgroup;
-^^^^^^^^^
-error: 6: '$es3' is not permitted here
-$es3 float _es3;
-^^^^
-error: 7: '$pure' is not permitted here
-$pure float _pure;
-^^^^^
-error: 8: 'inline' is not permitted here
-inline float _inline;
-^^^^^^
-error: 9: 'noinline' is not permitted here
-noinline float _noinline;
-^^^^^^^^
-error: 10: type 'float' does not support qualifier 'readonly'
-readonly float _readonly;
-^^^^^^^^
-error: 11: type 'float' does not support qualifier 'writeonly'
-writeonly float _writeonly;
-^^^^^^^^^
-error: 13: 'flat' is not permitted here
-flat void flat_fn() {}
-^^^^
-error: 14: 'noperspective' is not permitted here
-noperspective void noperspective_fn() {}
-^^^^^^^^^^^^^
-error: 15: 'in' is not permitted here
-in void in_fn() {}
-^^
-error: 16: 'out' is not permitted here
-out void out_fn() {}
-^^^
-error: 17: 'workgroup' is not permitted here
-workgroup void workgroup_fn() {}
-^^^^^^^^^
-error: 18: '$es3' is not permitted here
-$es3 void es3_fn() {}
-^^^^
-error: 19: '$pure' is not permitted here
-$pure void sk_pure_fn() {}
-^^^^^
-error: 20: type 'void' does not support qualifier 'readonly'
-readonly void readonly_fn() {}
-^^^^^^^^
-error: 21: type 'void' does not support qualifier 'writeonly'
-writeonly void writeonly_fn() {}
-^^^^^^^^^
-error: 22: 'buffer' is not permitted here
-buffer void buffer_fn() {}
-^^^^^^
-21 errors
diff --git a/tests/sksl/runtime_errors/IllegalOperators.skvm b/tests/sksl/runtime_errors/IllegalOperators.skvm
deleted file mode 100644
index ceefd84..0000000
--- a/tests/sksl/runtime_errors/IllegalOperators.skvm
+++ /dev/null
@@ -1,42 +0,0 @@
-### Compilation failed:
-
-error: 1: operator '~' is not allowed
-int bit_not(int x) { return ~x; }
- ^^
-error: 3: operator '%' is not allowed
-int remainder(int x) { return x % 2; }
- ^^^^^^
-error: 4: operator '%=' is not allowed
-int remainder_eq(int x) { return x %= 2;}
- ^^^^^^
-error: 6: operator '<<' is not allowed
-int shl (int x) { return x << 1; }
- ^^^^^^^
-error: 7: operator '<<=' is not allowed
-int shl_eq(int x) { return x <<= 1; }
- ^^^^^^^
-error: 8: operator '>>' is not allowed
-int shr (int x) { return x >> 1; }
- ^^^^^^^
-error: 9: operator '>>=' is not allowed
-int shr_eq(int x) { return x >>= 1; }
- ^^^^^^^
-error: 11: operator '&' is not allowed
-int bit_and (int x) { return x & 1; }
- ^^^^^^
-error: 12: operator '&=' is not allowed
-int bit_and_eq(int x) { return x &= 1; }
- ^^^^^^
-error: 13: operator '|' is not allowed
-int bit_or (int x) { return x | 1; }
- ^^^^^^
-error: 14: operator '|=' is not allowed
-int bit_or_eq (int x) { return x |= 1; }
- ^^^^^^
-error: 15: operator '^' is not allowed
-int bit_xor (int x) { return x ^ 1; }
- ^^^^^^
-error: 16: operator '^=' is not allowed
-int bit_xor_eq(int x) { return x ^= 1; }
- ^^^^^^
-13 errors
diff --git a/tests/sksl/runtime_errors/IllegalPrecisionQualifiers.skvm b/tests/sksl/runtime_errors/IllegalPrecisionQualifiers.skvm
deleted file mode 100644
index 2c45991..0000000
--- a/tests/sksl/runtime_errors/IllegalPrecisionQualifiers.skvm
+++ /dev/null
@@ -1,33 +0,0 @@
-### Compilation failed:
-
-error: 5: only one precision qualifier can be used
-mediump highp int no_multiple_qualifiers;
-^^^^^^^^^^^^^
-error: 6: only one precision qualifier can be used
-mediump lowp int no_multiple_qualifiers_2;
-^^^^^^^^^^^^
-error: 7: only one precision qualifier can be used
-highp lowp int no_multiple_qualifiers_3;
-^^^^^^^^^^
-error: 8: only one precision qualifier can be used
-highp mediump lowp int no_multiple_qualifiers_4;
-^^^^^^^^^^^^^^^^^^
-error: 9: type 'S' does not support precision qualifiers
-highp S no_structs;
-^^^^^
-error: 10: type 'bool' does not support precision qualifiers
-mediump bool no_bools;
-^^^^^^^
-error: 11: type 'colorFilter' does not support precision qualifiers
-uniform lowp colorFilter no_opaque;
-^^^^^^^^^^^^
-error: 12: type 'half' does not support precision qualifiers
-uniform highp half no_half_highp;
-^^^^^^^^^^^^^
-error: 13: type 'half' does not support precision qualifiers
-uniform mediump half no_half_mediump;
-^^^^^^^^^^^^^^^
-error: 14: type 'half' does not support precision qualifiers
-uniform lowp half no_lowp_mediump;
-^^^^^^^^^^^^
-10 errors
diff --git a/tests/sksl/runtime_errors/IllegalShaderSampling.skvm b/tests/sksl/runtime_errors/IllegalShaderSampling.skvm
deleted file mode 100644
index cf3b867..0000000
--- a/tests/sksl/runtime_errors/IllegalShaderSampling.skvm
+++ /dev/null
@@ -1,48 +0,0 @@
-### Compilation failed:
-
-error: 11: no match for shader::eval(float2, half4)
-half4 eval_shader_xy_color() { return s.eval(xy, color); }
- ^^^^^^^^^^^^^^^^^
-error: 12: no match for shader::eval(half4)
-half4 eval_shader_color() { return s.eval(color); }
- ^^^^^^^^^^^^^
-error: 13: no match for shader::eval(half4, float2)
-half4 eval_shader_color_xy() { return s.eval(color, xy); }
- ^^^^^^^^^^^^^^^^^
-error: 14: no match for shader::eval()
-half4 eval_shader_empty() { return s.eval(); }
- ^^^^^^^^
-error: 15: no match for shader::eval(float3x3)
-half4 eval_shader_matrix() { return s.eval(float3x3(1)); }
- ^^^^^^^^^^^^^^^^^^^
-error: 16: type mismatch: ',' cannot operate on 'int', 'shader'
-half4 eval_shader_comma_expr() { return (i++, s).eval(xy); }
- ^^^^^^
-error: 18: no match for colorFilter::eval()
-half4 eval_colorFilter_empty() { return f.eval(); }
- ^^^^^^^^
-error: 19: no match for colorFilter::eval(float2)
-half4 eval_colorFilter_xy() { return f.eval(xy); }
- ^^^^^^^^^^
-error: 20: no match for colorFilter::eval(float2, half4)
-half4 eval_colorFilter_xy_color() { return f.eval(xy, color); }
- ^^^^^^^^^^^^^^^^^
-error: 21: type mismatch: ',' cannot operate on 'shader', 'colorFilter'
-half4 eval_colorFilter_comma_expr() { return (s, f).eval(color); }
- ^^^^
-error: 23: no match for blender::eval()
-half4 eval_blender_empty() { return b.eval(); }
- ^^^^^^^^
-error: 24: no match for blender::eval(half4)
-half4 eval_blender_color() { return b.eval(color); }
- ^^^^^^^^^^^^^
-error: 25: no match for blender::eval(float2)
-half4 eval_blender_xy() { return b.eval(xy); }
- ^^^^^^^^^^
-error: 26: no match for blender::eval(float2, half4)
-half4 eval_blender_xy_color() { return b.eval(xy, color); }
- ^^^^^^^^^^^^^^^^^
-error: 27: type mismatch: ',' cannot operate on 'blender', 'blender'
-half4 eval_blender_comma_expr() { return (b, b).eval(color, color); }
- ^^^^
-15 errors
diff --git a/tests/sksl/runtime_errors/IllegalShaderUse.skvm b/tests/sksl/runtime_errors/IllegalShaderUse.skvm
deleted file mode 100644
index a871a95..0000000
--- a/tests/sksl/runtime_errors/IllegalShaderUse.skvm
+++ /dev/null
@@ -1,75 +0,0 @@
-### Compilation failed:
-
-error: 10: variables of type 'shader' must be uniform
-shader s3;
-^^^^^^^^^
-error: 11: variables of type 'shader' must be uniform
-in shader s4;
-^^^^^^^^^^^^
-error: 11: 'in' is not permitted here
-in shader s4;
-^^
-error: 13: opaque type 'shader' is not permitted in a struct
-struct S { shader sh; };
- ^^^^^^^^^
-error: 14: variables of type 'S' may not be uniform
-uniform S s5;
-^^^^^^^^^^^^
-error: 15: opaque type 'shader' may not be used in an array
-uniform shader s6[2];
-^^^^^^^^^^^^^^^^^^^^
-error: 18: type mismatch: '==' cannot operate on 'shader', 'shader'
-bool equality() { return s1 == s2; }
- ^^^^^^^^
-error: 19: type mismatch: '<' cannot operate on 'shader', 'shader'
-bool comparison() { return s1 < s2; }
- ^^^^^^^
-error: 20: '!' cannot operate on 'shader'
-bool unary_not() { return !s1; }
- ^^^
-error: 21: '-' cannot operate on 'shader'
-void unary_neg() { -s1; }
- ^^^
-error: 22: '+' cannot operate on 'shader'
-void unary_pos() { +s1; }
- ^^^
-error: 23: type mismatch: '*' cannot operate on 'shader', 'shader'
-void arithmetic() { s1 * s2; }
- ^^^^^^^
-error: 24: expected array, but found 'shader'
-void index() { s1[0]; }
- ^^
-error: 25: type 'shader' has no method named 'xyz'
-void swizzle() { s1.xyz; }
- ^^^^^^
-error: 26: cannot modify immutable variable 's1'
-void assignment() { s1 = s2; }
- ^^
-error: 27: variables of type 'shader' must be global
-half4 local() { shader s; return s.eval(xy); }
- ^^^^^^^^
-error: 27: variables of type 'shader' must be uniform
-half4 local() { shader s; return s.eval(xy); }
- ^^^^^^^^
-error: 28: parameters of type 'shader' not allowed
-half4 parameter(shader s) { return s.eval(xy); }
- ^^^^^^^^
-error: 28: unknown identifier 's'
-half4 parameter(shader s) { return s.eval(xy); }
- ^
-error: 29: functions may not return opaque type 'shader'
-shader returned() { return s1; }
-^^^^^^^^^^^^^^^^^
-error: 30: cannot construct 'shader'
-half4 constructed() { return shader(s1).eval(xy); }
- ^^^^^^^^^^
-error: 31: ternary expression of opaque type 'shader' not allowed
-half4 expression(bool b) { return (b ? s1 : s2).eval(xy); }
- ^^^^^^^^^^^
-error: 32: expected '(' to begin method call
-half4 dangling_eval() { s1.eval; }
- ^
-error: 32: function 'dangling_eval' can exit without returning a value
-half4 dangling_eval() { s1.eval; }
- ^^^^^^^^^^^^
-24 errors
diff --git a/tests/sksl/runtime_errors/IllegalStatements.skvm b/tests/sksl/runtime_errors/IllegalStatements.skvm
deleted file mode 100644
index ca800a5..0000000
--- a/tests/sksl/runtime_errors/IllegalStatements.skvm
+++ /dev/null
@@ -1,12 +0,0 @@
-### Compilation failed:
-
-error: 3: discard statement is only permitted in fragment shaders
-void discard_stmt() { discard; }
- ^^^^^^^
-error: 5: do-while loops are not supported
-int do_loop(int x) { do { x++; } while(x < 1); return x; }
- ^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 7: while loops are not supported
-int while_loop(int x) { while (x < 1) { x++; } return x; }
- ^^^^^^^^^^^^^^^^^^^^^^
-3 errors
diff --git a/tests/sksl/runtime_errors/InvalidBlendMain.skvm b/tests/sksl/runtime_errors/InvalidBlendMain.skvm
deleted file mode 100644
index 84d819d..0000000
--- a/tests/sksl/runtime_errors/InvalidBlendMain.skvm
+++ /dev/null
@@ -1,36 +0,0 @@
-### Compilation failed:
-
-error: 6: 'main' parameters must be (vec4|float4|half4, vec4|float4|half4)
-half4 main() { return half4(1); }
-^^^^^^^^^^^^
-error: 7: 'main' parameters must be (vec4|float4|half4, vec4|float4|half4)
-half4 main(half4 src) { return src; }
-^^^^^^^^^^^^^^^^^^^^^
-error: 7: unknown identifier 'src'
-half4 main(half4 src) { return src; }
- ^^^
-error: 8: 'main' parameters must be (vec4|float4|half4, vec4|float4|half4)
-half4 main(half2 coords, half4 src) { return src; }
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 8: unknown identifier 'src'
-half4 main(half2 coords, half4 src) { return src; }
- ^^^
-error: 9: 'main' parameters must be (vec4|float4|half4, vec4|float4|half4)
-half4 main(half2 coords, half4 src, half4 dst) { return src * dst; }
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 9: unknown identifier 'src'
-half4 main(half2 coords, half4 src, half4 dst) { return src * dst; }
- ^^^
-error: 9: unknown identifier 'dst'
-half4 main(half2 coords, half4 src, half4 dst) { return src * dst; }
- ^^^
-error: 10: 'main' parameters must be (vec4|float4|half4, vec4|float4|half4)
-half4 main(half4 src, half4 dst, half4 bonusColor) { return src * dst; }
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 10: unknown identifier 'src'
-half4 main(half4 src, half4 dst, half4 bonusColor) { return src * dst; }
- ^^^
-error: 10: unknown identifier 'dst'
-half4 main(half4 src, half4 dst, half4 bonusColor) { return src * dst; }
- ^^^
-11 errors
diff --git a/tests/sksl/runtime_errors/InvalidColorFilterFeatures.skvm b/tests/sksl/runtime_errors/InvalidColorFilterFeatures.skvm
deleted file mode 100644
index 9ceded9..0000000
--- a/tests/sksl/runtime_errors/InvalidColorFilterFeatures.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 6: unknown identifier 'sk_FragCoord'
- return sk_FragCoord.xy01;
- ^^^^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/InvalidColorFilterMain.skvm b/tests/sksl/runtime_errors/InvalidColorFilterMain.skvm
deleted file mode 100644
index 68d4a4a..0000000
--- a/tests/sksl/runtime_errors/InvalidColorFilterMain.skvm
+++ /dev/null
@@ -1,21 +0,0 @@
-### Compilation failed:
-
-error: 6: 'main' parameter must be 'vec4', 'float4', or 'half4'
-half4 main() { return half(1); }
-^^^^^^^^^^^^
-error: 7: 'main' parameter must be 'vec4', 'float4', or 'half4'
-half4 main(float2 coord) { return half4(1); }
-^^^^^^^^^^^^^^^^^^^^^^^^
-error: 8: 'main' parameter must be 'vec4', 'float4', or 'half4'
-half4 main(float2 coord, half4 color) { return color; }
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 8: unknown identifier 'color'
-half4 main(float2 coord, half4 color) { return color; }
- ^^^^^
-error: 9: 'main' parameter must be 'vec4', 'float4', or 'half4'
-half4 main(half4 color, half4 bonusColor) { return color; }
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 9: unknown identifier 'color'
-half4 main(half4 color, half4 bonusColor) { return color; }
- ^^^^^
-6 errors
diff --git a/tests/sksl/runtime_errors/InvalidShaderMain.skvm b/tests/sksl/runtime_errors/InvalidShaderMain.skvm
deleted file mode 100644
index e4c186c..0000000
--- a/tests/sksl/runtime_errors/InvalidShaderMain.skvm
+++ /dev/null
@@ -1,30 +0,0 @@
-### Compilation failed:
-
-error: 4: 'main' parameter must be 'float2' or 'vec2'
-half4 main() { return half4(1); }
-^^^^^^^^^^^^
-error: 5: 'main' parameter must be 'float2' or 'vec2'
-half4 main(half4 color) { return color; }
-^^^^^^^^^^^^^^^^^^^^^^^
-error: 5: unknown identifier 'color'
-half4 main(half4 color) { return color; }
- ^^^^^
-error: 6: 'main' parameter must be 'float2' or 'vec2'
-half4 main(float2 xy, half4 color, half4 bonusColor) { return color; }
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 6: unknown identifier 'color'
-half4 main(float2 xy, half4 color, half4 bonusColor) { return color; }
- ^^^^^
-error: 7: 'main' parameter must be 'float2' or 'vec2'
-half4 main(half4 outOfOrderColor, float2 outOfOrderXy) { return color; }
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 7: unknown identifier 'color'
-half4 main(half4 outOfOrderColor, float2 outOfOrderXy) { return color; }
- ^^^^^
-error: 8: 'main' parameter must be 'float2' or 'vec2'
-half4 main(float2 xy, half4 color) { return color; }
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 8: unknown identifier 'color'
-half4 main(float2 xy, half4 color) { return color; }
- ^^^^^
-9 errors
diff --git a/tests/sksl/runtime_errors/InvalidUniformTypes.skvm b/tests/sksl/runtime_errors/InvalidUniformTypes.skvm
deleted file mode 100644
index 5005db0..0000000
--- a/tests/sksl/runtime_errors/InvalidUniformTypes.skvm
+++ /dev/null
@@ -1,30 +0,0 @@
-### Compilation failed:
-
-error: 1: variables of type 'short' may not be uniform
-uniform short s;
-^^^^^^^^^^^^^^^^
-error: 2: variables of type 'short2' may not be uniform
-uniform short2 s2;
-^^^^^^^^^^^^^^^^^
-error: 3: variables of type 'short3' may not be uniform
-uniform short3 s3;
-^^^^^^^^^^^^^^^^^
-error: 4: variables of type 'short4' may not be uniform
-uniform short4 s4;
-^^^^^^^^^^^^^^^^^
-error: 6: variables of type 'bool' may not be uniform
-uniform bool b;
-^^^^^^^^^^^^^^^
-error: 7: variables of type 'bool2' may not be uniform
-uniform bool2 b2;
-^^^^^^^^^^^^^^^^
-error: 8: variables of type 'bool3' may not be uniform
-uniform bool3 b3;
-^^^^^^^^^^^^^^^^
-error: 9: variables of type 'bool4' may not be uniform
-uniform bool4 b4;
-^^^^^^^^^^^^^^^^
-error: 13: variables of type 'St' may not be uniform
-uniform St st;
-^^^^^^^^^^^^^
-9 errors
diff --git a/tests/sksl/runtime_errors/InvalidUniformTypesES3.skvm b/tests/sksl/runtime_errors/InvalidUniformTypesES3.skvm
deleted file mode 100644
index 28941ba..0000000
--- a/tests/sksl/runtime_errors/InvalidUniformTypesES3.skvm
+++ /dev/null
@@ -1,63 +0,0 @@
-### Compilation failed:
-
-error: 3: variables of type 'uint' may not be uniform
-uniform uint u;
-^^^^^^^^^^^^^^^
-error: 4: variables of type 'uint2' may not be uniform
-uniform uint2 u2;
-^^^^^^^^^^^^^^^^
-error: 5: variables of type 'uint3' may not be uniform
-uniform uint3 u3;
-^^^^^^^^^^^^^^^^
-error: 6: variables of type 'uint4' may not be uniform
-uniform uint4 u4;
-^^^^^^^^^^^^^^^^
-error: 8: variables of type 'ushort' may not be uniform
-uniform ushort us;
-^^^^^^^^^^^^^^^^^^
-error: 9: variables of type 'ushort2' may not be uniform
-uniform ushort2 us2;
-^^^^^^^^^^^^^^^^^^^
-error: 10: variables of type 'ushort3' may not be uniform
-uniform ushort3 us3;
-^^^^^^^^^^^^^^^^^^^
-error: 11: variables of type 'ushort4' may not be uniform
-uniform ushort4 us4;
-^^^^^^^^^^^^^^^^^^^
-error: 13: variables of type 'float2x3' may not be uniform
-uniform float2x3 f23;
-^^^^^^^^^^^^^^^^^^^^
-error: 14: variables of type 'float2x4' may not be uniform
-uniform float2x4 f24;
-^^^^^^^^^^^^^^^^^^^^
-error: 15: variables of type 'float3x2' may not be uniform
-uniform float3x2 f32;
-^^^^^^^^^^^^^^^^^^^^
-error: 16: variables of type 'float3x4' may not be uniform
-uniform float3x4 f34;
-^^^^^^^^^^^^^^^^^^^^
-error: 17: variables of type 'float4x2' may not be uniform
-uniform float4x2 f42;
-^^^^^^^^^^^^^^^^^^^^
-error: 18: variables of type 'float4x3' may not be uniform
-uniform float4x3 f43;
-^^^^^^^^^^^^^^^^^^^^
-error: 20: variables of type 'half2x3' may not be uniform
-uniform half2x3 h23;
-^^^^^^^^^^^^^^^^^^^
-error: 21: variables of type 'half2x4' may not be uniform
-uniform half2x4 h24;
-^^^^^^^^^^^^^^^^^^^
-error: 22: variables of type 'half3x2' may not be uniform
-uniform half3x2 h32;
-^^^^^^^^^^^^^^^^^^^
-error: 23: variables of type 'half3x4' may not be uniform
-uniform half3x4 h34;
-^^^^^^^^^^^^^^^^^^^
-error: 24: variables of type 'half4x2' may not be uniform
-uniform half4x2 h42;
-^^^^^^^^^^^^^^^^^^^
-error: 25: variables of type 'half4x3' may not be uniform
-uniform half4x3 h43;
-^^^^^^^^^^^^^^^^^^^
-20 errors
diff --git a/tests/sksl/runtime_errors/LoopConditionErrors.skvm b/tests/sksl/runtime_errors/LoopConditionErrors.skvm
deleted file mode 100644
index c9d11dc..0000000
--- a/tests/sksl/runtime_errors/LoopConditionErrors.skvm
+++ /dev/null
@@ -1,30 +0,0 @@
-### Compilation failed:
-
-error: 3: missing condition
-void no_condition() { for (int i = 0;;i++) {} }
- ^
-error: 5: invalid condition
-void unary_cond_op() { for (int i = 0; !(i > 1); ++i) {} }
- ^^^^^^^^
-error: 6: invalid condition
-void implict_cond_op() { for (int i = 1; bool(i); --i) {} }
- ^^^^^^^
-error: 7: expected loop index on left hand side of condition
-void complex_cond_op() { for (int i = 0; i < 1 && i < 2; ++i) {} }
- ^^^^^^^^^^^^^^
-error: 9: expected loop index on left hand side of condition
-void cond_wrong_var() { int j = 0; for (int i = 0; j < 1; ++i) {} }
- ^^^^^
-error: 10: expected loop index on left hand side of condition
-void cond_wrong_side() { for (int i = 0; 1 > i; ++i) {} }
- ^^^^^
-error: 11: expected loop index on left hand side of condition
-void cond_index_cast() { for (int i = 0; float(i) < 1.5; ++i) {} }
- ^^^^^^^^^^^^^^
-error: 15: loop index must be compared with a constant expression
-void cond_uniform_val() { for (int i = 0; i < u; ++i) {} }
- ^^^^^
-error: 16: loop index must be compared with a constant expression
-void cond_param_val(int p) { for (int i = 0; i < p; ++i) {} }
- ^^^^^
-9 errors
diff --git a/tests/sksl/runtime_errors/LoopExpressionErrors.skvm b/tests/sksl/runtime_errors/LoopExpressionErrors.skvm
deleted file mode 100644
index 859260c..0000000
--- a/tests/sksl/runtime_errors/LoopExpressionErrors.skvm
+++ /dev/null
@@ -1,24 +0,0 @@
-### Compilation failed:
-
-error: 3: missing loop expression
-void no_expression() { for (int i = 0; i < 1;) {} }
- ^
-error: 5: invalid operator in loop expression
-void expression_equals() { for (int i = 0; i < 1; i = 1) {} }
- ^^^^^
-error: 6: loop index must be modified by a constant expression
-void expression_equal_plus() { for (int i = 0; i < 1; i = i + 1) {} }
- ^^^^^^^^^
-error: 7: invalid operator in loop expression
-void expression_times_eq() { for (int i = 1; i < 2; i *= 2) {} }
- ^^^^^^
-error: 8: invalid operator in loop expression
-void expression_bad_unary() { for (int i = 0; i < 1; -i) {} }
- ^^
-error: 12: loop index must be modified by a constant expression
-void expression_uniform_val() { for (int i = 0; i < 1; i += u) {} }
- ^^^^^^
-error: 13: loop index must be modified by a constant expression
-void expression_param_val(int p) { for (int i = 0; i < 1; i += p) {} }
- ^^^^^^
-7 errors
diff --git a/tests/sksl/runtime_errors/LoopInitializerErrors.skvm b/tests/sksl/runtime_errors/LoopInitializerErrors.skvm
deleted file mode 100644
index 866451d..0000000
--- a/tests/sksl/runtime_errors/LoopInitializerErrors.skvm
+++ /dev/null
@@ -1,33 +0,0 @@
-### Compilation failed:
-
-error: 3: missing init declaration
-void no_initializer() { int i = 0; for ( ; i < 1; i++) {} }
- ^^^^^
-error: 4: invalid init declaration
-void init_not_decl() { int i; for (i = 0; i < 1; i++) {} }
- ^^^^^
-error: 5: missing loop index initializer
-void index_no_init() { for (int i; i < 1; i++) {} }
- ^^^^^^
-error: 7: invalid type for loop index
-void bool_index() { for (bool i = false; i != true; i = !i) {} }
- ^^^^^^^^^^^^^^^
-error: 8: invalid type for loop index
-void vec_index() { for (float2 i = float2(0); i.x < 1; i.x++) {} }
- ^^^^^^^^^^^^^^^^^^^^^
-error: 9: construction of array type 'int[2]' is not supported
-void array_index() { for (int i[2] = int[2](0, 0); i[0] < 1; ++i[0]) {} }
- ^^^^^^^^^^^^
-error: 9: unknown identifier 'i'
-void array_index() { for (int i[2] = int[2](0, 0); i[0] < 1; ++i[0]) {} }
- ^
-error: 9: unknown identifier 'i'
-void array_index() { for (int i[2] = int[2](0, 0); i[0] < 1; ++i[0]) {} }
- ^
-error: 13: loop index initializer must be a constant expression
-void uniform_init() { for (int i = u; i < 1; ++i) {} }
- ^^^^^^^^^^
-error: 14: loop index initializer must be a constant expression
-void param_init(int p) { for (int i = p; i < 1; ++i) {} }
- ^^^^^^^^^^
-10 errors
diff --git a/tests/sksl/runtime_errors/LoopStructureErrors.skvm b/tests/sksl/runtime_errors/LoopStructureErrors.skvm
deleted file mode 100644
index aa4ae8a..0000000
--- a/tests/sksl/runtime_errors/LoopStructureErrors.skvm
+++ /dev/null
@@ -1,48 +0,0 @@
-### Compilation failed:
-
-error: 6: loop must guarantee termination in fewer iterations
-void loop_length_100000() { for (int i = 0; i < 100000; i++) {} }
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 7: invalid loop expression
-void infinite_loop1() { for (int i = 0; i < 1; i += 0) {} }
- ^^^^^^
-error: 8: invalid loop expression
-void infinite_loop2() { for (int i = 3; i >= 3; i += 0) {} }
- ^^^^^^
-error: 9: loop must guarantee termination in fewer iterations
-void infinite_loop3() { for (float i = 3; i >= 3; i += 1e-20) {} }
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 14: loop index must not be modified within body of the loop
-void index_modified() { for (int i = 0; i < 2; i++) { i++; } }
- ^^^^^^^^
-error: 15: loop index must not be modified within body of the loop
-void index_out_param() { for (int i = 0; i < 1; i++) { set(i); } }
- ^^^^^^^^^^^
-error: 16: loop index must not be modified within body of the loop
-void index_inout_param() { for (int i = 0; i < 1; i++) { inc(i); } }
- ^^^^^^^^^^^
-error: 18: loop must guarantee termination in fewer iterations
-void infinite_loop_le() { for (int i = 0; i <= 3; --i) {} }
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 19: loop must guarantee termination in fewer iterations
-void infinite_loop_lt() { for (int i = 0; i < 4; --i) {} }
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 20: loop must guarantee termination in fewer iterations
-void infinite_loop_ge() { for (int i = 3; i >= 0; ++i) {} }
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 21: loop must guarantee termination in fewer iterations
-void infinite_loop_gt() { for (int i = 3; i > -1; ++i) {} }
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 22: invalid loop expression
-void infinite_loop_eq1() { for (int i = 0; i == 0; i-=0) {} }
- ^^^^
-error: 23: invalid loop expression
-void infinite_loop_eq2() { for (int i = 1; i == 1; i+=0) {} }
- ^^^^
-error: 24: loop must guarantee termination in fewer iterations
-void infinite_loop_ne1() { for (int i = 0; i != 4; i--) {} }
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-error: 25: loop must guarantee termination in fewer iterations
-void infinite_loop_ne2() { for (int i = 0; i != 4; i+=3) {} }
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-15 errors
diff --git a/tests/sksl/runtime_errors/Ossfuzz36655.skvm b/tests/sksl/runtime_errors/Ossfuzz36655.skvm
deleted file mode 100644
index 5766e87..0000000
--- a/tests/sksl/runtime_errors/Ossfuzz36655.skvm
+++ /dev/null
@@ -1,39 +0,0 @@
-### Compilation failed:
-
-error: 2: expected '(' to begin constructor invocation
- ;int x;+(2);;;;;;colorFilter;;;;;;;;
- ^
-error: 11: expected '(' to begin function call
- n();n();;;;;;;;;;atan;;;;;;;;;;;2;
- ^
-error: 17: expected '(' to begin function call
- ;0;;;l();n;;
- ^
-error: 21: expected '(' to begin function call
- (32/43/4-half3x3(5)[2].ttt+4/35).ss00*1752).s > 5)n();;0;n;n()
- ^
-error: 23: expected '(' to begin constructor invocation
- ;float[992];
- ^
-error: 26: expected '(' to begin function call
- (2).ss00*2147483648).s > 0)n();1;n;n()
- ^
-error: 32: expected '(' to begin function call
- 052).s >=5)n();1;n;n
- ^
-error: 32: expected '(' to begin function call
- 052).s >=5)n();1;n;n
- ^
-error: 35: expected '(' to begin function call
- ;0;;;l();n;;
- ^
-error: 39: expected '(' to begin function call
- (32/43/4-half3x3(5)[2].ttt+4/35).ss00*1752).s > 5)n();;1;n;n()
- ^
-error: 43: expected '(' to begin constructor invocation
- ;float[992];
- ^
-error: 46: expected '(' to begin function call
- (2).ss00*7152).s > 0)n();1;n;n()
- ^
-12 errors
diff --git a/tests/sksl/runtime_errors/Ossfuzz38131.skvm b/tests/sksl/runtime_errors/Ossfuzz38131.skvm
deleted file mode 100644
index 74ea458..0000000
--- a/tests/sksl/runtime_errors/Ossfuzz38131.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 1: interface blocks are not allowed in this kind of program
-s{int i;};
-^
-1 error
diff --git a/tests/sksl/runtime_errors/Ossfuzz45279.skvm b/tests/sksl/runtime_errors/Ossfuzz45279.skvm
deleted file mode 100644
index c7d3da8..0000000
--- a/tests/sksl/runtime_errors/Ossfuzz45279.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 2: type mismatch: '==' cannot operate on 'void', 'void'
-void b(int i) { c(i)==c(i); }
- ^^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/PrivateFunctions.skvm b/tests/sksl/runtime_errors/PrivateFunctions.skvm
deleted file mode 100644
index a3948ce..0000000
--- a/tests/sksl/runtime_errors/PrivateFunctions.skvm
+++ /dev/null
@@ -1,18 +0,0 @@
-### Compilation failed:
-
-error: 1: name '$function' is reserved
-void $function() {}
- ^^^^^^^^^
-error: 4: name '$one' is reserved
- const half $one = 1;
- ^^^^
-error: 5: name '$function' is reserved
- $function();
- ^^^^^^^^^
-error: 6: name '$hsl_to_rgb' is reserved
- return $hsl_to_rgb(half3(0), $one);
- ^^^^^^^^^^^
-error: 6: name '$one' is reserved
- return $hsl_to_rgb(half3(0), $one);
- ^^^^
-5 errors
diff --git a/tests/sksl/runtime_errors/PrivateRTShader.skvm b/tests/sksl/runtime_errors/PrivateRTShader.skvm
deleted file mode 100644
index 0209a19..0000000
--- a/tests/sksl/runtime_errors/PrivateRTShader.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 2: unknown identifier 'sk_FragCoord'
- return float4(sk_FragCoord);
- ^^^^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/ProgramTooLarge_BlocklessLoops.skvm b/tests/sksl/runtime_errors/ProgramTooLarge_BlocklessLoops.skvm
deleted file mode 100644
index eb45f44..0000000
--- a/tests/sksl/runtime_errors/ProgramTooLarge_BlocklessLoops.skvm
+++ /dev/null
@@ -1,4 +0,0 @@
-### Compilation failed:
-
-error: program is too large
-1 error
diff --git a/tests/sksl/runtime_errors/ProgramTooLarge_Extreme.skvm b/tests/sksl/runtime_errors/ProgramTooLarge_Extreme.skvm
deleted file mode 100644
index eb45f44..0000000
--- a/tests/sksl/runtime_errors/ProgramTooLarge_Extreme.skvm
+++ /dev/null
@@ -1,4 +0,0 @@
-### Compilation failed:
-
-error: program is too large
-1 error
diff --git a/tests/sksl/runtime_errors/ProgramTooLarge_FlatLoop.skvm b/tests/sksl/runtime_errors/ProgramTooLarge_FlatLoop.skvm
deleted file mode 100644
index eb45f44..0000000
--- a/tests/sksl/runtime_errors/ProgramTooLarge_FlatLoop.skvm
+++ /dev/null
@@ -1,4 +0,0 @@
-### Compilation failed:
-
-error: program is too large
-1 error
diff --git a/tests/sksl/runtime_errors/ProgramTooLarge_Functions.skvm b/tests/sksl/runtime_errors/ProgramTooLarge_Functions.skvm
deleted file mode 100644
index eb45f44..0000000
--- a/tests/sksl/runtime_errors/ProgramTooLarge_Functions.skvm
+++ /dev/null
@@ -1,4 +0,0 @@
-### Compilation failed:
-
-error: program is too large
-1 error
diff --git a/tests/sksl/runtime_errors/ProgramTooLarge_NestedLoops.skvm b/tests/sksl/runtime_errors/ProgramTooLarge_NestedLoops.skvm
deleted file mode 100644
index eb45f44..0000000
--- a/tests/sksl/runtime_errors/ProgramTooLarge_NestedLoops.skvm
+++ /dev/null
@@ -1,4 +0,0 @@
-### Compilation failed:
-
-error: program is too large
-1 error
diff --git a/tests/sksl/runtime_errors/ProgramTooLarge_SplitLoops.skvm b/tests/sksl/runtime_errors/ProgramTooLarge_SplitLoops.skvm
deleted file mode 100644
index eb45f44..0000000
--- a/tests/sksl/runtime_errors/ProgramTooLarge_SplitLoops.skvm
+++ /dev/null
@@ -1,4 +0,0 @@
-### Compilation failed:
-
-error: program is too large
-1 error
diff --git a/tests/sksl/runtime_errors/ProgramTooLarge_StackDepth.skvm b/tests/sksl/runtime_errors/ProgramTooLarge_StackDepth.skvm
deleted file mode 100644
index cf2ef96..0000000
--- a/tests/sksl/runtime_errors/ProgramTooLarge_StackDepth.skvm
+++ /dev/null
@@ -1,57 +0,0 @@
-### Compilation failed:
-
-error: 11: exceeded max function call depth:
- half4 main(float2 xy)
- void f1()
- void f2()
- void f3()
- void f4()
- void f5()
- void f6()
- void f7()
- void f8()
- void f9()
- void f10()
- void f11()
- void f12()
- void f13()
- void f14()
- void f15()
- void f16()
- void f17()
- void f18()
- void f19()
- void f20()
- void f21()
- void f22()
- void f23()
- void f24()
- void f25()
- void f26()
- void f27()
- void f28()
- void f29()
- void f30()
- void f31()
- void f32()
- void f33()
- void f34()
- void f35()
- void f36()
- void f37()
- void f38()
- void f39()
- void f40()
- void f41()
- void f42()
- void f43()
- void f44()
- void f45()
- void f46()
- void f47()
- void f48()
- void f49()
- void f50()
-void f50() { f51(); }
- ^^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/ReservedNameSampler.skvm b/tests/sksl/runtime_errors/ReservedNameSampler.skvm
deleted file mode 100644
index 4c65015..0000000
--- a/tests/sksl/runtime_errors/ReservedNameSampler.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 1: expected an identifier, but found type 'sampler'
-int sampler;
- ^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/ReservedNameSampler1D.skvm b/tests/sksl/runtime_errors/ReservedNameSampler1D.skvm
deleted file mode 100644
index 538e01c..0000000
--- a/tests/sksl/runtime_errors/ReservedNameSampler1D.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 1: name 'sampler1D' is reserved
-int sampler1D;
- ^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/ReservedNameSampler2D.skvm b/tests/sksl/runtime_errors/ReservedNameSampler2D.skvm
deleted file mode 100644
index 7ca9d9e..0000000
--- a/tests/sksl/runtime_errors/ReservedNameSampler2D.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 1: expected an identifier, but found type 'sampler2D'
-int sampler2D;
- ^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/ReservedNameSampler2DRect.skvm b/tests/sksl/runtime_errors/ReservedNameSampler2DRect.skvm
deleted file mode 100644
index b9a75fe..0000000
--- a/tests/sksl/runtime_errors/ReservedNameSampler2DRect.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 1: expected an identifier, but found type 'sampler2DRect'
-int sampler2DRect;
- ^^^^^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/ReservedNameSampler3D.skvm b/tests/sksl/runtime_errors/ReservedNameSampler3D.skvm
deleted file mode 100644
index 489b240..0000000
--- a/tests/sksl/runtime_errors/ReservedNameSampler3D.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 1: name 'sampler3D' is reserved
-int sampler3D;
- ^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/ReservedNameSamplerExternalOES.skvm b/tests/sksl/runtime_errors/ReservedNameSamplerExternalOES.skvm
deleted file mode 100644
index ec72b49..0000000
--- a/tests/sksl/runtime_errors/ReservedNameSamplerExternalOES.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 1: expected an identifier, but found type 'samplerExternalOES'
-int samplerExternalOES;
- ^^^^^^^^^^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/ReservedNameSubpassInput.skvm b/tests/sksl/runtime_errors/ReservedNameSubpassInput.skvm
deleted file mode 100644
index 94119dd..0000000
--- a/tests/sksl/runtime_errors/ReservedNameSubpassInput.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 1: expected an identifier, but found type 'subpassInput'
-int subpassInput;
- ^^^^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/ReservedNameSubpassInputMS.skvm b/tests/sksl/runtime_errors/ReservedNameSubpassInputMS.skvm
deleted file mode 100644
index 37ca40c..0000000
--- a/tests/sksl/runtime_errors/ReservedNameSubpassInputMS.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 1: expected an identifier, but found type 'subpassInputMS'
-int subpassInputMS;
- ^^^^^^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/ReservedNameTexture2D.skvm b/tests/sksl/runtime_errors/ReservedNameTexture2D.skvm
deleted file mode 100644
index 750acfe..0000000
--- a/tests/sksl/runtime_errors/ReservedNameTexture2D.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 1: expected an identifier, but found type 'texture2D'
-int texture2D;
- ^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/TypeAliases.skvm b/tests/sksl/runtime_errors/TypeAliases.skvm
deleted file mode 100644
index 8f96a9b..0000000
--- a/tests/sksl/runtime_errors/TypeAliases.skvm
+++ /dev/null
@@ -1,21 +0,0 @@
-### Compilation failed:
-
-error: 9: expected 'vec2', but found 'int'
- vec2 bad1 = 0;
- ^
-error: 10: expected 'int', but found 'mat2'
- int bad2 = mat2(0);
- ^^^^^^^
-error: 11: expected 'bvec2', but found 'vec2'
- bvec2 bad3 = vec2(0);
- ^^^^^^^
-error: 12: expected 'float2', but found 'vec3'
- float2 bad4 = vec3(0);
- ^^^^^^^
-error: 13: expected 'mat4', but found 'float3x3'
- mat4 bad5 = float3x3(0);
- ^^^^^^^^^^^
-error: 14: expected 'vec4', but found 'ivec4'
- return ivec4(1);
- ^^^^^^^^
-6 errors
diff --git a/tests/sksl/runtime_errors/UnsupportedExtension.skvm b/tests/sksl/runtime_errors/UnsupportedExtension.skvm
deleted file mode 100644
index 2eeb30a..0000000
--- a/tests/sksl/runtime_errors/UnsupportedExtension.skvm
+++ /dev/null
@@ -1,12 +0,0 @@
-### Compilation failed:
-
-error: 1: unsupported directive '#extension'
-#extension i:enable
-^^^^^^^^^^
-error: 1: no type named 'i'
-#extension i:enable
- ^
-error: 1: expected a type, but found ':'
-#extension i:enable
- ^
-3 errors
diff --git a/tests/sksl/runtime_errors/UnsupportedTypeFragmentProcessor.skvm b/tests/sksl/runtime_errors/UnsupportedTypeFragmentProcessor.skvm
deleted file mode 100644
index 502e2f7..0000000
--- a/tests/sksl/runtime_errors/UnsupportedTypeFragmentProcessor.skvm
+++ /dev/null
@@ -1,12 +0,0 @@
-### Compilation failed:
-
-error: 1: no type named 'fragmentProcessor'
-uniform fragmentProcessor s;
- ^^^^^^^^^^^^^^^^^
-error: 1: no type named 's'
-uniform fragmentProcessor s;
- ^
-error: 1: expected a declaration, but found ';'
-uniform fragmentProcessor s;
- ^
-3 errors
diff --git a/tests/sksl/runtime_errors/UnsupportedTypeSampler.skvm b/tests/sksl/runtime_errors/UnsupportedTypeSampler.skvm
deleted file mode 100644
index ea74dbe..0000000
--- a/tests/sksl/runtime_errors/UnsupportedTypeSampler.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 1: invalid type
-uniform sampler2D s;
-^^^^^^^^^^^^^^^^^^^
-1 error
diff --git a/tests/sksl/runtime_errors/UnsupportedTypeTexture.skvm b/tests/sksl/runtime_errors/UnsupportedTypeTexture.skvm
deleted file mode 100644
index d2d3740..0000000
--- a/tests/sksl/runtime_errors/UnsupportedTypeTexture.skvm
+++ /dev/null
@@ -1,6 +0,0 @@
-### Compilation failed:
-
-error: 1: invalid type
-uniform texture2D s;
-^^^^^^^^^^^^^^^^^^^
-1 error
diff --git a/tools/skslc/BUILD.bazel b/tools/skslc/BUILD.bazel
index 699aac3..ac55e88 100644
--- a/tools/skslc/BUILD.bazel
+++ b/tools/skslc/BUILD.bazel
@@ -66,12 +66,6 @@
)
compile_sksl(
- name = "skvm_tests",
- inputs = "//resources/sksl:sksl_skvm_tests_sources",
- lang = "skvm",
-)
-
-compile_sksl(
name = "stage_tests",
inputs = "//resources/sksl:sksl_stage_tests_sources",
lang = "stage",
diff --git a/tools/skslc/Main.cpp b/tools/skslc/Main.cpp
index f9fc33c..cccc0f4 100644
--- a/tools/skslc/Main.cpp
+++ b/tools/skslc/Main.cpp
@@ -646,24 +646,6 @@
[](SkSL::Compiler& compiler, SkSL::Program& program, SkSL::OutputStream& out) {
return compiler.toWGSL(program, out);
});
-#if defined(SK_ENABLE_SKVM)
- } else if (skstd::ends_with(outputPath, ".skvm")) {
- return compileProgramAsRuntimeShader(
- [&](SkSL::Compiler& compiler, SkSL::Program& program, SkSL::OutputStream& out) {
- skvm::Builder builder{skvm::Features{}};
- if (!SkSL::testingOnly_ProgramToSkVMShader(program, &builder,
- debugTrace.get())) {
- return false;
- }
-
- std::unique_ptr<SkWStream> redirect = as_SkWStream(out);
- if (debugTrace) {
- debugTrace->dump(redirect.get());
- }
- builder.done().dump(redirect.get());
- return true;
- });
-#endif
#if defined(SK_ENABLE_SKSL_IN_RASTER_PIPELINE)
} else if (skstd::ends_with(outputPath, ".skrp")) {
settings.fMaxVersionAllowed = SkSL::Version::k300;
@@ -761,7 +743,7 @@
});
} else {
printf("expected output path to end with one of: .glsl, .html, .metal, .hlsl, .wgsl, "
- ".spirv, .asm.vert, .asm.frag, .skrp, .skvm, .stage (got '%s')\n",
+ ".spirv, .asm.vert, .asm.frag, .skrp, .stage (got '%s')\n",
outputPath.c_str());
return ResultCode::kConfigurationError;
}
diff --git a/tools/skslc/Makefile b/tools/skslc/Makefile
index fff3b98..01b145e 100644
--- a/tools/skslc/Makefile
+++ b/tools/skslc/Makefile
@@ -4,7 +4,6 @@
bazel run //tools/skslc:compile_glsl_nosettings_tests --config=release
bazel run //tools/skslc:compile_metal_tests --config=release
bazel run //tools/skslc:compile_skrp_tests --config=release
- bazel run //tools/skslc:compile_skvm_tests --config=release
bazel run //tools/skslc:compile_stage_tests --config=release
bazel run //tools/skslc:compile_spirv_tests --config=release
bazel run //tools/skslc:compile_wgsl_tests --config=release