xref: /aosp_15_r20/external/skia/tests/sksl/folding/ShortCircuitBoolFolding.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1227 instructions
2
3store_src_rg                   coords = src.rg
4init_lane_masks                CondMask = LoopMask = RetMask = true
5copy_constant                  $0 = 0
6copy_uniform                   $1 = unknownInput
7cmplt_float                    $0 = lessThan($0, $1)
8copy_slot_unmasked             _0_expr = $0
9splat_2_constants              _1_ok, _2_bad = 0
10store_condition_mask           $0 = CondMask
11copy_slot_unmasked             $1 = _0_expr
12merge_condition_mask           CondMask = $0 & $1
13copy_slot_unmasked             $2 = _1_ok
14add_imm_int                    $2 += 0x00000001
15copy_slot_masked               _1_ok = Mask($2)
16merge_inv_condition_mask       CondMask = $0 & ~$1
17copy_slot_unmasked             $2 = _2_bad
18add_imm_int                    $2 += 0x00000001
19copy_slot_masked               _2_bad = Mask($2)
20load_condition_mask            CondMask = $0
21add_imm_int                    _1_ok += 0x00000001
22store_condition_mask           $0 = CondMask
23copy_slot_unmasked             $1 = _0_expr
24bitwise_xor_imm_int            $1 ^= 0xFFFFFFFF
25merge_condition_mask           CondMask = $0 & $1
26copy_slot_unmasked             $2 = _2_bad
27add_imm_int                    $2 += 0x00000001
28copy_slot_masked               _2_bad = Mask($2)
29merge_inv_condition_mask       CondMask = $0 & ~$1
30copy_slot_unmasked             $2 = _1_ok
31add_imm_int                    $2 += 0x00000001
32copy_slot_masked               _1_ok = Mask($2)
33load_condition_mask            CondMask = $0
34copy_slot_unmasked             $1 = _0_expr
35merge_condition_mask           CondMask = $0 & $1
36copy_slot_unmasked             $2 = _1_ok
37add_imm_int                    $2 += 0x00000001
38copy_slot_masked               _1_ok = Mask($2)
39merge_inv_condition_mask       CondMask = $0 & ~$1
40copy_slot_unmasked             $2 = _2_bad
41add_imm_int                    $2 += 0x00000001
42copy_slot_masked               _2_bad = Mask($2)
43load_condition_mask            CondMask = $0
44add_imm_int                    _1_ok += 0x00000001
45store_condition_mask           $0 = CondMask
46copy_slot_unmasked             $1 = _0_expr
47merge_condition_mask           CondMask = $0 & $1
48copy_slot_unmasked             $2 = _1_ok
49add_imm_int                    $2 += 0x00000001
50copy_slot_masked               _1_ok = Mask($2)
51merge_inv_condition_mask       CondMask = $0 & ~$1
52copy_slot_unmasked             $2 = _2_bad
53add_imm_int                    $2 += 0x00000001
54copy_slot_masked               _2_bad = Mask($2)
55load_condition_mask            CondMask = $0
56copy_slot_unmasked             $1 = _0_expr
57merge_condition_mask           CondMask = $0 & $1
58copy_slot_unmasked             $2 = _1_ok
59add_imm_int                    $2 += 0x00000001
60copy_slot_masked               _1_ok = Mask($2)
61merge_inv_condition_mask       CondMask = $0 & ~$1
62copy_slot_unmasked             $2 = _2_bad
63add_imm_int                    $2 += 0x00000001
64copy_slot_masked               _2_bad = Mask($2)
65load_condition_mask            CondMask = $0
66copy_slot_unmasked             $1 = _0_expr
67cmpeq_imm_int                  $1 = equal($1, 0)
68merge_condition_mask           CondMask = $0 & $1
69copy_slot_unmasked             $2 = _2_bad
70add_imm_int                    $2 += 0x00000001
71copy_slot_masked               _2_bad = Mask($2)
72merge_inv_condition_mask       CondMask = $0 & ~$1
73copy_slot_unmasked             $2 = _1_ok
74add_imm_int                    $2 += 0x00000001
75copy_slot_masked               _1_ok = Mask($2)
76load_condition_mask            CondMask = $0
77copy_slot_unmasked             $1 = _0_expr
78cmpne_imm_int                  $1 = notEqual($1, 0xFFFFFFFF)
79merge_condition_mask           CondMask = $0 & $1
80copy_slot_unmasked             $2 = _2_bad
81add_imm_int                    $2 += 0x00000001
82copy_slot_masked               _2_bad = Mask($2)
83merge_inv_condition_mask       CondMask = $0 & ~$1
84copy_slot_unmasked             $2 = _1_ok
85add_imm_int                    $2 += 0x00000001
86copy_slot_masked               _1_ok = Mask($2)
87load_condition_mask            CondMask = $0
88copy_slot_unmasked             $1 = _0_expr
89merge_condition_mask           CondMask = $0 & $1
90copy_slot_unmasked             $2 = _1_ok
91add_imm_int                    $2 += 0x00000001
92copy_slot_masked               _1_ok = Mask($2)
93merge_inv_condition_mask       CondMask = $0 & ~$1
94copy_slot_unmasked             $2 = _2_bad
95add_imm_int                    $2 += 0x00000001
96copy_slot_masked               _2_bad = Mask($2)
97load_condition_mask            CondMask = $0
98copy_slot_unmasked             $1 = _0_expr
99merge_condition_mask           CondMask = $0 & $1
100copy_slot_unmasked             $2 = _1_ok
101add_imm_int                    $2 += 0x00000001
102copy_slot_masked               _1_ok = Mask($2)
103merge_inv_condition_mask       CondMask = $0 & ~$1
104copy_slot_unmasked             $2 = _2_bad
105add_imm_int                    $2 += 0x00000001
106copy_slot_masked               _2_bad = Mask($2)
107load_condition_mask            CondMask = $0
108add_imm_int                    _1_ok += 0x00000001
109store_condition_mask           $0 = CondMask
110copy_slot_unmasked             $1 = _0_expr
111bitwise_xor_imm_int            $1 ^= 0xFFFFFFFF
112merge_condition_mask           CondMask = $0 & $1
113copy_slot_unmasked             $2 = _2_bad
114add_imm_int                    $2 += 0x00000001
115copy_slot_masked               _2_bad = Mask($2)
116merge_inv_condition_mask       CondMask = $0 & ~$1
117copy_slot_unmasked             $2 = _1_ok
118add_imm_int                    $2 += 0x00000001
119copy_slot_masked               _1_ok = Mask($2)
120load_condition_mask            CondMask = $0
121copy_slot_unmasked             $1 = _0_expr
122merge_condition_mask           CondMask = $0 & $1
123copy_slot_unmasked             $2 = _1_ok
124add_imm_int                    $2 += 0x00000001
125copy_slot_masked               _1_ok = Mask($2)
126merge_inv_condition_mask       CondMask = $0 & ~$1
127copy_slot_unmasked             $2 = _2_bad
128add_imm_int                    $2 += 0x00000001
129copy_slot_masked               _2_bad = Mask($2)
130load_condition_mask            CondMask = $0
131add_imm_int                    _1_ok += 0x00000001
132store_condition_mask           $0 = CondMask
133copy_slot_unmasked             $1 = _0_expr
134merge_condition_mask           CondMask = $0 & $1
135copy_slot_unmasked             $2 = _1_ok
136add_imm_int                    $2 += 0x00000001
137copy_slot_masked               _1_ok = Mask($2)
138merge_inv_condition_mask       CondMask = $0 & ~$1
139copy_slot_unmasked             $2 = _2_bad
140add_imm_int                    $2 += 0x00000001
141copy_slot_masked               _2_bad = Mask($2)
142load_condition_mask            CondMask = $0
143copy_slot_unmasked             $1 = _0_expr
144merge_condition_mask           CondMask = $0 & $1
145copy_slot_unmasked             $2 = _1_ok
146add_imm_int                    $2 += 0x00000001
147copy_slot_masked               _1_ok = Mask($2)
148merge_inv_condition_mask       CondMask = $0 & ~$1
149copy_slot_unmasked             $2 = _2_bad
150add_imm_int                    $2 += 0x00000001
151copy_slot_masked               _2_bad = Mask($2)
152load_condition_mask            CondMask = $0
153copy_slot_unmasked             $1 = _0_expr
154cmpeq_imm_int                  $1 = equal($1, 0)
155merge_condition_mask           CondMask = $0 & $1
156copy_slot_unmasked             $2 = _2_bad
157add_imm_int                    $2 += 0x00000001
158copy_slot_masked               _2_bad = Mask($2)
159merge_inv_condition_mask       CondMask = $0 & ~$1
160copy_slot_unmasked             $2 = _1_ok
161add_imm_int                    $2 += 0x00000001
162copy_slot_masked               _1_ok = Mask($2)
163load_condition_mask            CondMask = $0
164copy_slot_unmasked             $1 = _0_expr
165cmpne_imm_int                  $1 = notEqual($1, 0xFFFFFFFF)
166merge_condition_mask           CondMask = $0 & $1
167copy_slot_unmasked             $2 = _2_bad
168add_imm_int                    $2 += 0x00000001
169copy_slot_masked               _2_bad = Mask($2)
170merge_inv_condition_mask       CondMask = $0 & ~$1
171copy_slot_unmasked             $2 = _1_ok
172add_imm_int                    $2 += 0x00000001
173copy_slot_masked               _1_ok = Mask($2)
174load_condition_mask            CondMask = $0
175copy_slot_unmasked             $1 = _0_expr
176merge_condition_mask           CondMask = $0 & $1
177copy_slot_unmasked             $2 = _1_ok
178add_imm_int                    $2 += 0x00000001
179copy_slot_masked               _1_ok = Mask($2)
180merge_inv_condition_mask       CondMask = $0 & ~$1
181copy_slot_unmasked             $2 = _2_bad
182add_imm_int                    $2 += 0x00000001
183copy_slot_masked               _2_bad = Mask($2)
184load_condition_mask            CondMask = $0
185copy_uniform                   $0 = unknownInput
186add_imm_float                  $0 += 0x40000000 (2.0)
187copy_slot_unmasked             _3_a = $0
188copy_uniform                   $0 = unknownInput
189mul_imm_float                  $0 *= 0x40000000 (2.0)
190copy_slot_unmasked             _4_b = $0
191store_condition_mask           $0 = CondMask
192copy_2_slots_unmasked          $1..2 = _3_a, _4_b
193cmpeq_float                    $1 = equal($1, $2)
194merge_condition_mask           CondMask = $0 & $1
195copy_slot_unmasked             $2 = _2_bad
196add_imm_int                    $2 += 0x00000001
197copy_slot_masked               _2_bad = Mask($2)
198merge_inv_condition_mask       CondMask = $0 & ~$1
199copy_slot_unmasked             $2 = _1_ok
200add_imm_int                    $2 += 0x00000001
201copy_slot_masked               _1_ok = Mask($2)
202load_condition_mask            CondMask = $0
203copy_slot_unmasked             $0 = _4_b
204copy_slot_unmasked             _3_a = $0
205cmpne_imm_float                $0 = notEqual($0, 0)
206copy_constant                  $1 = 0xFFFFFFFF
207bitwise_or_int                 $0 |= $1
208store_condition_mask           $0 = CondMask
209copy_2_slots_unmasked          $1..2 = _3_a, _4_b
210cmpeq_float                    $1 = equal($1, $2)
211merge_condition_mask           CondMask = $0 & $1
212copy_slot_unmasked             $2 = _1_ok
213add_imm_int                    $2 += 0x00000001
214copy_slot_masked               _1_ok = Mask($2)
215merge_inv_condition_mask       CondMask = $0 & ~$1
216copy_slot_unmasked             $2 = _2_bad
217add_imm_int                    $2 += 0x00000001
218copy_slot_masked               _2_bad = Mask($2)
219load_condition_mask            CondMask = $0
220copy_slot_unmasked             $0 = _1_ok
221cmpeq_imm_int                  $0 = equal($0, 0x00000016)
222copy_slot_unmasked             $1 = _2_bad
223cmpeq_imm_int                  $1 = equal($1, 0)
224bitwise_and_int                $0 &= $1
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