<div dir="ltr">Hello LLVM Devs,<div><br></div><div>I am trying to lower floating point conditional  branch operation to library call with following code:</div><div><br></div><div><div>SDValue EmitCMP(...){</div><div>  // lower condition code to target specific condition code</div><div>if (STI.useHardFlot()) {</div><div>  // if fcmp instruction is available use it</div><div>  return DAG.getNode(DummyArchISD::FCMP, dl, MVT::Glue, LHS, RHS,</div><div>                     TargetCC);</div><div>} else {</div><div>  // else generate library call</div><div>  DAG.getTargetLoweringInfo().softenSetCCOperands(DAG, MVT::f32, LHS, RHS,</div><div>                                                  CC, dl);</div><div>  return LHS;</div><div>}</div><div>}</div><div><br></div><div>SDValue DummyArchTargetLowering::LowerBR_CC(SDValue Op, SelectionDAG &DAG) const {</div><div>SDValue Chain = Op.getOperand(0);</div><div>ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(1))->get();</div><div>SDValue LHS   = Op.getOperand(2);</div><div>SDValue RHS   = Op.getOperand(3);</div><div>SDValue Dest  = Op.getOperand(4);</div><div>SDLoc dl  (Op);</div><div><br></div><div>SDValue TargetCC;</div><div>SDValue Flag = EmitCMP(LHS, RHS, TargetCC, CC, dl, DAG);</div><div>MVT SVT = LHS.getSimpleValueType();</div><div>if (SVT != MVT::f32) {</div><div>return DAG.getNode(DummyArchISD::BR_CC, dl, Op.getValueType(),</div><div>                 Chain, Dest, TargetCC, Flag);</div><div>}</div><div>else {</div><div>return DAG.getNode(DummyArchISD::BR_CC, dl, Op.getValueType(),</div><div>                 Chain, LHS, Dest, TargetCC, Flag);</div><div>}</div><div>}</div></div><div><br></div><div>This does not give any error, but library call dose not appear in generated assembly.</div><div><br></div><div>Can some one explain me what I am doing wrong here?</div><div><br></div><div>Sincerely,</div><div>Vivek</div></div>