<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 Richard,<div><br></div><div>the code hits an assertion in the DAG Type Legalizer. It is one of these generic test cases that only fail on the build bots, because there is no explicit target defined in the test case. That is also why I didn’t catch it earlier when I ran the unit tests locally. You can reproduce it by running <font face="Courier New">llc -march systemz test/CodeGen/Generic/select.ll</font> with assertions enabled. The problem is that getSetCCResultType() always returns a scalar value type and sign extend doesn’t like to convert from vector types to scalar types (v1i32 -> i32). I did a quick hack to getSetCCResultType() in the SystemZ backend, which seems to fix the problem. I am not familiar with the SystemZ mainframes, so I am hoping you could help me by checking and testing the following change:</div><div><br></div><div><font face="Courier New">virtual EVT getSetCCResultType(LLVMContext &C, EVT VT) const LLVM_OVERRIDE {</font></div><div><font face="Courier New">  if (VT.isVector())</font></div><div><font face="Courier New">    return EVT::getVectorVT(C, MVT::i32, VT.getVectorNumElements());</font></div><div><font face="Courier New">  else</font></div><div><font face="Courier New">    return MVT::i32;</font></div><div><font face="Courier New">}</font></div><div><br></div><div>Thanks</div><div><br></div><div>Cheers,</div><div>Juergen</div><div><br></div><div><br><div><div>On Oct 30, 2013, at 7:53 AM, Richard Sandiford <<a href="mailto:rsandifo@linux.vnet.ibm.com">rsandifo@linux.vnet.ibm.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Juergen Ributzka <<a href="mailto:juergen@apple.com">juergen@apple.com</a>> writes:<br><blockquote type="cite">Author: ributzka<br>Date: Wed Oct 30 01:36:19 2013<br>New Revision: 193677<br><br>URL: <a href="http://llvm.org/viewvc/llvm-project?rev=193677&view=rev">http://llvm.org/viewvc/llvm-project?rev=193677&view=rev</a><br>Log:<br>Revert "SelectionDAG: Teach the legalizer to split SETCC if VSELECT needs splitting too."<br><br>Now Hexagon and SystemZ are not happy with it :-(<br></blockquote><br>What SystemZ problem did you see?  I tried reapplying the patch locally<br>and it seemed happy (both llvm and clang testsuites).<br><br>Thanks,<br>Richard<br><br></blockquote></div><br></div></body></html>