xref: /aosp_15_r20/external/skia/tests/sksl/shared/DoWhileControlFlow.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
143 instructions
2
3store_src_rg                   coords = src.rg
4init_lane_masks                CondMask = LoopMask = RetMask = true
5splat_4_constants              x = 0x3F800000 (1.0)
6store_loop_mask                $0 = LoopMask
7label                          label 0x00000001
8copy_slot_unmasked             $1 = x(0)
9add_imm_float                  $1 += 0xBE800000 (-0.25)
10copy_slot_masked               x(0) = Mask($1)
11store_condition_mask           $1 = CondMask
12copy_slot_unmasked             $2 = x(0)
13cmple_imm_float                $2 = lessThanEqual($2, 0)
14merge_condition_mask           CondMask = $1 & $2
15branch_if_all_lanes_active     branch_if_all_lanes_active +8 (label 0 at #21)
16mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
17load_condition_mask            CondMask = $1
18copy_slot_unmasked             $1 = x(3)
19cmpeq_imm_float                $1 = equal($1, 0x3F800000 (1.0))
20merge_loop_mask                LoopMask &= $1
21stack_rewind
22branch_if_any_lanes_active     branch_if_any_lanes_active -15 (label 1 at #5)
23label                          label 0
24load_loop_mask                 LoopMask = $0
25store_loop_mask                $0 = LoopMask
26label                          label 0x00000003
27copy_constant                  $4 = 0
28copy_slot_unmasked             $1 = x(2)
29add_imm_float                  $1 += 0xBE800000 (-0.25)
30copy_slot_masked               x(2) = Mask($1)
31store_condition_mask           $1 = CondMask
32copy_slot_unmasked             $2 = x(3)
33cmpeq_imm_float                $2 = equal($2, 0x3F800000 (1.0))
34merge_condition_mask           CondMask = $1 & $2
35continue_op                    $4 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask)
36load_condition_mask            CondMask = $1
37copy_constant                  $1 = 0
38copy_slot_masked               x(1) = Mask($1)
39reenable_loop_mask             LoopMask |= $4
40copy_constant                  $1 = 0
41copy_slot_unmasked             $2 = x(2)
42cmplt_float                    $1 = lessThan($1, $2)
43merge_loop_mask                LoopMask &= $1
44stack_rewind
45branch_if_any_lanes_active     branch_if_any_lanes_active -19 (label 3 at #24)
46label                          label 0x00000002
47load_loop_mask                 LoopMask = $0
48copy_4_slots_unmasked          $0..3 = x
49load_src                       src.rgba = $0..3
50