1*c8dee2aaSAndroid Build Coastguard Worker165 instructions 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Worker[immutable slots] 4*c8dee2aaSAndroid Build Coastguard Workeri0 = 0x40000000 (2.0) 5*c8dee2aaSAndroid Build Coastguard Workeri1 = 0x00000003 (4.203895e-45) 6*c8dee2aaSAndroid Build Coastguard Workeri2 = 0x3F800000 (1.0) 7*c8dee2aaSAndroid Build Coastguard Workeri3 = 0x40000000 (2.0) 8*c8dee2aaSAndroid Build Coastguard Workeri4 = 0x40400000 (3.0) 9*c8dee2aaSAndroid Build Coastguard Workeri5 = 0x40800000 (4.0) 10*c8dee2aaSAndroid Build Coastguard Workeri6 = 0x00000005 (7.006492e-45) 11*c8dee2aaSAndroid Build Coastguard Workeri7 = 0x00000006 (8.407791e-45) 12*c8dee2aaSAndroid Build Coastguard Workeri8 = 0x00000007 (9.809089e-45) 13*c8dee2aaSAndroid Build Coastguard Workeri9 = 0x3F800000 (1.0) 14*c8dee2aaSAndroid Build Coastguard Workeri10 = 0x00000002 (2.802597e-45) 15*c8dee2aaSAndroid Build Coastguard Workeri11 = 0x40000000 (2.0) 16*c8dee2aaSAndroid Build Coastguard Workeri12 = 0x00000003 (4.203895e-45) 17*c8dee2aaSAndroid Build Coastguard Worker 18*c8dee2aaSAndroid Build Coastguard Workerstore_src_rg coords = src.rg 19*c8dee2aaSAndroid Build Coastguard Workerinit_lane_masks CondMask = LoopMask = RetMask = true 20*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants s.x, s.y = 0 21*c8dee2aaSAndroid Build Coastguard Workercopy_constant s.x = 0x3F800000 (1.0) 22*c8dee2aaSAndroid Build Coastguard Workercopy_constant s.y = 0x00000002 (2.802597e-45) 23*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $0..1 = s.x, s.y 24*c8dee2aaSAndroid Build Coastguard Workerlabel label 0 25*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked s.x₁, s.y₁ = $0..1 26*c8dee2aaSAndroid Build Coastguard Workercast_to_float_from_int $1 = IntToFloat($1) 27*c8dee2aaSAndroid Build Coastguard Workeradd_float $0 += $1 28*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000001 29*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked x = $0 30*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked s.x₂, s.y₂ = s.x₁, s.y₁ 31*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float s.x₂ += 0x3F800000 (1.0) 32*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int s.y₂ += 0x00000001 33*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked s.x₁, s.y₁ = s.x₂, s.y₂ 34*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000002 35*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked $0..1 = i0..1 [0x40000000 (2.0), 0x00000003 (4.203895e-45)] 36*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000003 37*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked expected.x, expected.y = $0..1 38*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants n1.a.x, n1.a.y, n1.b.x, n1.b.y = 0 39*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants n2.a.x, n2.a.y, n2.b.x, n2.b.y = 0 40*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants n3.a.x, n3.a.y, n3.b.x, n3.b.y = 0 41*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants s.x, s.y = 0 42*c8dee2aaSAndroid Build Coastguard Workercopy_constant s.x = 0x3F800000 (1.0) 43*c8dee2aaSAndroid Build Coastguard Workercopy_constant s.y = 0x00000002 (2.802597e-45) 44*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $0..1 = s.x, s.y 45*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000004 46*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked n1.a.x, n1.a.y = $0..1 47*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked n1.b.x, n1.b.y = $0..1 48*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked n2.a.x, n2.a.y, n2.b.x, n2.b.y = n1.a.x, n1.a.y, n1.b.x, n1.b.y 49*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked n3.a.x, n3.a.y, n3.b.x, n3.b.y = n2.a.x, n2.a.y, n2.b.x, n2.b.y 50*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked s.x₂, s.y₂ = n3.b.x, n3.b.y 51*c8dee2aaSAndroid Build Coastguard Workeradd_imm_float s.x₂ += 0x3F800000 (1.0) 52*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int s.y₂ += 0x00000001 53*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked n3.b.x, n3.b.y = s.x₂, s.y₂ 54*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000005 55*c8dee2aaSAndroid Build Coastguard Workercopy_uniform c2.f4(0) = colorGreen(1) 56*c8dee2aaSAndroid Build Coastguard Workercopy_constant c2.f4(1) = 0x40000000 (2.0) 57*c8dee2aaSAndroid Build Coastguard Workercopy_constant c2.f4(2) = 0x40400000 (3.0) 58*c8dee2aaSAndroid Build Coastguard Workercopy_constant c2.f4(3) = 0x40800000 (4.0) 59*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked c2.i3 = i6..8 [0x00000005 (7.006492e-45), 0x00000006 (8.407791e-45), 0x00000007 (9.809089e-45)] 60*c8dee2aaSAndroid Build Coastguard Workercopy_uniform c3.f4(0) = colorGreen(0) 61*c8dee2aaSAndroid Build Coastguard Workercopy_constant c3.f4(1) = 0x40000000 (2.0) 62*c8dee2aaSAndroid Build Coastguard Workercopy_constant c3.f4(2) = 0x40400000 (3.0) 63*c8dee2aaSAndroid Build Coastguard Workercopy_constant c3.f4(3) = 0x40800000 (4.0) 64*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked c3.i3 = i6..8 [0x00000005 (7.006492e-45), 0x00000006 (8.407791e-45), 0x00000007 (9.809089e-45)] 65*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $12 = CondMask 66*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $13 = x 67*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float $13 = equal($13, 0x40400000 (3.0)) 68*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $14 = s.x₁ 69*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float $14 = equal($14, 0x40000000 (2.0)) 70*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $13 &= $14 71*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $14 = s.y₁ 72*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_int $14 = equal($14, 0x00000003) 73*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $13 &= $14 74*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $14 = s.x₁ 75*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $15 = expected.x 76*c8dee2aaSAndroid Build Coastguard Workercmpeq_float $14 = equal($14, $15) 77*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $15 = s.y₁ 78*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $16 = expected.y 79*c8dee2aaSAndroid Build Coastguard Workercmpeq_int $15 = equal($15, $16) 80*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $14 &= $15 81*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $13 &= $14 82*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $14 = s.x₁ 83*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked $17..18 = i0..1 [0x40000000 (2.0), 0x00000003 (4.203895e-45)] 84*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $15 = $17 85*c8dee2aaSAndroid Build Coastguard Workercmpeq_float $14 = equal($14, $15) 86*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $15 = s.y₁ 87*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $16 = $18 88*c8dee2aaSAndroid Build Coastguard Workercmpeq_int $15 = equal($15, $16) 89*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $14 &= $15 90*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $13 &= $14 91*c8dee2aaSAndroid Build Coastguard Workercopy_constant $0 = 0 92*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $12 & $13 93*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +17 (label 6 at #93) 94*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = s.x₁ 95*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +7 (label 7 at #85) 96*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants s.x, s.y = 0 97*c8dee2aaSAndroid Build Coastguard Workercopy_constant $17 = 0x3F800000 (1.0) 98*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked s.x = Mask($17) 99*c8dee2aaSAndroid Build Coastguard Workercopy_constant $17 = 0x00000002 (2.802597e-45) 100*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked s.y = Mask($17) 101*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked $17..18 = s.x, s.y 102*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000007 103*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = $17 104*c8dee2aaSAndroid Build Coastguard Workercmpne_float $1 = notEqual($1, $2) 105*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = s.y₁ 106*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = $18 107*c8dee2aaSAndroid Build Coastguard Workercmpne_int $2 = notEqual($2, $3) 108*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $1 |= $2 109*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $0 = Mask($1) 110*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000006 111*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $12 112*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = n1.a.x 113*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = n2.a.x 114*c8dee2aaSAndroid Build Coastguard Workercmpeq_float $1 = equal($1, $2) 115*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = n1.a.y 116*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = n2.a.y 117*c8dee2aaSAndroid Build Coastguard Workercmpeq_int $2 = equal($2, $3) 118*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $1 &= $2 119*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = n1.b.x 120*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = n2.b.x 121*c8dee2aaSAndroid Build Coastguard Workercmpeq_float $2 = equal($2, $3) 122*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = n1.b.y 123*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = n2.b.y 124*c8dee2aaSAndroid Build Coastguard Workercmpeq_int $3 = equal($3, $4) 125*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $2 &= $3 126*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $1 &= $2 127*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $0 &= $1 128*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = n1.a.x 129*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = n3.a.x 130*c8dee2aaSAndroid Build Coastguard Workercmpne_float $1 = notEqual($1, $2) 131*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = n1.a.y 132*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = n3.a.y 133*c8dee2aaSAndroid Build Coastguard Workercmpne_int $2 = notEqual($2, $3) 134*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $1 |= $2 135*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = n1.b.x 136*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = n3.b.x 137*c8dee2aaSAndroid Build Coastguard Workercmpne_float $2 = notEqual($2, $3) 138*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = n1.b.y 139*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = n3.b.y 140*c8dee2aaSAndroid Build Coastguard Workercmpne_int $3 = notEqual($3, $4) 141*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $2 |= $3 142*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $1 |= $2 143*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $0 &= $1 144*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = n3.a.x 145*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked $12..15 = i9..12 [0x3F800000 (1.0), 0x00000002 (2.802597e-45), 0x40000000 (2.0), 0x00000003 (4.203895e-45)] 146*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = $12 147*c8dee2aaSAndroid Build Coastguard Workercmpeq_float $1 = equal($1, $2) 148*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = n3.a.y 149*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = $13 150*c8dee2aaSAndroid Build Coastguard Workercmpeq_int $2 = equal($2, $3) 151*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $1 &= $2 152*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = n3.b.x 153*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = $14 154*c8dee2aaSAndroid Build Coastguard Workercmpeq_float $2 = equal($2, $3) 155*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = n3.b.y 156*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = $15 157*c8dee2aaSAndroid Build Coastguard Workercmpeq_int $3 = equal($3, $4) 158*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $2 &= $3 159*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $1 &= $2 160*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $0 &= $1 161*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked $1..4 = i2..5 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)] 162*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $5..8 = c2.f4 163*c8dee2aaSAndroid Build Coastguard Workercmpeq_4_floats $1..4 = equal($1..4, $5..8) 164*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints $1..2 &= $3..4 165*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $1 &= $2 166*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked $2..4 = i6..8 [0x00000005 (7.006492e-45), 0x00000006 (8.407791e-45), 0x00000007 (9.809089e-45)] 167*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked $5..7 = c2.i3 168*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_ints $2..4 = equal($2..4, $5..7) 169*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $3 &= $4 170*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $2 &= $3 171*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $1 &= $2 172*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $0 &= $1 173*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $1..4 = c2.f4 174*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $5..8 = c3.f4 175*c8dee2aaSAndroid Build Coastguard Workercmpne_4_floats $1..4 = notEqual($1..4, $5..8) 176*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_2_ints $1..2 |= $3..4 177*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $1 |= $2 178*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked $2..4 = c2.i3 179*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked $5..7 = c3.i3 180*c8dee2aaSAndroid Build Coastguard Workercmpne_3_ints $2..4 = notEqual($2..4, $5..7) 181*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $3 |= $4 182*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $2 |= $3 183*c8dee2aaSAndroid Build Coastguard Workerbitwise_or_int $1 |= $2 184*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $0 &= $1 185*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked valid = $0 186*c8dee2aaSAndroid Build Coastguard Workerswizzle_4 $0..3 = ($0..3).xxxx 187*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $4..7 = colorRed 188*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $8..11 = colorGreen 189*c8dee2aaSAndroid Build Coastguard Workermix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 190*c8dee2aaSAndroid Build Coastguard Workerload_src src.rgba = $0..3 191