1*c8dee2aaSAndroid Build Coastguard Worker387 instructions 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Worker[immutable slots] 4*c8dee2aaSAndroid Build Coastguard Workeri0 = 0xFFFFFFFF 5*c8dee2aaSAndroid Build Coastguard Workeri1 = 0 6*c8dee2aaSAndroid Build Coastguard Worker 7*c8dee2aaSAndroid Build Coastguard Workerstore_src_rg coords = src.rg 8*c8dee2aaSAndroid Build Coastguard Workerinit_lane_masks CondMask = LoopMask = RetMask = true 9*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $0 = colorGreen(0) 10*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $1 = colorGreen(2) 11*c8dee2aaSAndroid Build Coastguard Workerdiv_float $0 /= $1 12*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked NAN1 = $0 13*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $0 = colorGreen(2) 14*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $1 = colorGreen(0) 15*c8dee2aaSAndroid Build Coastguard Workerdiv_float $0 /= $1 16*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked NAN2 = $0 17*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $0 = colorGreen(0) 18*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $1 = colorGreen(2) 19*c8dee2aaSAndroid Build Coastguard Workermul_float $0 *= $1 20*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked ZP = $0 21*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $0 = colorGreen(0) 22*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_imm_int $0 ^= 0x80000000 23*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $1 = colorGreen(2) 24*c8dee2aaSAndroid Build Coastguard Workermul_float $0 *= $1 25*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked ZM = $0 26*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $0 = colorGreen(1) 27*c8dee2aaSAndroid Build Coastguard Workermul_imm_float $0 *= 0x42280000 (42.0) 28*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked F42 = $0 29*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $0 = colorGreen(1) 30*c8dee2aaSAndroid Build Coastguard Workermul_imm_float $0 *= 0x422C0000 (43.0) 31*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked F43 = $0 32*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $0 = colorGreen(1) 33*c8dee2aaSAndroid Build Coastguard Workermul_imm_float $0 *= 0x42300000 (44.0) 34*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked F44 = $0 35*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $0 = colorGreen(0) 36*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float $0 += 0x3F800000 (1.0) 37*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked _0_one = $0 38*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants _1_a[0], _1_a[1], _1_a[2] = 0 39*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked _1_a[0] = F42 40*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked _1_a[1] = ZM 41*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked _1_a[2] = ZP 42*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants _2_b[0], _2_b[1], _2_b[2] = 0 43*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $0 = F42 44*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = _0_one 45*c8dee2aaSAndroid Build Coastguard Workermul_float $0 *= $1 46*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked _2_b[0] = $0 47*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $0 = ZM 48*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = _0_one 49*c8dee2aaSAndroid Build Coastguard Workermul_float $0 *= $1 50*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked _2_b[1] = $0 51*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $0 = ZP 52*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = _0_one 53*c8dee2aaSAndroid Build Coastguard Workermul_float $0 *= $1 54*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked _2_b[2] = $0 55*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $12 = CondMask 56*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $21 = CondMask 57*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $30 = CondMask 58*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $39 = CondMask 59*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $48 = CondMask 60*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $57 = CondMask 61*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $66 = CondMask 62*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $74 = CondMask 63*c8dee2aaSAndroid Build Coastguard Workercopy_constant $75 = 0xFFFFFFFF 64*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $67..70 = _1_a[0], _1_a[1], _1_a[2], _2_b[0] 65*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $71..72 = _2_b[1], _2_b[2] 66*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats $67..69 = notEqual($67..69, $70..72) 67*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $68 |= $69 68*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $67 |= $68 69*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $74 & $75 70*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +7 (label 8 at #71) 71*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $68..71 = _1_a[0], _1_a[1], _1_a[2], _2_b[0] 72*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $72..73 = _2_b[1], _2_b[2] 73*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats $68..70 = equal($68..70, $71..73) 74*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $69 &= $70 75*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $68 &= $69 76*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $67 = Mask($68) 77*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000008 78*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $74 79*c8dee2aaSAndroid Build Coastguard Workercopy_constant $58 = 0 80*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $66 & $67 81*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +45 (label 7 at #120) 82*c8dee2aaSAndroid Build Coastguard Workercopy_constant eq = 0 83*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $59 = colorGreen(0) 84*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float $59 += 0x3F800000 (1.0) 85*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked one = $59 86*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants a[0], a[1], a[2] = 0 87*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $59 = F42 88*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[0] = Mask($59) 89*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $59 = ZM 90*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[1] = Mask($59) 91*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $59 = ZP 92*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[2] = Mask($59) 93*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants b[0], b[1], b[2] = 0 94*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $59 = F42 95*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $60 = one 96*c8dee2aaSAndroid Build Coastguard Workermul_float $59 *= $60 97*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[0] = Mask($59) 98*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $59 = ZM 99*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $60 = one 100*c8dee2aaSAndroid Build Coastguard Workermul_float $59 *= $60 101*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[1] = Mask($59) 102*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $59 = ZP 103*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $60 = one 104*c8dee2aaSAndroid Build Coastguard Workermul_float $59 *= $60 105*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[2] = Mask($59) 106*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $74 = CondMask 107*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $75 = eq 108*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $59..62 = a[0], a[1], a[2], b[0] 109*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $63..64 = b[1], b[2] 110*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats $59..61 = notEqual($59..61, $62..64) 111*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $60 |= $61 112*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $59 |= $60 113*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $74 & $75 114*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +7 (label 10 at #115) 115*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $60..63 = a[0], a[1], a[2], b[0] 116*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $64..65 = b[1], b[2] 117*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats $60..62 = equal($60..62, $63..65) 118*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $61 &= $62 119*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $60 &= $61 120*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $59 = Mask($60) 121*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000A 122*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $74 123*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000009 124*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_imm_int $59 ^= 0xFFFFFFFF 125*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $58 = Mask($59) 126*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000007 127*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $66 128*c8dee2aaSAndroid Build Coastguard Workercopy_constant $49 = 0 129*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $57 & $58 130*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +44 (label 6 at #168) 131*c8dee2aaSAndroid Build Coastguard Workercopy_constant eq = 0 132*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $50 = colorGreen(0) 133*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float $50 += 0x3F800000 (1.0) 134*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked one = $50 135*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants a[0], a[1], a[2] = 0 136*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $50 = F42 137*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[0] = Mask($50) 138*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $50 = NAN1 139*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[1] = Mask($50) 140*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $50 = NAN2 141*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[2] = Mask($50) 142*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants b[0], b[1], b[2] = 0 143*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $50 = F42 144*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $51 = one 145*c8dee2aaSAndroid Build Coastguard Workermul_float $50 *= $51 146*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[0] = Mask($50) 147*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $50 = NAN1 148*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $51 = one 149*c8dee2aaSAndroid Build Coastguard Workermul_float $50 *= $51 150*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[1] = Mask($50) 151*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $50 = NAN2 152*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $51 = one 153*c8dee2aaSAndroid Build Coastguard Workermul_float $50 *= $51 154*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[2] = Mask($50) 155*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $66 = CondMask 156*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $67 = eq 157*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $50..53 = a[0], a[1], a[2], b[0] 158*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $54..55 = b[1], b[2] 159*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats $50..52 = notEqual($50..52, $53..55) 160*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $51 |= $52 161*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $50 |= $51 162*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $66 & $67 163*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +7 (label 12 at #164) 164*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $51..54 = a[0], a[1], a[2], b[0] 165*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $55..56 = b[1], b[2] 166*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats $51..53 = equal($51..53, $54..56) 167*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $52 &= $53 168*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $51 &= $52 169*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $50 = Mask($51) 170*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000C 171*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $66 172*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000B 173*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $49 = Mask($50) 174*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000006 175*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $57 176*c8dee2aaSAndroid Build Coastguard Workercopy_constant $40 = 0 177*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $48 & $49 178*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +45 (label 5 at #217) 179*c8dee2aaSAndroid Build Coastguard Workercopy_constant eq = 0xFFFFFFFF 180*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $41 = colorGreen(0) 181*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float $41 += 0x3F800000 (1.0) 182*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked one = $41 183*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants a[0], a[1], a[2] = 0 184*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $41 = F42 185*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[0] = Mask($41) 186*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $41 = NAN1 187*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[1] = Mask($41) 188*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $41 = NAN2 189*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[2] = Mask($41) 190*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants b[0], b[1], b[2] = 0 191*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $41 = F42 192*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $42 = one 193*c8dee2aaSAndroid Build Coastguard Workermul_float $41 *= $42 194*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[0] = Mask($41) 195*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $41 = NAN1 196*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $42 = one 197*c8dee2aaSAndroid Build Coastguard Workermul_float $41 *= $42 198*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[1] = Mask($41) 199*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $41 = NAN2 200*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $42 = one 201*c8dee2aaSAndroid Build Coastguard Workermul_float $41 *= $42 202*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[2] = Mask($41) 203*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $57 = CondMask 204*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $58 = eq 205*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $41..44 = a[0], a[1], a[2], b[0] 206*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $45..46 = b[1], b[2] 207*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats $41..43 = notEqual($41..43, $44..46) 208*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $42 |= $43 209*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $41 |= $42 210*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $57 & $58 211*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +7 (label 14 at #212) 212*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $42..45 = a[0], a[1], a[2], b[0] 213*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $46..47 = b[1], b[2] 214*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats $42..44 = equal($42..44, $45..47) 215*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $43 &= $44 216*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $42 &= $43 217*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $41 = Mask($42) 218*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000E 219*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $57 220*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000D 221*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_imm_int $41 ^= 0xFFFFFFFF 222*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $40 = Mask($41) 223*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000005 224*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $48 225*c8dee2aaSAndroid Build Coastguard Workercopy_constant $31 = 0 226*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $39 & $40 227*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +42 (label 4 at #263) 228*c8dee2aaSAndroid Build Coastguard Workercopy_constant eq₁ = 0 229*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $32 = colorGreen(0) 230*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float $32 += 0x40000000 (2.0) 231*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked two = $32 232*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants a[0]₁, a[1]₁, a[2]₁ = 0 233*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $32 = F42 234*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[0]₁ = Mask($32) 235*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $32 = F43 236*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[1]₁ = Mask($32) 237*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $32 = F44 238*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[2]₁ = Mask($32) 239*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants b[0]₁, b[1]₁, b[2]₁ = 0 240*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $32 = F42 241*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $33 = two 242*c8dee2aaSAndroid Build Coastguard Workermul_float $32 *= $33 243*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[0]₁ = Mask($32) 244*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $32 = F43 245*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $33 = two 246*c8dee2aaSAndroid Build Coastguard Workermul_float $32 *= $33 247*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[1]₁ = Mask($32) 248*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $32 = F44 249*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[2]₁ = Mask($32) 250*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $48 = CondMask 251*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $49 = eq₁ 252*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $32..35 = a[0]₁, a[1]₁, a[2]₁, b[0]₁ 253*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $36..37 = b[1]₁, b[2]₁ 254*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats $32..34 = notEqual($32..34, $35..37) 255*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $33 |= $34 256*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $32 |= $33 257*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $48 & $49 258*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +7 (label 16 at #259) 259*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $33..36 = a[0]₁, a[1]₁, a[2]₁, b[0]₁ 260*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $37..38 = b[1]₁, b[2]₁ 261*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats $33..35 = equal($33..35, $36..38) 262*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $34 &= $35 263*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $33 &= $34 264*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $32 = Mask($33) 265*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000010 266*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $48 267*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x0000000F 268*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $31 = Mask($32) 269*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000004 270*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $39 271*c8dee2aaSAndroid Build Coastguard Workercopy_constant $22 = 0 272*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $30 & $31 273*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +43 (label 3 at #310) 274*c8dee2aaSAndroid Build Coastguard Workercopy_constant eq₁ = 0xFFFFFFFF 275*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $23 = colorGreen(0) 276*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float $23 += 0x40000000 (2.0) 277*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked two = $23 278*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants a[0]₁, a[1]₁, a[2]₁ = 0 279*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $23 = F42 280*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[0]₁ = Mask($23) 281*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $23 = F43 282*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[1]₁ = Mask($23) 283*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $23 = F44 284*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[2]₁ = Mask($23) 285*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants b[0]₁, b[1]₁, b[2]₁ = 0 286*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $23 = F42 287*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $24 = two 288*c8dee2aaSAndroid Build Coastguard Workermul_float $23 *= $24 289*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[0]₁ = Mask($23) 290*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $23 = F43 291*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $24 = two 292*c8dee2aaSAndroid Build Coastguard Workermul_float $23 *= $24 293*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[1]₁ = Mask($23) 294*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $23 = F44 295*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[2]₁ = Mask($23) 296*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $39 = CondMask 297*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $40 = eq₁ 298*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $23..26 = a[0]₁, a[1]₁, a[2]₁, b[0]₁ 299*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $27..28 = b[1]₁, b[2]₁ 300*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats $23..25 = notEqual($23..25, $26..28) 301*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $24 |= $25 302*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $23 |= $24 303*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $39 & $40 304*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +7 (label 18 at #305) 305*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $24..27 = a[0]₁, a[1]₁, a[2]₁, b[0]₁ 306*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $28..29 = b[1]₁, b[2]₁ 307*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats $24..26 = equal($24..26, $27..29) 308*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $25 &= $26 309*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $24 &= $25 310*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $23 = Mask($24) 311*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000012 312*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $39 313*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000011 314*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_imm_int $23 ^= 0xFFFFFFFF 315*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $22 = Mask($23) 316*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000003 317*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $30 318*c8dee2aaSAndroid Build Coastguard Workercopy_constant $13 = 0 319*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $21 & $22 320*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +42 (label 2 at #356) 321*c8dee2aaSAndroid Build Coastguard Workercopy_constant eq₁ = 0 322*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $14 = colorGreen(0) 323*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float $14 += 0x40000000 (2.0) 324*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked two = $14 325*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants a[0]₁, a[1]₁, a[2]₁ = 0 326*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $14 = NAN1 327*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[0]₁ = Mask($14) 328*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $14 = ZM 329*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[1]₁ = Mask($14) 330*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $14 = ZP 331*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[2]₁ = Mask($14) 332*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants b[0]₁, b[1]₁, b[2]₁ = 0 333*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $14 = NAN1 334*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $15 = two 335*c8dee2aaSAndroid Build Coastguard Workermul_float $14 *= $15 336*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[0]₁ = Mask($14) 337*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $14 = ZM 338*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $15 = two 339*c8dee2aaSAndroid Build Coastguard Workermul_float $14 *= $15 340*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[1]₁ = Mask($14) 341*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $14 = ZP 342*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[2]₁ = Mask($14) 343*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $30 = CondMask 344*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $31 = eq₁ 345*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $14..17 = a[0]₁, a[1]₁, a[2]₁, b[0]₁ 346*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $18..19 = b[1]₁, b[2]₁ 347*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats $14..16 = notEqual($14..16, $17..19) 348*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $15 |= $16 349*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $14 |= $15 350*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $30 & $31 351*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +7 (label 20 at #352) 352*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $15..18 = a[0]₁, a[1]₁, a[2]₁, b[0]₁ 353*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $19..20 = b[1]₁, b[2]₁ 354*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats $15..17 = equal($15..17, $18..20) 355*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $16 &= $17 356*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $15 &= $16 357*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $14 = Mask($15) 358*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000014 359*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $30 360*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000013 361*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $13 = Mask($14) 362*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000002 363*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $21 364*c8dee2aaSAndroid Build Coastguard Workercopy_constant $0 = 0 365*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $12 & $13 366*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +43 (label 1 at #403) 367*c8dee2aaSAndroid Build Coastguard Workercopy_constant eq₁ = 0xFFFFFFFF 368*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $1 = colorGreen(0) 369*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float $1 += 0x40000000 (2.0) 370*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked two = $1 371*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants a[0]₁, a[1]₁, a[2]₁ = 0 372*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = NAN1 373*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[0]₁ = Mask($1) 374*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = ZM 375*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[1]₁ = Mask($1) 376*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = ZP 377*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked a[2]₁ = Mask($1) 378*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants b[0]₁, b[1]₁, b[2]₁ = 0 379*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = NAN1 380*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = two 381*c8dee2aaSAndroid Build Coastguard Workermul_float $1 *= $2 382*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[0]₁ = Mask($1) 383*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = ZM 384*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = two 385*c8dee2aaSAndroid Build Coastguard Workermul_float $1 *= $2 386*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[1]₁ = Mask($1) 387*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = ZP 388*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked b[2]₁ = Mask($1) 389*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $21 = CondMask 390*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $22 = eq₁ 391*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $1..4 = a[0]₁, a[1]₁, a[2]₁, b[0]₁ 392*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $5..6 = b[1]₁, b[2]₁ 393*c8dee2aaSAndroid Build Coastguard Workercmpne_3_floats $1..3 = notEqual($1..3, $4..6) 394*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $2 |= $3 395*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $1 |= $2 396*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $21 & $22 397*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +7 (label 22 at #398) 398*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $2..5 = a[0]₁, a[1]₁, a[2]₁, b[0]₁ 399*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $6..7 = b[1]₁, b[2]₁ 400*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats $2..4 = equal($2..4, $5..7) 401*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $3 &= $4 402*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $2 &= $3 403*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $1 = Mask($2) 404*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000016 405*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $21 406*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000015 407*c8dee2aaSAndroid Build Coastguard Workerbitwise_xor_imm_int $1 ^= 0xFFFFFFFF 408*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $0 = Mask($1) 409*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000001 410*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $12 411*c8dee2aaSAndroid Build Coastguard Workerswizzle_4 $0..3 = ($0..3).xxxx 412*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $4..7 = colorRed 413*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $8..11 = colorGreen 414*c8dee2aaSAndroid Build Coastguard Workermix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 415*c8dee2aaSAndroid Build Coastguard Workerload_src src.rgba = $0..3 416