<div dir="ltr"><div>+    // Currently, not well supported by backend and scalarized to memory. This</div><div>+    // number is somewhat arbitrary we just want to make it really expensive.</div><div>+    { ISD::VECTOR_SHUFFLE, MVT::v8i16, 8*4 },</div>
<div>+    { ISD::VECTOR_SHUFFLE, MVT::v16i8, 16*4 },</div><div><br></div><div style>You should change it, now that you implemented it correctly.</div><div style><br></div><div style>Code looks good.</div><div style><br></div>
<div style>--renato</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 8 February 2013 17:42, Arnold Schwaighofer <span dir="ltr"><<a href="mailto:aschwaighofer@apple.com" target="_blank">aschwaighofer@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">A reverse shuffle is lowered to a vrev and possibly a vext instruction (quad<br>
word). The backend has a deficiency in lowering native v8i16 and v16i8 types.<br>
They are scalarized to memory. Reflect this in their cost.<br>
<br>
</blockquote></div><br></div>