add optional input flag to FMRRD

llvm-svn: 30774
This commit is contained in:
Rafael Espindola 2006-10-06 20:33:26 +00:00
parent 671f25281d
commit aa2a12f1a2
2 changed files with 4 additions and 3 deletions

View File

@ -284,8 +284,8 @@ static SDOperand LowerCALL(SDOperand Op, SelectionDAG &DAG) {
Ops.push_back(DAG.getRegister(Reg2, MVT::i32));
SDVTList VTs = DAG.getVTList(MVT::Other, MVT::Flag);
SDOperand Ops[] = {Chain, SDReg1, SDReg2, Arg}; //missing flag
Chain = DAG.getNode(ARMISD::FMRRD, VTs, Ops, 4);
SDOperand Ops[] = {Chain, SDReg1, SDReg2, Arg, InFlag};
Chain = DAG.getNode(ARMISD::FMRRD, VTs, Ops, InFlag.Val ? 5 : 4);
} else {
if (VT == MVT::f32)
Arg = DAG.getNode(ISD::BIT_CONVERT, MVT::i32, Arg);

View File

@ -78,7 +78,8 @@ def armfsitos : SDNode<"ARMISD::FSITOS", SDTUnaryOp>;
def armfsitod : SDNode<"ARMISD::FSITOD", SDTUnaryOp>;
def SDTarmfmrrd : SDTypeProfile<0, 3, [SDTCisInt<0>, SDTCisInt<1>, SDTCisFP<2>]>;
def armfmrrd : SDNode<"ARMISD::FMRRD", SDTarmfmrrd, [SDNPHasChain, SDNPOutFlag]>;
def armfmrrd : SDNode<"ARMISD::FMRRD", SDTarmfmrrd,
[SDNPHasChain, SDNPOptInFlag, SDNPOutFlag]>;
def SDTarmfmdrr : SDTypeProfile<1, 2, [SDTCisFP<0>, SDTCisInt<1>, SDTCisInt<2>]>;
def armfmdrr : SDNode<"ARMISD::FMDRR", SDTarmfmdrr, []>;