From: Julian Seward Date: Sun, 12 Jan 2014 18:23:45 +0000 (+0000) Subject: Add missing ULLs to some 64-bit immediates. X-Git-Tag: svn/VALGRIND_3_10_1^2~166 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a93861fcf86c7dd15e3283c686228075f9de408;p=thirdparty%2Fvalgrind.git Add missing ULLs to some 64-bit immediates. git-svn-id: svn://svn.valgrind.org/vex/trunk@2804 --- diff --git a/VEX/priv/guest_arm64_toIR.c b/VEX/priv/guest_arm64_toIR.c index a357ac08f8..d212e3b046 100644 --- a/VEX/priv/guest_arm64_toIR.c +++ b/VEX/priv/guest_arm64_toIR.c @@ -4338,7 +4338,7 @@ Bool dis_ARM64_simd_and_fp(/*MB_OUT*/DisResult* dres, UInt insn) UInt dd = INSN(4,0); ULong imm = VFPExpandImm(imm8, isD ? 64 : 32); if (!isD) { - vassert(0 == (imm & 0xFFFFFFFF00000000)); + vassert(0 == (imm & 0xFFFFFFFF00000000ULL)); } putQReg128(dd, mkV128(0)); putQReg(dd, isD ? mkU64(imm) : mkU32(imm & 0xFFFFFFFFULL)); diff --git a/VEX/priv/host_arm64_isel.c b/VEX/priv/host_arm64_isel.c index 805d00cd88..9852fe3ab5 100644 --- a/VEX/priv/host_arm64_isel.c +++ b/VEX/priv/host_arm64_isel.c @@ -1200,12 +1200,18 @@ static Int CountSetBits(ULong value, Int width) // value = h+g+f+e d+c+b+a // \ | // value = h+g+f+e+d+c+b+a - value = ((value >> 1) & 0x5555555555555555) + (value & 0x5555555555555555); - value = ((value >> 2) & 0x3333333333333333) + (value & 0x3333333333333333); - value = ((value >> 4) & 0x0f0f0f0f0f0f0f0f) + (value & 0x0f0f0f0f0f0f0f0f); - value = ((value >> 8) & 0x00ff00ff00ff00ff) + (value & 0x00ff00ff00ff00ff); - value = ((value >> 16) & 0x0000ffff0000ffff) + (value & 0x0000ffff0000ffff); - value = ((value >> 32) & 0x00000000ffffffff) + (value & 0x00000000ffffffff); + value = ((value >> 1) & 0x5555555555555555ULL) + + (value & 0x5555555555555555ULL); + value = ((value >> 2) & 0x3333333333333333ULL) + + (value & 0x3333333333333333ULL); + value = ((value >> 4) & 0x0f0f0f0f0f0f0f0fULL) + + (value & 0x0f0f0f0f0f0f0f0fULL); + value = ((value >> 8) & 0x00ff00ff00ff00ffULL) + + (value & 0x00ff00ff00ff00ffULL); + value = ((value >> 16) & 0x0000ffff0000ffffULL) + + (value & 0x0000ffff0000ffffULL); + value = ((value >> 32) & 0x00000000ffffffffULL) + + (value & 0x00000000ffffffffULL); return value; }