xref: /aosp_15_r20/external/skia/tests/sksl/shared/UnaryPositiveNegative.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1203 instructions
2
3[immutable slots]
4i0 = 0xBF800000 (-1.0)
5i1 = 0xC0000000 (-2.0)
6i2 = 0xC0400000 (-3.0)
7i3 = 0xC0800000 (-4.0)
8i4 = 0xBF800000 (-1.0)
9i5 = 0xC0000000 (-2.0)
10i6 = 0xC0400000 (-3.0)
11i7 = 0xC0800000 (-4.0)
12i8 = 0xC0A00000 (-5.0)
13i9 = 0xC0C00000 (-6.0)
14i10 = 0xC0E00000 (-7.0)
15i11 = 0xC1000000 (-8.0)
16i12 = 0xC1100000 (-9.0)
17i13 = 0xBF800000 (-1.0)
18i14 = 0xC0000000 (-2.0)
19i15 = 0xC0400000 (-3.0)
20i16 = 0xC0800000 (-4.0)
21i17 = 0xC0A00000 (-5.0)
22i18 = 0xC0C00000 (-6.0)
23i19 = 0xC0E00000 (-7.0)
24i20 = 0xC1000000 (-8.0)
25i21 = 0xC1100000 (-9.0)
26i22 = 0xC1200000 (-10.0)
27i23 = 0xC1300000 (-11.0)
28i24 = 0xC1400000 (-12.0)
29i25 = 0xC1500000 (-13.0)
30i26 = 0xC1600000 (-14.0)
31i27 = 0xC1700000 (-15.0)
32i28 = 0xC1800000 (-16.0)
33
34store_src_rg                   coords = src.rg
35init_lane_masks                CondMask = LoopMask = RetMask = true
36copy_uniform                   _0_x = colorWhite(0)
37bitwise_xor_imm_int            _0_x ^= 0x80000000
38store_condition_mask           $33 = CondMask
39store_condition_mask           $53 = CondMask
40store_condition_mask           $63 = CondMask
41store_condition_mask           $97 = CondMask
42store_condition_mask           $117 = CondMask
43store_condition_mask           $127 = CondMask
44store_condition_mask           $131 = CondMask
45store_condition_mask           $135 = CondMask
46store_condition_mask           $138 = CondMask
47copy_slot_unmasked             $139 = _0_x
48cmpeq_imm_float                $139 = equal($139, 0xBF800000 (-1.0))
49copy_constant                  $136 = 0
50merge_condition_mask           CondMask = $138 & $139
51branch_if_no_lanes_active      branch_if_no_lanes_active +9 (label 9 at #27)
52copy_uniform                   $137 = colorWhite(0)
53cast_to_int_from_float         $137 = FloatToInt($137)
54copy_slot_unmasked             x = $137
55mul_imm_int                    $137 *= 0xFFFFFFFF
56copy_slot_masked               x = Mask($137)
57cmpeq_imm_int                  $137 = equal($137, 0xFFFFFFFF)
58label                          label 0x0000000A
59copy_slot_masked               $136 = Mask($137)
60label                          label 0x00000009
61load_condition_mask            CondMask = $138
62copy_constant                  $132 = 0
63merge_condition_mask           CondMask = $135 & $136
64branch_if_no_lanes_active      branch_if_no_lanes_active +11 (label 8 at #42)
65copy_2_uniforms                x₁ = colorWhite(0..1)
66copy_2_slots_unmasked          $133..134 = x₁
67bitwise_xor_imm_int            $133 ^= 0x80000000
68bitwise_xor_imm_int            $134 ^= 0x80000000
69copy_2_slots_masked            x₁ = Mask($133..134)
70cmpeq_imm_float                $133 = equal($133, 0xBF800000 (-1.0))
71cmpeq_imm_float                $134 = equal($134, 0xBF800000 (-1.0))
72bitwise_and_int                $133 &= $134
73label                          label 0x0000000B
74copy_slot_masked               $132 = Mask($133)
75label                          label 0x00000008
76load_condition_mask            CondMask = $135
77copy_constant                  $128 = 0
78merge_condition_mask           CondMask = $131 & $132
79branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 7 at #59)
80copy_uniform                   $129 = colorWhite(0)
81cast_to_int_from_float         $129 = FloatToInt($129)
82copy_slot_unmasked             $130 = $129
83copy_2_slots_unmasked          x₂ = $129..130
84mul_imm_int                    $129 *= 0xFFFFFFFF
85mul_imm_int                    $130 *= 0xFFFFFFFF
86copy_2_slots_masked            x₂ = Mask($129..130)
87cmpeq_imm_int                  $129 = equal($129, 0xFFFFFFFF)
88cmpeq_imm_int                  $130 = equal($130, 0xFFFFFFFF)
89bitwise_and_int                $129 &= $130
90label                          label 0x0000000C
91copy_slot_masked               $128 = Mask($129)
92label                          label 0x00000007
93load_condition_mask            CondMask = $131
94copy_constant                  $118 = 0
95merge_condition_mask           CondMask = $127 & $128
96branch_if_no_lanes_active      branch_if_no_lanes_active +12 (label 6 at #75)
97copy_4_uniforms                x₃ = testMatrix2x2
98copy_4_slots_unmasked          $119..122 = x₃
99splat_4_constants              $123..126 = 0x80000000 (-0.0)
100bitwise_xor_4_ints             $119..122 ^= $123..126
101copy_4_slots_masked            x₃ = Mask($119..122)
102copy_4_immutables_unmasked     $123..126 = i0..3 [0xBF800000 (-1.0), 0xC0000000 (-2.0), 0xC0400000 (-3.0), 0xC0800000 (-4.0)]
103cmpeq_4_floats                 $119..122 = equal($119..122, $123..126)
104bitwise_and_2_ints             $119..120 &= $121..122
105bitwise_and_int                $119 &= $120
106label                          label 0x0000000D
107copy_slot_masked               $118 = Mask($119)
108label                          label 0x00000006
109load_condition_mask            CondMask = $127
110copy_constant                  $98 = 0
111merge_condition_mask           CondMask = $117 & $118
112branch_if_no_lanes_active      branch_if_no_lanes_active +24 (label 5 at #103)
113copy_4_uniforms                x₄(0..3) = testMatrix3x3(0..3)
114copy_4_uniforms                x₄(4..7) = testMatrix3x3(4..7)
115copy_uniform                   x₄(8) = testMatrix3x3(8)
116copy_4_slots_unmasked          $99..102 = x₄(0..3)
117copy_4_slots_unmasked          $103..106 = x₄(4..7)
118copy_slot_unmasked             $107 = x₄(8)
119splat_4_constants              $108..111 = 0x80000000 (-0.0)
120splat_4_constants              $112..115 = 0x80000000 (-0.0)
121copy_constant                  $116 = 0x80000000 (-0.0)
122bitwise_xor_n_ints             $99..107 ^= $108..116
123copy_4_slots_masked            x₄(0..3) = Mask($99..102)
124copy_4_slots_masked            x₄(4..7) = Mask($103..106)
125copy_slot_masked               x₄(8) = Mask($107)
126copy_4_immutables_unmasked     $108..111 = i4..7 [0xBF800000 (-1.0), 0xC0000000 (-2.0), 0xC0400000 (-3.0), 0xC0800000 (-4.0)]
127copy_4_immutables_unmasked     $112..115 = i8..11 [0xC0A00000 (-5.0), 0xC0C00000 (-6.0), 0xC0E00000 (-7.0), 0xC1000000 (-8.0)]
128copy_constant                  $116 = 0xC1100000 (-9.0)
129cmpeq_n_floats                 $99..107 = equal($99..107, $108..116)
130bitwise_and_4_ints             $100..103 &= $104..107
131bitwise_and_2_ints             $100..101 &= $102..103
132bitwise_and_int                $100 &= $101
133bitwise_and_int                $99 &= $100
134label                          label 0x0000000E
135copy_slot_masked               $98 = Mask($99)
136label                          label 0x00000005
137load_condition_mask            CondMask = $117
138copy_constant                  $64 = 0
139merge_condition_mask           CondMask = $97 & $98
140branch_if_no_lanes_active      branch_if_no_lanes_active +30 (label 4 at #137)
141copy_4_uniforms                x₅(0..3) = testMatrix4x4(0..3)
142copy_4_uniforms                x₅(4..7) = testMatrix4x4(4..7)
143copy_4_uniforms                x₅(8..11) = testMatrix4x4(8..11)
144copy_4_uniforms                x₅(12..15) = testMatrix4x4(12..15)
145copy_4_slots_unmasked          $65..68 = x₅(0..3)
146copy_4_slots_unmasked          $69..72 = x₅(4..7)
147copy_4_slots_unmasked          $73..76 = x₅(8..11)
148copy_4_slots_unmasked          $77..80 = x₅(12..15)
149splat_4_constants              $81..84 = 0x80000000 (-0.0)
150splat_4_constants              $85..88 = 0x80000000 (-0.0)
151splat_4_constants              $89..92 = 0x80000000 (-0.0)
152splat_4_constants              $93..96 = 0x80000000 (-0.0)
153bitwise_xor_n_ints             $65..80 ^= $81..96
154copy_4_slots_masked            x₅(0..3) = Mask($65..68)
155copy_4_slots_masked            x₅(4..7) = Mask($69..72)
156copy_4_slots_masked            x₅(8..11) = Mask($73..76)
157copy_4_slots_masked            x₅(12..15) = Mask($77..80)
158copy_4_immutables_unmasked     $81..84 = i13..16 [0xBF800000 (-1.0), 0xC0000000 (-2.0), 0xC0400000 (-3.0), 0xC0800000 (-4.0)]
159copy_4_immutables_unmasked     $85..88 = i17..20 [0xC0A00000 (-5.0), 0xC0C00000 (-6.0), 0xC0E00000 (-7.0), 0xC1000000 (-8.0)]
160copy_4_immutables_unmasked     $89..92 = i21..24 [0xC1100000 (-9.0), 0xC1200000 (-10.0), 0xC1300000 (-11.0), 0xC1400000 (-12.0)]
161copy_4_immutables_unmasked     $93..96 = i25..28 [0xC1500000 (-13.0), 0xC1600000 (-14.0), 0xC1700000 (-15.0), 0xC1800000 (-16.0)]
162cmpeq_n_floats                 $65..80 = equal($65..80, $81..96)
163bitwise_and_4_ints             $73..76 &= $77..80
164bitwise_and_4_ints             $69..72 &= $73..76
165bitwise_and_4_ints             $65..68 &= $69..72
166bitwise_and_2_ints             $65..66 &= $67..68
167bitwise_and_int                $65 &= $66
168label                          label 0x0000000F
169copy_slot_masked               $64 = Mask($65)
170label                          label 0x00000004
171load_condition_mask            CondMask = $97
172copy_constant                  $54 = 0
173merge_condition_mask           CondMask = $63 & $64
174branch_if_no_lanes_active      branch_if_no_lanes_active +12 (label 3 at #153)
175copy_4_uniforms                x₆ = testMatrix2x2
176copy_4_slots_unmasked          $55..58 = x₆
177splat_4_constants              $59..62 = 0x80000000 (-0.0)
178bitwise_xor_4_ints             $55..58 ^= $59..62
179copy_4_slots_masked            x₆ = Mask($55..58)
180copy_4_immutables_unmasked     $59..62 = i4..7 [0xBF800000 (-1.0), 0xC0000000 (-2.0), 0xC0400000 (-3.0), 0xC0800000 (-4.0)]
181cmpeq_4_floats                 $55..58 = equal($55..58, $59..62)
182bitwise_and_2_ints             $55..56 &= $57..58
183bitwise_and_int                $55 &= $56
184label                          label 0x00000010
185copy_slot_masked               $54 = Mask($55)
186label                          label 0x00000003
187load_condition_mask            CondMask = $63
188copy_constant                  $34 = 0
189merge_condition_mask           CondMask = $53 & $54
190branch_if_no_lanes_active      branch_if_no_lanes_active +24 (label 2 at #181)
191copy_4_uniforms                x₇(0..3) = testMatrix3x3(0..3)
192copy_4_uniforms                x₇(4..7) = testMatrix3x3(4..7)
193copy_uniform                   x₇(8) = testMatrix3x3(8)
194copy_4_slots_unmasked          $35..38 = x₇(0..3)
195copy_4_slots_unmasked          $39..42 = x₇(4..7)
196copy_slot_unmasked             $43 = x₇(8)
197splat_4_constants              $44..47 = 0x80000000 (-0.0)
198splat_4_constants              $48..51 = 0x80000000 (-0.0)
199copy_constant                  $52 = 0x80000000 (-0.0)
200bitwise_xor_n_ints             $35..43 ^= $44..52
201copy_4_slots_masked            x₇(0..3) = Mask($35..38)
202copy_4_slots_masked            x₇(4..7) = Mask($39..42)
203copy_slot_masked               x₇(8) = Mask($43)
204copy_4_immutables_unmasked     $44..47 = i13..16 [0xBF800000 (-1.0), 0xC0000000 (-2.0), 0xC0400000 (-3.0), 0xC0800000 (-4.0)]
205copy_4_immutables_unmasked     $48..51 = i17..20 [0xC0A00000 (-5.0), 0xC0C00000 (-6.0), 0xC0E00000 (-7.0), 0xC1000000 (-8.0)]
206copy_constant                  $52 = 0xC1100000 (-9.0)
207cmpeq_n_floats                 $35..43 = equal($35..43, $44..52)
208bitwise_and_4_ints             $36..39 &= $40..43
209bitwise_and_2_ints             $36..37 &= $38..39
210bitwise_and_int                $36 &= $37
211bitwise_and_int                $35 &= $36
212label                          label 0x00000011
213copy_slot_masked               $34 = Mask($35)
214label                          label 0x00000002
215load_condition_mask            CondMask = $53
216copy_constant                  $0 = 0
217merge_condition_mask           CondMask = $33 & $34
218branch_if_no_lanes_active      branch_if_no_lanes_active +30 (label 1 at #215)
219copy_4_uniforms                x₈(0..3) = testMatrix4x4(0..3)
220copy_4_uniforms                x₈(4..7) = testMatrix4x4(4..7)
221copy_4_uniforms                x₈(8..11) = testMatrix4x4(8..11)
222copy_4_uniforms                x₈(12..15) = testMatrix4x4(12..15)
223copy_4_slots_unmasked          $1..4 = x₈(0..3)
224copy_4_slots_unmasked          $5..8 = x₈(4..7)
225copy_4_slots_unmasked          $9..12 = x₈(8..11)
226copy_4_slots_unmasked          $13..16 = x₈(12..15)
227splat_4_constants              $17..20 = 0x80000000 (-0.0)
228splat_4_constants              $21..24 = 0x80000000 (-0.0)
229splat_4_constants              $25..28 = 0x80000000 (-0.0)
230splat_4_constants              $29..32 = 0x80000000 (-0.0)
231bitwise_xor_n_ints             $1..16 ^= $17..32
232copy_4_slots_masked            x₈(0..3) = Mask($1..4)
233copy_4_slots_masked            x₈(4..7) = Mask($5..8)
234copy_4_slots_masked            x₈(8..11) = Mask($9..12)
235copy_4_slots_masked            x₈(12..15) = Mask($13..16)
236copy_4_immutables_unmasked     $17..20 = i13..16 [0xBF800000 (-1.0), 0xC0000000 (-2.0), 0xC0400000 (-3.0), 0xC0800000 (-4.0)]
237copy_4_immutables_unmasked     $21..24 = i17..20 [0xC0A00000 (-5.0), 0xC0C00000 (-6.0), 0xC0E00000 (-7.0), 0xC1000000 (-8.0)]
238copy_4_immutables_unmasked     $25..28 = i21..24 [0xC1100000 (-9.0), 0xC1200000 (-10.0), 0xC1300000 (-11.0), 0xC1400000 (-12.0)]
239copy_4_immutables_unmasked     $29..32 = i25..28 [0xC1500000 (-13.0), 0xC1600000 (-14.0), 0xC1700000 (-15.0), 0xC1800000 (-16.0)]
240cmpeq_n_floats                 $1..16 = equal($1..16, $17..32)
241bitwise_and_4_ints             $9..12 &= $13..16
242bitwise_and_4_ints             $5..8 &= $9..12
243bitwise_and_4_ints             $1..4 &= $5..8
244bitwise_and_2_ints             $1..2 &= $3..4
245bitwise_and_int                $1 &= $2
246label                          label 0x00000012
247copy_slot_masked               $0 = Mask($1)
248label                          label 0x00000001
249load_condition_mask            CondMask = $33
250swizzle_4                      $0..3 = ($0..3).xxxx
251copy_4_uniforms                $4..7 = colorRed
252copy_4_uniforms                $8..11 = colorGreen
253mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
254load_src                       src.rgba = $0..3
255