On 13.04.19 01:44, Richard Henderson wrote: > On 4/11/19 12:08 AM, David Hildenbrand wrote: >> A galois field multiplication in field 2 is like binary multiplication, >> however instead of doing ordinary binary additions, xor's are performed. >> So no carries are considered. >> >> Implement all variants via helpers. s390_vec_sar() and s390_vec_shr() >> will be reused later on. >> >> Signed-off-by: David Hildenbrand <da...@redhat.com> >> --- >> target/s390x/helper.h | 8 ++ >> target/s390x/insn-data.def | 4 + >> target/s390x/translate_vx.inc.c | 38 ++++++++ >> target/s390x/vec_int_helper.c | 168 ++++++++++++++++++++++++++++++++ >> 4 files changed, 218 insertions(+) > > FYI, this is now the 4th copy of this operation. > > arm: pmull > x86: pclmulqdq > ppc: vpmsum[bhwd] > > We really should promote this to generic. But that can come later,
huh, I tried my best to search for anything related to galois, but seems like only s390x uses that terminology. :) Well at least I learned how it is supposed to be calculated. Thanks! > > Reviewed-by: Richard Henderson <richard.hender...@linaro.org> > > > r~ > -- Thanks, David / dhildenb