Date: Sat, 23 May 2020 11:06:46 +0000 From: bugzilla-noreply@freebsd.org To: toolchain@FreeBSD.org Subject: [Bug 244169] [clang] __builtin_mul_overflow() with 64-bit values requires __muloti4 which is missing on 32-bit architectures Message-ID: <bug-244169-29464-ehG6wEyErG@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-244169-29464@https.bugs.freebsd.org/bugzilla/> References: <bug-244169-29464@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D244169 Dimitry Andric <dim@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dim@FreeBSD.org --- Comment #1 from Dimitry Andric <dim@FreeBSD.org> --- We do compile contrib/llvm-project/compiler-rt/lib/builtins/muloti4.c as pa= rt of libcompiler_rt, but the file starts with: #include "int_lib.h" #ifdef CRT_HAS_128BIT // Returns: a * b // Effects: sets *overflow to 1 if a * b overflows COMPILER_RT_ABI ti_int __muloti4(ti_int a, ti_int b, int *overflow) { Obviously, CRT_HAS_128BIT is false on 32-bit platforms; it is defined in int_lib.h as: #if defined(__LP64__) || defined(__wasm__) || defined(__mips64) ||=20=20=20= =20=20=20=20=20=20=20=20=20 \ defined(__riscv) || defined(_WIN64) #define CRT_HAS_128BIT #endif So I'm not really sure what we can do about this... --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-244169-29464-ehG6wEyErG>