xref: /aosp_15_r20/external/skia/tests/sksl/intrinsics/Inversesqrt.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker76 instructions
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Worker[immutable slots]
4*c8dee2aaSAndroid Build Coastguard Workeri0 = 0xBF800000 (-1.0)
5*c8dee2aaSAndroid Build Coastguard Workeri1 = 0xC0800000 (-4.0)
6*c8dee2aaSAndroid Build Coastguard Workeri2 = 0xC1800000 (-16.0)
7*c8dee2aaSAndroid Build Coastguard Workeri3 = 0xC2800000 (-64.0)
8*c8dee2aaSAndroid Build Coastguard Workeri4 = 0x3F800000 (1.0)
9*c8dee2aaSAndroid Build Coastguard Workeri5 = 0x3F000000 (0.5)
10*c8dee2aaSAndroid Build Coastguard Workeri6 = 0x3F800000 (1.0)
11*c8dee2aaSAndroid Build Coastguard Workeri7 = 0x3F000000 (0.5)
12*c8dee2aaSAndroid Build Coastguard Workeri8 = 0x3E800000 (0.25)
13*c8dee2aaSAndroid Build Coastguard Workeri9 = 0x3F800000 (1.0)
14*c8dee2aaSAndroid Build Coastguard Workeri10 = 0x3F000000 (0.5)
15*c8dee2aaSAndroid Build Coastguard Workeri11 = 0x3E800000 (0.25)
16*c8dee2aaSAndroid Build Coastguard Workeri12 = 0x3E000000 (0.125)
17*c8dee2aaSAndroid Build Coastguard Worker
18*c8dee2aaSAndroid Build Coastguard Workerstore_src_rg                   coords = src.rg
19*c8dee2aaSAndroid Build Coastguard Workerinit_lane_masks                CondMask = LoopMask = RetMask = true
20*c8dee2aaSAndroid Build Coastguard Workercopy_uniform                   $4 = inputVal(0)
21*c8dee2aaSAndroid Build Coastguard Workerinvsqrt_float                  $4 = inversesqrt($4)
22*c8dee2aaSAndroid Build Coastguard Workercopy_uniform                   $5 = expected(0)
23*c8dee2aaSAndroid Build Coastguard Workercmpeq_float                    $4 = equal($4, $5)
24*c8dee2aaSAndroid Build Coastguard Workercopy_2_uniforms                $5..6 = inputVal(0..1)
25*c8dee2aaSAndroid Build Coastguard Workerinvsqrt_2_floats               $5..6 = inversesqrt($5..6)
26*c8dee2aaSAndroid Build Coastguard Workercopy_2_uniforms                $7..8 = expected(0..1)
27*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_floats                 $5..6 = equal($5..6, $7..8)
28*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $5 &= $6
29*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $4 &= $5
30*c8dee2aaSAndroid Build Coastguard Workercopy_3_uniforms                $5..7 = inputVal(0..2)
31*c8dee2aaSAndroid Build Coastguard Workerinvsqrt_3_floats               $5..7 = inversesqrt($5..7)
32*c8dee2aaSAndroid Build Coastguard Workercopy_3_uniforms                $8..10 = expected(0..2)
33*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats                 $5..7 = equal($5..7, $8..10)
34*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $6 &= $7
35*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $5 &= $6
36*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $4 &= $5
37*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $5..8 = inputVal
38*c8dee2aaSAndroid Build Coastguard Workerinvsqrt_4_floats               $5..8 = inversesqrt($5..8)
39*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $9..12 = expected
40*c8dee2aaSAndroid Build Coastguard Workercmpeq_4_floats                 $5..8 = equal($5..8, $9..12)
41*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints             $5..6 &= $7..8
42*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $5 &= $6
43*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $4 &= $5
44*c8dee2aaSAndroid Build Coastguard Workercopy_uniform                   $5 = expected(0)
45*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $5 = equal($5, 0x3F800000 (1.0))
46*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $4 &= $5
47*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $5..6 = i4..5 [0x3F800000 (1.0), 0x3F000000 (0.5)]
48*c8dee2aaSAndroid Build Coastguard Workercopy_2_uniforms                $7..8 = expected(0..1)
49*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_floats                 $5..6 = equal($5..6, $7..8)
50*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $5 &= $6
51*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $4 &= $5
52*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked     $5..7 = i6..8 [0x3F800000 (1.0), 0x3F000000 (0.5), 0x3E800000 (0.25)]
53*c8dee2aaSAndroid Build Coastguard Workercopy_3_uniforms                $8..10 = expected(0..2)
54*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats                 $5..7 = equal($5..7, $8..10)
55*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $6 &= $7
56*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $5 &= $6
57*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $4 &= $5
58*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked     $5..8 = i9..12 [0x3F800000 (1.0), 0x3F000000 (0.5), 0x3E800000 (0.25), 0x3E000000 (0.125)]
59*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $9..12 = expected
60*c8dee2aaSAndroid Build Coastguard Workercmpeq_4_floats                 $5..8 = equal($5..8, $9..12)
61*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints             $5..6 &= $7..8
62*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $5 &= $6
63*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $4 &= $5
64*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $5 = 0xBF800000 (-1.0)
65*c8dee2aaSAndroid Build Coastguard Workerinvsqrt_float                  $5 = inversesqrt($5)
66*c8dee2aaSAndroid Build Coastguard Workercopy_uniform                   $6 = expected(0)
67*c8dee2aaSAndroid Build Coastguard Workercmpeq_float                    $5 = equal($5, $6)
68*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $4 &= $5
69*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $5..6 = i0..1 [0xBF800000 (-1.0), 0xC0800000 (-4.0)]
70*c8dee2aaSAndroid Build Coastguard Workerinvsqrt_2_floats               $5..6 = inversesqrt($5..6)
71*c8dee2aaSAndroid Build Coastguard Workercopy_2_uniforms                $7..8 = expected(0..1)
72*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_floats                 $5..6 = equal($5..6, $7..8)
73*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $5 &= $6
74*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $4 &= $5
75*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked     $5..7 = i0..2 [0xBF800000 (-1.0), 0xC0800000 (-4.0), 0xC1800000 (-16.0)]
76*c8dee2aaSAndroid Build Coastguard Workerinvsqrt_3_floats               $5..7 = inversesqrt($5..7)
77*c8dee2aaSAndroid Build Coastguard Workercopy_3_uniforms                $8..10 = expected(0..2)
78*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats                 $5..7 = equal($5..7, $8..10)
79*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $6 &= $7
80*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $5 &= $6
81*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $4 &= $5
82*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked     $5..8 = i0..3 [0xBF800000 (-1.0), 0xC0800000 (-4.0), 0xC1800000 (-16.0), 0xC2800000 (-64.0)]
83*c8dee2aaSAndroid Build Coastguard Workerinvsqrt_4_floats               $5..8 = inversesqrt($5..8)
84*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $9..12 = expected
85*c8dee2aaSAndroid Build Coastguard Workercmpeq_4_floats                 $5..8 = equal($5..8, $9..12)
86*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints             $5..6 &= $7..8
87*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $5 &= $6
88*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $4 &= $5
89*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_active_lanes_eq   branch +3 (label 0 at #75) if no lanes of $4 == 0xFFFFFFFF
90*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $0..3 = colorGreen
91*c8dee2aaSAndroid Build Coastguard Workerjump                           jump +3 (label 1 at #77)
92*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0
93*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                $0..3 = colorRed
94*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000001
95*c8dee2aaSAndroid Build Coastguard Workerload_src                       src.rgba = $0..3
96