@@ -667,7 +667,7 @@ body: |
667667 bb.0:
668668 liveins: $v8, $v9, $v10
669669
670- ; We should not peekthrough an INSERT_SUBREG if its user is not a segmented store or another INSERT_SUBREG.
670+ ; We should not peekthrough an INSERT_SUBREG if any of its users is not a segmented store or another INSERT_SUBREG.
671671 ; CHECK-LABEL: name: insert_subreg_bitcast_no_peekthru
672672 ; CHECK: liveins: $v8, $v9, $v10
673673 ; CHECK-NEXT: {{ $}}
@@ -682,6 +682,9 @@ body: |
682682 ; CHECK-NEXT: [[INSERT_SUBREG3:%[0-9]+]]:vrn4m1 = INSERT_SUBREG [[INSERT_SUBREG2]], [[COPY2]], %subreg.sub_vrm1_3
683683 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:vrm4 = COPY [[INSERT_SUBREG3]]
684684 ; CHECK-NEXT: PseudoVSE32_V_M4 [[COPY3]], $noreg, 1, 5 /* e32 */
685+ ; CHECK-NEXT: [[PseudoVADD_VV_M1_1:%[0-9]+]]:vr = PseudoVADD_VV_M1 $noreg, [[PseudoVADD_VV_M1_]], $noreg, 10, 5 /* e32 */, 3 /* ta, ma */
686+ ; CHECK-NEXT: $v10 = COPY [[PseudoVADD_VV_M1_1]]
687+ ; CHECK-NEXT: PseudoRET implicit $v10
685688 %0:vr = COPY $v8
686689 %1:vr = COPY $v9
687690 %2:vr = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, -1, 5 /* e32 */, 3 /* ta, ma */
@@ -693,3 +696,6 @@ body: |
693696 %9:vrn4m1 = INSERT_SUBREG %8, %3, %subreg.sub_vrm1_3
694697 %10:vrm4 = COPY %9
695698 PseudoVSE32_V_M4 %10:vrm4, $noreg, 1, 5 /* e32 */
699+ %11:vr = PseudoVADD_VV_M1 $noreg, %2, $noreg, 10, 5 /* e32 */, 3 /* ta, ma */
700+ $v10 = COPY %11
701+ PseudoRET implicit $v10
0 commit comments