break;
}
- SDValue Cmp;
SDValue Chain =
IsStrictCmp ? Node->getOperand(0) : CurDAG->getEntryNode();
+ SDValue Glue;
if (IsStrictCmp) {
- SDVTList VTs = CurDAG->getVTList(MVT::i16, MVT::Other);
- Cmp = SDValue(CurDAG->getMachineNode(Opc, dl, VTs, {N0, N1, Chain}), 0);
- Chain = Cmp.getValue(1);
+ SDVTList VTs = CurDAG->getVTList(MVT::Other, MVT::Glue);
+ Chain = SDValue(CurDAG->getMachineNode(Opc, dl, VTs, {N0, N1, Chain}), 0);
+ Glue = Chain.getValue(1);
} else {
- Cmp = SDValue(CurDAG->getMachineNode(Opc, dl, MVT::i16, N0, N1), 0);
+ Glue = SDValue(CurDAG->getMachineNode(Opc, dl, MVT::Glue, N0, N1), 0);
}
// Move FPSW to AX.
- SDValue FPSW = CurDAG->getCopyToReg(Chain, dl, X86::FPSW, Cmp, SDValue());
- Chain = FPSW;
SDValue FNSTSW =
- SDValue(CurDAG->getMachineNode(X86::FNSTSW16r, dl, MVT::i16, FPSW,
- FPSW.getValue(1)),
- 0);
+ SDValue(CurDAG->getMachineNode(X86::FNSTSW16r, dl, MVT::i16, Glue), 0);
// Extract upper 8-bits of AX.
SDValue Extract =