Skip to content

Commit 5dcdaa5

Browse files
committed
[MIPS][MSA] Invert operand order of ILVOD
The result was <y[1], x[1]> where it should be <x[1], y[1]>. This affects the result of vector shuffles: %result = shufflevector <4 x i32> %x, <4 x i32> %y, <4 x 132> <i32 1, i32 5, i32 3, i32 7> The result is <%y[1], %x[1], %y[3], %x[3]>, where it should be <%x[1], %y[1], %x[3], %y[3]>.
1 parent 193ea83 commit 5dcdaa5

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

llvm/lib/Target/Mips/MipsSEISelLowering.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2736,7 +2736,7 @@ static SDValue lowerVECTOR_SHUFFLE_ILVOD(SDValue Op, EVT ResTy,
27362736
else
27372737
return SDValue();
27382738

2739-
return DAG.getNode(MipsISD::ILVOD, SDLoc(Op), ResTy, Wt, Ws);
2739+
return DAG.getNode(MipsISD::ILVOD, SDLoc(Op), ResTy, Ws, Wt);
27402740
}
27412741

27422742
// Lower VECTOR_SHUFFLE into ILVR (if possible).

0 commit comments

Comments
 (0)