1867 instructions 2 3[immutable slots] 4i0 = 0 5i1 = 0 6i2 = 0 7i3 = 0 8i4 = 0 9i5 = 0 10i6 = 0 11i7 = 0 12i8 = 0 13i9 = 0 14i10 = 0 15i11 = 0 16i12 = 0 17i13 = 0 18i14 = 0 19i15 = 0 20i16 = 0 21i17 = 0 22i18 = 0 23i19 = 0 24i20 = 0 25i21 = 0 26i22 = 0 27i23 = 0 28i24 = 0 29i25 = 0 30i26 = 0 31i27 = 0 32i28 = 0 33i29 = 0x3F800000 (1.0) 34i30 = 0x3F800000 (1.0) 35i31 = 0x3F800000 (1.0) 36i32 = 0x3F800000 (1.0) 37i33 = 0x3F800000 (1.0) 38i34 = 0x3F800000 (1.0) 39i35 = 0x3F800000 (1.0) 40i36 = 0x3F800000 (1.0) 41i37 = 0x3F800000 (1.0) 42i38 = 0x3F800000 (1.0) 43i39 = 0x3F800000 (1.0) 44i40 = 0x3F800000 (1.0) 45i41 = 0x3F800000 (1.0) 46i42 = 0x3F800000 (1.0) 47i43 = 0x3F800000 (1.0) 48i44 = 0x3F800000 (1.0) 49i45 = 0x3F800000 (1.0) 50i46 = 0x3F800000 (1.0) 51i47 = 0x3F800000 (1.0) 52i48 = 0x3F800000 (1.0) 53i49 = 0x3F800000 (1.0) 54i50 = 0x3F800000 (1.0) 55i51 = 0x3F800000 (1.0) 56i52 = 0x3F800000 (1.0) 57i53 = 0x3F800000 (1.0) 58i54 = 0x3F800000 (1.0) 59i55 = 0x3F800000 (1.0) 60i56 = 0x3F800000 (1.0) 61i57 = 0x3F800000 (1.0) 62 63store_src_rg coords = src.rg 64init_lane_masks CondMask = LoopMask = RetMask = true 65store_condition_mask $51 = CondMask 66store_condition_mask $82 = CondMask 67store_condition_mask $98 = CondMask 68store_condition_mask $150 = CondMask 69store_condition_mask $181 = CondMask 70branch_if_no_lanes_active branch_if_no_lanes_active +67 (label 6 at #75) 71store_return_mask $182 = RetMask 72splat_4_constants m = 0 73splat_4_constants mm = 0 74copy_4_uniforms $183..186 = testMatrix2x2 75copy_4_slots_masked m = Mask($183..186) 76copy_4_uniforms $183..186 = testMatrix2x2 77copy_4_slots_masked m = Mask($183..186) 78store_condition_mask $183 = CondMask 79copy_4_slots_unmasked $184..187 = m 80copy_4_uniforms $188..191 = testMatrix2x2 81cmpne_4_floats $184..187 = notEqual($184..187, $188..191) 82bitwise_or_2_ints $184..185 |= $186..187 83bitwise_or_int $184 |= $185 84merge_condition_mask CondMask = $183 & $184 85copy_constant $185 = 0 86copy_slot_masked [test_no_op_scalar_X_mat2].result = Mask($185) 87mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 88load_condition_mask CondMask = $183 89copy_4_slots_unmasked $184..187 = m 90copy_4_uniforms $188..191 = testMatrix2x2 91cmpne_4_floats $184..187 = notEqual($184..187, $188..191) 92bitwise_or_2_ints $184..185 |= $186..187 93bitwise_or_int $184 |= $185 94merge_condition_mask CondMask = $183 & $184 95copy_constant $185 = 0 96copy_slot_masked [test_no_op_scalar_X_mat2].result = Mask($185) 97mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 98load_condition_mask CondMask = $183 99copy_4_slots_unmasked $184..187 = m 100copy_4_uniforms $188..191 = testMatrix2x2 101cmpne_4_floats $184..187 = notEqual($184..187, $188..191) 102bitwise_or_2_ints $184..185 |= $186..187 103bitwise_or_int $184 |= $185 104merge_condition_mask CondMask = $183 & $184 105copy_constant $185 = 0 106copy_slot_masked [test_no_op_scalar_X_mat2].result = Mask($185) 107mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 108load_condition_mask CondMask = $183 109copy_4_slots_unmasked $183..186 = m 110splat_4_constants $187..190 = 0x80000000 (-0.0) 111bitwise_xor_4_ints $183..186 ^= $187..190 112copy_4_slots_masked m = Mask($183..186) 113store_condition_mask $183 = CondMask 114copy_4_slots_unmasked $184..187 = m 115copy_4_uniforms $188..191 = testMatrix2x2 116splat_4_constants $192..195 = 0x80000000 (-0.0) 117bitwise_xor_4_ints $188..191 ^= $192..195 118cmpne_4_floats $184..187 = notEqual($184..187, $188..191) 119bitwise_or_2_ints $184..185 |= $186..187 120bitwise_or_int $184 |= $185 121merge_condition_mask CondMask = $183 & $184 122copy_constant $185 = 0 123copy_slot_masked [test_no_op_scalar_X_mat2].result = Mask($185) 124mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 125load_condition_mask CondMask = $183 126splat_4_constants $183..186 = 0 127copy_4_slots_masked mm = Mask($183..186) 128splat_4_constants $183..186 = 0 129copy_4_slots_masked mm = Mask($183..186) 130splat_4_constants $187..190 = 0 131cmpeq_4_floats $183..186 = equal($183..186, $187..190) 132bitwise_and_2_ints $183..184 &= $185..186 133bitwise_and_int $183 &= $184 134copy_slot_masked [test_no_op_scalar_X_mat2].result = Mask($183) 135load_return_mask RetMask = $182 136copy_slot_unmasked $182 = [test_no_op_scalar_X_mat2].result 137label label 0x00000006 138copy_constant $151 = 0 139merge_condition_mask CondMask = $181 & $182 140branch_if_no_lanes_active branch_if_no_lanes_active +124 (label 5 at #202) 141store_return_mask $152 = RetMask 142splat_4_constants m₁(0..3) = 0 143splat_4_constants m₁(4..7) = 0 144splat_4_constants m₁(8), mm₁(0..2) = 0 145splat_4_constants mm₁(3..6) = 0 146splat_2_constants mm₁(7..8) = 0 147copy_4_uniforms $153..156 = testMatrix3x3(0..3) 148copy_4_uniforms $157..160 = testMatrix3x3(4..7) 149copy_uniform $161 = testMatrix3x3(8) 150copy_4_slots_masked m₁(0..3) = Mask($153..156) 151copy_4_slots_masked m₁(4..7) = Mask($157..160) 152copy_slot_masked m₁(8) = Mask($161) 153copy_4_uniforms $153..156 = testMatrix3x3(0..3) 154copy_4_uniforms $157..160 = testMatrix3x3(4..7) 155copy_uniform $161 = testMatrix3x3(8) 156copy_4_slots_masked m₁(0..3) = Mask($153..156) 157copy_4_slots_masked m₁(4..7) = Mask($157..160) 158copy_slot_masked m₁(8) = Mask($161) 159store_condition_mask $153 = CondMask 160copy_4_slots_unmasked $154..157 = m₁(0..3) 161copy_4_slots_unmasked $158..161 = m₁(4..7) 162copy_slot_unmasked $162 = m₁(8) 163copy_4_uniforms $163..166 = testMatrix3x3(0..3) 164copy_4_uniforms $167..170 = testMatrix3x3(4..7) 165copy_uniform $171 = testMatrix3x3(8) 166cmpne_n_floats $154..162 = notEqual($154..162, $163..171) 167bitwise_or_4_ints $155..158 |= $159..162 168bitwise_or_2_ints $155..156 |= $157..158 169bitwise_or_int $155 |= $156 170bitwise_or_int $154 |= $155 171merge_condition_mask CondMask = $153 & $154 172copy_constant $155 = 0 173copy_slot_masked [test_no_op_scalar_X_mat3].result = Mask($155) 174mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 175load_condition_mask CondMask = $153 176copy_4_slots_unmasked $154..157 = m₁(0..3) 177copy_4_slots_unmasked $158..161 = m₁(4..7) 178copy_slot_unmasked $162 = m₁(8) 179copy_4_uniforms $163..166 = testMatrix3x3(0..3) 180copy_4_uniforms $167..170 = testMatrix3x3(4..7) 181copy_uniform $171 = testMatrix3x3(8) 182cmpne_n_floats $154..162 = notEqual($154..162, $163..171) 183bitwise_or_4_ints $155..158 |= $159..162 184bitwise_or_2_ints $155..156 |= $157..158 185bitwise_or_int $155 |= $156 186bitwise_or_int $154 |= $155 187merge_condition_mask CondMask = $153 & $154 188copy_constant $155 = 0 189copy_slot_masked [test_no_op_scalar_X_mat3].result = Mask($155) 190mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 191load_condition_mask CondMask = $153 192copy_4_slots_unmasked $154..157 = m₁(0..3) 193copy_4_slots_unmasked $158..161 = m₁(4..7) 194copy_slot_unmasked $162 = m₁(8) 195copy_4_uniforms $163..166 = testMatrix3x3(0..3) 196copy_4_uniforms $167..170 = testMatrix3x3(4..7) 197copy_uniform $171 = testMatrix3x3(8) 198cmpne_n_floats $154..162 = notEqual($154..162, $163..171) 199bitwise_or_4_ints $155..158 |= $159..162 200bitwise_or_2_ints $155..156 |= $157..158 201bitwise_or_int $155 |= $156 202bitwise_or_int $154 |= $155 203merge_condition_mask CondMask = $153 & $154 204copy_constant $155 = 0 205copy_slot_masked [test_no_op_scalar_X_mat3].result = Mask($155) 206mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 207load_condition_mask CondMask = $153 208copy_4_slots_unmasked $153..156 = m₁(0..3) 209copy_4_slots_unmasked $157..160 = m₁(4..7) 210copy_slot_unmasked $161 = m₁(8) 211splat_4_constants $162..165 = 0x80000000 (-0.0) 212splat_4_constants $166..169 = 0x80000000 (-0.0) 213copy_constant $170 = 0x80000000 (-0.0) 214bitwise_xor_n_ints $153..161 ^= $162..170 215copy_4_slots_masked m₁(0..3) = Mask($153..156) 216copy_4_slots_masked m₁(4..7) = Mask($157..160) 217copy_slot_masked m₁(8) = Mask($161) 218store_condition_mask $153 = CondMask 219copy_4_slots_unmasked $154..157 = m₁(0..3) 220copy_4_slots_unmasked $158..161 = m₁(4..7) 221copy_slot_unmasked $162 = m₁(8) 222copy_4_uniforms $163..166 = testMatrix3x3(0..3) 223copy_4_uniforms $167..170 = testMatrix3x3(4..7) 224copy_uniform $171 = testMatrix3x3(8) 225splat_4_constants $172..175 = 0x80000000 (-0.0) 226splat_4_constants $176..179 = 0x80000000 (-0.0) 227copy_constant $180 = 0x80000000 (-0.0) 228bitwise_xor_n_ints $163..171 ^= $172..180 229cmpne_n_floats $154..162 = notEqual($154..162, $163..171) 230bitwise_or_4_ints $155..158 |= $159..162 231bitwise_or_2_ints $155..156 |= $157..158 232bitwise_or_int $155 |= $156 233bitwise_or_int $154 |= $155 234merge_condition_mask CondMask = $153 & $154 235copy_constant $155 = 0 236copy_slot_masked [test_no_op_scalar_X_mat3].result = Mask($155) 237mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 238load_condition_mask CondMask = $153 239splat_4_constants $153..156 = 0 240splat_4_constants $157..160 = 0 241copy_constant $161 = 0 242copy_4_slots_masked mm₁(0..3) = Mask($153..156) 243copy_4_slots_masked mm₁(4..7) = Mask($157..160) 244copy_slot_masked mm₁(8) = Mask($161) 245splat_4_constants $153..156 = 0 246splat_4_constants $157..160 = 0 247copy_constant $161 = 0 248copy_4_slots_masked mm₁(0..3) = Mask($153..156) 249copy_4_slots_masked mm₁(4..7) = Mask($157..160) 250copy_slot_masked mm₁(8) = Mask($161) 251splat_4_constants $162..165 = 0 252splat_4_constants $166..169 = 0 253copy_constant $170 = 0 254cmpeq_n_floats $153..161 = equal($153..161, $162..170) 255bitwise_and_4_ints $154..157 &= $158..161 256bitwise_and_2_ints $154..155 &= $156..157 257bitwise_and_int $154 &= $155 258bitwise_and_int $153 &= $154 259copy_slot_masked [test_no_op_scalar_X_mat3].result = Mask($153) 260load_return_mask RetMask = $152 261copy_slot_unmasked $152 = [test_no_op_scalar_X_mat3].result 262label label 0x00000007 263copy_slot_masked $151 = Mask($152) 264label label 0x00000005 265load_condition_mask CondMask = $181 266copy_constant $99 = 0 267merge_condition_mask CondMask = $150 & $151 268branch_if_no_lanes_active branch_if_no_lanes_active +157 (label 4 at #363) 269store_return_mask $100 = RetMask 270copy_4_uniforms testMatrix4x4(0..3) = testInputs 271copy_4_uniforms testMatrix4x4(4..7) = testInputs 272copy_4_uniforms testMatrix4x4(8..11) = testInputs 273copy_4_uniforms testMatrix4x4(12..15) = testInputs 274splat_4_constants m₂(0..3) = 0 275splat_4_constants m₂(4..7) = 0 276splat_4_constants m₂(8..11) = 0 277splat_4_constants m₂(12..15) = 0 278splat_4_constants mm₂(0..3) = 0 279splat_4_constants mm₂(4..7) = 0 280splat_4_constants mm₂(8..11) = 0 281splat_4_constants mm₂(12..15) = 0 282copy_4_slots_unmasked $101..104 = testMatrix4x4(0..3) 283copy_4_slots_unmasked $105..108 = testMatrix4x4(4..7) 284copy_4_slots_unmasked $109..112 = testMatrix4x4(8..11) 285copy_4_slots_unmasked $113..116 = testMatrix4x4(12..15) 286copy_4_slots_masked m₂(0..3) = Mask($101..104) 287copy_4_slots_masked m₂(4..7) = Mask($105..108) 288copy_4_slots_masked m₂(8..11) = Mask($109..112) 289copy_4_slots_masked m₂(12..15) = Mask($113..116) 290copy_4_slots_unmasked $101..104 = testMatrix4x4(0..3) 291copy_4_slots_unmasked $105..108 = testMatrix4x4(4..7) 292copy_4_slots_unmasked $109..112 = testMatrix4x4(8..11) 293copy_4_slots_unmasked $113..116 = testMatrix4x4(12..15) 294copy_4_slots_masked m₂(0..3) = Mask($101..104) 295copy_4_slots_masked m₂(4..7) = Mask($105..108) 296copy_4_slots_masked m₂(8..11) = Mask($109..112) 297copy_4_slots_masked m₂(12..15) = Mask($113..116) 298store_condition_mask $101 = CondMask 299copy_4_slots_unmasked $102..105 = m₂(0..3) 300copy_4_slots_unmasked $106..109 = m₂(4..7) 301copy_4_slots_unmasked $110..113 = m₂(8..11) 302copy_4_slots_unmasked $114..117 = m₂(12..15) 303copy_4_slots_unmasked $118..121 = testMatrix4x4(0..3) 304copy_4_slots_unmasked $122..125 = testMatrix4x4(4..7) 305copy_4_slots_unmasked $126..129 = testMatrix4x4(8..11) 306copy_4_slots_unmasked $130..133 = testMatrix4x4(12..15) 307cmpne_n_floats $102..117 = notEqual($102..117, $118..133) 308bitwise_or_4_ints $110..113 |= $114..117 309bitwise_or_4_ints $106..109 |= $110..113 310bitwise_or_4_ints $102..105 |= $106..109 311bitwise_or_2_ints $102..103 |= $104..105 312bitwise_or_int $102 |= $103 313merge_condition_mask CondMask = $101 & $102 314copy_constant $103 = 0 315copy_slot_masked [test_no_op_scalar_X_mat4].result = Mask($103) 316mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 317load_condition_mask CondMask = $101 318copy_4_slots_unmasked $102..105 = m₂(0..3) 319copy_4_slots_unmasked $106..109 = m₂(4..7) 320copy_4_slots_unmasked $110..113 = m₂(8..11) 321copy_4_slots_unmasked $114..117 = m₂(12..15) 322copy_4_slots_unmasked $118..121 = testMatrix4x4(0..3) 323copy_4_slots_unmasked $122..125 = testMatrix4x4(4..7) 324copy_4_slots_unmasked $126..129 = testMatrix4x4(8..11) 325copy_4_slots_unmasked $130..133 = testMatrix4x4(12..15) 326cmpne_n_floats $102..117 = notEqual($102..117, $118..133) 327bitwise_or_4_ints $110..113 |= $114..117 328bitwise_or_4_ints $106..109 |= $110..113 329bitwise_or_4_ints $102..105 |= $106..109 330bitwise_or_2_ints $102..103 |= $104..105 331bitwise_or_int $102 |= $103 332merge_condition_mask CondMask = $101 & $102 333copy_constant $103 = 0 334copy_slot_masked [test_no_op_scalar_X_mat4].result = Mask($103) 335mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 336load_condition_mask CondMask = $101 337copy_4_slots_unmasked $102..105 = m₂(0..3) 338copy_4_slots_unmasked $106..109 = m₂(4..7) 339copy_4_slots_unmasked $110..113 = m₂(8..11) 340copy_4_slots_unmasked $114..117 = m₂(12..15) 341copy_4_slots_unmasked $118..121 = testMatrix4x4(0..3) 342copy_4_slots_unmasked $122..125 = testMatrix4x4(4..7) 343copy_4_slots_unmasked $126..129 = testMatrix4x4(8..11) 344copy_4_slots_unmasked $130..133 = testMatrix4x4(12..15) 345cmpne_n_floats $102..117 = notEqual($102..117, $118..133) 346bitwise_or_4_ints $110..113 |= $114..117 347bitwise_or_4_ints $106..109 |= $110..113 348bitwise_or_4_ints $102..105 |= $106..109 349bitwise_or_2_ints $102..103 |= $104..105 350bitwise_or_int $102 |= $103 351merge_condition_mask CondMask = $101 & $102 352copy_constant $103 = 0 353copy_slot_masked [test_no_op_scalar_X_mat4].result = Mask($103) 354mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 355load_condition_mask CondMask = $101 356copy_4_slots_unmasked $101..104 = m₂(0..3) 357copy_4_slots_unmasked $105..108 = m₂(4..7) 358copy_4_slots_unmasked $109..112 = m₂(8..11) 359copy_4_slots_unmasked $113..116 = m₂(12..15) 360splat_4_constants $117..120 = 0x80000000 (-0.0) 361splat_4_constants $121..124 = 0x80000000 (-0.0) 362splat_4_constants $125..128 = 0x80000000 (-0.0) 363splat_4_constants $129..132 = 0x80000000 (-0.0) 364bitwise_xor_n_ints $101..116 ^= $117..132 365copy_4_slots_masked m₂(0..3) = Mask($101..104) 366copy_4_slots_masked m₂(4..7) = Mask($105..108) 367copy_4_slots_masked m₂(8..11) = Mask($109..112) 368copy_4_slots_masked m₂(12..15) = Mask($113..116) 369store_condition_mask $101 = CondMask 370copy_4_slots_unmasked $102..105 = m₂(0..3) 371copy_4_slots_unmasked $106..109 = m₂(4..7) 372copy_4_slots_unmasked $110..113 = m₂(8..11) 373copy_4_slots_unmasked $114..117 = m₂(12..15) 374copy_4_slots_unmasked $118..121 = testMatrix4x4(0..3) 375copy_4_slots_unmasked $122..125 = testMatrix4x4(4..7) 376copy_4_slots_unmasked $126..129 = testMatrix4x4(8..11) 377copy_4_slots_unmasked $130..133 = testMatrix4x4(12..15) 378splat_4_constants $134..137 = 0x80000000 (-0.0) 379splat_4_constants $138..141 = 0x80000000 (-0.0) 380splat_4_constants $142..145 = 0x80000000 (-0.0) 381splat_4_constants $146..149 = 0x80000000 (-0.0) 382bitwise_xor_n_ints $118..133 ^= $134..149 383cmpne_n_floats $102..117 = notEqual($102..117, $118..133) 384bitwise_or_4_ints $110..113 |= $114..117 385bitwise_or_4_ints $106..109 |= $110..113 386bitwise_or_4_ints $102..105 |= $106..109 387bitwise_or_2_ints $102..103 |= $104..105 388bitwise_or_int $102 |= $103 389merge_condition_mask CondMask = $101 & $102 390copy_constant $103 = 0 391copy_slot_masked [test_no_op_scalar_X_mat4].result = Mask($103) 392mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 393load_condition_mask CondMask = $101 394splat_4_constants $101..104 = 0 395splat_4_constants $105..108 = 0 396splat_4_constants $109..112 = 0 397splat_4_constants $113..116 = 0 398copy_4_slots_masked mm₂(0..3) = Mask($101..104) 399copy_4_slots_masked mm₂(4..7) = Mask($105..108) 400copy_4_slots_masked mm₂(8..11) = Mask($109..112) 401copy_4_slots_masked mm₂(12..15) = Mask($113..116) 402splat_4_constants $101..104 = 0 403splat_4_constants $105..108 = 0 404splat_4_constants $109..112 = 0 405splat_4_constants $113..116 = 0 406copy_4_slots_masked mm₂(0..3) = Mask($101..104) 407copy_4_slots_masked mm₂(4..7) = Mask($105..108) 408copy_4_slots_masked mm₂(8..11) = Mask($109..112) 409copy_4_slots_masked mm₂(12..15) = Mask($113..116) 410splat_4_constants $117..120 = 0 411splat_4_constants $121..124 = 0 412splat_4_constants $125..128 = 0 413splat_4_constants $129..132 = 0 414cmpeq_n_floats $101..116 = equal($101..116, $117..132) 415bitwise_and_4_ints $109..112 &= $113..116 416bitwise_and_4_ints $105..108 &= $109..112 417bitwise_and_4_ints $101..104 &= $105..108 418bitwise_and_2_ints $101..102 &= $103..104 419bitwise_and_int $101 &= $102 420copy_slot_masked [test_no_op_scalar_X_mat4].result = Mask($101) 421load_return_mask RetMask = $100 422copy_slot_unmasked $100 = [test_no_op_scalar_X_mat4].result 423label label 0x00000008 424copy_slot_masked $99 = Mask($100) 425label label 0x00000004 426load_condition_mask CondMask = $150 427copy_constant $83 = 0 428merge_condition_mask CondMask = $98 & $99 429branch_if_no_lanes_active branch_if_no_lanes_active +108 (label 3 at #475) 430store_return_mask $84 = RetMask 431splat_4_constants m₃ = 0 432splat_4_constants mm₃ = 0 433copy_uniform scalar = testInputs(0) 434copy_constant $85 = 0 435copy_slot_unmasked $86 = scalar 436swizzle_4 $85..88 = ($85..88).yxxy 437copy_4_slots_masked m₃ = Mask($85..88) 438copy_constant $85 = 0 439copy_slot_unmasked $86 = scalar 440swizzle_4 $85..88 = ($85..88).yxxy 441copy_4_slots_masked m₃ = Mask($85..88) 442store_condition_mask $85 = CondMask 443copy_4_slots_unmasked $86..89 = m₃ 444copy_constant $90 = 0 445copy_slot_unmasked $91 = scalar 446swizzle_4 $90..93 = ($90..93).yxxy 447cmpne_4_floats $86..89 = notEqual($86..89, $90..93) 448bitwise_or_2_ints $86..87 |= $88..89 449bitwise_or_int $86 |= $87 450merge_condition_mask CondMask = $85 & $86 451copy_constant $87 = 0 452copy_slot_masked [test_no_op_mat2_X_scalar].result = Mask($87) 453mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 454load_condition_mask CondMask = $85 455copy_slot_unmasked $85 = scalar 456swizzle_4 $85..88 = ($85..88).xxxx 457splat_4_constants $89..92 = 0x3F800000 (1.0) 458div_4_floats $85..88 /= $89..92 459copy_4_slots_masked m₃ = Mask($85..88) 460store_condition_mask $85 = CondMask 461copy_4_slots_unmasked $86..89 = m₃ 462copy_slot_unmasked $90 = scalar 463copy_slot_unmasked $91 = scalar 464copy_slot_unmasked $92 = scalar 465copy_slot_unmasked $93 = scalar 466cmpne_4_floats $86..89 = notEqual($86..89, $90..93) 467bitwise_or_2_ints $86..87 |= $88..89 468bitwise_or_int $86 |= $87 469merge_condition_mask CondMask = $85 & $86 470copy_constant $87 = 0 471copy_slot_masked [test_no_op_mat2_X_scalar].result = Mask($87) 472mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 473load_condition_mask CondMask = $85 474copy_slot_unmasked $85 = scalar 475swizzle_4 $85..88 = ($85..88).xxxx 476splat_4_constants $89..92 = 0 477add_4_floats $85..88 += $89..92 478copy_4_slots_masked m₃ = Mask($85..88) 479splat_4_constants $85..88 = 0 480copy_slot_unmasked $89 = scalar 481swizzle_4 $89..92 = ($89..92).xxxx 482add_4_floats $85..88 += $89..92 483copy_4_slots_masked m₃ = Mask($85..88) 484store_condition_mask $85 = CondMask 485copy_4_slots_unmasked $86..89 = m₃ 486copy_slot_unmasked $90 = scalar 487copy_slot_unmasked $91 = scalar 488copy_slot_unmasked $92 = scalar 489copy_slot_unmasked $93 = scalar 490cmpne_4_floats $86..89 = notEqual($86..89, $90..93) 491bitwise_or_2_ints $86..87 |= $88..89 492bitwise_or_int $86 |= $87 493merge_condition_mask CondMask = $85 & $86 494copy_constant $87 = 0 495copy_slot_masked [test_no_op_mat2_X_scalar].result = Mask($87) 496mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 497load_condition_mask CondMask = $85 498copy_slot_unmasked $85 = scalar 499swizzle_4 $85..88 = ($85..88).xxxx 500splat_4_constants $89..92 = 0 501sub_4_floats $85..88 -= $89..92 502copy_4_slots_masked m₃ = Mask($85..88) 503splat_4_constants $85..88 = 0 504copy_slot_unmasked $89 = scalar 505swizzle_4 $89..92 = ($89..92).xxxx 506sub_4_floats $85..88 -= $89..92 507copy_4_slots_masked m₃ = Mask($85..88) 508store_condition_mask $85 = CondMask 509copy_4_slots_unmasked $86..89 = m₃ 510copy_slot_unmasked $90 = scalar 511copy_slot_unmasked $91 = scalar 512copy_slot_unmasked $92 = scalar 513copy_slot_unmasked $93 = scalar 514splat_4_constants $94..97 = 0x80000000 (-0.0) 515bitwise_xor_4_ints $90..93 ^= $94..97 516cmpne_4_floats $86..89 = notEqual($86..89, $90..93) 517bitwise_or_2_ints $86..87 |= $88..89 518bitwise_or_int $86 |= $87 519merge_condition_mask CondMask = $85 & $86 520copy_constant $87 = 0 521copy_slot_masked [test_no_op_mat2_X_scalar].result = Mask($87) 522mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 523load_condition_mask CondMask = $85 524splat_4_constants $85..88 = 0 525copy_4_slots_masked mm₃ = Mask($85..88) 526splat_4_constants $85..88 = 0 527copy_4_slots_masked mm₃ = Mask($85..88) 528splat_4_constants $89..92 = 0 529cmpeq_4_floats $85..88 = equal($85..88, $89..92) 530bitwise_and_2_ints $85..86 &= $87..88 531bitwise_and_int $85 &= $86 532copy_slot_masked [test_no_op_mat2_X_scalar].result = Mask($85) 533load_return_mask RetMask = $84 534copy_slot_unmasked $84 = [test_no_op_mat2_X_scalar].result 535label label 0x00000009 536copy_slot_masked $83 = Mask($84) 537label label 0x00000003 538load_condition_mask CondMask = $98 539copy_constant $52 = 0 540merge_condition_mask CondMask = $82 & $83 541branch_if_no_lanes_active branch_if_no_lanes_active +176 (label 2 at #655) 542store_return_mask $53 = RetMask 543splat_4_constants m₄(0..3) = 0 544splat_4_constants m₄(4..7) = 0 545splat_4_constants m₄(8), mm₄(0..2) = 0 546splat_4_constants mm₄(3..6) = 0 547splat_2_constants mm₄(7..8) = 0 548copy_uniform scalar₁ = testInputs(0) 549copy_slot_unmasked $54 = scalar₁ 550swizzle_3 $54..56 = ($54..56).xxx 551copy_3_slots_unmasked scalar3 = $54..56 552copy_constant $54 = 0 553copy_slot_unmasked $55 = scalar₁ 554shuffle $54..62 = ($54..62)[1 0 0 0 1 0 0 0 1] 555copy_4_slots_masked m₄(0..3) = Mask($54..57) 556copy_4_slots_masked m₄(4..7) = Mask($58..61) 557copy_slot_masked m₄(8) = Mask($62) 558copy_constant $54 = 0 559copy_slot_unmasked $55 = scalar₁ 560shuffle $54..62 = ($54..62)[1 0 0 0 1 0 0 0 1] 561copy_4_slots_masked m₄(0..3) = Mask($54..57) 562copy_4_slots_masked m₄(4..7) = Mask($58..61) 563copy_slot_masked m₄(8) = Mask($62) 564stack_rewind 565store_condition_mask $54 = CondMask 566copy_4_slots_unmasked $55..58 = m₄(0..3) 567copy_4_slots_unmasked $59..62 = m₄(4..7) 568copy_slot_unmasked $63 = m₄(8) 569copy_constant $64 = 0 570copy_slot_unmasked $65 = scalar₁ 571shuffle $64..72 = ($64..72)[1 0 0 0 1 0 0 0 1] 572cmpne_n_floats $55..63 = notEqual($55..63, $64..72) 573bitwise_or_4_ints $56..59 |= $60..63 574bitwise_or_2_ints $56..57 |= $58..59 575bitwise_or_int $56 |= $57 576bitwise_or_int $55 |= $56 577merge_condition_mask CondMask = $54 & $55 578copy_constant $56 = 0 579copy_slot_masked [test_no_op_mat3_X_scalar].result = Mask($56) 580mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 581load_condition_mask CondMask = $54 582copy_slot_unmasked $54 = scalar₁ 583swizzle_4 $54..57 = ($54..57).xxxx 584copy_4_slots_unmasked $58..61 = $54..57 585copy_slot_unmasked $62 = $61 586splat_4_constants $63..66 = 0x3F800000 (1.0) 587splat_4_constants $67..70 = 0x3F800000 (1.0) 588copy_constant $71 = 0x3F800000 (1.0) 589div_n_floats $54..62 /= $63..71 590copy_4_slots_masked m₄(0..3) = Mask($54..57) 591copy_4_slots_masked m₄(4..7) = Mask($58..61) 592copy_slot_masked m₄(8) = Mask($62) 593store_condition_mask $54 = CondMask 594copy_4_slots_unmasked $55..58 = m₄(0..3) 595copy_4_slots_unmasked $59..62 = m₄(4..7) 596copy_slot_unmasked $63 = m₄(8) 597copy_3_slots_unmasked $64..66 = scalar3 598copy_3_slots_unmasked $67..69 = scalar3 599copy_3_slots_unmasked $70..72 = scalar3 600cmpne_n_floats $55..63 = notEqual($55..63, $64..72) 601bitwise_or_4_ints $56..59 |= $60..63 602bitwise_or_2_ints $56..57 |= $58..59 603bitwise_or_int $56 |= $57 604bitwise_or_int $55 |= $56 605merge_condition_mask CondMask = $54 & $55 606copy_constant $56 = 0 607copy_slot_masked [test_no_op_mat3_X_scalar].result = Mask($56) 608mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 609load_condition_mask CondMask = $54 610copy_slot_unmasked $54 = scalar₁ 611swizzle_4 $54..57 = ($54..57).xxxx 612copy_4_slots_unmasked $58..61 = $54..57 613copy_slot_unmasked $62 = $61 614splat_4_constants $63..66 = 0 615splat_4_constants $67..70 = 0 616copy_constant $71 = 0 617add_n_floats $54..62 += $63..71 618copy_4_slots_masked m₄(0..3) = Mask($54..57) 619copy_4_slots_masked m₄(4..7) = Mask($58..61) 620copy_slot_masked m₄(8) = Mask($62) 621splat_4_constants $54..57 = 0 622splat_4_constants $58..61 = 0 623copy_constant $62 = 0 624copy_slot_unmasked $63 = scalar₁ 625swizzle_4 $63..66 = ($63..66).xxxx 626copy_4_slots_unmasked $67..70 = $63..66 627copy_slot_unmasked $71 = $70 628add_n_floats $54..62 += $63..71 629copy_4_slots_masked m₄(0..3) = Mask($54..57) 630copy_4_slots_masked m₄(4..7) = Mask($58..61) 631copy_slot_masked m₄(8) = Mask($62) 632store_condition_mask $54 = CondMask 633copy_4_slots_unmasked $55..58 = m₄(0..3) 634copy_4_slots_unmasked $59..62 = m₄(4..7) 635copy_slot_unmasked $63 = m₄(8) 636copy_3_slots_unmasked $64..66 = scalar3 637copy_3_slots_unmasked $67..69 = scalar3 638copy_3_slots_unmasked $70..72 = scalar3 639cmpne_n_floats $55..63 = notEqual($55..63, $64..72) 640bitwise_or_4_ints $56..59 |= $60..63 641bitwise_or_2_ints $56..57 |= $58..59 642bitwise_or_int $56 |= $57 643bitwise_or_int $55 |= $56 644merge_condition_mask CondMask = $54 & $55 645copy_constant $56 = 0 646copy_slot_masked [test_no_op_mat3_X_scalar].result = Mask($56) 647mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 648load_condition_mask CondMask = $54 649copy_slot_unmasked $54 = scalar₁ 650swizzle_4 $54..57 = ($54..57).xxxx 651copy_4_slots_unmasked $58..61 = $54..57 652copy_slot_unmasked $62 = $61 653splat_4_constants $63..66 = 0 654splat_4_constants $67..70 = 0 655copy_constant $71 = 0 656sub_n_floats $54..62 -= $63..71 657copy_4_slots_masked m₄(0..3) = Mask($54..57) 658copy_4_slots_masked m₄(4..7) = Mask($58..61) 659copy_slot_masked m₄(8) = Mask($62) 660splat_4_constants $54..57 = 0 661splat_4_constants $58..61 = 0 662copy_constant $62 = 0 663copy_slot_unmasked $63 = scalar₁ 664swizzle_4 $63..66 = ($63..66).xxxx 665copy_4_slots_unmasked $67..70 = $63..66 666copy_slot_unmasked $71 = $70 667sub_n_floats $54..62 -= $63..71 668copy_4_slots_masked m₄(0..3) = Mask($54..57) 669copy_4_slots_masked m₄(4..7) = Mask($58..61) 670copy_slot_masked m₄(8) = Mask($62) 671store_condition_mask $54 = CondMask 672copy_4_slots_unmasked $55..58 = m₄(0..3) 673copy_4_slots_unmasked $59..62 = m₄(4..7) 674copy_slot_unmasked $63 = m₄(8) 675copy_3_slots_unmasked $64..66 = scalar3 676copy_3_slots_unmasked $67..69 = scalar3 677copy_3_slots_unmasked $70..72 = scalar3 678splat_4_constants $73..76 = 0x80000000 (-0.0) 679splat_4_constants $77..80 = 0x80000000 (-0.0) 680copy_constant $81 = 0x80000000 (-0.0) 681bitwise_xor_n_ints $64..72 ^= $73..81 682cmpne_n_floats $55..63 = notEqual($55..63, $64..72) 683bitwise_or_4_ints $56..59 |= $60..63 684bitwise_or_2_ints $56..57 |= $58..59 685bitwise_or_int $56 |= $57 686bitwise_or_int $55 |= $56 687merge_condition_mask CondMask = $54 & $55 688copy_constant $56 = 0 689copy_slot_masked [test_no_op_mat3_X_scalar].result = Mask($56) 690mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 691load_condition_mask CondMask = $54 692splat_4_constants $54..57 = 0 693splat_4_constants $58..61 = 0 694copy_constant $62 = 0 695copy_4_slots_masked mm₄(0..3) = Mask($54..57) 696copy_4_slots_masked mm₄(4..7) = Mask($58..61) 697copy_slot_masked mm₄(8) = Mask($62) 698splat_4_constants $54..57 = 0 699splat_4_constants $58..61 = 0 700copy_constant $62 = 0 701copy_4_slots_masked mm₄(0..3) = Mask($54..57) 702copy_4_slots_masked mm₄(4..7) = Mask($58..61) 703copy_slot_masked mm₄(8) = Mask($62) 704splat_4_constants $63..66 = 0 705splat_4_constants $67..70 = 0 706copy_constant $71 = 0 707cmpeq_n_floats $54..62 = equal($54..62, $63..71) 708bitwise_and_4_ints $55..58 &= $59..62 709bitwise_and_2_ints $55..56 &= $57..58 710bitwise_and_int $55 &= $56 711bitwise_and_int $54 &= $55 712copy_slot_masked [test_no_op_mat3_X_scalar].result = Mask($54) 713load_return_mask RetMask = $53 714copy_slot_unmasked $53 = [test_no_op_mat3_X_scalar].result 715label label 0x0000000A 716copy_slot_masked $52 = Mask($53) 717label label 0x00000002 718load_condition_mask CondMask = $82 719copy_constant $0 = 0 720merge_condition_mask CondMask = $51 & $52 721branch_if_no_lanes_active branch_if_no_lanes_active +213 (label 1 at #872) 722store_return_mask $1 = RetMask 723splat_4_constants m₅(0..3) = 0 724splat_4_constants m₅(4..7) = 0 725splat_4_constants m₅(8..11) = 0 726splat_4_constants m₅(12..15) = 0 727splat_4_constants mm₅(0..3) = 0 728splat_4_constants mm₅(4..7) = 0 729splat_4_constants mm₅(8..11) = 0 730splat_4_constants mm₅(12..15) = 0 731copy_uniform scalar₂ = testInputs(0) 732copy_slot_unmasked $2 = scalar₂ 733swizzle_4 $2..5 = ($2..5).xxxx 734copy_4_slots_unmasked scalar4 = $2..5 735copy_constant $2 = 0 736copy_slot_unmasked $3 = scalar₂ 737shuffle $2..17 = ($2..17)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1] 738copy_4_slots_masked m₅(0..3) = Mask($2..5) 739copy_4_slots_masked m₅(4..7) = Mask($6..9) 740copy_4_slots_masked m₅(8..11) = Mask($10..13) 741copy_4_slots_masked m₅(12..15) = Mask($14..17) 742copy_constant $2 = 0 743copy_slot_unmasked $3 = scalar₂ 744shuffle $2..17 = ($2..17)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1] 745copy_4_slots_masked m₅(0..3) = Mask($2..5) 746copy_4_slots_masked m₅(4..7) = Mask($6..9) 747copy_4_slots_masked m₅(8..11) = Mask($10..13) 748copy_4_slots_masked m₅(12..15) = Mask($14..17) 749store_condition_mask $2 = CondMask 750copy_4_slots_unmasked $3..6 = m₅(0..3) 751copy_4_slots_unmasked $7..10 = m₅(4..7) 752copy_4_slots_unmasked $11..14 = m₅(8..11) 753copy_4_slots_unmasked $15..18 = m₅(12..15) 754copy_constant $19 = 0 755copy_slot_unmasked $20 = scalar₂ 756shuffle $19..34 = ($19..34)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1] 757cmpne_n_floats $3..18 = notEqual($3..18, $19..34) 758bitwise_or_4_ints $11..14 |= $15..18 759bitwise_or_4_ints $7..10 |= $11..14 760bitwise_or_4_ints $3..6 |= $7..10 761bitwise_or_2_ints $3..4 |= $5..6 762bitwise_or_int $3 |= $4 763merge_condition_mask CondMask = $2 & $3 764copy_constant $4 = 0 765copy_slot_masked [test_no_op_mat4_X_scalar].result = Mask($4) 766mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 767load_condition_mask CondMask = $2 768copy_slot_unmasked $2 = scalar₂ 769swizzle_4 $2..5 = ($2..5).xxxx 770copy_4_slots_unmasked $6..9 = $2..5 771copy_4_slots_unmasked $10..13 = $6..9 772copy_4_slots_unmasked $14..17 = $10..13 773splat_4_constants $18..21 = 0x3F800000 (1.0) 774splat_4_constants $22..25 = 0x3F800000 (1.0) 775splat_4_constants $26..29 = 0x3F800000 (1.0) 776splat_4_constants $30..33 = 0x3F800000 (1.0) 777div_n_floats $2..17 /= $18..33 778copy_4_slots_masked m₅(0..3) = Mask($2..5) 779copy_4_slots_masked m₅(4..7) = Mask($6..9) 780copy_4_slots_masked m₅(8..11) = Mask($10..13) 781copy_4_slots_masked m₅(12..15) = Mask($14..17) 782store_condition_mask $2 = CondMask 783copy_4_slots_unmasked $3..6 = m₅(0..3) 784copy_4_slots_unmasked $7..10 = m₅(4..7) 785copy_4_slots_unmasked $11..14 = m₅(8..11) 786copy_4_slots_unmasked $15..18 = m₅(12..15) 787copy_4_slots_unmasked $19..22 = scalar4 788copy_4_slots_unmasked $23..26 = scalar4 789copy_4_slots_unmasked $27..30 = scalar4 790copy_4_slots_unmasked $31..34 = scalar4 791cmpne_n_floats $3..18 = notEqual($3..18, $19..34) 792bitwise_or_4_ints $11..14 |= $15..18 793bitwise_or_4_ints $7..10 |= $11..14 794bitwise_or_4_ints $3..6 |= $7..10 795bitwise_or_2_ints $3..4 |= $5..6 796bitwise_or_int $3 |= $4 797merge_condition_mask CondMask = $2 & $3 798copy_constant $4 = 0 799copy_slot_masked [test_no_op_mat4_X_scalar].result = Mask($4) 800mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 801load_condition_mask CondMask = $2 802copy_slot_unmasked $2 = scalar₂ 803swizzle_4 $2..5 = ($2..5).xxxx 804copy_4_slots_unmasked $6..9 = $2..5 805copy_4_slots_unmasked $10..13 = $6..9 806copy_4_slots_unmasked $14..17 = $10..13 807splat_4_constants $18..21 = 0 808splat_4_constants $22..25 = 0 809splat_4_constants $26..29 = 0 810splat_4_constants $30..33 = 0 811add_n_floats $2..17 += $18..33 812copy_4_slots_masked m₅(0..3) = Mask($2..5) 813copy_4_slots_masked m₅(4..7) = Mask($6..9) 814copy_4_slots_masked m₅(8..11) = Mask($10..13) 815copy_4_slots_masked m₅(12..15) = Mask($14..17) 816splat_4_constants $2..5 = 0 817splat_4_constants $6..9 = 0 818splat_4_constants $10..13 = 0 819splat_4_constants $14..17 = 0 820copy_slot_unmasked $18 = scalar₂ 821swizzle_4 $18..21 = ($18..21).xxxx 822copy_4_slots_unmasked $22..25 = $18..21 823copy_4_slots_unmasked $26..29 = $22..25 824copy_4_slots_unmasked $30..33 = $26..29 825add_n_floats $2..17 += $18..33 826copy_4_slots_masked m₅(0..3) = Mask($2..5) 827copy_4_slots_masked m₅(4..7) = Mask($6..9) 828copy_4_slots_masked m₅(8..11) = Mask($10..13) 829copy_4_slots_masked m₅(12..15) = Mask($14..17) 830store_condition_mask $2 = CondMask 831copy_4_slots_unmasked $3..6 = m₅(0..3) 832copy_4_slots_unmasked $7..10 = m₅(4..7) 833copy_4_slots_unmasked $11..14 = m₅(8..11) 834copy_4_slots_unmasked $15..18 = m₅(12..15) 835copy_4_slots_unmasked $19..22 = scalar4 836copy_4_slots_unmasked $23..26 = scalar4 837copy_4_slots_unmasked $27..30 = scalar4 838copy_4_slots_unmasked $31..34 = scalar4 839cmpne_n_floats $3..18 = notEqual($3..18, $19..34) 840bitwise_or_4_ints $11..14 |= $15..18 841bitwise_or_4_ints $7..10 |= $11..14 842bitwise_or_4_ints $3..6 |= $7..10 843bitwise_or_2_ints $3..4 |= $5..6 844bitwise_or_int $3 |= $4 845merge_condition_mask CondMask = $2 & $3 846copy_constant $4 = 0 847copy_slot_masked [test_no_op_mat4_X_scalar].result = Mask($4) 848mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 849load_condition_mask CondMask = $2 850copy_slot_unmasked $2 = scalar₂ 851swizzle_4 $2..5 = ($2..5).xxxx 852copy_4_slots_unmasked $6..9 = $2..5 853copy_4_slots_unmasked $10..13 = $6..9 854copy_4_slots_unmasked $14..17 = $10..13 855splat_4_constants $18..21 = 0 856splat_4_constants $22..25 = 0 857splat_4_constants $26..29 = 0 858splat_4_constants $30..33 = 0 859sub_n_floats $2..17 -= $18..33 860copy_4_slots_masked m₅(0..3) = Mask($2..5) 861copy_4_slots_masked m₅(4..7) = Mask($6..9) 862copy_4_slots_masked m₅(8..11) = Mask($10..13) 863copy_4_slots_masked m₅(12..15) = Mask($14..17) 864splat_4_constants $2..5 = 0 865splat_4_constants $6..9 = 0 866splat_4_constants $10..13 = 0 867splat_4_constants $14..17 = 0 868copy_slot_unmasked $18 = scalar₂ 869swizzle_4 $18..21 = ($18..21).xxxx 870copy_4_slots_unmasked $22..25 = $18..21 871copy_4_slots_unmasked $26..29 = $22..25 872copy_4_slots_unmasked $30..33 = $26..29 873sub_n_floats $2..17 -= $18..33 874copy_4_slots_masked m₅(0..3) = Mask($2..5) 875copy_4_slots_masked m₅(4..7) = Mask($6..9) 876copy_4_slots_masked m₅(8..11) = Mask($10..13) 877copy_4_slots_masked m₅(12..15) = Mask($14..17) 878store_condition_mask $2 = CondMask 879copy_4_slots_unmasked $3..6 = m₅(0..3) 880copy_4_slots_unmasked $7..10 = m₅(4..7) 881copy_4_slots_unmasked $11..14 = m₅(8..11) 882copy_4_slots_unmasked $15..18 = m₅(12..15) 883copy_4_slots_unmasked $19..22 = scalar4 884copy_4_slots_unmasked $23..26 = scalar4 885copy_4_slots_unmasked $27..30 = scalar4 886copy_4_slots_unmasked $31..34 = scalar4 887splat_4_constants $35..38 = 0x80000000 (-0.0) 888splat_4_constants $39..42 = 0x80000000 (-0.0) 889splat_4_constants $43..46 = 0x80000000 (-0.0) 890splat_4_constants $47..50 = 0x80000000 (-0.0) 891bitwise_xor_n_ints $19..34 ^= $35..50 892cmpne_n_floats $3..18 = notEqual($3..18, $19..34) 893bitwise_or_4_ints $11..14 |= $15..18 894bitwise_or_4_ints $7..10 |= $11..14 895bitwise_or_4_ints $3..6 |= $7..10 896bitwise_or_2_ints $3..4 |= $5..6 897bitwise_or_int $3 |= $4 898merge_condition_mask CondMask = $2 & $3 899copy_constant $4 = 0 900copy_slot_masked [test_no_op_mat4_X_scalar].result = Mask($4) 901mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 902load_condition_mask CondMask = $2 903splat_4_constants $2..5 = 0 904splat_4_constants $6..9 = 0 905splat_4_constants $10..13 = 0 906splat_4_constants $14..17 = 0 907copy_4_slots_masked mm₅(0..3) = Mask($2..5) 908copy_4_slots_masked mm₅(4..7) = Mask($6..9) 909copy_4_slots_masked mm₅(8..11) = Mask($10..13) 910copy_4_slots_masked mm₅(12..15) = Mask($14..17) 911splat_4_constants $2..5 = 0 912splat_4_constants $6..9 = 0 913splat_4_constants $10..13 = 0 914splat_4_constants $14..17 = 0 915copy_4_slots_masked mm₅(0..3) = Mask($2..5) 916copy_4_slots_masked mm₅(4..7) = Mask($6..9) 917copy_4_slots_masked mm₅(8..11) = Mask($10..13) 918copy_4_slots_masked mm₅(12..15) = Mask($14..17) 919splat_4_constants $18..21 = 0 920splat_4_constants $22..25 = 0 921splat_4_constants $26..29 = 0 922splat_4_constants $30..33 = 0 923cmpeq_n_floats $2..17 = equal($2..17, $18..33) 924bitwise_and_4_ints $10..13 &= $14..17 925bitwise_and_4_ints $6..9 &= $10..13 926bitwise_and_4_ints $2..5 &= $6..9 927bitwise_and_2_ints $2..3 &= $4..5 928bitwise_and_int $2 &= $3 929copy_slot_masked [test_no_op_mat4_X_scalar].result = Mask($2) 930load_return_mask RetMask = $1 931copy_slot_unmasked $1 = [test_no_op_mat4_X_scalar].result 932label label 0x0000000B 933copy_slot_masked $0 = Mask($1) 934label label 0x00000001 935load_condition_mask CondMask = $51 936swizzle_4 $0..3 = ($0..3).xxxx 937copy_4_uniforms $4..7 = colorRed 938copy_4_uniforms $8..11 = colorGreen 939mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 940load_src src.rgba = $0..3 941