<div dir="ltr">Great! Thanks Richard.<div><br></div><div>-Juergen</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Nov 6, 2013 at 4:20 AM, Richard Sandiford <span dir="ltr"><<a href="mailto:rsandifo@linux.vnet.ibm.com" target="_blank">rsandifo@linux.vnet.ibm.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Richard Sandiford <<a href="mailto:rsandifo@linux.vnet.ibm.com">rsandifo@linux.vnet.ibm.com</a>> writes:<br>
> Juergen Ributzka <<a href="mailto:juergen@apple.com">juergen@apple.com</a>> writes:<br>
>> The problem is that getSetCCResultType() always returns a scalar value<br>
>> type and sign extend doesn’t like to convert from vector types to<br>
>> scalar types (v1i32 -> i32). I did a quick hack to<br>
>> getSetCCResultType() in the SystemZ backend, which seems to fix the<br>
>> problem. I am not familiar with the SystemZ mainframes, so I am hoping<br>
>> you could help me by checking and testing the following change:<br>
>><br>
>> virtual EVT getSetCCResultType(LLVMContext &C, EVT VT) const LLVM_OVERRIDE {<br>
>>   if (VT.isVector())<br>
>>     return EVT::getVectorVT(C, MVT::i32, VT.getVectorNumElements());<br>
>>   else<br>
>>     return MVT::i32;<br>
>> }<br>
><br>
> Sounds good to me, but it looks like other targets use:<br>
><br>
>   if (!VT.isVector())<br>
>     return MVT::i32;<br>
>   return VT.changeVectorElementTypeToInteger();<br>
><br>
> so maybe we should do the same here for consistency.<br>
<br>
FWIW, I just committed this as r194148.<br>
<br>
Thanks,<br>
Richard<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>