• Mike Hamburg's avatar
    Working on getting cross-arch working again. Several TODOs. · a5bed6b3
    Mike Hamburg authored
    Currently compiles and passes tests on x86_64 with arch_32 and
    DECAF_FORCE_32_BIT=1 (as well as the native settigs of course),
    so that's a start.
    
    Want to make serialization routine cross-arch.  Need to check that
    perf is good enough (likely).  Current routine in p25519/arch_32
    is almost cross-arch, but has known bugs (FIXMEs).  Needs to take
    into account separate p and, for NEON, the LIMBPERM.
    
    Want to decouple arches for each curve/field.  Currently the split
    between decaf_word_t and word_t makes this fraught with peril.  Fix
    is probably to rename decaf_word_t to decaf_api_word_t and fix it
    to either uint32 or uint64, then make internal things separate per
    field.  That way we don't have to try arch detection in the header,
    which is nice.
    
    Need to make decaf_gen_tables use SC_LIMB.  Might as well get rid
    of API_NS there too.
    a5bed6b3