| 369 instructions |
| |
| [immutable slots] |
| i0 = 0xFFFFFFFF |
| i1 = 0 |
| |
| store_src_rg coords = src.rg |
| init_lane_masks CondMask = LoopMask = RetMask = true |
| copy_uniform $0 = colorGreen(0) |
| copy_uniform $1 = colorGreen(2) |
| div_float $0 /= $1 |
| copy_slot_unmasked NAN1 = $0 |
| copy_uniform $0 = colorGreen(2) |
| copy_uniform $1 = colorGreen(0) |
| div_float $0 /= $1 |
| copy_slot_unmasked NAN2 = $0 |
| copy_uniform $0 = colorGreen(0) |
| copy_uniform $1 = colorGreen(2) |
| mul_float $0 *= $1 |
| copy_slot_unmasked ZP = $0 |
| copy_uniform $0 = colorGreen(0) |
| bitwise_xor_imm_int $0 ^= 0x80000000 |
| copy_uniform $1 = colorGreen(2) |
| mul_float $0 *= $1 |
| copy_slot_unmasked ZM = $0 |
| copy_uniform $0 = colorGreen(1) |
| mul_imm_float $0 *= 0x42280000 (42.0) |
| copy_slot_unmasked F42 = $0 |
| copy_uniform $0 = colorGreen(1) |
| mul_imm_float $0 *= 0x422C0000 (43.0) |
| copy_slot_unmasked F43 = $0 |
| copy_uniform $0 = colorGreen(1) |
| mul_imm_float $0 *= 0x42300000 (44.0) |
| copy_slot_unmasked F44 = $0 |
| copy_uniform $0 = colorGreen(1) |
| mul_imm_float $0 *= 0x42340000 (45.0) |
| copy_slot_unmasked F45 = $0 |
| copy_uniform $0 = colorGreen(0) |
| add_imm_float $0 += 0x3F800000 (1.0) |
| copy_slot_unmasked _0_one = $0 |
| copy_slot_unmasked _1_a(0) = F42 |
| copy_slot_unmasked _1_a(1) = ZM |
| copy_slot_unmasked _1_a(2) = ZP |
| copy_slot_unmasked _1_a(3) = F43 |
| copy_slot_unmasked $0 = F42 |
| copy_slot_unmasked $1 = _0_one |
| mul_float $0 *= $1 |
| copy_slot_unmasked $1 = ZM |
| copy_slot_unmasked $2 = _0_one |
| mul_float $1 *= $2 |
| copy_slot_unmasked $2 = ZP |
| copy_slot_unmasked $3 = _0_one |
| mul_float $2 *= $3 |
| copy_slot_unmasked $3 = F43 |
| copy_slot_unmasked $4 = _0_one |
| mul_float $3 *= $4 |
| copy_4_slots_unmasked _2_b = $0..3 |
| store_condition_mask $12 = CondMask |
| store_condition_mask $23 = CondMask |
| store_condition_mask $34 = CondMask |
| store_condition_mask $45 = CondMask |
| store_condition_mask $56 = CondMask |
| store_condition_mask $67 = CondMask |
| store_condition_mask $78 = CondMask |
| store_condition_mask $88 = CondMask |
| copy_constant $89 = 0xFFFFFFFF |
| copy_4_slots_unmasked $79..82 = _1_a |
| copy_4_slots_unmasked $83..86 = _2_b |
| cmpne_4_floats $79..82 = notEqual($79..82, $83..86) |
| bitwise_or_2_ints $79..80 |= $81..82 |
| bitwise_or_int $79 |= $80 |
| merge_condition_mask CondMask = $88 & $89 |
| branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 8 at #74) |
| copy_4_slots_unmasked $80..83 = _1_a |
| copy_4_slots_unmasked $84..87 = _2_b |
| cmpeq_4_floats $80..83 = equal($80..83, $84..87) |
| bitwise_and_2_ints $80..81 &= $82..83 |
| bitwise_and_int $80 &= $81 |
| copy_slot_masked $79 = Mask($80) |
| label label 0x00000008 |
| load_condition_mask CondMask = $88 |
| copy_constant $68 = 0 |
| merge_condition_mask CondMask = $78 & $79 |
| branch_if_no_lanes_active branch_if_no_lanes_active +42 (label 7 at #120) |
| copy_constant eq = 0 |
| copy_uniform $69 = colorGreen(0) |
| add_imm_float $69 += 0x3F800000 (1.0) |
| copy_slot_unmasked one = $69 |
| copy_slot_unmasked a(0) = F42 |
| copy_slot_unmasked a(1) = ZM |
| copy_slot_unmasked a(2) = ZP |
| copy_slot_unmasked a(3) = F43 |
| copy_slot_unmasked $69 = F42 |
| copy_slot_unmasked $70 = one |
| mul_float $69 *= $70 |
| copy_slot_unmasked $70 = ZM |
| copy_slot_unmasked $71 = one |
| mul_float $70 *= $71 |
| copy_slot_unmasked $71 = ZP |
| copy_slot_unmasked $72 = one |
| mul_float $71 *= $72 |
| copy_slot_unmasked $72 = F43 |
| copy_slot_unmasked $73 = one |
| mul_float $72 *= $73 |
| copy_4_slots_unmasked b = $69..72 |
| store_condition_mask $88 = CondMask |
| copy_slot_unmasked $89 = eq |
| copy_4_slots_unmasked $69..72 = a |
| copy_4_slots_unmasked $73..76 = b |
| cmpne_4_floats $69..72 = notEqual($69..72, $73..76) |
| bitwise_or_2_ints $69..70 |= $71..72 |
| bitwise_or_int $69 |= $70 |
| merge_condition_mask CondMask = $88 & $89 |
| branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 10 at #115) |
| copy_4_slots_unmasked $70..73 = a |
| copy_4_slots_unmasked $74..77 = b |
| cmpeq_4_floats $70..73 = equal($70..73, $74..77) |
| bitwise_and_2_ints $70..71 &= $72..73 |
| bitwise_and_int $70 &= $71 |
| copy_slot_masked $69 = Mask($70) |
| label label 0x0000000A |
| load_condition_mask CondMask = $88 |
| label label 0x00000009 |
| bitwise_xor_imm_int $69 ^= 0xFFFFFFFF |
| copy_slot_masked $68 = Mask($69) |
| label label 0x00000007 |
| load_condition_mask CondMask = $78 |
| copy_constant $57 = 0 |
| merge_condition_mask CondMask = $67 & $68 |
| branch_if_no_lanes_active branch_if_no_lanes_active +40 (label 6 at #164) |
| copy_constant eq = 0 |
| copy_uniform $58 = colorGreen(0) |
| add_imm_float $58 += 0x3F800000 (1.0) |
| copy_slot_unmasked one = $58 |
| copy_slot_unmasked a(0) = F42 |
| copy_2_slots_unmasked a(1..2) = NAN1, NAN2 |
| copy_slot_unmasked a(3) = F43 |
| copy_slot_unmasked $58 = F42 |
| copy_slot_unmasked $59 = one |
| mul_float $58 *= $59 |
| copy_slot_unmasked $59 = NAN1 |
| copy_slot_unmasked $60 = one |
| mul_float $59 *= $60 |
| copy_slot_unmasked $60 = NAN2 |
| copy_slot_unmasked $61 = one |
| mul_float $60 *= $61 |
| copy_slot_unmasked $61 = F43 |
| copy_slot_unmasked $62 = one |
| mul_float $61 *= $62 |
| copy_4_slots_unmasked b = $58..61 |
| store_condition_mask $78 = CondMask |
| copy_slot_unmasked $79 = eq |
| copy_4_slots_unmasked $58..61 = a |
| copy_4_slots_unmasked $62..65 = b |
| cmpne_4_floats $58..61 = notEqual($58..61, $62..65) |
| bitwise_or_2_ints $58..59 |= $60..61 |
| bitwise_or_int $58 |= $59 |
| merge_condition_mask CondMask = $78 & $79 |
| branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 12 at #160) |
| copy_4_slots_unmasked $59..62 = a |
| copy_4_slots_unmasked $63..66 = b |
| cmpeq_4_floats $59..62 = equal($59..62, $63..66) |
| bitwise_and_2_ints $59..60 &= $61..62 |
| bitwise_and_int $59 &= $60 |
| copy_slot_masked $58 = Mask($59) |
| label label 0x0000000C |
| load_condition_mask CondMask = $78 |
| label label 0x0000000B |
| copy_slot_masked $57 = Mask($58) |
| label label 0x00000006 |
| load_condition_mask CondMask = $67 |
| copy_constant $46 = 0 |
| merge_condition_mask CondMask = $56 & $57 |
| branch_if_no_lanes_active branch_if_no_lanes_active +41 (label 5 at #209) |
| copy_constant eq = 0xFFFFFFFF |
| copy_uniform $47 = colorGreen(0) |
| add_imm_float $47 += 0x3F800000 (1.0) |
| copy_slot_unmasked one = $47 |
| copy_slot_unmasked a(0) = F42 |
| copy_2_slots_unmasked a(1..2) = NAN1, NAN2 |
| copy_slot_unmasked a(3) = F43 |
| copy_slot_unmasked $47 = F42 |
| copy_slot_unmasked $48 = one |
| mul_float $47 *= $48 |
| copy_slot_unmasked $48 = NAN1 |
| copy_slot_unmasked $49 = one |
| mul_float $48 *= $49 |
| copy_slot_unmasked $49 = NAN2 |
| copy_slot_unmasked $50 = one |
| mul_float $49 *= $50 |
| copy_slot_unmasked $50 = F43 |
| copy_slot_unmasked $51 = one |
| mul_float $50 *= $51 |
| copy_4_slots_unmasked b = $47..50 |
| store_condition_mask $67 = CondMask |
| copy_slot_unmasked $68 = eq |
| copy_4_slots_unmasked $47..50 = a |
| copy_4_slots_unmasked $51..54 = b |
| cmpne_4_floats $47..50 = notEqual($47..50, $51..54) |
| bitwise_or_2_ints $47..48 |= $49..50 |
| bitwise_or_int $47 |= $48 |
| merge_condition_mask CondMask = $67 & $68 |
| branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 14 at #204) |
| copy_4_slots_unmasked $48..51 = a |
| copy_4_slots_unmasked $52..55 = b |
| cmpeq_4_floats $48..51 = equal($48..51, $52..55) |
| bitwise_and_2_ints $48..49 &= $50..51 |
| bitwise_and_int $48 &= $49 |
| copy_slot_masked $47 = Mask($48) |
| label label 0x0000000E |
| load_condition_mask CondMask = $67 |
| label label 0x0000000D |
| bitwise_xor_imm_int $47 ^= 0xFFFFFFFF |
| copy_slot_masked $46 = Mask($47) |
| label label 0x00000005 |
| load_condition_mask CondMask = $56 |
| copy_constant $35 = 0 |
| merge_condition_mask CondMask = $45 & $46 |
| branch_if_no_lanes_active branch_if_no_lanes_active +38 (label 4 at #251) |
| copy_constant eq₁ = 0 |
| copy_uniform $36 = colorGreen(0) |
| add_imm_float $36 += 0x40000000 (2.0) |
| copy_slot_unmasked two = $36 |
| copy_4_slots_unmasked a₁ = F42, F43, F44, F45 |
| copy_slot_unmasked $36 = F42 |
| copy_slot_unmasked $37 = two |
| mul_float $36 *= $37 |
| copy_slot_unmasked $37 = F43 |
| copy_slot_unmasked $38 = two |
| mul_float $37 *= $38 |
| copy_slot_unmasked $38 = F44 |
| copy_slot_unmasked $39 = two |
| mul_float $38 *= $39 |
| copy_slot_unmasked $39 = F45 |
| copy_slot_unmasked $40 = two |
| mul_float $39 *= $40 |
| copy_4_slots_unmasked b₁ = $36..39 |
| store_condition_mask $56 = CondMask |
| copy_slot_unmasked $57 = eq₁ |
| copy_4_slots_unmasked $36..39 = a₁ |
| copy_4_slots_unmasked $40..43 = b₁ |
| cmpne_4_floats $36..39 = notEqual($36..39, $40..43) |
| bitwise_or_2_ints $36..37 |= $38..39 |
| bitwise_or_int $36 |= $37 |
| merge_condition_mask CondMask = $56 & $57 |
| branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 16 at #247) |
| copy_4_slots_unmasked $37..40 = a₁ |
| copy_4_slots_unmasked $41..44 = b₁ |
| cmpeq_4_floats $37..40 = equal($37..40, $41..44) |
| bitwise_and_2_ints $37..38 &= $39..40 |
| bitwise_and_int $37 &= $38 |
| copy_slot_masked $36 = Mask($37) |
| label label 0x00000010 |
| load_condition_mask CondMask = $56 |
| label label 0x0000000F |
| copy_slot_masked $35 = Mask($36) |
| label label 0x00000004 |
| load_condition_mask CondMask = $45 |
| copy_constant $24 = 0 |
| merge_condition_mask CondMask = $34 & $35 |
| branch_if_no_lanes_active branch_if_no_lanes_active +39 (label 3 at #294) |
| copy_constant eq₁ = 0xFFFFFFFF |
| copy_uniform $25 = colorGreen(0) |
| add_imm_float $25 += 0x40000000 (2.0) |
| copy_slot_unmasked two = $25 |
| copy_4_slots_unmasked a₁ = F42, F43, F44, F45 |
| copy_slot_unmasked $25 = F42 |
| copy_slot_unmasked $26 = two |
| mul_float $25 *= $26 |
| copy_slot_unmasked $26 = F43 |
| copy_slot_unmasked $27 = two |
| mul_float $26 *= $27 |
| copy_slot_unmasked $27 = F44 |
| copy_slot_unmasked $28 = two |
| mul_float $27 *= $28 |
| copy_slot_unmasked $28 = F45 |
| copy_slot_unmasked $29 = two |
| mul_float $28 *= $29 |
| copy_4_slots_unmasked b₁ = $25..28 |
| store_condition_mask $45 = CondMask |
| copy_slot_unmasked $46 = eq₁ |
| copy_4_slots_unmasked $25..28 = a₁ |
| copy_4_slots_unmasked $29..32 = b₁ |
| cmpne_4_floats $25..28 = notEqual($25..28, $29..32) |
| bitwise_or_2_ints $25..26 |= $27..28 |
| bitwise_or_int $25 |= $26 |
| merge_condition_mask CondMask = $45 & $46 |
| branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 18 at #289) |
| copy_4_slots_unmasked $26..29 = a₁ |
| copy_4_slots_unmasked $30..33 = b₁ |
| cmpeq_4_floats $26..29 = equal($26..29, $30..33) |
| bitwise_and_2_ints $26..27 &= $28..29 |
| bitwise_and_int $26 &= $27 |
| copy_slot_masked $25 = Mask($26) |
| label label 0x00000012 |
| load_condition_mask CondMask = $45 |
| label label 0x00000011 |
| bitwise_xor_imm_int $25 ^= 0xFFFFFFFF |
| copy_slot_masked $24 = Mask($25) |
| label label 0x00000003 |
| load_condition_mask CondMask = $34 |
| copy_constant $13 = 0 |
| merge_condition_mask CondMask = $23 & $24 |
| branch_if_no_lanes_active branch_if_no_lanes_active +41 (label 2 at #339) |
| copy_constant eq₁ = 0 |
| copy_uniform $14 = colorGreen(0) |
| add_imm_float $14 += 0x40000000 (2.0) |
| copy_slot_unmasked two = $14 |
| copy_slot_unmasked a₁(0) = NAN1 |
| copy_slot_unmasked a₁(1) = ZM |
| copy_slot_unmasked a₁(2) = ZP |
| copy_slot_unmasked a₁(3) = F42 |
| copy_slot_unmasked $14 = NAN1 |
| copy_slot_unmasked $15 = two |
| mul_float $14 *= $15 |
| copy_slot_unmasked $15 = ZM |
| copy_slot_unmasked $16 = two |
| mul_float $15 *= $16 |
| copy_slot_unmasked $16 = ZP |
| copy_slot_unmasked $17 = two |
| mul_float $16 *= $17 |
| copy_slot_unmasked $17 = F42 |
| copy_slot_unmasked $18 = two |
| mul_float $17 *= $18 |
| copy_4_slots_unmasked b₁ = $14..17 |
| store_condition_mask $34 = CondMask |
| copy_slot_unmasked $35 = eq₁ |
| copy_4_slots_unmasked $14..17 = a₁ |
| copy_4_slots_unmasked $18..21 = b₁ |
| cmpne_4_floats $14..17 = notEqual($14..17, $18..21) |
| bitwise_or_2_ints $14..15 |= $16..17 |
| bitwise_or_int $14 |= $15 |
| merge_condition_mask CondMask = $34 & $35 |
| branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 20 at #335) |
| copy_4_slots_unmasked $15..18 = a₁ |
| copy_4_slots_unmasked $19..22 = b₁ |
| cmpeq_4_floats $15..18 = equal($15..18, $19..22) |
| bitwise_and_2_ints $15..16 &= $17..18 |
| bitwise_and_int $15 &= $16 |
| copy_slot_masked $14 = Mask($15) |
| label label 0x00000014 |
| load_condition_mask CondMask = $34 |
| label label 0x00000013 |
| copy_slot_masked $13 = Mask($14) |
| label label 0x00000002 |
| load_condition_mask CondMask = $23 |
| copy_constant $0 = 0 |
| merge_condition_mask CondMask = $12 & $13 |
| branch_if_no_lanes_active branch_if_no_lanes_active +42 (label 1 at #385) |
| copy_constant eq₁ = 0xFFFFFFFF |
| copy_uniform $1 = colorGreen(0) |
| add_imm_float $1 += 0x40000000 (2.0) |
| copy_slot_unmasked two = $1 |
| copy_slot_unmasked a₁(0) = NAN1 |
| copy_slot_unmasked a₁(1) = ZM |
| copy_slot_unmasked a₁(2) = ZP |
| copy_slot_unmasked a₁(3) = F42 |
| copy_slot_unmasked $1 = NAN1 |
| copy_slot_unmasked $2 = two |
| mul_float $1 *= $2 |
| copy_slot_unmasked $2 = ZM |
| copy_slot_unmasked $3 = two |
| mul_float $2 *= $3 |
| copy_slot_unmasked $3 = ZP |
| copy_slot_unmasked $4 = two |
| mul_float $3 *= $4 |
| copy_slot_unmasked $4 = F42 |
| copy_slot_unmasked $5 = two |
| mul_float $4 *= $5 |
| copy_4_slots_unmasked b₁ = $1..4 |
| store_condition_mask $23 = CondMask |
| copy_slot_unmasked $24 = eq₁ |
| copy_4_slots_unmasked $1..4 = a₁ |
| copy_4_slots_unmasked $5..8 = b₁ |
| cmpne_4_floats $1..4 = notEqual($1..4, $5..8) |
| bitwise_or_2_ints $1..2 |= $3..4 |
| bitwise_or_int $1 |= $2 |
| merge_condition_mask CondMask = $23 & $24 |
| branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 22 at #380) |
| copy_4_slots_unmasked $2..5 = a₁ |
| copy_4_slots_unmasked $6..9 = b₁ |
| cmpeq_4_floats $2..5 = equal($2..5, $6..9) |
| bitwise_and_2_ints $2..3 &= $4..5 |
| bitwise_and_int $2 &= $3 |
| copy_slot_masked $1 = Mask($2) |
| label label 0x00000016 |
| load_condition_mask CondMask = $23 |
| label label 0x00000015 |
| bitwise_xor_imm_int $1 ^= 0xFFFFFFFF |
| copy_slot_masked $0 = Mask($1) |
| label label 0x00000001 |
| load_condition_mask CondMask = $12 |
| swizzle_4 $0..3 = ($0..3).xxxx |
| copy_4_uniforms $4..7 = colorRed |
| copy_4_uniforms $8..11 = colorGreen |
| mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) |
| load_src src.rgba = $0..3 |