https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125148

--- Comment #9 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
The offending code is

        movi    v31.2s, #0x1
        ptrue   p7.b
        ptrue   p15.b, vl1
        cmpgt   p7.b, p7/z, z31.b, #0
        ptest   p15, p7.b
        b.eq    ba308 <...>  // b.none
        index   z30.b, #2, #1
        saddv   d30, p7, z30.b

in
_ZN3hwy10N_SVE2_12812_GLOBAL__N_119TestMaskedReduceSumclIaNS0_4SimdIaLm1ELi0EEEEEvT_T0_.constprop.0

Which is obviously bogus..

either the reduction needs to use the p15 mask or the initialization shouldn't
use a movi to initialize 1.

Given the source does explicitly pass the mask of the compare to it, I suspect
the issue is in Load
https://github.com/google/highway/blob/master/hwy/tests/reduction_test.cc#L418
but haven't found which function this maps to yet.

So unclear yet whether compiler or source bug, need to find the implementation
of `Load`.

Reply via email to