xref: /aosp_15_r20/external/skia/tests/sksl/folding/FloatFolding.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1184 instructions
2
3store_src_rg                   coords = src.rg
4init_lane_masks                CondMask = LoopMask = RetMask = true
5copy_uniform                   _0_unknown = unknownInput
6copy_constant                  _1_ok = 0xFFFFFFFF
7copy_constant                  _2_x = 0x42080000 (34.0)
8copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
9cmpeq_imm_float                $1 = equal($1, 0x42080000 (34.0))
10bitwise_and_int                $0 &= $1
11copy_slot_unmasked             _1_ok = $0
12copy_constant                  _2_x = 0x41F00000 (30.0)
13copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
14cmpeq_imm_float                $1 = equal($1, 0x41F00000 (30.0))
15bitwise_and_int                $0 &= $1
16copy_slot_unmasked             _1_ok = $0
17copy_constant                  _2_x = 0x42800000 (64.0)
18copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
19cmpeq_imm_float                $1 = equal($1, 0x42800000 (64.0))
20bitwise_and_int                $0 &= $1
21copy_slot_unmasked             _1_ok = $0
22copy_constant                  _2_x = 0x41800000 (16.0)
23copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
24cmpeq_imm_float                $1 = equal($1, 0x41800000 (16.0))
25bitwise_and_int                $0 &= $1
26copy_slot_unmasked             _1_ok = $0
27copy_constant                  _2_x = 0x41980000 (19.0)
28copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
29cmpeq_imm_float                $1 = equal($1, 0x41980000 (19.0))
30bitwise_and_int                $0 &= $1
31copy_slot_unmasked             _1_ok = $0
32copy_constant                  _2_x = 0x3F800000 (1.0)
33copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
34cmpeq_imm_float                $1 = equal($1, 0x3F800000 (1.0))
35bitwise_and_int                $0 &= $1
36copy_slot_unmasked             _1_ok = $0
37copy_constant                  _2_x = 0xC0000000 (-2.0)
38copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
39cmpeq_imm_float                $1 = equal($1, 0xC0000000 (-2.0))
40bitwise_and_int                $0 &= $1
41copy_slot_unmasked             _1_ok = $0
42copy_constant                  _2_x = 0x40400000 (3.0)
43copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
44cmpeq_imm_float                $1 = equal($1, 0x40400000 (3.0))
45bitwise_and_int                $0 &= $1
46copy_slot_unmasked             _1_ok = $0
47copy_constant                  _2_x = 0xC0800000 (-4.0)
48copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
49cmpeq_imm_float                $1 = equal($1, 0xC0800000 (-4.0))
50bitwise_and_int                $0 &= $1
51copy_slot_unmasked             _1_ok = $0
52copy_constant                  _2_x = 0x40A00000 (5.0)
53copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
54cmpeq_imm_float                $1 = equal($1, 0x40A00000 (5.0))
55bitwise_and_int                $0 &= $1
56copy_slot_unmasked             _1_ok = $0
57copy_constant                  _2_x = 0xC0C00000 (-6.0)
58copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
59cmpeq_imm_float                $1 = equal($1, 0xC0C00000 (-6.0))
60bitwise_and_int                $0 &= $1
61copy_slot_unmasked             _1_ok = $0
62copy_constant                  _2_x = 0x40E00000 (7.0)
63copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
64cmpeq_imm_float                $1 = equal($1, 0x40E00000 (7.0))
65bitwise_and_int                $0 &= $1
66copy_slot_unmasked             _1_ok = $0
67copy_constant                  _2_x = 0xC1000000 (-8.0)
68copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
69cmpeq_imm_float                $1 = equal($1, 0xC1000000 (-8.0))
70bitwise_and_int                $0 &= $1
71copy_slot_unmasked             _1_ok = $0
72copy_constant                  _2_x = 0x41100000 (9.0)
73copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
74cmpeq_imm_float                $1 = equal($1, 0x41100000 (9.0))
75bitwise_and_int                $0 &= $1
76copy_slot_unmasked             _1_ok = $0
77copy_constant                  _2_x = 0xC1200000 (-10.0)
78copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
79cmpeq_imm_float                $1 = equal($1, 0xC1200000 (-10.0))
80bitwise_and_int                $0 &= $1
81copy_slot_unmasked             _1_ok = $0
82copy_constant                  _2_x = 0x41300000 (11.0)
83copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
84cmpeq_imm_float                $1 = equal($1, 0x41300000 (11.0))
85bitwise_and_int                $0 &= $1
86copy_slot_unmasked             _1_ok = $0
87copy_constant                  _2_x = 0xC1400000 (-12.0)
88copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
89cmpeq_imm_float                $1 = equal($1, 0xC1400000 (-12.0))
90bitwise_and_int                $0 &= $1
91copy_slot_unmasked             _1_ok = $0
92copy_slot_unmasked             _2_x = _0_unknown
93copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
94copy_slot_unmasked             $2 = _0_unknown
95cmpeq_float                    $1 = equal($1, $2)
96bitwise_and_int                $0 &= $1
97copy_slot_unmasked             _1_ok = $0
98copy_slot_unmasked             _2_x = _0_unknown
99copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
100copy_slot_unmasked             $2 = _0_unknown
101cmpeq_float                    $1 = equal($1, $2)
102bitwise_and_int                $0 &= $1
103copy_slot_unmasked             _1_ok = $0
104copy_slot_unmasked             _2_x = _0_unknown
105copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
106copy_slot_unmasked             $2 = _0_unknown
107cmpeq_float                    $1 = equal($1, $2)
108bitwise_and_int                $0 &= $1
109copy_slot_unmasked             _1_ok = $0
110copy_constant                  _2_x = 0
111copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
112cmpeq_imm_float                $1 = equal($1, 0)
113bitwise_and_int                $0 &= $1
114copy_slot_unmasked             _1_ok = $0
115copy_slot_unmasked             _2_x = _0_unknown
116copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
117copy_slot_unmasked             $2 = _0_unknown
118cmpeq_float                    $1 = equal($1, $2)
119bitwise_and_int                $0 &= $1
120copy_slot_unmasked             _1_ok = $0
121copy_slot_unmasked             _2_x = _0_unknown
122copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
123copy_slot_unmasked             $2 = _0_unknown
124cmpeq_float                    $1 = equal($1, $2)
125bitwise_and_int                $0 &= $1
126copy_slot_unmasked             _1_ok = $0
127copy_constant                  _2_x = 0
128copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
129cmpeq_imm_float                $1 = equal($1, 0)
130bitwise_and_int                $0 &= $1
131copy_slot_unmasked             _1_ok = $0
132copy_slot_unmasked             _2_x = _0_unknown
133copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
134copy_slot_unmasked             $2 = _0_unknown
135cmpeq_float                    $1 = equal($1, $2)
136bitwise_and_int                $0 &= $1
137copy_slot_unmasked             _1_ok = $0
138copy_constant                  $0 = 0
139copy_slot_unmasked             $1 = _0_unknown
140div_float                      $0 /= $1
141copy_slot_unmasked             _2_x = $0
142copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
143cmpeq_imm_float                $1 = equal($1, 0)
144bitwise_and_int                $0 &= $1
145copy_slot_unmasked             _1_ok = $0
146add_imm_float                  _2_x += 0x3F800000 (1.0)
147copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
148cmpeq_imm_float                $1 = equal($1, 0x3F800000 (1.0))
149bitwise_and_int                $0 &= $1
150copy_slot_unmasked             _1_ok = $0
151copy_slot_unmasked             $1 = _2_x
152cmpeq_imm_float                $1 = equal($1, 0x3F800000 (1.0))
153bitwise_and_int                $0 &= $1
154copy_slot_unmasked             _1_ok = $0
155add_imm_float                  _2_x += 0xC0000000 (-2.0)
156copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
157cmpeq_imm_float                $1 = equal($1, 0xBF800000 (-1.0))
158bitwise_and_int                $0 &= $1
159copy_slot_unmasked             _1_ok = $0
160copy_slot_unmasked             $1 = _2_x
161cmpeq_imm_float                $1 = equal($1, 0xBF800000 (-1.0))
162bitwise_and_int                $0 &= $1
163copy_slot_unmasked             _1_ok = $0
164copy_slot_unmasked             $1 = _2_x
165cmpeq_imm_float                $1 = equal($1, 0xBF800000 (-1.0))
166bitwise_and_int                $0 &= $1
167copy_slot_unmasked             _1_ok = $0
168mul_imm_float                  _2_x *= 0x40000000 (2.0)
169copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
170cmpeq_imm_float                $1 = equal($1, 0xC0000000 (-2.0))
171bitwise_and_int                $0 &= $1
172copy_slot_unmasked             _1_ok = $0
173copy_slot_unmasked             $1 = _2_x
174cmpeq_imm_float                $1 = equal($1, 0xC0000000 (-2.0))
175bitwise_and_int                $0 &= $1
176copy_slot_unmasked             _1_ok = $0
177mul_imm_float                  _2_x *= 0x3F000000 (0.5)
178copy_2_slots_unmasked          $0..1 = _1_ok, _2_x
179cmpeq_imm_float                $1 = equal($1, 0xBF800000 (-1.0))
180bitwise_and_int                $0 &= $1
181copy_slot_unmasked             _1_ok = $0
182swizzle_4                      $0..3 = ($0..3).xxxx
183copy_4_uniforms                $4..7 = colorRed
184copy_4_uniforms                $8..11 = colorGreen
185mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
186load_src                       src.rgba = $0..3
187