blob: 75e8139f92840ab759bfecbf8d4badaef09dc777 [file] [log] [blame]
378 instructions
[immutable slots]
i0 = 0x00000007 (9.809089e-45)
i1 = 0x00000008 (1.121039e-44)
i2 = 0x00000009 (1.261169e-44)
i3 = 0x0000000A (1.401298e-44)
i4 = 0x00000008 (1.121039e-44)
i5 = 0x00000009 (1.261169e-44)
i6 = 0x0000000A (1.401298e-44)
i7 = 0x0000000B (1.541428e-44)
i8 = 0x00000009 (1.261169e-44)
i9 = 0x0000000A (1.401298e-44)
i10 = 0x0000000B (1.541428e-44)
i11 = 0x0000000C (1.681558e-44)
i12 = 0x3F800000 (1.0)
i13 = 0x40000000 (2.0)
i14 = 0x40400000 (3.0)
i15 = 0x40800000 (4.0)
i16 = 0x40A00000 (5.0)
i17 = 0x40C00000 (6.0)
i18 = 0x40E00000 (7.0)
i19 = 0x41000000 (8.0)
i20 = 0x41100000 (9.0)
i21 = 0x40000000 (2.0)
i22 = 0x40400000 (3.0)
i23 = 0x40800000 (4.0)
i24 = 0x40A00000 (5.0)
i25 = 0x40C00000 (6.0)
i26 = 0x40E00000 (7.0)
i27 = 0x41000000 (8.0)
i28 = 0x41100000 (9.0)
i29 = 0x41200000 (10.0)
i30 = 0x40400000 (3.0)
i31 = 0x40800000 (4.0)
i32 = 0x40A00000 (5.0)
i33 = 0x40C00000 (6.0)
i34 = 0x40E00000 (7.0)
i35 = 0x41000000 (8.0)
i36 = 0x41100000 (9.0)
i37 = 0x41200000 (10.0)
i38 = 0x41300000 (11.0)
store_src_rg c = src.rg
init_lane_masks CondMask = LoopMask = RetMask = true
copy_constant ok = 0xFFFFFFFF
copy_constant i = 0x00000005 (7.006492e-45)
add_imm_int i += 0x00000001
store_condition_mask $28 = CondMask
copy_slot_unmasked $29 = ok
copy_constant $0 = 0
merge_condition_mask CondMask = $28 & $29
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 0 at #17)
copy_slot_unmasked $1 = i
copy_slot_unmasked $2 = $1
add_imm_int $2 += 0x00000001
copy_slot_masked i = Mask($2)
cmpeq_imm_int $1 = equal($1, 0x00000006)
copy_slot_masked $0 = Mask($1)
label label 0
load_condition_mask CondMask = $28
copy_slot_unmasked ok = $0
copy_slot_unmasked $1 = i
cmpeq_imm_int $1 = equal($1, 0x00000007)
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
store_condition_mask $28 = CondMask
copy_slot_unmasked $29 = ok
copy_constant $0 = 0
merge_condition_mask CondMask = $28 & $29
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 1 at #35)
copy_slot_unmasked $1 = i
copy_slot_unmasked $2 = $1
add_imm_int $2 += 0xFFFFFFFF
copy_slot_masked i = Mask($2)
cmpeq_imm_int $1 = equal($1, 0x00000007)
copy_slot_masked $0 = Mask($1)
label label 0x00000001
load_condition_mask CondMask = $28
copy_slot_unmasked ok = $0
copy_slot_unmasked $1 = i
cmpeq_imm_int $1 = equal($1, 0x00000006)
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
add_imm_int i += 0xFFFFFFFF
copy_2_slots_unmasked $0..1 = ok, i
cmpeq_imm_int $1 = equal($1, 0x00000005)
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
copy_constant f = 0x3F000000 (0.5)
add_imm_float f += 0x3F800000 (1.0)
store_condition_mask $28 = CondMask
copy_slot_unmasked $29 = ok
copy_constant $0 = 0
merge_condition_mask CondMask = $28 & $29
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 2 at #60)
copy_slot_unmasked $1 = f
copy_slot_unmasked $2 = $1
add_imm_float $2 += 0x3F800000 (1.0)
copy_slot_masked f = Mask($2)
cmpeq_imm_float $1 = equal($1, 0x3FC00000 (1.5))
copy_slot_masked $0 = Mask($1)
label label 0x00000002
load_condition_mask CondMask = $28
copy_slot_unmasked ok = $0
copy_slot_unmasked $1 = f
cmpeq_imm_float $1 = equal($1, 0x40200000 (2.5))
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
store_condition_mask $28 = CondMask
copy_slot_unmasked $29 = ok
copy_constant $0 = 0
merge_condition_mask CondMask = $28 & $29
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 3 at #78)
copy_slot_unmasked $1 = f
copy_slot_unmasked $2 = $1
add_imm_float $2 += 0xBF800000 (-1.0)
copy_slot_masked f = Mask($2)
cmpeq_imm_float $1 = equal($1, 0x40200000 (2.5))
copy_slot_masked $0 = Mask($1)
label label 0x00000003
load_condition_mask CondMask = $28
copy_slot_unmasked ok = $0
copy_slot_unmasked $1 = f
cmpeq_imm_float $1 = equal($1, 0x3FC00000 (1.5))
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
add_imm_float f += 0xBF800000 (-1.0)
copy_slot_unmasked $0 = ok
copy_slot_unmasked $1 = f
cmpeq_imm_float $1 = equal($1, 0x3F000000 (0.5))
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
splat_2_constants f2 = 0x3F000000 (0.5)
add_imm_float f2(0) += 0x3F800000 (1.0)
store_condition_mask $28 = CondMask
copy_slot_unmasked $29 = ok
copy_constant $0 = 0
merge_condition_mask CondMask = $28 & $29
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 4 at #104)
copy_slot_unmasked $1 = f2(0)
copy_slot_unmasked $2 = $1
add_imm_float $2 += 0x3F800000 (1.0)
copy_slot_masked f2(0) = Mask($2)
cmpeq_imm_float $1 = equal($1, 0x3FC00000 (1.5))
copy_slot_masked $0 = Mask($1)
label label 0x00000004
load_condition_mask CondMask = $28
copy_slot_unmasked ok = $0
copy_slot_unmasked $1 = f2(0)
cmpeq_imm_float $1 = equal($1, 0x40200000 (2.5))
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
store_condition_mask $28 = CondMask
copy_slot_unmasked $29 = ok
copy_constant $0 = 0
merge_condition_mask CondMask = $28 & $29
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 5 at #122)
copy_slot_unmasked $1 = f2(0)
copy_slot_unmasked $2 = $1
add_imm_float $2 += 0xBF800000 (-1.0)
copy_slot_masked f2(0) = Mask($2)
cmpeq_imm_float $1 = equal($1, 0x40200000 (2.5))
copy_slot_masked $0 = Mask($1)
label label 0x00000005
load_condition_mask CondMask = $28
copy_slot_unmasked ok = $0
copy_slot_unmasked $1 = f2(0)
cmpeq_imm_float $1 = equal($1, 0x3FC00000 (1.5))
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
add_imm_float f2(0) += 0xBF800000 (-1.0)
copy_slot_unmasked $0 = ok
copy_slot_unmasked $1 = f2(0)
cmpeq_imm_float $1 = equal($1, 0x3F000000 (0.5))
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
copy_2_slots_unmasked $0..1 = f2
add_imm_float $0 += 0x3F800000 (1.0)
add_imm_float $1 += 0x3F800000 (1.0)
copy_2_slots_unmasked f2 = $0..1
store_condition_mask $28 = CondMask
copy_slot_unmasked $29 = ok
copy_constant $0 = 0
merge_condition_mask CondMask = $28 & $29
branch_if_no_lanes_active branch_if_no_lanes_active +10 (label 6 at #153)
copy_2_slots_unmasked $1..2 = f2
copy_2_slots_unmasked $3..4 = $1..2
add_imm_float $3 += 0x3F800000 (1.0)
add_imm_float $4 += 0x3F800000 (1.0)
copy_2_slots_masked f2 = Mask($3..4)
cmpeq_imm_float $1 = equal($1, 0x3FC00000 (1.5))
cmpeq_imm_float $2 = equal($2, 0x3FC00000 (1.5))
bitwise_and_int $1 &= $2
copy_slot_masked $0 = Mask($1)
label label 0x00000006
load_condition_mask CondMask = $28
copy_slot_unmasked ok = $0
copy_2_slots_unmasked $1..2 = f2
cmpeq_imm_float $1 = equal($1, 0x40200000 (2.5))
cmpeq_imm_float $2 = equal($2, 0x40200000 (2.5))
bitwise_and_int $1 &= $2
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
store_condition_mask $28 = CondMask
copy_slot_unmasked $29 = ok
copy_constant $0 = 0
merge_condition_mask CondMask = $28 & $29
branch_if_no_lanes_active branch_if_no_lanes_active +10 (label 7 at #176)
copy_2_slots_unmasked $1..2 = f2
copy_2_slots_unmasked $3..4 = $1..2
add_imm_float $3 += 0xBF800000 (-1.0)
add_imm_float $4 += 0xBF800000 (-1.0)
copy_2_slots_masked f2 = Mask($3..4)
cmpeq_imm_float $1 = equal($1, 0x40200000 (2.5))
cmpeq_imm_float $2 = equal($2, 0x40200000 (2.5))
bitwise_and_int $1 &= $2
copy_slot_masked $0 = Mask($1)
label label 0x00000007
load_condition_mask CondMask = $28
copy_slot_unmasked ok = $0
copy_2_slots_unmasked $1..2 = f2
cmpeq_imm_float $1 = equal($1, 0x3FC00000 (1.5))
cmpeq_imm_float $2 = equal($2, 0x3FC00000 (1.5))
bitwise_and_int $1 &= $2
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
copy_2_slots_unmasked $0..1 = f2
add_imm_float $0 += 0xBF800000 (-1.0)
add_imm_float $1 += 0xBF800000 (-1.0)
copy_2_slots_unmasked f2 = $0..1
copy_slot_unmasked $0 = ok
copy_2_slots_unmasked $1..2 = f2
cmpeq_imm_float $1 = equal($1, 0x3F000000 (0.5))
cmpeq_imm_float $2 = equal($2, 0x3F000000 (0.5))
bitwise_and_int $1 &= $2
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
copy_4_immutables_unmasked i4 = i0..3 [0x00000007 (9.809089e-45), 0x00000008 (1.121039e-44), 0x00000009 (1.261169e-44), 0x0000000A (1.401298e-44)]
copy_4_slots_unmasked $0..3 = i4
splat_4_constants $4..7 = 0x00000001 (1.401298e-45)
add_4_ints $0..3 += $4..7
copy_4_slots_unmasked i4 = $0..3
store_condition_mask $28 = CondMask
copy_slot_unmasked $29 = ok
copy_constant $0 = 0
merge_condition_mask CondMask = $28 & $29
branch_if_no_lanes_active branch_if_no_lanes_active +11 (label 8 at #216)
copy_4_slots_unmasked $1..4 = i4
copy_4_slots_unmasked $5..8 = $1..4
splat_4_constants $9..12 = 0x00000001 (1.401298e-45)
add_4_ints $5..8 += $9..12
copy_4_slots_masked i4 = Mask($5..8)
copy_4_immutables_unmasked $5..8 = i4..7 [0x00000008 (1.121039e-44), 0x00000009 (1.261169e-44), 0x0000000A (1.401298e-44), 0x0000000B (1.541428e-44)]
cmpeq_4_ints $1..4 = equal($1..4, $5..8)
bitwise_and_2_ints $1..2 &= $3..4
bitwise_and_int $1 &= $2
copy_slot_masked $0 = Mask($1)
label label 0x00000008
load_condition_mask CondMask = $28
copy_slot_unmasked ok = $0
copy_4_slots_unmasked $1..4 = i4
copy_4_immutables_unmasked $5..8 = i8..11 [0x00000009 (1.261169e-44), 0x0000000A (1.401298e-44), 0x0000000B (1.541428e-44), 0x0000000C (1.681558e-44)]
cmpeq_4_ints $1..4 = equal($1..4, $5..8)
bitwise_and_2_ints $1..2 &= $3..4
bitwise_and_int $1 &= $2
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
store_condition_mask $28 = CondMask
copy_slot_unmasked $29 = ok
copy_constant $0 = 0
merge_condition_mask CondMask = $28 & $29
branch_if_no_lanes_active branch_if_no_lanes_active +11 (label 9 at #241)
copy_4_slots_unmasked $1..4 = i4
copy_4_slots_unmasked $5..8 = $1..4
splat_4_constants $9..12 = 0x00000001 (1.401298e-45)
sub_4_ints $5..8 -= $9..12
copy_4_slots_masked i4 = Mask($5..8)
copy_4_immutables_unmasked $5..8 = i8..11 [0x00000009 (1.261169e-44), 0x0000000A (1.401298e-44), 0x0000000B (1.541428e-44), 0x0000000C (1.681558e-44)]
cmpeq_4_ints $1..4 = equal($1..4, $5..8)
bitwise_and_2_ints $1..2 &= $3..4
bitwise_and_int $1 &= $2
copy_slot_masked $0 = Mask($1)
label label 0x00000009
load_condition_mask CondMask = $28
copy_slot_unmasked ok = $0
copy_4_slots_unmasked $1..4 = i4
copy_4_immutables_unmasked $5..8 = i4..7 [0x00000008 (1.121039e-44), 0x00000009 (1.261169e-44), 0x0000000A (1.401298e-44), 0x0000000B (1.541428e-44)]
cmpeq_4_ints $1..4 = equal($1..4, $5..8)
bitwise_and_2_ints $1..2 &= $3..4
bitwise_and_int $1 &= $2
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
copy_4_slots_unmasked $0..3 = i4
splat_4_constants $4..7 = 0xFFFFFFFF
add_4_ints $0..3 += $4..7
copy_4_slots_unmasked i4 = $0..3
copy_slot_unmasked $0 = ok
copy_4_slots_unmasked $1..4 = i4
copy_4_immutables_unmasked $5..8 = i0..3 [0x00000007 (9.809089e-45), 0x00000008 (1.121039e-44), 0x00000009 (1.261169e-44), 0x0000000A (1.401298e-44)]
cmpeq_4_ints $1..4 = equal($1..4, $5..8)
bitwise_and_2_ints $1..2 &= $3..4
bitwise_and_int $1 &= $2
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
copy_4_immutables_unmasked m3x3(0..3) = i12..15 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)]
copy_4_immutables_unmasked m3x3(4..7) = i16..19 [0x40A00000 (5.0), 0x40C00000 (6.0), 0x40E00000 (7.0), 0x41000000 (8.0)]
copy_constant m3x3(8) = 0x41100000 (9.0)
copy_4_slots_unmasked $0..3 = m3x3(0..3)
copy_4_slots_unmasked $4..7 = m3x3(4..7)
copy_slot_unmasked $8 = m3x3(8)
splat_4_constants $9..12 = 0x3F800000 (1.0)
splat_4_constants $13..16 = 0x3F800000 (1.0)
copy_constant $17 = 0x3F800000 (1.0)
add_n_floats $0..8 += $9..17
copy_4_slots_unmasked m3x3(0..3) = $0..3
copy_4_slots_unmasked m3x3(4..7) = $4..7
copy_slot_unmasked m3x3(8) = $8
store_condition_mask $28 = CondMask
copy_slot_unmasked $29 = ok
copy_constant $0 = 0
merge_condition_mask CondMask = $28 & $29
branch_if_no_lanes_active branch_if_no_lanes_active +23 (label 10 at #303)
copy_4_slots_unmasked $1..4 = m3x3(0..3)
copy_4_slots_unmasked $5..8 = m3x3(4..7)
copy_slot_unmasked $9 = m3x3(8)
copy_4_slots_unmasked $10..13 = $1..4
copy_4_slots_unmasked $14..17 = $5..8
copy_slot_unmasked $18 = $9
splat_4_constants $19..22 = 0x3F800000 (1.0)
splat_4_constants $23..26 = 0x3F800000 (1.0)
copy_constant $27 = 0x3F800000 (1.0)
add_n_floats $10..18 += $19..27
copy_4_slots_masked m3x3(0..3) = Mask($10..13)
copy_4_slots_masked m3x3(4..7) = Mask($14..17)
copy_slot_masked m3x3(8) = Mask($18)
copy_4_immutables_unmasked $10..13 = i21..24 [0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0), 0x40A00000 (5.0)]
copy_4_immutables_unmasked $14..17 = i25..28 [0x40C00000 (6.0), 0x40E00000 (7.0), 0x41000000 (8.0), 0x41100000 (9.0)]
copy_constant $18 = 0x41200000 (10.0)
cmpeq_n_floats $1..9 = equal($1..9, $10..18)
bitwise_and_4_ints $2..5 &= $6..9
bitwise_and_2_ints $2..3 &= $4..5
bitwise_and_int $2 &= $3
bitwise_and_int $1 &= $2
copy_slot_masked $0 = Mask($1)
label label 0x0000000A
load_condition_mask CondMask = $28
copy_slot_unmasked ok = $0
copy_4_slots_unmasked $1..4 = m3x3(0..3)
copy_4_slots_unmasked $5..8 = m3x3(4..7)
copy_slot_unmasked $9 = m3x3(8)
copy_4_immutables_unmasked $10..13 = i30..33 [0x40400000 (3.0), 0x40800000 (4.0), 0x40A00000 (5.0), 0x40C00000 (6.0)]
copy_4_immutables_unmasked $14..17 = i34..37 [0x40E00000 (7.0), 0x41000000 (8.0), 0x41100000 (9.0), 0x41200000 (10.0)]
copy_constant $18 = 0x41300000 (11.0)
cmpeq_n_floats $1..9 = equal($1..9, $10..18)
bitwise_and_4_ints $2..5 &= $6..9
bitwise_and_2_ints $2..3 &= $4..5
bitwise_and_int $2 &= $3
bitwise_and_int $1 &= $2
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
store_condition_mask $28 = CondMask
copy_slot_unmasked $29 = ok
copy_constant $0 = 0
merge_condition_mask CondMask = $28 & $29
branch_if_no_lanes_active branch_if_no_lanes_active +23 (label 11 at #346)
copy_4_slots_unmasked $1..4 = m3x3(0..3)
copy_4_slots_unmasked $5..8 = m3x3(4..7)
copy_slot_unmasked $9 = m3x3(8)
copy_4_slots_unmasked $10..13 = $1..4
copy_4_slots_unmasked $14..17 = $5..8
copy_slot_unmasked $18 = $9
splat_4_constants $19..22 = 0x3F800000 (1.0)
splat_4_constants $23..26 = 0x3F800000 (1.0)
copy_constant $27 = 0x3F800000 (1.0)
sub_n_floats $10..18 -= $19..27
copy_4_slots_masked m3x3(0..3) = Mask($10..13)
copy_4_slots_masked m3x3(4..7) = Mask($14..17)
copy_slot_masked m3x3(8) = Mask($18)
copy_4_immutables_unmasked $10..13 = i30..33 [0x40400000 (3.0), 0x40800000 (4.0), 0x40A00000 (5.0), 0x40C00000 (6.0)]
copy_4_immutables_unmasked $14..17 = i34..37 [0x40E00000 (7.0), 0x41000000 (8.0), 0x41100000 (9.0), 0x41200000 (10.0)]
copy_constant $18 = 0x41300000 (11.0)
cmpeq_n_floats $1..9 = equal($1..9, $10..18)
bitwise_and_4_ints $2..5 &= $6..9
bitwise_and_2_ints $2..3 &= $4..5
bitwise_and_int $2 &= $3
bitwise_and_int $1 &= $2
copy_slot_masked $0 = Mask($1)
label label 0x0000000B
load_condition_mask CondMask = $28
copy_slot_unmasked ok = $0
copy_4_slots_unmasked $1..4 = m3x3(0..3)
copy_4_slots_unmasked $5..8 = m3x3(4..7)
copy_slot_unmasked $9 = m3x3(8)
copy_4_immutables_unmasked $10..13 = i21..24 [0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0), 0x40A00000 (5.0)]
copy_4_immutables_unmasked $14..17 = i25..28 [0x40C00000 (6.0), 0x40E00000 (7.0), 0x41000000 (8.0), 0x41100000 (9.0)]
copy_constant $18 = 0x41200000 (10.0)
cmpeq_n_floats $1..9 = equal($1..9, $10..18)
bitwise_and_4_ints $2..5 &= $6..9
bitwise_and_2_ints $2..3 &= $4..5
bitwise_and_int $2 &= $3
bitwise_and_int $1 &= $2
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
copy_4_slots_unmasked $0..3 = m3x3(0..3)
copy_4_slots_unmasked $4..7 = m3x3(4..7)
copy_slot_unmasked $8 = m3x3(8)
splat_4_constants $9..12 = 0xBF800000 (-1.0)
splat_4_constants $13..16 = 0xBF800000 (-1.0)
copy_constant $17 = 0xBF800000 (-1.0)
add_n_floats $0..8 += $9..17
copy_4_slots_unmasked m3x3(0..3) = $0..3
copy_4_slots_unmasked m3x3(4..7) = $4..7
copy_slot_unmasked m3x3(8) = $8
copy_slot_unmasked $0 = ok
copy_4_slots_unmasked $1..4 = m3x3(0..3)
copy_4_slots_unmasked $5..8 = m3x3(4..7)
copy_slot_unmasked $9 = m3x3(8)
copy_4_immutables_unmasked $10..13 = i12..15 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)]
copy_4_immutables_unmasked $14..17 = i16..19 [0x40A00000 (5.0), 0x40C00000 (6.0), 0x40E00000 (7.0), 0x41000000 (8.0)]
copy_constant $18 = 0x41100000 (9.0)
cmpeq_n_floats $1..9 = equal($1..9, $10..18)
bitwise_and_4_ints $2..5 &= $6..9
bitwise_and_2_ints $2..3 &= $4..5
bitwise_and_int $2 &= $3
bitwise_and_int $1 &= $2
bitwise_and_int $0 &= $1
copy_slot_unmasked ok = $0
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