<p dir="ltr">Thanks all!<br>
 vector_extract does the job for me.</p>
<div class="gmail_extra"><br><div class="gmail_quote">On Aug 18, 2016 11:06 AM, "Matt Arsenault" <<a href="mailto:Matthew.Arsenault@amd.com">Matthew.Arsenault@amd.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 08/18/2016 11:01 AM, Tim Northover wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 18 August 2016 at 10:46, Matt Arsenault via llvm-dev<br>
<<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I think this is just intended as a quirk for some weird targets that have a<br>
legal vector type, but the scalar type itself is not legal, so it requires<br>
an implicit extension when extracting it.<br>
</blockquote>
I think it's a pretty common RISC situation. I notice you deprecated<br>
the mismatching types in r255359, but I don't really see an<br>
alternative after type-legalization with the current nodes. I suppose<br>
we could add ISD::EXTRACT_SEXT_VECTOR_ELEME<wbr>NT and<br>
ISD::EXTRACT_ZEXT_VECTOR_ELEME<wbr>NT or something.<br>
<br>
Tim.<br>
</blockquote>
<br>
I think that would be an improvement. I manage to break the mismatched element case for most every vector combine I've done<br>
<br>
-Matt<br>
<br>
</blockquote></div></div>