xref: /aosp_15_r20/external/skia/tests/sksl/shared/LogicalAndShortCircuit.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1116 instructions
2
3[immutable slots]
4i0 = 0x00000001 (1.401298e-45)
5
6store_src_rg                   v0..1 = src.rg
7init_lane_masks                CondMask = LoopMask = RetMask = true
8copy_constant                  _0_TrueTrue = 0
9copy_constant                  _2_y = 0x00000001 (1.401298e-45)
10store_condition_mask           $0 = CondMask
11copy_slot_unmasked             $1 = _2_y
12add_imm_int                    $1 += 0x00000001
13copy_slot_masked               _2_y = Mask($1)
14cmpeq_imm_int                  $1 = equal($1, 0x00000002)
15merge_condition_mask           CondMask = $0 & $1
16copy_slot_unmasked             $2 = _2_y
17cmpeq_imm_int                  $2 = equal($2, 0x00000002)
18copy_slot_masked               _0_TrueTrue = Mask($2)
19merge_inv_condition_mask       CondMask = $0 & ~$1
20copy_constant                  $2 = 0
21copy_slot_masked               _0_TrueTrue = Mask($2)
22load_condition_mask            CondMask = $0
23store_condition_mask           $12 = CondMask
24store_condition_mask           $18 = CondMask
25store_condition_mask           $24 = CondMask
26copy_slot_unmasked             $25 = _0_TrueTrue
27copy_constant                  $19 = 0
28merge_condition_mask           CondMask = $24 & $25
29branch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 3 at #53)
30copy_constant                  y = 0x00000001 (1.401298e-45)
31store_condition_mask           $20 = CondMask
32store_condition_mask           $26 = CondMask
33copy_constant                  $27 = 0x00000001 (1.401298e-45)
34cmpeq_imm_int                  $27 = equal($27, 0x00000001)
35copy_constant                  $21 = 0
36merge_condition_mask           CondMask = $26 & $27
37branch_if_no_lanes_active      branch_if_no_lanes_active +6 (label 5 at #38)
38copy_slot_unmasked             $22 = y
39add_imm_int                    $22 += 0x00000001
40copy_slot_masked               y = Mask($22)
41cmpeq_imm_int                  $22 = equal($22, 0x00000003)
42copy_slot_masked               $21 = Mask($22)
43label                          label 0x00000005
44merge_condition_mask           CondMask = $20 & $21
45copy_constant                  $22 = 0
46copy_slot_masked               [TrueFalse].result = Mask($22)
47merge_inv_condition_mask       CondMask = $20 & ~$21
48copy_constant                  $22 = 0x00000001 (1.401298e-45)
49cmpeq_imm_int                  $22 = equal($22, 0x00000001)
50copy_slot_unmasked             $23 = y
51cmpeq_imm_int                  $23 = equal($23, 0x00000002)
52bitwise_and_int                $22 &= $23
53copy_slot_masked               [TrueFalse].result = Mask($22)
54load_condition_mask            CondMask = $20
55copy_slot_unmasked             $20 = [TrueFalse].result
56label                          label 0x00000004
57copy_slot_masked               $19 = Mask($20)
58label                          label 0x00000003
59load_condition_mask            CondMask = $24
60copy_constant                  $13 = 0
61merge_condition_mask           CondMask = $18 & $19
62branch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 2 at #86)
63copy_constant                  y₁ = 0x00000001 (1.401298e-45)
64store_condition_mask           $14 = CondMask
65store_condition_mask           $24 = CondMask
66copy_constant                  $25 = 0x00000001 (1.401298e-45)
67cmpeq_imm_int                  $25 = equal($25, 0x00000002)
68copy_constant                  $15 = 0
69merge_condition_mask           CondMask = $24 & $25
70branch_if_no_lanes_active      branch_if_no_lanes_active +6 (label 7 at #71)
71copy_slot_unmasked             $16 = y₁
72add_imm_int                    $16 += 0x00000001
73copy_slot_masked               y₁ = Mask($16)
74cmpeq_imm_int                  $16 = equal($16, 0x00000002)
75copy_slot_masked               $15 = Mask($16)
76label                          label 0x00000007
77merge_condition_mask           CondMask = $14 & $15
78copy_constant                  $16 = 0
79copy_slot_masked               [FalseTrue].result = Mask($16)
80merge_inv_condition_mask       CondMask = $14 & ~$15
81copy_constant                  $16 = 0x00000001 (1.401298e-45)
82cmpeq_imm_int                  $16 = equal($16, 0x00000001)
83copy_slot_unmasked             $17 = y₁
84cmpeq_imm_int                  $17 = equal($17, 0x00000001)
85bitwise_and_int                $16 &= $17
86copy_slot_masked               [FalseTrue].result = Mask($16)
87load_condition_mask            CondMask = $14
88copy_slot_unmasked             $14 = [FalseTrue].result
89label                          label 0x00000006
90copy_slot_masked               $13 = Mask($14)
91label                          label 0x00000002
92load_condition_mask            CondMask = $18
93copy_constant                  $0 = 0
94merge_condition_mask           CondMask = $12 & $13
95branch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 1 at #119)
96copy_constant                  y₂ = 0x00000001 (1.401298e-45)
97store_condition_mask           $1 = CondMask
98store_condition_mask           $18 = CondMask
99copy_constant                  $19 = 0x00000001 (1.401298e-45)
100cmpeq_imm_int                  $19 = equal($19, 0x00000002)
101copy_constant                  $2 = 0
102merge_condition_mask           CondMask = $18 & $19
103branch_if_no_lanes_active      branch_if_no_lanes_active +6 (label 9 at #104)
104copy_slot_unmasked             $3 = y₂
105add_imm_int                    $3 += 0x00000001
106copy_slot_masked               y₂ = Mask($3)
107cmpeq_imm_int                  $3 = equal($3, 0x00000003)
108copy_slot_masked               $2 = Mask($3)
109label                          label 0x00000009
110merge_condition_mask           CondMask = $1 & $2
111copy_constant                  $3 = 0
112copy_slot_masked               [FalseFalse].result = Mask($3)
113merge_inv_condition_mask       CondMask = $1 & ~$2
114copy_constant                  $3 = 0x00000001 (1.401298e-45)
115cmpeq_imm_int                  $3 = equal($3, 0x00000001)
116copy_slot_unmasked             $4 = y₂
117cmpeq_imm_int                  $4 = equal($4, 0x00000001)
118bitwise_and_int                $3 &= $4
119copy_slot_masked               [FalseFalse].result = Mask($3)
120load_condition_mask            CondMask = $1
121copy_slot_unmasked             $1 = [FalseFalse].result
122label                          label 0x00000008
123copy_slot_masked               $0 = Mask($1)
124label                          label 0x00000001
125load_condition_mask            CondMask = $12
126swizzle_4                      $0..3 = ($0..3).xxxx
127copy_4_uniforms                $4..7 = colorRed
128copy_4_uniforms                $8..11 = colorGreen
129mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
130load_src                       src.rgba = $0..3
131