<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi All, <div><br></div><div>In XCore backend,  I saw </div><div>“</div><div>…...</div><div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">  EVT VT = Op.getValueType();</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">      SDValue Data =</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">        DAG.getNode(XCoreISD::CRC8, DL, DAG.getVTList(VT, VT),</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">                    Op.getOperand(<span style="color: #272ad8">1</span>), Op.getOperand(<span style="color: #272ad8">2</span>) , Op.getOperand(<span style="color: #272ad8">3</span>));</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">      SDValue Crc(Data.getNode(), <span style="color: #272ad8">1</span>);</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">      SDValue Results[] = { Crc, Data };</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">      <span style="color: #bb2ca2">return</span> DAG.getMergeValues(Results, <span style="color: #272ad8">2</span>, DL);</div></div><div>“  which is used to lower an instruction that returns two values.</div><div><br></div><div>I am trying to something like this:</div><div>”</div><div><b>…….</b></div><div><b>SDValue z = DAG.getNode(my_ISD::test_op, DL, VT, Op.getOperand(0);</b></div><div><b>SDValue w = DAG.getConstant(1, MVT::i32);</b></div><div><b><br></b></div><div><div style="margin: 0px;"><b>SDValue DataZ = DAG.getNode(ISD::BUILDER_VECTOR, DL, MVT::v4i32, z, z, z, z);</b></div></div><div style="margin: 0px;"><b>SDValue DataW = DAG.getNode(ISD::BUILDER_VECTOR, DL, MVT::v4i32, w, w, w, w);</b></div><div style="margin: 0px;"><b>SDValue result[] = {DataZ, DataW};</b></div><div style="margin: 0px;"><b>return DAg.getMergeValues(results, 2, DL);</b></div><div style="margin: 0px;"><br></div><div>“</div><div>but my view-dag only shows one return value,  wondering what is wrong? </div><div>should the results dags must be somehow “dependent” on each other?</div><div><br></div><div>Best</div><div><br></div><div>kevin</div><div><br></div><div><div><div>On Jul 7, 2014, at 2:54 PM, Tim Northover <<a href="mailto:t.p.northover@gmail.com">t.p.northover@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><blockquote type="cite">Now I am having the same problem as mentioned in this<br>thread;"<a href="http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-January/057654.html”">http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-January/057654.html”</a><br><br>[...]<br><br>Wondering if there is any update about it?<br></blockquote><br>This has been a known issue since almost the beginning of LLVM from<br>what I've picked up (certainly long before I'd even heard of the<br>project). There hasn't been any progress since those messages, I'm<br>afraid: for two or more generic outputs you need C++ for ISel<br>(usually).<br><br>Cheers.<br><br>Tim.<br></blockquote></div><br></div></body></html>