xref: /aosp_15_r20/external/skia/tests/sksl/folding/MatrixNoOpFolding.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1192 instructions
2
3[immutable slots]
4i0 = 0
5i1 = 0
6i2 = 0
7i3 = 0
8i4 = 0
9i5 = 0
10i6 = 0
11i7 = 0
12i8 = 0
13i9 = 0
14i10 = 0
15i11 = 0
16i12 = 0
17i13 = 0
18i14 = 0
19i15 = 0
20i16 = 0
21i17 = 0
22i18 = 0
23i19 = 0
24i20 = 0
25i21 = 0
26i22 = 0
27i23 = 0
28i24 = 0
29i25 = 0
30i26 = 0
31i27 = 0
32i28 = 0
33
34store_src_rg                   coords = src.rg
35init_lane_masks                CondMask = LoopMask = RetMask = true
36splat_4_constants              _0_m = 0
37splat_4_constants              _1_mm = 0
38copy_4_uniforms                _0_m = testMatrix2x2
39copy_4_uniforms                _0_m = testMatrix2x2
40copy_4_slots_unmasked          $0..3 = _0_m
41splat_4_constants              $4..7 = 0x80000000 (-0.0)
42bitwise_xor_4_ints             $0..3 ^= $4..7
43copy_4_slots_unmasked          _0_m = $0..3
44splat_4_constants              _1_mm = 0
45splat_4_constants              _1_mm = 0
46store_condition_mask           $49 = CondMask
47store_condition_mask           $78 = CondMask
48copy_4_slots_unmasked          $79..82 = _0_m
49copy_4_uniforms                $83..86 = testMatrix2x2
50splat_4_constants              $87..90 = 0x80000000 (-0.0)
51bitwise_xor_4_ints             $83..86 ^= $87..90
52cmpeq_4_floats                 $79..82 = equal($79..82, $83..86)
53bitwise_and_2_ints             $79..80 &= $81..82
54bitwise_and_int                $79 &= $80
55copy_4_slots_unmasked          $80..83 = _1_mm
56splat_4_constants              $84..87 = 0
57cmpeq_4_floats                 $80..83 = equal($80..83, $84..87)
58bitwise_and_2_ints             $80..81 &= $82..83
59bitwise_and_int                $80 &= $81
60bitwise_and_int                $79 &= $80
61copy_constant                  $50 = 0
62merge_condition_mask           CondMask = $78 & $79
63branch_if_no_lanes_active      branch_if_no_lanes_active +66 (label 2 at #96)
64splat_4_constants              m(0..3) = 0
65splat_4_constants              m(4..7) = 0
66splat_4_constants              m(8), mm(0..2) = 0
67splat_4_constants              mm(3..6) = 0
68splat_2_constants              mm(7..8) = 0
69copy_4_uniforms                $51..54 = testMatrix3x3(0..3)
70copy_4_uniforms                $55..58 = testMatrix3x3(4..7)
71copy_uniform                   $59 = testMatrix3x3(8)
72copy_4_slots_masked            m(0..3) = Mask($51..54)
73copy_4_slots_masked            m(4..7) = Mask($55..58)
74copy_slot_masked               m(8) = Mask($59)
75copy_4_uniforms                $51..54 = testMatrix3x3(0..3)
76copy_4_uniforms                $55..58 = testMatrix3x3(4..7)
77copy_uniform                   $59 = testMatrix3x3(8)
78copy_4_slots_masked            m(0..3) = Mask($51..54)
79copy_4_slots_masked            m(4..7) = Mask($55..58)
80copy_slot_masked               m(8) = Mask($59)
81splat_4_constants              $60..63 = 0x80000000 (-0.0)
82splat_4_constants              $64..67 = 0x80000000 (-0.0)
83copy_constant                  $68 = 0x80000000 (-0.0)
84bitwise_xor_n_ints             $51..59 ^= $60..68
85copy_4_slots_masked            m(0..3) = Mask($51..54)
86copy_4_slots_masked            m(4..7) = Mask($55..58)
87copy_slot_masked               m(8) = Mask($59)
88splat_4_constants              $51..54 = 0
89splat_4_constants              $55..58 = 0
90copy_constant                  $59 = 0
91copy_4_slots_masked            mm(0..3) = Mask($51..54)
92copy_4_slots_masked            mm(4..7) = Mask($55..58)
93copy_slot_masked               mm(8) = Mask($59)
94splat_4_constants              $51..54 = 0
95splat_4_constants              $55..58 = 0
96copy_constant                  $59 = 0
97copy_4_slots_masked            mm(0..3) = Mask($51..54)
98copy_4_slots_masked            mm(4..7) = Mask($55..58)
99copy_slot_masked               mm(8) = Mask($59)
100copy_4_slots_unmasked          $51..54 = m(0..3)
101copy_4_slots_unmasked          $55..58 = m(4..7)
102copy_slot_unmasked             $59 = m(8)
103copy_4_uniforms                $60..63 = testMatrix3x3(0..3)
104copy_4_uniforms                $64..67 = testMatrix3x3(4..7)
105copy_uniform                   $68 = testMatrix3x3(8)
106splat_4_constants              $69..72 = 0x80000000 (-0.0)
107splat_4_constants              $73..76 = 0x80000000 (-0.0)
108copy_constant                  $77 = 0x80000000 (-0.0)
109bitwise_xor_n_ints             $60..68 ^= $69..77
110cmpeq_n_floats                 $51..59 = equal($51..59, $60..68)
111bitwise_and_4_ints             $52..55 &= $56..59
112bitwise_and_2_ints             $52..53 &= $54..55
113bitwise_and_int                $52 &= $53
114bitwise_and_int                $51 &= $52
115copy_4_slots_unmasked          $52..55 = mm(0..3)
116copy_4_slots_unmasked          $56..59 = mm(4..7)
117copy_slot_unmasked             $60 = mm(8)
118splat_4_constants              $61..64 = 0
119splat_4_constants              $65..68 = 0
120copy_constant                  $69 = 0
121cmpeq_n_floats                 $52..60 = equal($52..60, $61..69)
122bitwise_and_4_ints             $53..56 &= $57..60
123bitwise_and_2_ints             $53..54 &= $55..56
124bitwise_and_int                $53 &= $54
125bitwise_and_int                $52 &= $53
126bitwise_and_int                $51 &= $52
127label                          label 0x00000003
128copy_slot_masked               $50 = Mask($51)
129label                          label 0x00000002
130load_condition_mask            CondMask = $78
131copy_constant                  $0 = 0
132merge_condition_mask           CondMask = $49 & $50
133branch_if_no_lanes_active      branch_if_no_lanes_active +90 (label 1 at #190)
134copy_4_uniforms                testMatrix4x4(0..3) = testInputs
135copy_4_uniforms                testMatrix4x4(4..7) = testInputs
136copy_4_uniforms                testMatrix4x4(8..11) = testInputs
137copy_4_uniforms                testMatrix4x4(12..15) = testInputs
138splat_4_constants              m₁(0..3) = 0
139splat_4_constants              m₁(4..7) = 0
140splat_4_constants              m₁(8..11) = 0
141splat_4_constants              m₁(12..15) = 0
142splat_4_constants              mm₁(0..3) = 0
143splat_4_constants              mm₁(4..7) = 0
144splat_4_constants              mm₁(8..11) = 0
145splat_4_constants              mm₁(12..15) = 0
146copy_4_slots_unmasked          $1..4 = testMatrix4x4(0..3)
147copy_4_slots_unmasked          $5..8 = testMatrix4x4(4..7)
148copy_4_slots_unmasked          $9..12 = testMatrix4x4(8..11)
149copy_4_slots_unmasked          $13..16 = testMatrix4x4(12..15)
150copy_4_slots_masked            m₁(0..3) = Mask($1..4)
151copy_4_slots_masked            m₁(4..7) = Mask($5..8)
152copy_4_slots_masked            m₁(8..11) = Mask($9..12)
153copy_4_slots_masked            m₁(12..15) = Mask($13..16)
154copy_4_slots_unmasked          $1..4 = testMatrix4x4(0..3)
155copy_4_slots_unmasked          $5..8 = testMatrix4x4(4..7)
156copy_4_slots_unmasked          $9..12 = testMatrix4x4(8..11)
157copy_4_slots_unmasked          $13..16 = testMatrix4x4(12..15)
158copy_4_slots_masked            m₁(0..3) = Mask($1..4)
159copy_4_slots_masked            m₁(4..7) = Mask($5..8)
160copy_4_slots_masked            m₁(8..11) = Mask($9..12)
161copy_4_slots_masked            m₁(12..15) = Mask($13..16)
162splat_4_constants              $17..20 = 0x80000000 (-0.0)
163splat_4_constants              $21..24 = 0x80000000 (-0.0)
164splat_4_constants              $25..28 = 0x80000000 (-0.0)
165splat_4_constants              $29..32 = 0x80000000 (-0.0)
166bitwise_xor_n_ints             $1..16 ^= $17..32
167copy_4_slots_masked            m₁(0..3) = Mask($1..4)
168copy_4_slots_masked            m₁(4..7) = Mask($5..8)
169copy_4_slots_masked            m₁(8..11) = Mask($9..12)
170copy_4_slots_masked            m₁(12..15) = Mask($13..16)
171splat_4_constants              $1..4 = 0
172splat_4_constants              $5..8 = 0
173splat_4_constants              $9..12 = 0
174splat_4_constants              $13..16 = 0
175copy_4_slots_masked            mm₁(0..3) = Mask($1..4)
176copy_4_slots_masked            mm₁(4..7) = Mask($5..8)
177copy_4_slots_masked            mm₁(8..11) = Mask($9..12)
178copy_4_slots_masked            mm₁(12..15) = Mask($13..16)
179splat_4_constants              $1..4 = 0
180splat_4_constants              $5..8 = 0
181splat_4_constants              $9..12 = 0
182splat_4_constants              $13..16 = 0
183copy_4_slots_masked            mm₁(0..3) = Mask($1..4)
184copy_4_slots_masked            mm₁(4..7) = Mask($5..8)
185copy_4_slots_masked            mm₁(8..11) = Mask($9..12)
186copy_4_slots_masked            mm₁(12..15) = Mask($13..16)
187copy_4_slots_unmasked          $1..4 = m₁(0..3)
188copy_4_slots_unmasked          $5..8 = m₁(4..7)
189copy_4_slots_unmasked          $9..12 = m₁(8..11)
190copy_4_slots_unmasked          $13..16 = m₁(12..15)
191copy_4_slots_unmasked          $17..20 = testMatrix4x4(0..3)
192copy_4_slots_unmasked          $21..24 = testMatrix4x4(4..7)
193copy_4_slots_unmasked          $25..28 = testMatrix4x4(8..11)
194copy_4_slots_unmasked          $29..32 = testMatrix4x4(12..15)
195splat_4_constants              $33..36 = 0x80000000 (-0.0)
196splat_4_constants              $37..40 = 0x80000000 (-0.0)
197splat_4_constants              $41..44 = 0x80000000 (-0.0)
198splat_4_constants              $45..48 = 0x80000000 (-0.0)
199bitwise_xor_n_ints             $17..32 ^= $33..48
200cmpeq_n_floats                 $1..16 = equal($1..16, $17..32)
201bitwise_and_4_ints             $9..12 &= $13..16
202bitwise_and_4_ints             $5..8 &= $9..12
203bitwise_and_4_ints             $1..4 &= $5..8
204bitwise_and_2_ints             $1..2 &= $3..4
205bitwise_and_int                $1 &= $2
206copy_4_slots_unmasked          $2..5 = mm₁(0..3)
207copy_4_slots_unmasked          $6..9 = mm₁(4..7)
208copy_4_slots_unmasked          $10..13 = mm₁(8..11)
209copy_4_slots_unmasked          $14..17 = mm₁(12..15)
210splat_4_constants              $18..21 = 0
211splat_4_constants              $22..25 = 0
212splat_4_constants              $26..29 = 0
213splat_4_constants              $30..33 = 0
214cmpeq_n_floats                 $2..17 = equal($2..17, $18..33)
215bitwise_and_4_ints             $10..13 &= $14..17
216bitwise_and_4_ints             $6..9 &= $10..13
217bitwise_and_4_ints             $2..5 &= $6..9
218bitwise_and_2_ints             $2..3 &= $4..5
219bitwise_and_int                $2 &= $3
220bitwise_and_int                $1 &= $2
221label                          label 0x00000004
222copy_slot_masked               $0 = Mask($1)
223label                          label 0x00000001
224load_condition_mask            CondMask = $49
225swizzle_4                      $0..3 = ($0..3).xxxx
226copy_4_uniforms                $4..7 = colorRed
227copy_4_uniforms                $8..11 = colorGreen
228mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
229load_src                       src.rgba = $0..3
230