[PATCH 1/3] popcount: Provide function implementation rather than intrinsic redirect

amdgcn will need to override this

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>

This is only really needed for VI+ ASICs. However, llvm would cast the value to
i32 for older asics anyway. The proper fix is in LLVM-7 (r326535).
Fixes CTS popcount on carrizo.

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>

This series looks good to me.

Also tested successfully on Polaris on latest LLVM 7.0.

--Aaron