Add POPCNT intrinsics
Merge pull request #3965 from WalterBright/addPOPCNT

Add POPCNT intrinsics
+1
+stash
+2
+3a
+3b
+3c
+4

/+
extern(C) int printf(const char*, ...);
auto foo(bool f)
out(r)
{
    //import std.stdio;
    //writeln(r);
    static assert(is(typeof(r) : double));
    printf("%lf\n", r);
    //assert(r == 1.0);
    //assert(0);
}
body
{
    int x = 1;
    double y = 2.5;
    if (f)
        return x;
    return y;
}

void main()
{
    foo(true);
    foo(false);
}
// +/

//+
int sx;
double sy;

auto ref foo()
{
    if (1)
        return sx;
    return sy;
}
pragma(msg, typeof(foo));
// +/
-func
+x1
+x2
+x2a
+x3
+fix 8741 and others in sdtor.d
+x4
Move test issue 8665 test case into runnable/functype.d
testcontract.d does not work
+stash