diff --git a/lib/Target/Hexagon/HexagonInstrInfo.cpp b/lib/Target/Hexagon/HexagonInstrInfo.cpp index a0af11622a4..de0d6c4d9e4 100644 --- a/lib/Target/Hexagon/HexagonInstrInfo.cpp +++ b/lib/Target/Hexagon/HexagonInstrInfo.cpp @@ -1293,7 +1293,6 @@ bool HexagonInstrInfo::expandPostRAPseudo(MachineInstr &MI) const { auto T = BuildMI(MBB, MI, DL, get(Hexagon::V6_vccombine)) .add(Op0) .addReg(PReg, S) - .add(Op1) .addReg(SrcHi) .addReg(SrcLo); if (IsDestLive) diff --git a/test/CodeGen/Hexagon/expand-wselect.mir b/test/CodeGen/Hexagon/expand-wselect.mir new file mode 100644 index 00000000000..cb3dbc25aa5 --- /dev/null +++ b/test/CodeGen/Hexagon/expand-wselect.mir @@ -0,0 +1,13 @@ +# RUN: llc -march=hexagon -run-pass postrapseudos %s -o - | FileCheck %s + +# Check that this doesn't crash. +# CHECK: $w2 = V6_vccombine $p0, $v1, $v0 +# CHECK: $w2 = V6_vnccombine killed $p0, $v3, $v2, implicit $w2 + +name: fred +tracksRegLiveness: true +body: | + bb.0: + liveins: $p0, $w0, $w1 + $w2 = PS_wselect killed $p0, killed $w0, killed $w1 +---