Displaying 1 result from an estimated 1 matches for "lowermulhx".
Did you mean:
lowermul
2017 Sep 27
0
Custom lower multiple return values
...|| ResNo == 1);
SDValue Op0 = Op.getOperand(0);
SDValue Op1 = Op.getOperand(1);
unsigned MULHXOpcode = Opc == ISD::UMUL_LOHI ? ISD::MULHU : ISD::MULHS;
SDValue res[2] = { // Seems wasteful to generate both of these twice per
node
DAG.getNode(ISD::MUL, dl, VT, Op0, Op1),
LowerMULHX(DAG.getNode(MULHXOpcode, dl, VT, Op0, Op1), DAG),
};
SDVTList VTs = DAG.getVTList(VT, VT);
SDNode * N = DAG.getNode(ISD::MERGE_VALUES, dl, VTs, res[0],
res[1]).getNode();
return SDValue(N,Op.getResNo()); // AArch64 doesn’t do this
}
The above is weird in at least two respects....