This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: [PATCH v2 3/3] Add ffsl(), ffsll(), fls(), flsl(), flsll()
On 27/07/17 09:06, Sebastian Huber wrote:
On 27/07/17 08:52, Kito Cheng wrote:
I only hit this bug on RV64, you can try -march=rv64ima -mabi=lp64
with riscv32-elf-gcc if you don't want to rebuild.
Yes, I get the same. Is this a GCC bug?
No, its a feature:
/* Call this to initialize the contents of the optabs
appropriately for the current target machine. */
void
init_optabs (void)
{
[...]
/* The ffs function operates on `int'. Fall back on it if we do not
have a libgcc2 function for that width. */
if (INT_TYPE_SIZE < BITS_PER_WORD)
set_optab_libfunc (ffs_optab, mode_for_size (INT_TYPE_SIZE,
MODE_INT, 0),
"ffs");
I guess we have to use some conditional compilation in ffs() to work
around this GCC feature.
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
- References:
- [PATCH 3/3] Add ffsl(), ffsll(), fls(), flsl(), flsll()
- [PATCH v2 3/3] Add ffsl(), ffsll(), fls(), flsl(), flsll()
- Re: [PATCH v2 3/3] Add ffsl(), ffsll(), fls(), flsl(), flsll()
- Re: [PATCH v2 3/3] Add ffsl(), ffsll(), fls(), flsl(), flsll()
- Re: [PATCH v2 3/3] Add ffsl(), ffsll(), fls(), flsl(), flsll()
- Re: [PATCH v2 3/3] Add ffsl(), ffsll(), fls(), flsl(), flsll()
- Re: [PATCH v2 3/3] Add ffsl(), ffsll(), fls(), flsl(), flsll()