[aarch64-port-dev ] population count intrinsic performance

Edward Nevill edward.nevill at gmail.com
Wed Jun 10 14:24:28 UTC 2015


On Wed, 2015-06-10 at 14:06 +0000, Alexeev, Alexander wrote:

> 
> 
> instruct popCountI(iRegINoSp dst,  iRegIorL2I src) %{
>   match(Set dst (PopCountI src));
>   ins_cost(INSN_COST * 13);
> 
>   format %{ "popCountI TODO\n\t" %}
>   ins_encode %{
>       __ mov(vscratch1, __ T1D, 0, as_Register($src$$reg));
>       __ cnt(vscratch2, __ T8B, vscratch1);
>       __ addv(vscratch1, __ T8B, vscratch2);
>       __ mov(as_Register($dst$$reg), vscratch1, __ T1D, 0);
>   %}
> 
>   ins_pipe(ialu_reg);
> %}

What are 'vscratch1' & 'vscratch2'. Could you send the complete patch so I can try this out,

Thanks,
Ed.




More information about the aarch64-port-dev mailing list