xref: /aosp_15_r20/external/skia/tests/sksl/folding/VectorVectorFolding.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1134 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_slot_unmasked             $0 = _1_ok
8splat_4_constants              $1..4 = 0
9copy_slot_unmasked             $5 = _0_unknown
10swizzle_4                      $5..8 = ($5..8).xxxx
11div_4_floats                   $1..4 /= $5..8
12splat_4_constants              $5..8 = 0
13cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
14bitwise_and_2_ints             $1..2 &= $3..4
15bitwise_and_int                $1 &= $2
16bitwise_and_int                $0 &= $1
17copy_slot_unmasked             _1_ok = $0
18copy_slot_unmasked             $0 = _0_unknown
19swizzle_4                      $0..3 = ($0..3).xxxx
20copy_4_slots_unmasked          _2_val = $0..3
21splat_4_constants              $4..7 = 0x3F800000 (1.0)
22add_4_floats                   $0..3 += $4..7
23copy_4_slots_unmasked          _2_val = $0..3
24splat_4_constants              $4..7 = 0x3F800000 (1.0)
25sub_4_floats                   $0..3 -= $4..7
26copy_4_slots_unmasked          _2_val = $0..3
27splat_4_constants              $4..7 = 0x3F800000 (1.0)
28add_4_floats                   $0..3 += $4..7
29copy_4_slots_unmasked          _2_val = $0..3
30splat_4_constants              $4..7 = 0x3F800000 (1.0)
31sub_4_floats                   $0..3 -= $4..7
32copy_4_slots_unmasked          _2_val = $0..3
33copy_4_slots_unmasked          $0..3 = _1_ok, _2_val(0..2)
34copy_slot_unmasked             $4 = _2_val(3)
35copy_slot_unmasked             $5 = _0_unknown
36swizzle_4                      $5..8 = ($5..8).xxxx
37cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
38bitwise_and_2_ints             $1..2 &= $3..4
39bitwise_and_int                $1 &= $2
40bitwise_and_int                $0 &= $1
41copy_slot_unmasked             _1_ok = $0
42copy_4_slots_unmasked          $0..3 = _2_val
43splat_4_constants              $4..7 = 0x40000000 (2.0)
44mul_4_floats                   $0..3 *= $4..7
45copy_4_slots_unmasked          _2_val = $0..3
46splat_4_constants              $4..7 = 0x3F000000 (0.5)
47mul_4_floats                   $0..3 *= $4..7
48copy_4_slots_unmasked          _2_val = $0..3
49splat_4_constants              $4..7 = 0x40000000 (2.0)
50mul_4_floats                   $0..3 *= $4..7
51copy_4_slots_unmasked          _2_val = $0..3
52splat_4_constants              $4..7 = 0x3F000000 (0.5)
53mul_4_floats                   $0..3 *= $4..7
54copy_4_slots_unmasked          _2_val = $0..3
55copy_4_slots_unmasked          $0..3 = _1_ok, _2_val(0..2)
56copy_slot_unmasked             $4 = _2_val(3)
57copy_slot_unmasked             $5 = _0_unknown
58swizzle_4                      $5..8 = ($5..8).xxxx
59cmpeq_4_floats                 $1..4 = equal($1..4, $5..8)
60bitwise_and_2_ints             $1..2 &= $3..4
61bitwise_and_int                $1 &= $2
62bitwise_and_int                $0 &= $1
63copy_slot_unmasked             _1_ok = $0
64store_condition_mask           $12 = CondMask
65copy_slot_unmasked             $13 = _1_ok
66copy_constant                  $0 = 0
67merge_condition_mask           CondMask = $12 & $13
68branch_if_no_lanes_active      branch_if_no_lanes_active +64 (label 1 at #130)
69copy_uniform                   $1 = unknownInput
70cast_to_int_from_float         $1 = FloatToInt($1)
71copy_slot_unmasked             unknown = $1
72copy_constant                  ok = 0xFFFFFFFF
73copy_slot_unmasked             $1 = ok
74splat_4_constants              $2..5 = 0
75copy_slot_unmasked             $6 = unknown
76swizzle_4                      $6..9 = ($6..9).xxxx
77div_4_ints                     $2..5 /= $6..9
78splat_4_constants              $6..9 = 0
79cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
80bitwise_and_2_ints             $2..3 &= $4..5
81bitwise_and_int                $2 &= $3
82bitwise_and_int                $1 &= $2
83copy_slot_masked               ok = Mask($1)
84copy_slot_unmasked             $1 = unknown
85swizzle_4                      $1..4 = ($1..4).xxxx
86copy_4_slots_unmasked          val = $1..4
87splat_4_constants              $5..8 = 0x00000001 (1.401298e-45)
88add_4_ints                     $1..4 += $5..8
89copy_4_slots_masked            val = Mask($1..4)
90splat_4_constants              $5..8 = 0x00000001 (1.401298e-45)
91sub_4_ints                     $1..4 -= $5..8
92copy_4_slots_masked            val = Mask($1..4)
93splat_4_constants              $5..8 = 0x00000001 (1.401298e-45)
94add_4_ints                     $1..4 += $5..8
95copy_4_slots_masked            val = Mask($1..4)
96splat_4_constants              $5..8 = 0x00000001 (1.401298e-45)
97sub_4_ints                     $1..4 -= $5..8
98copy_4_slots_masked            val = Mask($1..4)
99copy_4_slots_unmasked          $1..4 = ok, val(0..2)
100copy_slot_unmasked             $5 = val(3)
101copy_slot_unmasked             $6 = unknown
102swizzle_4                      $6..9 = ($6..9).xxxx
103cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
104bitwise_and_2_ints             $2..3 &= $4..5
105bitwise_and_int                $2 &= $3
106bitwise_and_int                $1 &= $2
107copy_slot_masked               ok = Mask($1)
108copy_4_slots_unmasked          $1..4 = val
109splat_4_constants              $5..8 = 0x00000002 (2.802597e-45)
110mul_4_ints                     $1..4 *= $5..8
111copy_4_slots_masked            val = Mask($1..4)
112splat_4_constants              $5..8 = 0x00000002 (2.802597e-45)
113div_4_ints                     $1..4 /= $5..8
114copy_4_slots_masked            val = Mask($1..4)
115splat_4_constants              $5..8 = 0x00000002 (2.802597e-45)
116mul_4_ints                     $1..4 *= $5..8
117copy_4_slots_masked            val = Mask($1..4)
118splat_4_constants              $5..8 = 0x00000002 (2.802597e-45)
119div_4_ints                     $1..4 /= $5..8
120copy_4_slots_masked            val = Mask($1..4)
121copy_4_slots_unmasked          $1..4 = ok, val(0..2)
122copy_slot_unmasked             $5 = val(3)
123copy_slot_unmasked             $6 = unknown
124swizzle_4                      $6..9 = ($6..9).xxxx
125cmpeq_4_ints                   $2..5 = equal($2..5, $6..9)
126bitwise_and_2_ints             $2..3 &= $4..5
127bitwise_and_int                $2 &= $3
128bitwise_and_int                $1 &= $2
129copy_slot_masked               ok = Mask($1)
130label                          label 0x00000002
131copy_slot_masked               $0 = Mask($1)
132label                          label 0x00000001
133load_condition_mask            CondMask = $12
134swizzle_4                      $0..3 = ($0..3).xxxx
135copy_4_uniforms                $4..7 = colorRed
136copy_4_uniforms                $8..11 = colorGreen
137mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
138load_src                       src.rgba = $0..3
139