1*c8dee2aaSAndroid Build Coastguard Worker87 instructions 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Worker[immutable slots] 4*c8dee2aaSAndroid Build Coastguard Workeri0 = 0x40400000 (3.0) 5*c8dee2aaSAndroid Build Coastguard Workeri1 = 0x40000000 (2.0) 6*c8dee2aaSAndroid Build Coastguard Workeri2 = 0x3F800000 (1.0) 7*c8dee2aaSAndroid Build Coastguard Workeri3 = 0x40800000 (4.0) 8*c8dee2aaSAndroid Build Coastguard Workeri4 = 0x40400000 (3.0) 9*c8dee2aaSAndroid Build Coastguard Workeri5 = 0x40000000 (2.0) 10*c8dee2aaSAndroid Build Coastguard Workeri6 = 0x3F800000 (1.0) 11*c8dee2aaSAndroid Build Coastguard Worker 12*c8dee2aaSAndroid Build Coastguard Workerstore_src_rg coords = src.rg 13*c8dee2aaSAndroid Build Coastguard Workerinit_lane_masks CondMask = LoopMask = RetMask = true 14*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants _0_matrix(0..3) = 0 15*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants _0_matrix(4..7) = 0 16*c8dee2aaSAndroid Build Coastguard Workercopy_constant _0_matrix(8) = 0 17*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked _1_values = i0..2 [0x40400000 (3.0), 0x40000000 (2.0), 0x3F800000 (1.0)] 18*c8dee2aaSAndroid Build Coastguard Workercopy_constant _2_index = 0 19*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000001 20*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $33 = _2_index 21*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $33 *= 0x00000003 22*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked $0..2 = _1_values 23*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = $2 24*c8dee2aaSAndroid Build Coastguard Workerswizzle_copy_to_indirect_maske Indirect(_0_matrix(0..2) + $33).zx = Mask($0..1) 25*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $33 = _2_index 26*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $33 *= 0x00000003 27*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $0 = _1_values(1) 28*c8dee2aaSAndroid Build Coastguard Workercopy_to_indirect_masked Indirect(_0_matrix(1) + $33) = Mask($0) 29*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked $0..2 = _1_values 30*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants $3..5 = 0x40400000 (3.0) 31*c8dee2aaSAndroid Build Coastguard Workeradd_3_floats $0..2 += $3..5 32*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked _1_values = $0..2 33*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int _2_index += 0x00000001 34*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $0 = _2_index 35*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $0 = lessThan($0, 0x00000003) 36*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 37*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_active_lanes_eq branch -18 (label 1 at #8) if no lanes of $0 == 0 38*c8dee2aaSAndroid Build Coastguard Workerlabel label 0 39*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $33 = CondMask 40*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $34..37 = _0_matrix(0..3) 41*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $38..41 = _0_matrix(4..7) 42*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $42 = _0_matrix(8) 43*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $43..46 = testMatrix3x3(0..3) 44*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $47..50 = testMatrix3x3(4..7) 45*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $51 = testMatrix3x3(8) 46*c8dee2aaSAndroid Build Coastguard Workercmpeq_n_floats $34..42 = equal($34..42, $43..51) 47*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_4_ints $35..38 &= $39..42 48*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints $35..36 &= $37..38 49*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $35 &= $36 50*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $34 &= $35 51*c8dee2aaSAndroid Build Coastguard Workercopy_constant $0 = 0 52*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $33 & $34 53*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +45 (label 3 at #87) 54*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants matrix(0..3) = 0 55*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants matrix(4..7) = 0 56*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants matrix(8..11) = 0 57*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants matrix(12..15) = 0 58*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked values = i3..6 [0x40800000 (4.0), 0x40400000 (3.0), 0x40000000 (2.0), 0x3F800000 (1.0)] 59*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +22 (label 5 at #70) 60*c8dee2aaSAndroid Build Coastguard Workercopy_constant index = 0 61*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000006 62*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $52 = index 63*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $52 *= 0x00000004 64*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $1..4 = values 65*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = $4 66*c8dee2aaSAndroid Build Coastguard Workerswizzle_copy_to_indirect_maske Indirect(matrix(0..3) + $52).wx = Mask($1..2) 67*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $52 = index 68*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $52 *= 0x00000004 69*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $1..2 = values(1..2) 70*c8dee2aaSAndroid Build Coastguard Workerswizzle_copy_to_indirect_maske Indirect(matrix(0..2) + $52).zy = Mask($1..2) 71*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $1..4 = values 72*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants $5..8 = 0x40800000 (4.0) 73*c8dee2aaSAndroid Build Coastguard Workeradd_4_floats $1..4 += $5..8 74*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked values = Mask($1..4) 75*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = index 76*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $1 += 0x00000001 77*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked index = Mask($1) 78*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $1 = lessThan($1, 0x00000004) 79*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 80*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_active_lanes_eq branch -19 (label 6 at #50) if no lanes of $1 == 0 81*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000005 82*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $1..4 = matrix(0..3) 83*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $5..8 = matrix(4..7) 84*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $9..12 = matrix(8..11) 85*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $13..16 = matrix(12..15) 86*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $17..20 = testMatrix4x4(0..3) 87*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $21..24 = testMatrix4x4(4..7) 88*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $25..28 = testMatrix4x4(8..11) 89*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $29..32 = testMatrix4x4(12..15) 90*c8dee2aaSAndroid Build Coastguard Workercmpeq_n_floats $1..16 = equal($1..16, $17..32) 91*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_4_ints $9..12 &= $13..16 92*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_4_ints $5..8 &= $9..12 93*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_4_ints $1..4 &= $5..8 94*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints $1..2 &= $3..4 95*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $1 &= $2 96*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000004 97*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $0 = Mask($1) 98*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000003 99*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $33 100*c8dee2aaSAndroid Build Coastguard Workerswizzle_4 $0..3 = ($0..3).xxxx 101*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $4..7 = colorRed 102*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $8..11 = colorGreen 103*c8dee2aaSAndroid Build Coastguard Workermix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 104*c8dee2aaSAndroid Build Coastguard Workerload_src src.rgba = $0..3 105