@@ -368,3 +368,87 @@ body: |
368368 %y:vr = COPY %x
369369 %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */
370370 ...
371+ ---
372+ name : phi
373+ tracksRegLiveness : true
374+ body : |
375+ ; CHECK-LABEL: name: phi
376+ ; CHECK: bb.0:
377+ ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000)
378+ ; CHECK-NEXT: {{ $}}
379+ ; CHECK-NEXT: %w:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
380+ ; CHECK-NEXT: BNE $noreg, $noreg, %bb.2
381+ ; CHECK-NEXT: {{ $}}
382+ ; CHECK-NEXT: bb.1:
383+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
384+ ; CHECK-NEXT: {{ $}}
385+ ; CHECK-NEXT: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
386+ ; CHECK-NEXT: {{ $}}
387+ ; CHECK-NEXT: bb.2:
388+ ; CHECK-NEXT: %y:vr = PHI %w, %bb.0, %x, %bb.1
389+ ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
390+ bb.0:
391+ %w:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
392+ BNE $noreg, $noreg, %bb.2
393+ bb.1:
394+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
395+ bb.2:
396+ %y:vr = PHI %w, %bb.0, %x, %bb.1
397+ %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
398+ ...
399+ ---
400+ name : phi_user_invalid_sew
401+ tracksRegLiveness : true
402+ body : |
403+ ; CHECK-LABEL: name: phi_user_invalid_sew
404+ ; CHECK: bb.0:
405+ ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000)
406+ ; CHECK-NEXT: {{ $}}
407+ ; CHECK-NEXT: %w:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
408+ ; CHECK-NEXT: BNE $noreg, $noreg, %bb.2
409+ ; CHECK-NEXT: {{ $}}
410+ ; CHECK-NEXT: bb.1:
411+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
412+ ; CHECK-NEXT: {{ $}}
413+ ; CHECK-NEXT: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
414+ ; CHECK-NEXT: {{ $}}
415+ ; CHECK-NEXT: bb.2:
416+ ; CHECK-NEXT: %y:vr = PHI %w, %bb.0, %x, %bb.1
417+ ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */
418+ bb.0:
419+ %w:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
420+ BNE $noreg, $noreg, %bb.2
421+ bb.1:
422+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
423+ bb.2:
424+ %y:vr = PHI %w, %bb.0, %x, %bb.1
425+ %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 4 /* e16 */, 0 /* tu, mu */
426+ ...
427+ ---
428+ name : phi_different_incoming_sew
429+ tracksRegLiveness : true
430+ body : |
431+ ; CHECK-LABEL: name: phi_different_incoming_sew
432+ ; CHECK: bb.0:
433+ ; CHECK-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000)
434+ ; CHECK-NEXT: {{ $}}
435+ ; CHECK-NEXT: %w:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
436+ ; CHECK-NEXT: BNE $noreg, $noreg, %bb.2
437+ ; CHECK-NEXT: {{ $}}
438+ ; CHECK-NEXT: bb.1:
439+ ; CHECK-NEXT: successors: %bb.2(0x80000000)
440+ ; CHECK-NEXT: {{ $}}
441+ ; CHECK-NEXT: %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
442+ ; CHECK-NEXT: {{ $}}
443+ ; CHECK-NEXT: bb.2:
444+ ; CHECK-NEXT: %y:vr = PHI %w, %bb.0, %x, %bb.1
445+ ; CHECK-NEXT: %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
446+ bb.0:
447+ %w:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 3 /* e8 */, 0 /* tu, mu */
448+ BNE $noreg, $noreg, %bb.2
449+ bb.1:
450+ %x:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 4 /* e16 */, 0 /* tu, mu */
451+ bb.2:
452+ %y:vr = PHI %w, %bb.0, %x, %bb.1
453+ %z:vr = PseudoVADD_VV_M1 $noreg, %y, $noreg, 1, 3 /* e8 */, 0 /* tu, mu */
454+ ...
0 commit comments