-C Change\sthe\sprint\sresolution\sthe\sfp-speed-1.c\stest\sto\s17\sdigits.
-D 2026-03-27T14:54:01.631
+C Enable\sthe\suse\sof\sintrinsic\shigh-precision\smultiplies\son\sWindows\sARM.\nMake\sthe\sSQLITE_DISABLE_INTRINSIC\soption\seffective\son\shigh-precision\nmultiple\ssubroutines,\sfor\stesting\spurposes.
+D 2026-03-27T16:09:10.848
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F src/update.c 3e5e7ff66fa19ebe4d1b113d480639a24cc1175adbefabbd1a948a07f28e37cf
F src/upsert.c 215328c3f91623c520ec8672c44323553f12caeb4f01b1090ebdca99fdf7b4f1
F src/utf.c 7267c3fb9e2467020507601af3354c2446c61f444387e094c779dccd5ca62165
-F src/util.c c24ed5647e81eea3abe3d9878b709425a3e843cbf4580ac442ed46b93824138c
+F src/util.c 3e6ae9bde9a108d92bbb9ce5c6139efef5a1d5949d79912b7aabf67bfa3000a5
F src/vacuum.c d3d35d8ae893d419ade5fa196d761a83bddcbb62137a1a157ae751ef38b26e82
F src/vdbe.c 6c57525d7db0232d52687d30da1093db0c152f14206c2ef1adf0c19a09d863e3
F src/vdbe.h 70e862ac8a11b590f8c1eaac17a0078429d42bc4ea3f757a9af0f451dd966a71
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P 9b083070de2d782fe1db62652af8f3cd48abe16b55b974f3927b738e3d914887
-R bc862639f71414fdaa2bc2f25b71c606
+P c687b32a956315ddf4336df42deb4037c37d51b536b8a24c5cef4c5a0bc4c79b
+R 217cc40eefb63df69bf27558fb090280
U drh
-Z ef7f1d31ce60e52e9bbaf991b4bd1e93
+Z e23febd3b8e71bad9713a72ada23a3d4
# Remove this line to create a well-formed Fossil manifest.
*/
static u64 sqlite3Multiply128(u64 a, u64 b, u64 *pLo){
#if (defined(__GNUC__) || defined(__clang__)) \
- && (defined(__x86_64__) || defined(__aarch64__) || defined(__riscv))
+ && (defined(__x86_64__) || defined(__aarch64__) || defined(__riscv)) \
+ && !defined(SQLITE_DISABLE_INTRINSIC)
__uint128_t r = (__uint128_t)a * b;
*pLo = (u64)r;
return (u64)(r>>64);
-#elif defined(_MSC_VER) && defined(_M_X64)
+#elif defined(_MSC_VER) && !defined(SQLITE_DISABLE_INTRINSIC)
*pLo = a*b;
return __umulh(a, b);
#else
*/
static u64 sqlite3Multiply160(u64 a, u32 aLo, u64 b, u32 *pLo){
#if (defined(__GNUC__) || defined(__clang__)) \
- && (defined(__x86_64__) || defined(__aarch64__) || defined(__riscv))
+ && (defined(__x86_64__) || defined(__aarch64__) || defined(__riscv)) \
+ && !defined(SQLITE_DISABLE_INTRINSIC)
__uint128_t r = (__uint128_t)a * b;
r += ((__uint128_t)aLo * b) >> 32;
*pLo = (r>>32)&0xffffffff;
return r>>64;
-#elif defined(_MSC_VER) && defined(_M_X64)
+#elif defined(_MSC_VER) && !defined(SQLITE_DISABLE_INTRINSIC)
u64 r1_hi = __umulh(a,b);
u64 r1_lo = a*b;
u64 r2 = (__umulh((u64)aLo,b)<<32) + ((aLo*b)>>32);
- r1_hi += _addcarry_u64(0, r1_lo, r2, &r1_lo);
- *pLo = r1_lo>>32;
+ u64 t = r1_lo + r2;
+ if( t<r1_lo ) r1_hi++;
+ *pLo = t>>32;
return r1_hi;
#else
u64 x2 = a>>32;
** Count leading zeros for a 64-bit unsigned integer.
*/
static int countLeadingZeros(u64 m){
-#if defined(__GNUC__) || defined(__clang__)
+#if (defined(__GNUC__) || defined(__clang__)) \
+ && !defined(SQLITE_DISABLE_INTRINSIC)
return __builtin_clzll(m);
#else
int n = 0;