1*c8dee2aaSAndroid Build Coastguard Worker91 instructions 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Worker[immutable slots] 4*c8dee2aaSAndroid Build Coastguard Workeri0 = 0x3F800000 (1.0) 5*c8dee2aaSAndroid Build Coastguard Workeri1 = 0x40000000 (2.0) 6*c8dee2aaSAndroid Build Coastguard Workeri2 = 0x40400000 (3.0) 7*c8dee2aaSAndroid Build Coastguard Workeri3 = 0x3F800000 (1.0) 8*c8dee2aaSAndroid Build Coastguard Workeri4 = 0x40000000 (2.0) 9*c8dee2aaSAndroid Build Coastguard Workeri5 = 0x40400000 (3.0) 10*c8dee2aaSAndroid Build Coastguard Workeri6 = 0x40800000 (4.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 Workerstore_condition_mask $12 = CondMask 15*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +42 (label 2 at #46) 16*c8dee2aaSAndroid Build Coastguard Workerstore_return_mask $13 = RetMask 17*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms matrix(0..3) = testMatrix3x3(0..3) 18*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms matrix(4..7) = testMatrix3x3(4..7) 19*c8dee2aaSAndroid Build Coastguard Workercopy_uniform matrix(8) = testMatrix3x3(8) 20*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked expected = i0..2 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0)] 21*c8dee2aaSAndroid Build Coastguard Workercopy_constant index = 0 22*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $14 = LoopMask 23*c8dee2aaSAndroid Build Coastguard Workerjump jump +22 (label 4 at #34) 24*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000005 25*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $15 = CondMask 26*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $22 = index 27*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $22 *= 0x00000003 28*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $16..18 = Indirect(matrix(0..2) + $22) 29*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked $19..21 = expected 30*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats $16..18 = notEqual($16..18, $19..21) 31*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $17 |= $18 32*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $16 |= $17 33*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $15 & $16 34*c8dee2aaSAndroid Build Coastguard Workercopy_constant $17 = 0 35*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked [test3x3].result = Mask($17) 36*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 37*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $15 38*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked $15..17 = expected 39*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants $18..20 = 0x40400000 (3.0) 40*c8dee2aaSAndroid Build Coastguard Workeradd_3_floats $15..17 += $18..20 41*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked expected = Mask($15..17) 42*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $15 = index 43*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $15 += 0x00000001 44*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked index = Mask($15) 45*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000004 46*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $15 = index 47*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $15 = lessThan($15, 0x00000003) 48*c8dee2aaSAndroid Build Coastguard Workermerge_loop_mask LoopMask &= $15 49*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 50*c8dee2aaSAndroid Build Coastguard Workerbranch_if_any_lanes_active branch_if_any_lanes_active -26 (label 5 at #13) 51*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000003 52*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $14 53*c8dee2aaSAndroid Build Coastguard Workercopy_constant $14 = 0xFFFFFFFF 54*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked [test3x3].result = Mask($14) 55*c8dee2aaSAndroid Build Coastguard Workerload_return_mask RetMask = $13 56*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $13 = [test3x3].result 57*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000002 58*c8dee2aaSAndroid Build Coastguard Workercopy_constant $0 = 0 59*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $12 & $13 60*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +45 (label 1 at #94) 61*c8dee2aaSAndroid Build Coastguard Workerstore_return_mask $1 = RetMask 62*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms matrix₁(0..3) = testMatrix4x4(0..3) 63*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms matrix₁(4..7) = testMatrix4x4(4..7) 64*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms matrix₁(8..11) = testMatrix4x4(8..11) 65*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms matrix₁(12..15) = testMatrix4x4(12..15) 66*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked expected₁ = i3..6 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)] 67*c8dee2aaSAndroid Build Coastguard Workercopy_constant index₁ = 0 68*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $2 = LoopMask 69*c8dee2aaSAndroid Build Coastguard Workerjump jump +22 (label 8 at #80) 70*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000009 71*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $3 = CondMask 72*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $22 = index₁ 73*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $22 *= 0x00000004 74*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $4..7 = Indirect(matrix₁(0..3) + $22) 75*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $8..11 = expected₁ 76*c8dee2aaSAndroid Build Coastguard Workercmpne_4_floats $4..7 = notEqual($4..7, $8..11) 77*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_2_ints $4..5 |= $6..7 78*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $4 |= $5 79*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $3 & $4 80*c8dee2aaSAndroid Build Coastguard Workercopy_constant $5 = 0 81*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked [test4x4].result = Mask($5) 82*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 83*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $3 84*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $3..6 = expected₁ 85*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants $7..10 = 0x40800000 (4.0) 86*c8dee2aaSAndroid Build Coastguard Workeradd_4_floats $3..6 += $7..10 87*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked expected₁ = Mask($3..6) 88*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = index₁ 89*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $3 += 0x00000001 90*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked index₁ = Mask($3) 91*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000008 92*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = index₁ 93*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $3 = lessThan($3, 0x00000004) 94*c8dee2aaSAndroid Build Coastguard Workermerge_loop_mask LoopMask &= $3 95*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 96*c8dee2aaSAndroid Build Coastguard Workerbranch_if_any_lanes_active branch_if_any_lanes_active -26 (label 9 at #59) 97*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000007 98*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $2 99*c8dee2aaSAndroid Build Coastguard Workercopy_constant $2 = 0xFFFFFFFF 100*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked [test4x4].result = Mask($2) 101*c8dee2aaSAndroid Build Coastguard Workerload_return_mask RetMask = $1 102*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = [test4x4].result 103*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000006 104*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $0 = Mask($1) 105*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000001 106*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $12 107*c8dee2aaSAndroid Build Coastguard Workerswizzle_4 $0..3 = ($0..3).xxxx 108*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $4..7 = colorRed 109*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $8..11 = colorGreen 110*c8dee2aaSAndroid Build Coastguard Workermix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 111*c8dee2aaSAndroid Build Coastguard Workerload_src src.rgba = $0..3 112