Hi Anton,<br><br>Thanks for taking a look.  I had trouble with complex patterns for other similar items, but I'll take another look at this case if that actually sounds feasible.<br>Looking at LowerCTTZ, using Pat<> would be the same for cttz, although its lowering is much simpler, correct?  Is there guidelines for when to use Pat<> and when to lay it out in the code?<br>
Thanks again for taking a look!<br><br>Pete<br><br><br><br><div class="gmail_quote">On Thu, Nov 29, 2012 at 9:53 PM, Anton Korobeynikov <span dir="ltr"><<a href="mailto:anton@korobeynikov.info" target="_blank">anton@korobeynikov.info</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Pete,<br>
<div><div class="h5"><br>
> The population count intrinsic (ctpop) is supported on ARM/NEON for v8i8 and<br>
> v16i8 types via NEON's vcnt instruction.<br>
> This patch leverages vcnt and other NEON instructions to custom lower ctpop<br>
> for v2i32/v4i32 and v4i16/v8i16 types.<br>
> As you'll see, a fair chunk of this patch is comments describing the<br>
> lowering, which I am happy to adjust to people's liking.<br>
> Please review!<br>
> Thanks!<br>
</div></div>Can't you use Pat<> magic in .td file to expand ctpop into series of<br>
nodes? It seems exactly what's your lowering does...<br>
<br>
--<br>
With best regards, Anton Korobeynikov<br>
Faculty of Mathematics and Mechanics, Saint Petersburg State University<br>
</blockquote></div><br>