1*c8dee2aaSAndroid Build Coastguard Worker116 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 = 0x00000002 (2.802597e-45) 8*c8dee2aaSAndroid Build Coastguard Workeri4 = 0x00000001 (1.401298e-45) 9*c8dee2aaSAndroid Build Coastguard Workeri5 = 0 10*c8dee2aaSAndroid Build Coastguard Workeri6 = 0x40800000 (4.0) 11*c8dee2aaSAndroid Build Coastguard Workeri7 = 0x40400000 (3.0) 12*c8dee2aaSAndroid Build Coastguard Workeri8 = 0x40000000 (2.0) 13*c8dee2aaSAndroid Build Coastguard Workeri9 = 0x3F800000 (1.0) 14*c8dee2aaSAndroid Build Coastguard Workeri10 = 0x00000003 (4.203895e-45) 15*c8dee2aaSAndroid Build Coastguard Workeri11 = 0x00000002 (2.802597e-45) 16*c8dee2aaSAndroid Build Coastguard Workeri12 = 0x00000001 (1.401298e-45) 17*c8dee2aaSAndroid Build Coastguard Workeri13 = 0 18*c8dee2aaSAndroid Build Coastguard Worker 19*c8dee2aaSAndroid Build Coastguard Workerstore_src_rg coords = src.rg 20*c8dee2aaSAndroid Build Coastguard Workerinit_lane_masks CondMask = LoopMask = RetMask = true 21*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $12 = CondMask 22*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +58 (label 2 at #62) 23*c8dee2aaSAndroid Build Coastguard Workerstore_return_mask $13 = RetMask 24*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked expected = i0..2 [0x40400000 (3.0), 0x40000000 (2.0), 0x3F800000 (1.0)] 25*c8dee2aaSAndroid Build Coastguard Workercopy_constant c = 0 26*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $14 = LoopMask 27*c8dee2aaSAndroid Build Coastguard Workerjump jump +41 (label 4 at #50) 28*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000005 29*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $21 = c 30*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $21 *= 0x00000003 31*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_uniform_unm $15..17 = Indirect(testMatrix3x3(0..2) + $21) 32*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked vec = $15..17 33*c8dee2aaSAndroid Build Coastguard Workercopy_constant r = 0 34*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $15 = LoopMask 35*c8dee2aaSAndroid Build Coastguard Workerjump jump +18 (label 7 at #35) 36*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000008 37*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $16 = CondMask 38*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $22 = r 39*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked $26..28 = i3..5 [0x00000002 (2.802597e-45), 0x00000001 (1.401298e-45), 0] 40*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $21 = Indirect($26 + $22) 41*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $17 = Indirect(vec(0) + $21) 42*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $21 = r 43*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $18 = Indirect(expected(0) + $21) 44*c8dee2aaSAndroid Build Coastguard Workercmpne_float $17 = notEqual($17, $18) 45*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $16 & $17 46*c8dee2aaSAndroid Build Coastguard Workercopy_constant $18 = 0 47*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked [test3x3].result = Mask($18) 48*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 49*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $16 50*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $16 = r 51*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $16 += 0x00000001 52*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked r = Mask($16) 53*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000007 54*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $16 = r 55*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $16 = lessThan($16, 0x00000003) 56*c8dee2aaSAndroid Build Coastguard Workermerge_loop_mask LoopMask &= $16 57*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 58*c8dee2aaSAndroid Build Coastguard Workerbranch_if_any_lanes_active branch_if_any_lanes_active -22 (label 8 at #18) 59*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000006 60*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $15 61*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked $15..17 = expected 62*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants $18..20 = 0x40400000 (3.0) 63*c8dee2aaSAndroid Build Coastguard Workeradd_3_floats $15..17 += $18..20 64*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked expected = Mask($15..17) 65*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $15 = c 66*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $15 += 0x00000001 67*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked c = Mask($15) 68*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000004 69*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $15 = c 70*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $15 = lessThan($15, 0x00000003) 71*c8dee2aaSAndroid Build Coastguard Workermerge_loop_mask LoopMask &= $15 72*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 73*c8dee2aaSAndroid Build Coastguard Workerbranch_if_any_lanes_active branch_if_any_lanes_active -45 (label 5 at #10) 74*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000003 75*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $14 76*c8dee2aaSAndroid Build Coastguard Workercopy_constant $14 = 0xFFFFFFFF 77*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked [test3x3].result = Mask($14) 78*c8dee2aaSAndroid Build Coastguard Workerload_return_mask RetMask = $13 79*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $13 = [test3x3].result 80*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000002 81*c8dee2aaSAndroid Build Coastguard Workercopy_constant $0 = 0 82*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $12 & $13 83*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +60 (label 1 at #125) 84*c8dee2aaSAndroid Build Coastguard Workerstore_return_mask $1 = RetMask 85*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked expected₁ = i6..9 [0x40800000 (4.0), 0x40400000 (3.0), 0x40000000 (2.0), 0x3F800000 (1.0)] 86*c8dee2aaSAndroid Build Coastguard Workercopy_constant c₁ = 0 87*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $2 = LoopMask 88*c8dee2aaSAndroid Build Coastguard Workerjump jump +41 (label 11 at #111) 89*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000C 90*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $21 = c₁ 91*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $21 *= 0x00000004 92*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_uniform_unm $3..6 = Indirect(testMatrix4x4(0..3) + $21) 93*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked vec₁ = $3..6 94*c8dee2aaSAndroid Build Coastguard Workercopy_constant r₁ = 0 95*c8dee2aaSAndroid Build Coastguard Workerstore_loop_mask $3 = LoopMask 96*c8dee2aaSAndroid Build Coastguard Workerjump jump +18 (label 14 at #96) 97*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000F 98*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $4 = CondMask 99*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $26 = r₁ 100*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked $22..25 = i10..13 [0x00000003 (4.203895e-45), 0x00000002 (2.802597e-45), 0x00000001 (1.401298e-45), 0] 101*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $21 = Indirect($22 + $26) 102*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $5 = Indirect(vec₁(0) + $21) 103*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $21 = r₁ 104*c8dee2aaSAndroid Build Coastguard Workercopy_from_indirect_unmasked $6 = Indirect(expected₁(0) + $21) 105*c8dee2aaSAndroid Build Coastguard Workercmpne_float $5 = notEqual($5, $6) 106*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $4 & $5 107*c8dee2aaSAndroid Build Coastguard Workercopy_constant $6 = 0 108*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked [test4x4].result = Mask($6) 109*c8dee2aaSAndroid Build Coastguard Workermask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 110*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $4 111*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = r₁ 112*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $4 += 0x00000001 113*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked r₁ = Mask($4) 114*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000E 115*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = r₁ 116*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $4 = lessThan($4, 0x00000004) 117*c8dee2aaSAndroid Build Coastguard Workermerge_loop_mask LoopMask &= $4 118*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 119*c8dee2aaSAndroid Build Coastguard Workerbranch_if_any_lanes_active branch_if_any_lanes_active -22 (label 15 at #79) 120*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000D 121*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $3 122*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $3..6 = expected₁ 123*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants $7..10 = 0x40800000 (4.0) 124*c8dee2aaSAndroid Build Coastguard Workeradd_4_floats $3..6 += $7..10 125*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked expected₁ = Mask($3..6) 126*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = c₁ 127*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $3 += 0x00000001 128*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked c₁ = Mask($3) 129*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000B 130*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = c₁ 131*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $3 = lessThan($3, 0x00000004) 132*c8dee2aaSAndroid Build Coastguard Workermerge_loop_mask LoopMask &= $3 133*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 134*c8dee2aaSAndroid Build Coastguard Workerbranch_if_any_lanes_active branch_if_any_lanes_active -45 (label 12 at #71) 135*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000A 136*c8dee2aaSAndroid Build Coastguard Workerload_loop_mask LoopMask = $2 137*c8dee2aaSAndroid Build Coastguard Workercopy_constant $2 = 0xFFFFFFFF 138*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked [test4x4].result = Mask($2) 139*c8dee2aaSAndroid Build Coastguard Workerload_return_mask RetMask = $1 140*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = [test4x4].result 141*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000009 142*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $0 = Mask($1) 143*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000001 144*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $12 145*c8dee2aaSAndroid Build Coastguard Workerswizzle_4 $0..3 = ($0..3).xxxx 146*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $4..7 = colorRed 147*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $8..11 = colorGreen 148*c8dee2aaSAndroid Build Coastguard Workermix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 149*c8dee2aaSAndroid Build Coastguard Workerload_src src.rgba = $0..3 150