1422 instructions 2 3[immutable slots] 4i0 = 0x40800000 (4.0) 5i1 = 0x40800000 (4.0) 6i2 = 0x40800000 (4.0) 7i3 = 0x40800000 (4.0) 8i4 = 0x40800000 (4.0) 9i5 = 0x40800000 (4.0) 10i6 = 0x40000000 (2.0) 11i7 = 0 12i8 = 0 13i9 = 0x40000000 (2.0) 14i10 = 0 15i11 = 0 16i12 = 0x40C00000 (6.0) 17i13 = 0x40800000 (4.0) 18i14 = 0x40800000 (4.0) 19i15 = 0x40C00000 (6.0) 20i16 = 0x40800000 (4.0) 21i17 = 0x40800000 (4.0) 22i18 = 0xC0000000 (-2.0) 23i19 = 0xC0800000 (-4.0) 24i20 = 0xC0800000 (-4.0) 25i21 = 0xC0000000 (-2.0) 26i22 = 0xC0800000 (-4.0) 27i23 = 0xC0800000 (-4.0) 28i24 = 0x3F000000 (0.5) 29i25 = 0 30i26 = 0 31i27 = 0x3F000000 (0.5) 32i28 = 0 33i29 = 0 34i30 = 0x40000000 (2.0) 35i31 = 0 36i32 = 0 37i33 = 0 38i34 = 0x40000000 (2.0) 39i35 = 0 40i36 = 0x40C00000 (6.0) 41i37 = 0x40800000 (4.0) 42i38 = 0x40800000 (4.0) 43i39 = 0x40800000 (4.0) 44i40 = 0x40C00000 (6.0) 45i41 = 0x40800000 (4.0) 46i42 = 0x40000000 (2.0) 47i43 = 0x40800000 (4.0) 48i44 = 0x40800000 (4.0) 49i45 = 0x40800000 (4.0) 50i46 = 0x40000000 (2.0) 51i47 = 0x40800000 (4.0) 52i48 = 0x40000000 (2.0) 53i49 = 0x40000000 (2.0) 54i50 = 0x40000000 (2.0) 55i51 = 0x40000000 (2.0) 56i52 = 0x40000000 (2.0) 57i53 = 0x40000000 (2.0) 58i54 = 0x3F800000 (1.0) 59i55 = 0x40000000 (2.0) 60i56 = 0x40400000 (3.0) 61i57 = 0x40800000 (4.0) 62i58 = 0x40A00000 (5.0) 63i59 = 0x40C00000 (6.0) 64i60 = 0x40E00000 (7.0) 65i61 = 0x41000000 (8.0) 66i62 = 0x41100000 (9.0) 67i63 = 0x41200000 (10.0) 68i64 = 0x41300000 (11.0) 69i65 = 0x41400000 (12.0) 70i66 = 0x41800000 (16.0) 71i67 = 0x41700000 (15.0) 72i68 = 0x41600000 (14.0) 73i69 = 0x41500000 (13.0) 74i70 = 0x41400000 (12.0) 75i71 = 0x41300000 (11.0) 76i72 = 0x41200000 (10.0) 77i73 = 0x41100000 (9.0) 78i74 = 0x41000000 (8.0) 79i75 = 0x40E00000 (7.0) 80i76 = 0x40C00000 (6.0) 81i77 = 0x40A00000 (5.0) 82i78 = 0x41880000 (17.0) 83i79 = 0x41880000 (17.0) 84i80 = 0x41880000 (17.0) 85i81 = 0x41880000 (17.0) 86i82 = 0x41880000 (17.0) 87i83 = 0x41880000 (17.0) 88i84 = 0x41880000 (17.0) 89i85 = 0x41880000 (17.0) 90i86 = 0x41880000 (17.0) 91i87 = 0x41880000 (17.0) 92i88 = 0x41880000 (17.0) 93i89 = 0x41880000 (17.0) 94i90 = 0x41200000 (10.0) 95i91 = 0x41A00000 (20.0) 96i92 = 0x41F00000 (30.0) 97i93 = 0x42200000 (40.0) 98i94 = 0x42480000 (50.0) 99i95 = 0x42700000 (60.0) 100i96 = 0x428C0000 (70.0) 101i97 = 0x42A00000 (80.0) 102i98 = 0x41100000 (9.0) 103i99 = 0x41900000 (18.0) 104i100 = 0x41D80000 (27.0) 105i101 = 0x42100000 (36.0) 106i102 = 0x42340000 (45.0) 107i103 = 0x42580000 (54.0) 108i104 = 0x427C0000 (63.0) 109i105 = 0x42900000 (72.0) 110i106 = 0x41200000 (10.0) 111i107 = 0x41A00000 (20.0) 112i108 = 0x41F00000 (30.0) 113i109 = 0x42200000 (40.0) 114i110 = 0x41200000 (10.0) 115i111 = 0x41A00000 (20.0) 116i112 = 0x41F00000 (30.0) 117i113 = 0x42200000 (40.0) 118i114 = 0x41200000 (10.0) 119i115 = 0x41200000 (10.0) 120i116 = 0x41200000 (10.0) 121i117 = 0x41200000 (10.0) 122i118 = 0x40A00000 (5.0) 123i119 = 0x40A00000 (5.0) 124i120 = 0x40A00000 (5.0) 125i121 = 0x40A00000 (5.0) 126i122 = 0x3F800000 (1.0) 127i123 = 0x40000000 (2.0) 128i124 = 0x40400000 (3.0) 129i125 = 0x40800000 (4.0) 130i126 = 0x40000000 (2.0) 131i127 = 0x40800000 (4.0) 132i128 = 0x40C00000 (6.0) 133i129 = 0x41000000 (8.0) 134i130 = 0x40E00000 (7.0) 135i131 = 0x41100000 (9.0) 136i132 = 0x41300000 (11.0) 137i133 = 0x41000000 (8.0) 138i134 = 0x41200000 (10.0) 139i135 = 0x41400000 (12.0) 140i136 = 0x3F800000 (1.0) 141i137 = 0x40800000 (4.0) 142i138 = 0x40000000 (2.0) 143i139 = 0x40A00000 (5.0) 144i140 = 0x421C0000 (39.0) 145i141 = 0x42440000 (49.0) 146i142 = 0x426C0000 (59.0) 147i143 = 0x42580000 (54.0) 148i144 = 0x42880000 (68.0) 149i145 = 0x42A40000 (82.0) 150 151store_src_rg coords = src.rg 152init_lane_masks CondMask = LoopMask = RetMask = true 153copy_constant _0_ok = 0xFFFFFFFF 154copy_4_immutables_unmasked _2_m(0..3) = i6..9 [0x40000000 (2.0), 0, 0, 0x40000000 (2.0)] 155splat_2_constants _2_m(4..5) = 0 156copy_4_slots_unmasked $0..3 = _2_m(0..3) 157copy_2_slots_unmasked $4..5 = _2_m(4..5) 158splat_4_constants $6..9 = 0x40800000 (4.0) 159splat_2_constants $10..11 = 0x40800000 (4.0) 160add_n_floats $0..5 += $6..11 161copy_4_slots_unmasked _2_m(0..3) = $0..3 162copy_2_slots_unmasked _2_m(4..5) = $4..5 163copy_4_slots_unmasked $0..3 = _0_ok, _2_m(0..2) 164copy_3_slots_unmasked $4..6 = _2_m(3..5) 165copy_4_immutables_unmasked $7..10 = i12..15 [0x40C00000 (6.0), 0x40800000 (4.0), 0x40800000 (4.0), 0x40C00000 (6.0)] 166splat_2_constants $11..12 = 0x40800000 (4.0) 167cmpeq_n_floats $1..6 = equal($1..6, $7..12) 168bitwise_and_3_ints $1..3 &= $4..6 169bitwise_and_int $2 &= $3 170bitwise_and_int $1 &= $2 171bitwise_and_int $0 &= $1 172copy_slot_unmasked _0_ok = $0 173copy_4_immutables_unmasked _2_m(0..3) = i6..9 [0x40000000 (2.0), 0, 0, 0x40000000 (2.0)] 174splat_2_constants _2_m(4..5) = 0 175copy_4_slots_unmasked $0..3 = _2_m(0..3) 176copy_2_slots_unmasked $4..5 = _2_m(4..5) 177splat_4_constants $6..9 = 0x40800000 (4.0) 178splat_2_constants $10..11 = 0x40800000 (4.0) 179sub_n_floats $0..5 -= $6..11 180copy_4_slots_unmasked _2_m(0..3) = $0..3 181copy_2_slots_unmasked _2_m(4..5) = $4..5 182copy_4_slots_unmasked $0..3 = _0_ok, _2_m(0..2) 183copy_3_slots_unmasked $4..6 = _2_m(3..5) 184copy_4_immutables_unmasked $7..10 = i18..21 [0xC0000000 (-2.0), 0xC0800000 (-4.0), 0xC0800000 (-4.0), 0xC0000000 (-2.0)] 185splat_2_constants $11..12 = 0xC0800000 (-4.0) 186cmpeq_n_floats $1..6 = equal($1..6, $7..12) 187bitwise_and_3_ints $1..3 &= $4..6 188bitwise_and_int $2 &= $3 189bitwise_and_int $1 &= $2 190bitwise_and_int $0 &= $1 191copy_slot_unmasked _0_ok = $0 192copy_4_immutables_unmasked _2_m(0..3) = i6..9 [0x40000000 (2.0), 0, 0, 0x40000000 (2.0)] 193splat_2_constants _2_m(4..5) = 0 194copy_4_slots_unmasked $0..3 = _2_m(0..3) 195copy_2_slots_unmasked $4..5 = _2_m(4..5) 196splat_4_constants $6..9 = 0x40800000 (4.0) 197splat_2_constants $10..11 = 0x40800000 (4.0) 198div_n_floats $0..5 /= $6..11 199copy_4_slots_unmasked _2_m(0..3) = $0..3 200copy_2_slots_unmasked _2_m(4..5) = $4..5 201copy_4_slots_unmasked $0..3 = _0_ok, _2_m(0..2) 202copy_3_slots_unmasked $4..6 = _2_m(3..5) 203copy_4_immutables_unmasked $7..10 = i24..27 [0x3F000000 (0.5), 0, 0, 0x3F000000 (0.5)] 204splat_2_constants $11..12 = 0 205cmpeq_n_floats $1..6 = equal($1..6, $7..12) 206bitwise_and_3_ints $1..3 &= $4..6 207bitwise_and_int $2 &= $3 208bitwise_and_int $1 &= $2 209bitwise_and_int $0 &= $1 210copy_slot_unmasked _0_ok = $0 211splat_4_constants _4_m(0..3) = 0x40800000 (4.0) 212splat_2_constants _4_m(4..5) = 0x40800000 (4.0) 213copy_4_slots_unmasked $0..3 = _4_m(0..3) 214copy_2_slots_unmasked $4..5 = _4_m(4..5) 215copy_4_immutables_unmasked $6..9 = i30..33 [0x40000000 (2.0), 0, 0, 0] 216copy_2_immutables_unmasked $10..11 = i34..35 [0x40000000 (2.0), 0] 217add_n_floats $0..5 += $6..11 218copy_4_slots_unmasked _4_m(0..3) = $0..3 219copy_2_slots_unmasked _4_m(4..5) = $4..5 220copy_slot_unmasked $0 = _0_ok 221copy_4_slots_unmasked $1..4 = _4_m(0..3) 222copy_2_slots_unmasked $5..6 = _4_m(4..5) 223copy_4_immutables_unmasked $7..10 = i36..39 [0x40C00000 (6.0), 0x40800000 (4.0), 0x40800000 (4.0), 0x40800000 (4.0)] 224copy_2_immutables_unmasked $11..12 = i40..41 [0x40C00000 (6.0), 0x40800000 (4.0)] 225cmpeq_n_floats $1..6 = equal($1..6, $7..12) 226bitwise_and_3_ints $1..3 &= $4..6 227bitwise_and_int $2 &= $3 228bitwise_and_int $1 &= $2 229bitwise_and_int $0 &= $1 230copy_slot_unmasked _0_ok = $0 231splat_4_constants _4_m(0..3) = 0x40800000 (4.0) 232splat_2_constants _4_m(4..5) = 0x40800000 (4.0) 233copy_4_slots_unmasked $0..3 = _4_m(0..3) 234copy_2_slots_unmasked $4..5 = _4_m(4..5) 235copy_4_immutables_unmasked $6..9 = i30..33 [0x40000000 (2.0), 0, 0, 0] 236copy_2_immutables_unmasked $10..11 = i34..35 [0x40000000 (2.0), 0] 237sub_n_floats $0..5 -= $6..11 238copy_4_slots_unmasked _4_m(0..3) = $0..3 239copy_2_slots_unmasked _4_m(4..5) = $4..5 240copy_slot_unmasked $0 = _0_ok 241copy_4_slots_unmasked $1..4 = _4_m(0..3) 242copy_2_slots_unmasked $5..6 = _4_m(4..5) 243copy_4_immutables_unmasked $7..10 = i42..45 [0x40000000 (2.0), 0x40800000 (4.0), 0x40800000 (4.0), 0x40800000 (4.0)] 244copy_2_immutables_unmasked $11..12 = i46..47 [0x40000000 (2.0), 0x40800000 (4.0)] 245cmpeq_n_floats $1..6 = equal($1..6, $7..12) 246bitwise_and_3_ints $1..3 &= $4..6 247bitwise_and_int $2 &= $3 248bitwise_and_int $1 &= $2 249bitwise_and_int $0 &= $1 250copy_slot_unmasked _0_ok = $0 251splat_4_constants _4_m(0..3) = 0x40800000 (4.0) 252splat_2_constants _4_m(4..5) = 0x40800000 (4.0) 253copy_4_slots_unmasked $0..3 = _4_m(0..3) 254copy_2_slots_unmasked $4..5 = _4_m(4..5) 255splat_4_constants $6..9 = 0x40000000 (2.0) 256splat_2_constants $10..11 = 0x40000000 (2.0) 257div_n_floats $0..5 /= $6..11 258copy_4_slots_unmasked _4_m(0..3) = $0..3 259copy_2_slots_unmasked _4_m(4..5) = $4..5 260copy_slot_unmasked $0 = _0_ok 261copy_4_slots_unmasked $1..4 = _4_m(0..3) 262copy_2_slots_unmasked $5..6 = _4_m(4..5) 263splat_4_constants $7..10 = 0x40000000 (2.0) 264splat_2_constants $11..12 = 0x40000000 (2.0) 265cmpeq_n_floats $1..6 = equal($1..6, $7..12) 266bitwise_and_3_ints $1..3 &= $4..6 267bitwise_and_int $2 &= $3 268bitwise_and_int $1 &= $2 269bitwise_and_int $0 &= $1 270copy_slot_unmasked _0_ok = $0 271copy_4_immutables_unmasked _5_m(0..3) = i54..57 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)] 272copy_4_immutables_unmasked _5_m(4..7) = i58..61 [0x40A00000 (5.0), 0x40C00000 (6.0), 0x40E00000 (7.0), 0x41000000 (8.0)] 273copy_4_immutables_unmasked _5_m(8..11) = i62..65 [0x41100000 (9.0), 0x41200000 (10.0), 0x41300000 (11.0), 0x41400000 (12.0)] 274copy_4_slots_unmasked $0..3 = _5_m(0..3) 275copy_4_slots_unmasked $4..7 = _5_m(4..7) 276copy_4_slots_unmasked $8..11 = _5_m(8..11) 277copy_4_immutables_unmasked $12..15 = i66..69 [0x41800000 (16.0), 0x41700000 (15.0), 0x41600000 (14.0), 0x41500000 (13.0)] 278copy_4_immutables_unmasked $16..19 = i70..73 [0x41400000 (12.0), 0x41300000 (11.0), 0x41200000 (10.0), 0x41100000 (9.0)] 279copy_4_immutables_unmasked $20..23 = i74..77 [0x41000000 (8.0), 0x40E00000 (7.0), 0x40C00000 (6.0), 0x40A00000 (5.0)] 280add_n_floats $0..11 += $12..23 281copy_4_slots_unmasked _5_m(0..3) = $0..3 282copy_4_slots_unmasked _5_m(4..7) = $4..7 283copy_4_slots_unmasked _5_m(8..11) = $8..11 284copy_slot_unmasked $0 = _0_ok 285copy_4_slots_unmasked $1..4 = _5_m(0..3) 286copy_4_slots_unmasked $5..8 = _5_m(4..7) 287copy_4_slots_unmasked $9..12 = _5_m(8..11) 288splat_4_constants $13..16 = 0x41880000 (17.0) 289splat_4_constants $17..20 = 0x41880000 (17.0) 290splat_4_constants $21..24 = 0x41880000 (17.0) 291cmpeq_n_floats $1..12 = equal($1..12, $13..24) 292bitwise_and_4_ints $5..8 &= $9..12 293bitwise_and_4_ints $1..4 &= $5..8 294bitwise_and_2_ints $1..2 &= $3..4 295bitwise_and_int $1 &= $2 296bitwise_and_int $0 &= $1 297copy_slot_unmasked _0_ok = $0 298copy_4_immutables_unmasked _6_m(0..3) = i90..93 [0x41200000 (10.0), 0x41A00000 (20.0), 0x41F00000 (30.0), 0x42200000 (40.0)] 299copy_4_immutables_unmasked _6_m(4..7) = i94..97 [0x42480000 (50.0), 0x42700000 (60.0), 0x428C0000 (70.0), 0x42A00000 (80.0)] 300copy_4_slots_unmasked $0..3 = _6_m(0..3) 301copy_4_slots_unmasked $4..7 = _6_m(4..7) 302copy_4_immutables_unmasked $8..11 = i54..57 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)] 303copy_4_immutables_unmasked $12..15 = i58..61 [0x40A00000 (5.0), 0x40C00000 (6.0), 0x40E00000 (7.0), 0x41000000 (8.0)] 304sub_n_floats $0..7 -= $8..15 305copy_4_slots_unmasked _6_m(0..3) = $0..3 306copy_4_slots_unmasked _6_m(4..7) = $4..7 307copy_slot_unmasked $0 = _0_ok 308copy_4_slots_unmasked $1..4 = _6_m(0..3) 309copy_4_slots_unmasked $5..8 = _6_m(4..7) 310copy_4_immutables_unmasked $9..12 = i98..101 [0x41100000 (9.0), 0x41900000 (18.0), 0x41D80000 (27.0), 0x42100000 (36.0)] 311copy_4_immutables_unmasked $13..16 = i102..105 [0x42340000 (45.0), 0x42580000 (54.0), 0x427C0000 (63.0), 0x42900000 (72.0)] 312cmpeq_n_floats $1..8 = equal($1..8, $9..16) 313bitwise_and_4_ints $1..4 &= $5..8 314bitwise_and_2_ints $1..2 &= $3..4 315bitwise_and_int $1 &= $2 316bitwise_and_int $0 &= $1 317copy_slot_unmasked _0_ok = $0 318copy_4_immutables_unmasked _7_m(0..3) = i106..109 [0x41200000 (10.0), 0x41A00000 (20.0), 0x41F00000 (30.0), 0x42200000 (40.0)] 319copy_4_immutables_unmasked _7_m(4..7) = i110..113 [0x41200000 (10.0), 0x41A00000 (20.0), 0x41F00000 (30.0), 0x42200000 (40.0)] 320copy_4_slots_unmasked $0..3 = _7_m(0..3) 321copy_4_slots_unmasked $4..7 = _7_m(4..7) 322splat_4_constants $8..11 = 0x41200000 (10.0) 323splat_4_constants $12..15 = 0x40A00000 (5.0) 324div_n_floats $0..7 /= $8..15 325copy_4_slots_unmasked _7_m(0..3) = $0..3 326copy_4_slots_unmasked _7_m(4..7) = $4..7 327copy_slot_unmasked $0 = _0_ok 328copy_4_slots_unmasked $1..4 = _7_m(0..3) 329copy_4_slots_unmasked $5..8 = _7_m(4..7) 330copy_4_immutables_unmasked $9..12 = i122..125 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)] 331copy_4_immutables_unmasked $13..16 = i126..129 [0x40000000 (2.0), 0x40800000 (4.0), 0x40C00000 (6.0), 0x41000000 (8.0)] 332cmpeq_n_floats $1..8 = equal($1..8, $9..16) 333bitwise_and_4_ints $1..4 &= $5..8 334bitwise_and_2_ints $1..2 &= $3..4 335bitwise_and_int $1 &= $2 336bitwise_and_int $0 &= $1 337copy_slot_unmasked _0_ok = $0 338copy_4_immutables_unmasked _8_m(0..3) = i130..133 [0x40E00000 (7.0), 0x41100000 (9.0), 0x41300000 (11.0), 0x41000000 (8.0)] 339copy_2_immutables_unmasked _8_m(4..5) = i134..135 [0x41200000 (10.0), 0x41400000 (12.0)] 340copy_4_slots_unmasked $6..9 = _8_m(0..3) 341copy_2_slots_unmasked $10..11 = _8_m(4..5) 342copy_4_immutables_unmasked $12..15 = i136..139 [0x3F800000 (1.0), 0x40800000 (4.0), 0x40000000 (2.0), 0x40A00000 (5.0)] 343matrix_multiply_2 mat2x3($0..5) = mat2x3($6..11) * mat2x2($12..15) 344copy_4_slots_unmasked _8_m(0..3) = $0..3 345copy_2_slots_unmasked _8_m(4..5) = $4..5 346copy_slot_unmasked $0 = _0_ok 347copy_4_slots_unmasked $1..4 = _8_m(0..3) 348copy_2_slots_unmasked $5..6 = _8_m(4..5) 349copy_4_immutables_unmasked $7..10 = i140..143 [0x421C0000 (39.0), 0x42440000 (49.0), 0x426C0000 (59.0), 0x42580000 (54.0)] 350copy_2_immutables_unmasked $11..12 = i144..145 [0x42880000 (68.0), 0x42A40000 (82.0)] 351cmpeq_n_floats $1..6 = equal($1..6, $7..12) 352bitwise_and_3_ints $1..3 &= $4..6 353bitwise_and_int $2 &= $3 354bitwise_and_int $1 &= $2 355bitwise_and_int $0 &= $1 356copy_slot_unmasked _0_ok = $0 357store_condition_mask $26 = CondMask 358copy_slot_unmasked $27 = _0_ok 359copy_constant $0 = 0 360merge_condition_mask CondMask = $26 & $27 361branch_if_no_lanes_active branch_if_no_lanes_active +207 (label 1 at #418) 362copy_constant ok = 0xFFFFFFFF 363copy_4_immutables_unmasked m(0..3) = i6..9 [0x40000000 (2.0), 0, 0, 0x40000000 (2.0)] 364splat_2_constants m(4..5) = 0 365copy_4_slots_unmasked $1..4 = m(0..3) 366copy_2_slots_unmasked $5..6 = m(4..5) 367splat_4_constants $7..10 = 0x40800000 (4.0) 368splat_2_constants $11..12 = 0x40800000 (4.0) 369add_n_floats $1..6 += $7..12 370copy_4_slots_masked m(0..3) = Mask($1..4) 371copy_2_slots_masked m(4..5) = Mask($5..6) 372copy_4_slots_unmasked $1..4 = ok, m(0..2) 373copy_3_slots_unmasked $5..7 = m(3..5) 374copy_4_immutables_unmasked $8..11 = i12..15 [0x40C00000 (6.0), 0x40800000 (4.0), 0x40800000 (4.0), 0x40C00000 (6.0)] 375splat_2_constants $12..13 = 0x40800000 (4.0) 376cmpeq_n_floats $2..7 = equal($2..7, $8..13) 377bitwise_and_3_ints $2..4 &= $5..7 378bitwise_and_int $3 &= $4 379bitwise_and_int $2 &= $3 380bitwise_and_int $1 &= $2 381copy_slot_masked ok = Mask($1) 382copy_4_immutables_unmasked $1..4 = i6..9 [0x40000000 (2.0), 0, 0, 0x40000000 (2.0)] 383splat_2_constants $5..6 = 0 384copy_4_slots_masked m(0..3) = Mask($1..4) 385copy_2_slots_masked m(4..5) = Mask($5..6) 386splat_4_constants $7..10 = 0x40800000 (4.0) 387splat_2_constants $11..12 = 0x40800000 (4.0) 388sub_n_floats $1..6 -= $7..12 389copy_4_slots_masked m(0..3) = Mask($1..4) 390copy_2_slots_masked m(4..5) = Mask($5..6) 391copy_4_slots_unmasked $1..4 = ok, m(0..2) 392copy_3_slots_unmasked $5..7 = m(3..5) 393copy_4_immutables_unmasked $8..11 = i18..21 [0xC0000000 (-2.0), 0xC0800000 (-4.0), 0xC0800000 (-4.0), 0xC0000000 (-2.0)] 394splat_2_constants $12..13 = 0xC0800000 (-4.0) 395cmpeq_n_floats $2..7 = equal($2..7, $8..13) 396bitwise_and_3_ints $2..4 &= $5..7 397bitwise_and_int $3 &= $4 398bitwise_and_int $2 &= $3 399bitwise_and_int $1 &= $2 400copy_slot_masked ok = Mask($1) 401copy_4_immutables_unmasked $1..4 = i6..9 [0x40000000 (2.0), 0, 0, 0x40000000 (2.0)] 402splat_2_constants $5..6 = 0 403copy_4_slots_masked m(0..3) = Mask($1..4) 404copy_2_slots_masked m(4..5) = Mask($5..6) 405splat_4_constants $7..10 = 0x40800000 (4.0) 406splat_2_constants $11..12 = 0x40800000 (4.0) 407div_n_floats $1..6 /= $7..12 408copy_4_slots_masked m(0..3) = Mask($1..4) 409copy_2_slots_masked m(4..5) = Mask($5..6) 410copy_4_slots_unmasked $1..4 = ok, m(0..2) 411copy_3_slots_unmasked $5..7 = m(3..5) 412copy_4_immutables_unmasked $8..11 = i24..27 [0x3F000000 (0.5), 0, 0, 0x3F000000 (0.5)] 413splat_2_constants $12..13 = 0 414cmpeq_n_floats $2..7 = equal($2..7, $8..13) 415bitwise_and_3_ints $2..4 &= $5..7 416bitwise_and_int $3 &= $4 417bitwise_and_int $2 &= $3 418bitwise_and_int $1 &= $2 419copy_slot_masked ok = Mask($1) 420splat_4_constants m₁(0..3) = 0x40800000 (4.0) 421splat_2_constants m₁(4..5) = 0x40800000 (4.0) 422copy_4_slots_unmasked $1..4 = m₁(0..3) 423copy_2_slots_unmasked $5..6 = m₁(4..5) 424copy_4_immutables_unmasked $7..10 = i30..33 [0x40000000 (2.0), 0, 0, 0] 425copy_2_immutables_unmasked $11..12 = i34..35 [0x40000000 (2.0), 0] 426add_n_floats $1..6 += $7..12 427copy_4_slots_masked m₁(0..3) = Mask($1..4) 428copy_2_slots_masked m₁(4..5) = Mask($5..6) 429copy_slot_unmasked $1 = ok 430copy_4_slots_unmasked $2..5 = m₁(0..3) 431copy_2_slots_unmasked $6..7 = m₁(4..5) 432copy_4_immutables_unmasked $8..11 = i36..39 [0x40C00000 (6.0), 0x40800000 (4.0), 0x40800000 (4.0), 0x40800000 (4.0)] 433copy_2_immutables_unmasked $12..13 = i40..41 [0x40C00000 (6.0), 0x40800000 (4.0)] 434cmpeq_n_floats $2..7 = equal($2..7, $8..13) 435bitwise_and_3_ints $2..4 &= $5..7 436bitwise_and_int $3 &= $4 437bitwise_and_int $2 &= $3 438bitwise_and_int $1 &= $2 439copy_slot_masked ok = Mask($1) 440splat_4_constants $1..4 = 0x40800000 (4.0) 441splat_2_constants $5..6 = 0x40800000 (4.0) 442copy_4_slots_masked m₁(0..3) = Mask($1..4) 443copy_2_slots_masked m₁(4..5) = Mask($5..6) 444copy_4_immutables_unmasked $7..10 = i30..33 [0x40000000 (2.0), 0, 0, 0] 445copy_2_immutables_unmasked $11..12 = i34..35 [0x40000000 (2.0), 0] 446sub_n_floats $1..6 -= $7..12 447copy_4_slots_masked m₁(0..3) = Mask($1..4) 448copy_2_slots_masked m₁(4..5) = Mask($5..6) 449copy_slot_unmasked $1 = ok 450copy_4_slots_unmasked $2..5 = m₁(0..3) 451copy_2_slots_unmasked $6..7 = m₁(4..5) 452copy_4_immutables_unmasked $8..11 = i42..45 [0x40000000 (2.0), 0x40800000 (4.0), 0x40800000 (4.0), 0x40800000 (4.0)] 453copy_2_immutables_unmasked $12..13 = i46..47 [0x40000000 (2.0), 0x40800000 (4.0)] 454cmpeq_n_floats $2..7 = equal($2..7, $8..13) 455bitwise_and_3_ints $2..4 &= $5..7 456bitwise_and_int $3 &= $4 457bitwise_and_int $2 &= $3 458bitwise_and_int $1 &= $2 459copy_slot_masked ok = Mask($1) 460splat_4_constants $1..4 = 0x40800000 (4.0) 461splat_2_constants $5..6 = 0x40800000 (4.0) 462copy_4_slots_masked m₁(0..3) = Mask($1..4) 463copy_2_slots_masked m₁(4..5) = Mask($5..6) 464splat_4_constants $7..10 = 0x40000000 (2.0) 465splat_2_constants $11..12 = 0x40000000 (2.0) 466div_n_floats $1..6 /= $7..12 467copy_4_slots_masked m₁(0..3) = Mask($1..4) 468copy_2_slots_masked m₁(4..5) = Mask($5..6) 469copy_slot_unmasked $1 = ok 470copy_4_slots_unmasked $2..5 = m₁(0..3) 471copy_2_slots_unmasked $6..7 = m₁(4..5) 472splat_4_constants $8..11 = 0x40000000 (2.0) 473splat_2_constants $12..13 = 0x40000000 (2.0) 474cmpeq_n_floats $2..7 = equal($2..7, $8..13) 475bitwise_and_3_ints $2..4 &= $5..7 476bitwise_and_int $3 &= $4 477bitwise_and_int $2 &= $3 478bitwise_and_int $1 &= $2 479copy_slot_masked ok = Mask($1) 480copy_4_immutables_unmasked m₂(0..3) = i54..57 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)] 481copy_4_immutables_unmasked m₂(4..7) = i58..61 [0x40A00000 (5.0), 0x40C00000 (6.0), 0x40E00000 (7.0), 0x41000000 (8.0)] 482copy_4_immutables_unmasked m₂(8..11) = i62..65 [0x41100000 (9.0), 0x41200000 (10.0), 0x41300000 (11.0), 0x41400000 (12.0)] 483copy_4_slots_unmasked $1..4 = m₂(0..3) 484copy_4_slots_unmasked $5..8 = m₂(4..7) 485copy_4_slots_unmasked $9..12 = m₂(8..11) 486copy_4_immutables_unmasked $13..16 = i66..69 [0x41800000 (16.0), 0x41700000 (15.0), 0x41600000 (14.0), 0x41500000 (13.0)] 487copy_4_immutables_unmasked $17..20 = i70..73 [0x41400000 (12.0), 0x41300000 (11.0), 0x41200000 (10.0), 0x41100000 (9.0)] 488copy_4_immutables_unmasked $21..24 = i74..77 [0x41000000 (8.0), 0x40E00000 (7.0), 0x40C00000 (6.0), 0x40A00000 (5.0)] 489add_n_floats $1..12 += $13..24 490copy_4_slots_masked m₂(0..3) = Mask($1..4) 491copy_4_slots_masked m₂(4..7) = Mask($5..8) 492copy_4_slots_masked m₂(8..11) = Mask($9..12) 493copy_slot_unmasked $1 = ok 494copy_4_slots_unmasked $2..5 = m₂(0..3) 495copy_4_slots_unmasked $6..9 = m₂(4..7) 496copy_4_slots_unmasked $10..13 = m₂(8..11) 497splat_4_constants $14..17 = 0x41880000 (17.0) 498splat_4_constants $18..21 = 0x41880000 (17.0) 499splat_4_constants $22..25 = 0x41880000 (17.0) 500cmpeq_n_floats $2..13 = equal($2..13, $14..25) 501bitwise_and_4_ints $6..9 &= $10..13 502bitwise_and_4_ints $2..5 &= $6..9 503bitwise_and_2_ints $2..3 &= $4..5 504bitwise_and_int $2 &= $3 505bitwise_and_int $1 &= $2 506copy_slot_masked ok = Mask($1) 507copy_4_immutables_unmasked m₃(0..3) = i90..93 [0x41200000 (10.0), 0x41A00000 (20.0), 0x41F00000 (30.0), 0x42200000 (40.0)] 508copy_4_immutables_unmasked m₃(4..7) = i94..97 [0x42480000 (50.0), 0x42700000 (60.0), 0x428C0000 (70.0), 0x42A00000 (80.0)] 509copy_4_slots_unmasked $1..4 = m₃(0..3) 510copy_4_slots_unmasked $5..8 = m₃(4..7) 511copy_4_immutables_unmasked $9..12 = i54..57 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)] 512copy_4_immutables_unmasked $13..16 = i58..61 [0x40A00000 (5.0), 0x40C00000 (6.0), 0x40E00000 (7.0), 0x41000000 (8.0)] 513sub_n_floats $1..8 -= $9..16 514copy_4_slots_masked m₃(0..3) = Mask($1..4) 515copy_4_slots_masked m₃(4..7) = Mask($5..8) 516copy_slot_unmasked $1 = ok 517copy_4_slots_unmasked $2..5 = m₃(0..3) 518copy_4_slots_unmasked $6..9 = m₃(4..7) 519copy_4_immutables_unmasked $10..13 = i98..101 [0x41100000 (9.0), 0x41900000 (18.0), 0x41D80000 (27.0), 0x42100000 (36.0)] 520copy_4_immutables_unmasked $14..17 = i102..105 [0x42340000 (45.0), 0x42580000 (54.0), 0x427C0000 (63.0), 0x42900000 (72.0)] 521cmpeq_n_floats $2..9 = equal($2..9, $10..17) 522bitwise_and_4_ints $2..5 &= $6..9 523bitwise_and_2_ints $2..3 &= $4..5 524bitwise_and_int $2 &= $3 525bitwise_and_int $1 &= $2 526copy_slot_masked ok = Mask($1) 527copy_4_immutables_unmasked m₄(0..3) = i106..109 [0x41200000 (10.0), 0x41A00000 (20.0), 0x41F00000 (30.0), 0x42200000 (40.0)] 528copy_4_immutables_unmasked m₄(4..7) = i110..113 [0x41200000 (10.0), 0x41A00000 (20.0), 0x41F00000 (30.0), 0x42200000 (40.0)] 529copy_4_slots_unmasked $1..4 = m₄(0..3) 530copy_4_slots_unmasked $5..8 = m₄(4..7) 531splat_4_constants $9..12 = 0x41200000 (10.0) 532splat_4_constants $13..16 = 0x40A00000 (5.0) 533div_n_floats $1..8 /= $9..16 534copy_4_slots_masked m₄(0..3) = Mask($1..4) 535copy_4_slots_masked m₄(4..7) = Mask($5..8) 536copy_slot_unmasked $1 = ok 537copy_4_slots_unmasked $2..5 = m₄(0..3) 538copy_4_slots_unmasked $6..9 = m₄(4..7) 539copy_4_immutables_unmasked $10..13 = i122..125 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)] 540copy_4_immutables_unmasked $14..17 = i126..129 [0x40000000 (2.0), 0x40800000 (4.0), 0x40C00000 (6.0), 0x41000000 (8.0)] 541cmpeq_n_floats $2..9 = equal($2..9, $10..17) 542bitwise_and_4_ints $2..5 &= $6..9 543bitwise_and_2_ints $2..3 &= $4..5 544bitwise_and_int $2 &= $3 545bitwise_and_int $1 &= $2 546copy_slot_masked ok = Mask($1) 547copy_4_immutables_unmasked m₅(0..3) = i130..133 [0x40E00000 (7.0), 0x41100000 (9.0), 0x41300000 (11.0), 0x41000000 (8.0)] 548copy_2_immutables_unmasked m₅(4..5) = i134..135 [0x41200000 (10.0), 0x41400000 (12.0)] 549copy_4_slots_unmasked $7..10 = m₅(0..3) 550copy_2_slots_unmasked $11..12 = m₅(4..5) 551copy_4_immutables_unmasked $13..16 = i136..139 [0x3F800000 (1.0), 0x40800000 (4.0), 0x40000000 (2.0), 0x40A00000 (5.0)] 552matrix_multiply_2 mat2x3($1..6) = mat2x3($7..12) * mat2x2($13..16) 553copy_4_slots_masked m₅(0..3) = Mask($1..4) 554copy_2_slots_masked m₅(4..5) = Mask($5..6) 555copy_slot_unmasked $1 = ok 556copy_4_slots_unmasked $2..5 = m₅(0..3) 557copy_2_slots_unmasked $6..7 = m₅(4..5) 558copy_4_immutables_unmasked $8..11 = i140..143 [0x421C0000 (39.0), 0x42440000 (49.0), 0x426C0000 (59.0), 0x42580000 (54.0)] 559copy_2_immutables_unmasked $12..13 = i144..145 [0x42880000 (68.0), 0x42A40000 (82.0)] 560cmpeq_n_floats $2..7 = equal($2..7, $8..13) 561bitwise_and_3_ints $2..4 &= $5..7 562bitwise_and_int $3 &= $4 563bitwise_and_int $2 &= $3 564bitwise_and_int $1 &= $2 565copy_slot_masked ok = Mask($1) 566label label 0x00000002 567copy_slot_masked $0 = Mask($1) 568label label 0x00000001 569load_condition_mask CondMask = $26 570swizzle_4 $0..3 = ($0..3).xxxx 571copy_4_uniforms $4..7 = colorRed 572copy_4_uniforms $8..11 = colorGreen 573mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 574load_src src.rgba = $0..3 575