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 07:47, Sebastian Huber wrote:
On 27/07/17 03:40, Kito Cheng wrote:
I am testing with RISC-V with newlib/trunk and just hang on ffs,
after investigate, I saw gcc just generate a ffs call in ffs for riscv64
and I guess riscv64 is not the only target will hit this bug,
so maybe we can revert the part of this patch, at least for ffs.c?
We should first investigate why GCC performs this optimization. The
file is compiled with -fno-builtin, so it some other optimization.
Maybe we need something like __attribute__ ((__optimize__
("-fno-tree-loop-distribute-patterns"))) as in string/local.h.
I tried to build a riscv32 GCC, but apparently there is no RISC-V
support in upstream Newlib:
n file included from
/home/EB/sebastian_h/archive/gcc-git/newlib/libc/include/sys/config.h:4:0,
from
/home/EB/sebastian_h/archive/gcc-git/newlib/libc/include/_ansi.h:16,
from
/home/EB/sebastian_h/archive/gcc-git/newlib/libc/include/sys/unistd.h:8,
from
/home/EB/sebastian_h/archive/gcc-git/newlib/libc/include/unistd.h:4,
from
/home/EB/sebastian_h/archive/gcc-git/newlib/libc/include/pthread.h:25,
from ./gthr-default.h:31,
from
/home/EB/sebastian_h/archive/gcc-git/libgcc/gthr.h:148,
from
/home/EB/sebastian_h/archive/gcc-git/libgcc/unwind-dw2.c:37:
/home/EB/sebastian_h/archive/gcc-git/newlib/libc/include/machine/ieeefp.h:428:2:
error: #error Endianess not declared!!
#error Endianess not declared!!
^~~~~
Do you have plans to add RISC-V support to upstream Newlib?
--
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()