179 instructions [immutable slots] i0 = 0x3F800000 (1.0) i1 = 0x3F800000 (1.0) i2 = 0x40000000 (2.0) i3 = 0x40400000 (3.0) store_src_rg coords = src.rg init_lane_masks CondMask = LoopMask = RetMask = true copy_4_uniforms v = testInputs copy_constant $0 = 0 copy_4_slots_unmasked $1..4 = v swizzle_3 $1..3 = ($1..3).zyx copy_4_slots_unmasked v = $0..3 splat_2_constants $0..1 = 0 copy_4_slots_unmasked $2..5 = v copy_slot_unmasked $3 = $5 copy_4_slots_unmasked v = $0..3 splat_2_constants $0..1 = 0x3F800000 (1.0) copy_4_slots_unmasked $2..5 = v swizzle_2 $2..3 = ($2..5).wx copy_4_slots_unmasked v = $0..3 swizzle_2 $0..1 = ($0..2).zy splat_2_constants v(2..3) = 0x3F800000 (1.0) copy_2_slots_unmasked v(0..1) = $0..1 copy_4_slots_unmasked $0..3 = v swizzle_2 $0..1 = ($0..1).xx splat_2_constants v(2..3) = 0x3F800000 (1.0) copy_2_slots_unmasked v(0..1) = $0..1 copy_4_slots_unmasked $0..3 = v swizzle_4 $0..3 = ($0..3).wzwz copy_4_slots_unmasked v = $0..3 store_return_mask $0 = RetMask copy_constant x = 0x00000001 (1.401298e-45) store_loop_mask $1 = LoopMask jump jump +8 (label 2 at #37) label label 0x00000003 copy_slot_unmasked $2 = v(0) copy_slot_masked [fn].result = Mask($2) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) copy_slot_unmasked $2 = x add_imm_int $2 += 0x00000001 copy_slot_masked x = Mask($2) label label 0x00000002 copy_slot_unmasked $2 = x cmple_imm_int $2 = lessThanEqual($2, 0x00000002) merge_loop_mask LoopMask &= $2 stack_rewind branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 3 at #30) label label 0x00000001 load_loop_mask LoopMask = $1 load_return_mask RetMask = $0 copy_slot_unmasked $0 = [fn].result label label 0 copy_constant $1 = 0x42F60000 (123.0) copy_constant $2 = 0x43E40000 (456.0) swizzle_4 $0..3 = ($0..3).yyzz copy_4_slots_unmasked v = $0..3 store_return_mask $0 = RetMask copy_constant x = 0x00000001 (1.401298e-45) store_loop_mask $1 = LoopMask jump jump +8 (label 6 at #63) label label 0x00000007 copy_slot_unmasked $2 = v(0) copy_slot_masked [fn].result = Mask($2) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) copy_slot_unmasked $2 = x add_imm_int $2 += 0x00000001 copy_slot_masked x = Mask($2) label label 0x00000006 copy_slot_unmasked $2 = x cmple_imm_int $2 = lessThanEqual($2, 0x00000002) merge_loop_mask LoopMask &= $2 stack_rewind branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 7 at #56) label label 0x00000005 load_loop_mask LoopMask = $1 load_return_mask RetMask = $0 copy_slot_unmasked $0 = [fn].result label label 0x00000004 copy_constant $1 = 0x42F60000 (123.0) copy_constant $2 = 0x43E40000 (456.0) swizzle_4 $0..3 = ($0..3).yyzz copy_4_slots_unmasked v = $0..3 copy_constant $0 = 0x42F60000 (123.0) splat_2_constants $1..2 = 0x43E40000 (456.0) store_return_mask $3 = RetMask copy_constant x = 0x00000001 (1.401298e-45) store_loop_mask $4 = LoopMask jump jump +8 (label 10 at #91) label label 0x0000000B copy_slot_unmasked $5 = v(0) copy_slot_masked [fn].result = Mask($5) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) copy_slot_unmasked $5 = x add_imm_int $5 += 0x00000001 copy_slot_masked x = Mask($5) label label 0x0000000A copy_slot_unmasked $5 = x cmple_imm_int $5 = lessThanEqual($5, 0x00000002) merge_loop_mask LoopMask &= $5 stack_rewind branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 11 at #84) label label 0x00000009 load_loop_mask LoopMask = $4 load_return_mask RetMask = $3 copy_slot_unmasked $3 = [fn].result label label 0x00000008 copy_4_slots_unmasked v = $0..3 copy_constant $0 = 0x42F60000 (123.0) splat_2_constants $1..2 = 0x43E40000 (456.0) store_return_mask $3 = RetMask copy_constant x = 0x00000001 (1.401298e-45) store_loop_mask $4 = LoopMask jump jump +8 (label 14 at #116) label label 0x0000000F copy_slot_unmasked $5 = v(0) copy_slot_masked [fn].result = Mask($5) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) copy_slot_unmasked $5 = x add_imm_int $5 += 0x00000001 copy_slot_masked x = Mask($5) label label 0x0000000E copy_slot_unmasked $5 = x cmple_imm_int $5 = lessThanEqual($5, 0x00000002) merge_loop_mask LoopMask &= $5 stack_rewind branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 15 at #109) label label 0x0000000D load_loop_mask LoopMask = $4 load_return_mask RetMask = $3 copy_slot_unmasked $3 = [fn].result label label 0x0000000C copy_4_slots_unmasked v = $0..3 store_return_mask $0 = RetMask copy_constant x = 0x00000001 (1.401298e-45) store_loop_mask $1 = LoopMask jump jump +8 (label 18 at #139) label label 0x00000013 copy_slot_unmasked $2 = v(0) copy_slot_masked [fn].result = Mask($2) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) copy_slot_unmasked $2 = x add_imm_int $2 += 0x00000001 copy_slot_masked x = Mask($2) label label 0x00000012 copy_slot_unmasked $2 = x cmple_imm_int $2 = lessThanEqual($2, 0x00000002) merge_loop_mask LoopMask &= $2 stack_rewind branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 19 at #132) label label 0x00000011 load_loop_mask LoopMask = $1 load_return_mask RetMask = $0 copy_slot_unmasked $0 = [fn].result label label 0x00000010 copy_constant $1 = 0x42F60000 (123.0) copy_constant $2 = 0x43E40000 (456.0) swizzle_4 $0..3 = ($0..3).yxxz copy_4_slots_unmasked v = $0..3 store_return_mask $0 = RetMask copy_constant x = 0x00000001 (1.401298e-45) store_loop_mask $1 = LoopMask jump jump +8 (label 22 at #165) label label 0x00000017 copy_slot_unmasked $2 = v(0) copy_slot_masked [fn].result = Mask($2) mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) copy_slot_unmasked $2 = x add_imm_int $2 += 0x00000001 copy_slot_masked x = Mask($2) label label 0x00000016 copy_slot_unmasked $2 = x cmple_imm_int $2 = lessThanEqual($2, 0x00000002) merge_loop_mask LoopMask &= $2 stack_rewind branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 23 at #158) label label 0x00000015 load_loop_mask LoopMask = $1 load_return_mask RetMask = $0 copy_slot_unmasked $0 = [fn].result label label 0x00000014 copy_constant $1 = 0x42F60000 (123.0) copy_constant $2 = 0x43E40000 (456.0) swizzle_4 $0..3 = ($0..3).yxxz copy_4_slots_unmasked v = $0..3 copy_4_immutables_unmasked v = i0..3 [0x3F800000 (1.0), 0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0)] copy_3_uniforms v(0..2) = colorRed(0..2) copy_constant v(3) = 0x3F800000 (1.0) copy_uniform v(0) = colorRed(0) copy_constant v(1) = 0x3F800000 (1.0) copy_2_uniforms v(2..3) = colorRed(1..2) copy_4_slots_unmasked $0..3 = v swizzle_copy_4_slots_masked (v).wzyx = Mask($0..3) copy_2_slots_unmasked $0..1 = v(1..2) swizzle_copy_2_slots_masked (v).xw = Mask($0..1) copy_4_slots_unmasked $0..3 = v swizzle_2 $0..1 = ($0..3).ww copy_constant $2 = 0x3F800000 (1.0) swizzle_copy_3_slots_masked (v(0..2)).zyx = Mask($0..2) copy_4_slots_unmasked $0..3 = v splat_4_constants $4..7 = 0x3F800000 (1.0) cmpeq_4_floats $0..3 = equal($0..3, $4..7) bitwise_and_2_ints $0..1 &= $2..3 bitwise_and_int $0 &= $1 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