1*c8dee2aaSAndroid Build Coastguard Worker86 instructions 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Worker[immutable slots] 4*c8dee2aaSAndroid Build Coastguard Workeri0 = 0x3F000000 (0.5) 5*c8dee2aaSAndroid Build Coastguard Workeri1 = 0 6*c8dee2aaSAndroid Build Coastguard Workeri2 = 0 7*c8dee2aaSAndroid Build Coastguard Workeri3 = 0 8*c8dee2aaSAndroid Build Coastguard Workeri4 = 0x3F000000 (0.5) 9*c8dee2aaSAndroid Build Coastguard Workeri5 = 0 10*c8dee2aaSAndroid Build Coastguard Workeri6 = 0 11*c8dee2aaSAndroid Build Coastguard Workeri7 = 0 12*c8dee2aaSAndroid Build Coastguard Workeri8 = 0x3F000000 (0.5) 13*c8dee2aaSAndroid Build Coastguard Workeri9 = 0x3E800000 (0.25) 14*c8dee2aaSAndroid Build Coastguard Workeri10 = 0 15*c8dee2aaSAndroid Build Coastguard Workeri11 = 0 16*c8dee2aaSAndroid Build Coastguard Workeri12 = 0x3F400000 (0.75) 17*c8dee2aaSAndroid Build Coastguard Workeri13 = 0x3F800000 (1.0) 18*c8dee2aaSAndroid Build Coastguard Workeri14 = 0x3F800000 (1.0) 19*c8dee2aaSAndroid Build Coastguard Workeri15 = 0x3E800000 (0.25) 20*c8dee2aaSAndroid Build Coastguard Workeri16 = 0x3F800000 (1.0) 21*c8dee2aaSAndroid Build Coastguard Worker 22*c8dee2aaSAndroid Build Coastguard Workerstore_src_rg v0..1 = src.rg 23*c8dee2aaSAndroid Build Coastguard Workerinit_lane_masks CondMask = LoopMask = RetMask = true 24*c8dee2aaSAndroid Build Coastguard Workercopy_constant gAccessCount = 0 25*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants array[0] = 0 26*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int gAccessCount += 0x00000001 27*c8dee2aaSAndroid Build Coastguard Workercopy_constant $15 = 0 28*c8dee2aaSAndroid Build Coastguard Workerlabel label 0 29*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $15 *= 0x00000004 30*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $0..3 = colorGreen 31*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants $4..7 = 0x3F000000 (0.5) 32*c8dee2aaSAndroid Build Coastguard Workermul_4_floats $0..3 *= $4..7 33*c8dee2aaSAndroid Build Coastguard Workercopy_to_indirect_masked Indirect(array[0] + $15) = Mask($0..3) 34*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int gAccessCount += 0x00000001 35*c8dee2aaSAndroid Build Coastguard Workercopy_constant $15 = 0 36*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000001 37*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $15 *= 0x00000004 38*c8dee2aaSAndroid Build Coastguard Workercopy_constant $0 = 0x40000000 (2.0) 39*c8dee2aaSAndroid Build Coastguard Workercopy_to_indirect_masked Indirect(array[0](3) + $15) = Mask($0) 40*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int gAccessCount += 0x00000001 41*c8dee2aaSAndroid Build Coastguard Workercopy_constant $15 = 0 42*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000002 43*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $15 *= 0x00000004 44*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $0 = Indirect(array[0](1) + $15) 45*c8dee2aaSAndroid Build Coastguard Workermul_imm_float $0 *= 0x40800000 (4.0) 46*c8dee2aaSAndroid Build Coastguard Workercopy_to_indirect_masked Indirect(array[0](1) + $15) = Mask($0) 47*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int gAccessCount += 0x00000001 48*c8dee2aaSAndroid Build Coastguard Workercopy_constant $15 = 0 49*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000003 50*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $15 *= 0x00000004 51*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $3..5 = Indirect(array[0](1..3) + $15) 52*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked $6..9 = i0..3 [0x3F000000 (0.5), 0, 0, 0] 53*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked $10..13 = i4..7 [0x3F000000 (0.5), 0, 0, 0] 54*c8dee2aaSAndroid Build Coastguard Workercopy_constant $14 = 0x3F000000 (0.5) 55*c8dee2aaSAndroid Build Coastguard Workermatrix_multiply_3 mat3x1($0..2) = mat3x1($3..5) * mat3x3($6..14) 56*c8dee2aaSAndroid Build Coastguard Workercopy_to_indirect_masked Indirect(array[0](1..3) + $15) = Mask($0..2) 57*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int gAccessCount += 0x00000001 58*c8dee2aaSAndroid Build Coastguard Workercopy_constant $15 = 0 59*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000004 60*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $15 *= 0x00000004 61*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $0..3 = Indirect(array[0] + $15) 62*c8dee2aaSAndroid Build Coastguard Workerswizzle_4 $0..3 = ($0..3).zywx 63*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked $4..7 = i9..12 [0x3E800000 (0.25), 0, 0, 0x3F400000 (0.75)] 64*c8dee2aaSAndroid Build Coastguard Workeradd_4_floats $0..3 += $4..7 65*c8dee2aaSAndroid Build Coastguard Workerswizzle_copy_to_indirect_maske Indirect(array[0] + $15).zywx = Mask($0..3) 66*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int gAccessCount += 0x00000001 67*c8dee2aaSAndroid Build Coastguard Workercopy_constant $15 = 0 68*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000005 69*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $15 *= 0x00000004 70*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $0 = Indirect(array[0](0) + $15) 71*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $16 = CondMask 72*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +5 (label 7 at #56) 73*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $21 = gAccessCount 74*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $21 += 0x00000001 75*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked gAccessCount = Mask($21) 76*c8dee2aaSAndroid Build Coastguard Workercopy_constant $21 = 0 77*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000007 78*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $21 *= 0x00000004 79*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $17..20 = Indirect(array[0] + $21) 80*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $17 = $20 81*c8dee2aaSAndroid Build Coastguard Workercmple_imm_float $17 = lessThanEqual($17, 0x3F800000 (1.0)) 82*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $16 & $17 83*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +5 (label 8 at #67) 84*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $21 = gAccessCount 85*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $21 += 0x00000001 86*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked gAccessCount = Mask($21) 87*c8dee2aaSAndroid Build Coastguard Workercopy_constant $21 = 0 88*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000008 89*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $21 *= 0x00000004 90*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $1..4 = Indirect(array[0] + $21) 91*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = $3 92*c8dee2aaSAndroid Build Coastguard Workermerge_inv_condition_mask CondMask = $16 & ~$17 93*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +5 (label 9 at #77) 94*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = gAccessCount 95*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $2 += 0x00000001 96*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked gAccessCount = Mask($2) 97*c8dee2aaSAndroid Build Coastguard Workercopy_constant $2 = 0 98*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000009 99*c8dee2aaSAndroid Build Coastguard Workercast_to_float_from_int $2 = IntToFloat($2) 100*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $1 = Mask($2) 101*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $16 102*c8dee2aaSAndroid Build Coastguard Workeradd_float $0 += $1 103*c8dee2aaSAndroid Build Coastguard Workercopy_to_indirect_masked Indirect(array[0](0) + $15) = Mask($0) 104*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $0 = gAccessCount 105*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_int $0 = equal($0, 0x00000008) 106*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $1..4 = array[0] 107*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked $5..8 = i13..16 [0x3F800000 (1.0), 0x3F800000 (1.0), 0x3E800000 (0.25), 0x3F800000 (1.0)] 108*c8dee2aaSAndroid Build Coastguard Workercmpeq_4_floats $1..4 = equal($1..4, $5..8) 109*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints $1..2 &= $3..4 110*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $1 &= $2 111*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $0 &= $1 112*c8dee2aaSAndroid Build Coastguard Workerswizzle_4 $0..3 = ($0..3).xxxx 113*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $4..7 = colorRed 114*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $8..11 = colorGreen 115*c8dee2aaSAndroid Build Coastguard Workermix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 116*c8dee2aaSAndroid Build Coastguard Workerload_src src.rgba = $0..3 117