https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114224
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note after r15-2946-gfcc3af99498804, for: ``` int fc(unsigned char a) { return __builtin_popcountg(a) == 1; } ``` Without CSSC, GCC produces: ``` and w0, w0, 255 fmov d31, x0 cnt v31.8b, v31.8b smov w0, v31.b[0] cmp w0, 1 cset w0, eq ret ``` Plus there is a missing optimization. It should just be: ``` fmov b31, w0 ``` I have a fix for that I think. But we still don't get the right costing here ...