Skip to content

Commit d1146cf

Browse files
committed
fixup! Address review comments
1 parent 1400fa9 commit d1146cf

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

llvm/lib/Target/RISCV/RISCVISelLowering.cpp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5555,12 +5555,15 @@ static SDValue lowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG,
55555555
SDValue Hi =
55565556
getDeinterleaveShiftAndTrunc(DL, SubVT, V2, Factor, Index, DAG);
55575557

5558+
SDValue Concat =
5559+
DAG.getNode(ISD::CONCAT_VECTORS, DL,
5560+
SubVT.getDoubleNumVectorElementsVT(), Lo, Hi);
5561+
if (Factor == 2)
5562+
return Concat;
5563+
55585564
SDValue Vec = DAG.getUNDEF(VT);
5559-
Vec = DAG.getNode(ISD::INSERT_SUBVECTOR, DL, VT, Vec, Lo,
5560-
DAG.getVectorIdxConstant(0, DL));
5561-
return DAG.getNode(
5562-
ISD::INSERT_SUBVECTOR, DL, VT, Vec, Hi,
5563-
DAG.getVectorIdxConstant(SubVT.getVectorMinNumElements(), DL));
5565+
return DAG.getNode(ISD::INSERT_SUBVECTOR, DL, VT, Vec, Concat,
5566+
DAG.getVectorIdxConstant(0, DL));
55645567
}
55655568
}
55665569
}

llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ define void @deinterleave4_0_i8_two_source(ptr %in0, ptr %in1, ptr %out) {
378378
; CHECK-NEXT: vsetvli zero, zero, e8, mf8, ta, ma
379379
; CHECK-NEXT: vnsrl.wi v8, v8, 0
380380
; CHECK-NEXT: vnsrl.wi v9, v9, 0
381-
; CHECK-NEXT: vsetivli zero, 4, e8, mf2, tu, ma
381+
; CHECK-NEXT: vsetivli zero, 4, e8, mf4, ta, ma
382382
; CHECK-NEXT: vslideup.vi v9, v8, 2
383383
; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
384384
; CHECK-NEXT: vse8.v v9, (a2)
@@ -403,7 +403,7 @@ define void @deinterleave4_8_i8_two_source(ptr %in0, ptr %in1, ptr %out) {
403403
; CHECK-NEXT: vsetvli zero, zero, e8, mf8, ta, ma
404404
; CHECK-NEXT: vnsrl.wi v8, v8, 0
405405
; CHECK-NEXT: vnsrl.wi v9, v9, 0
406-
; CHECK-NEXT: vsetivli zero, 4, e8, mf2, tu, ma
406+
; CHECK-NEXT: vsetivli zero, 4, e8, mf4, ta, ma
407407
; CHECK-NEXT: vslideup.vi v9, v8, 2
408408
; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
409409
; CHECK-NEXT: vse8.v v9, (a2)

0 commit comments

Comments
 (0)