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