On Tue, Jul 10, 2018 at 6:14 PM Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> wrote: > > On 10 July 2018 at 23:17, Richard Biener <richard.guent...@gmail.com> wrote: > > On Tue, Jul 10, 2018 at 3:06 PM Kugan Vivekanandarajah > > <kugan.vivekanandara...@linaro.org> wrote: > >> > >> Hi, > >> > >> Jeff told me that the recent popcount built-in detection is causing > >> kernel build issues as > >> ERROR: "__popcountsi2" > >> [drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko] undefined! > >> > >> I could also reproduce this. AFIK, we should check if the libfunc is > >> defined while checking popcount? > >> > >> I am testing the attached RFC patch. Is this reasonable? > > > > It doesn't work that way, all targets have this libfunc in libgcc. This > > means > > the kernel has to provide it. The only thing you could do is restrict > > replacement of CALL_EXPRs (in SCEV cprop) to those the target > > natively supports. > > How about restricting it in expression_expensive_p ? Is that what you > wanted. Attached patch does this. > Bootstrap and regression testing progressing.
Seems like that should go into is_inexpensive_builtin instead which is just tested right below. Thanks, Andrew > > Thanks, > Kugan > > > > > Richard. > > > >> Thanks, > >> Kugan > >> > >> gcc/ChangeLog: > >> > >> 2018-07-10 Kugan Vivekanandarajah <kug...@linaro.org> > >> > >> * tree-ssa-loop-niter.c (number_of_iterations_popcount): Check > >> if libfunc for popcount is available.