xref: /aosp_15_r20/external/skia/tests/sksl/shared/IntegerDivisionES3.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
170 instructions
2
3store_src_rg                   coords = src.rg
4init_lane_masks                CondMask = LoopMask = RetMask = true
5copy_uniform                   $0 = colorGreen(0)
6cast_to_int_from_float         $0 = FloatToInt($0)
7copy_slot_unmasked             zero = $0
8copy_uniform                   $0 = colorGreen(1)
9cast_to_int_from_float         $0 = FloatToInt($0)
10copy_slot_unmasked             one = $0
11copy_slot_unmasked             x = zero
12store_loop_mask                $0 = LoopMask
13jump                           jump +57 (label 1 at #68)
14label                          label 0x00000002
15copy_slot_unmasked             y = one
16store_loop_mask                $1 = LoopMask
17jump                           jump +42 (label 4 at #57)
18label                          label 0x00000005
19copy_slot_unmasked             _0_x = x
20copy_constant                  _1_result = 0
21store_loop_mask                $2 = LoopMask
22jump                           jump +9 (label 7 at #29)
23label                          label 0x00000008
24copy_slot_unmasked             $3 = _1_result
25add_imm_int                    $3 += 0x00000001
26copy_slot_masked               _1_result = Mask($3)
27copy_slot_unmasked             $3 = _0_x
28copy_slot_unmasked             $4 = y
29sub_int                        $3 -= $4
30copy_slot_masked               _0_x = Mask($3)
31label                          label 0x00000007
32copy_2_slots_unmasked          $3..4 = y, _0_x
33cmple_int                      $3 = lessThanEqual($3, $4)
34merge_loop_mask                LoopMask &= $3
35stack_rewind
36branch_if_any_lanes_active     branch_if_any_lanes_active -13 (label 8 at #21)
37label                          label 0x00000006
38load_loop_mask                 LoopMask = $2
39store_condition_mask           $2 = CondMask
40copy_2_slots_unmasked          $3..4 = x, y
41div_int                        $3 /= $4
42copy_slot_unmasked             $4 = _1_result
43cmpne_int                      $3 = notEqual($3, $4)
44merge_condition_mask           CondMask = $2 & $3
45copy_constant                  $4 = 0x3F800000 (1.0)
46copy_slot_unmasked             $5 = x
47cast_to_float_from_int         $5 = IntToFloat($5)
48mul_imm_float                  $5 *= 0x3B808081 (0.003921569)
49copy_slot_unmasked             $6 = y
50cast_to_float_from_int         $6 = IntToFloat($6)
51mul_imm_float                  $6 *= 0x3B808081 (0.003921569)
52copy_constant                  $7 = 0x3F800000 (1.0)
53copy_4_slots_masked            [main].result = Mask($4..7)
54mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
55load_condition_mask            CondMask = $2
56copy_slot_unmasked             $2 = y
57add_imm_int                    $2 += 0x00000001
58copy_slot_masked               y = Mask($2)
59label                          label 0x00000004
60copy_slot_unmasked             $2 = y
61cmplt_imm_int                  $2 = lessThan($2, 0x00000064)
62merge_loop_mask                LoopMask &= $2
63stack_rewind
64branch_if_any_lanes_active     branch_if_any_lanes_active -46 (label 5 at #16)
65label                          label 0x00000003
66load_loop_mask                 LoopMask = $1
67copy_slot_unmasked             $1 = x
68add_imm_int                    $1 += 0x00000001
69copy_slot_masked               x = Mask($1)
70label                          label 0x00000001
71copy_slot_unmasked             $1 = x
72cmplt_imm_int                  $1 = lessThan($1, 0x00000064)
73merge_loop_mask                LoopMask &= $1
74stack_rewind
75branch_if_any_lanes_active     branch_if_any_lanes_active -61 (label 2 at #12)
76label                          label 0
77load_loop_mask                 LoopMask = $0
78copy_4_uniforms                $0..3 = colorGreen
79copy_4_slots_masked            [main].result = Mask($0..3)
80mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
81load_src                       src.rgba = [main].result
82