skia2/tests/sksl/runtime/RecursiveComparison_Vectors.skvm
Julia Lavrova 94f726ae62 Adding test files demonstrating type confusion for arrays/structs.
Change-Id: Iacd924471971c3c551648f75c1ecf0f1bfd3ed07
Bug: skia:12642
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/479061
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-12-03 20:54:36 +00:00

119 lines
2.9 KiB
Plaintext

27 registers, 116 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 = div_f32 r0 r2
11 r11 = div_f32 r2 r0
12 r12 = mul_f32 r0 r2
13 r8 = sub_f32 r8 r0
14 r8 = mul_f32 r2 r8
15 r13 = splat 42280000 (42)
16 r13 = mul_f32 r1 r13
17 r14 = splat 422C0000 (43)
18 r14 = mul_f32 r1 r14
19 r15 = splat 42300000 (44)
20 r15 = mul_f32 r1 r15
21 r16 = splat 42340000 (45)
22 r16 = mul_f32 r1 r16
23 r17 = splat 3F800000 (1)
24 r17 = add_f32 r0 r17
25 r18 = mul_f32 r13 r17
26 r19 = mul_f32 r8 r17
27 r20 = mul_f32 r12 r17
28 r21 = mul_f32 r14 r17
29 r22 = eq_f32 r13 r18
30 r23 = eq_f32 r8 r19
31 r24 = eq_f32 r12 r20
32 r25 = eq_f32 r14 r21
33 r23 = bit_and r22 r23
34 r23 = bit_and r24 r23
35 r23 = bit_and r25 r23
36 r18 = neq_f32 r13 r18
37 r19 = neq_f32 r8 r19
38 r20 = neq_f32 r12 r20
39 r21 = neq_f32 r14 r21
40 r19 = bit_or r18 r19
41 r19 = bit_or r20 r19
42 r19 = bit_or r21 r19
43 r19 = bit_and r23 r19
44 r20 = bit_xor r9 r19
45 r20 = bit_and r23 r20
46 r23 = mul_f32 r10 r17
47 r17 = mul_f32 r11 r17
48 r24 = eq_f32 r10 r23
49 r26 = eq_f32 r11 r17
50 r24 = bit_and r22 r24
51 r24 = bit_and r26 r24
52 r24 = bit_and r25 r24
53 r23 = neq_f32 r10 r23
54 r17 = neq_f32 r11 r17
55 r23 = bit_or r18 r23
56 r23 = bit_or r17 r23
57 r23 = bit_or r21 r23
58 r19 = select r20 r23 r19
59 r20 = bit_and r20 r19
60 r19 = select r20 r24 r19
61 r19 = bit_xor r9 r19
62 r19 = bit_and r20 r19
63 r20 = splat 40000000 (2)
64 r20 = add_f32 r0 r20
65 r24 = mul_f32 r13 r20
66 r23 = mul_f32 r14 r20
67 r21 = mul_f32 r15 r20
68 r17 = mul_f32 r16 r20
69 r18 = eq_f32 r13 r24
70 r11 = eq_f32 r14 r23
71 r25 = eq_f32 r15 r21
72 r26 = eq_f32 r16 r17
73 r11 = bit_and r18 r11
74 r11 = bit_and r25 r11
75 r11 = bit_and r26 r11
76 r24 = neq_f32 r13 r24
77 r23 = neq_f32 r14 r23
78 r21 = neq_f32 r15 r21
79 r17 = neq_f32 r16 r17
80 r23 = bit_or r24 r23
81 r23 = bit_or r21 r23
82 r23 = bit_or r17 r23
83 r23 = bit_and r19 r23
84 r19 = bit_and r19 r23
85 r23 = select r19 r11 r23
86 r11 = bit_xor r9 r23
87 r11 = bit_and r19 r11
88 r19 = mul_f32 r10 r20
89 r17 = mul_f32 r8 r20
90 r20 = mul_f32 r12 r20
91 r21 = eq_f32 r10 r19
92 r16 = eq_f32 r8 r17
93 r15 = eq_f32 r12 r20
94 r16 = bit_and r21 r16
95 r16 = bit_and r15 r16
96 r16 = bit_and r18 r16
97 r19 = neq_f32 r10 r19
98 r17 = neq_f32 r8 r17
99 r20 = neq_f32 r12 r20
100 r17 = bit_or r19 r17
101 r17 = bit_or r20 r17
102 r17 = bit_or r24 r17
103 r23 = select r11 r17 r23
104 r11 = bit_and r11 r23
105 r23 = select r11 r16 r23
106 r23 = bit_xor r9 r23
107 r23 = bit_and r11 r23
108 r4 = select r23 r0 r4
109 r5 = select r23 r1 r5
110 r6 = select r23 r2 r6
111 r7 = select r23 r3 r7
loop:
112 store32 ptr1 r4
113 store32 ptr2 r5
114 store32 ptr3 r6
115 store32 ptr4 r7