Hi,

The following sequence of patches aim to add SHA2/3 and padding related
builtins to the rs6000 backend.

Avinash Jayakar (4):
  rs6000: Add sha2 and shapad builtins [RFC02645]
    This patch adds only SHA2 and padding builtins, since all infrastructure
required to implement it namely, the dense math facility already exists.

  genmodes: Use wider types for mode_unit_size array based on max size
    This patch adds ability to use wider type for the mode_unit_size based on
values it contains, since prior to this it was hard coded to unsigned char and
the new opaque mode needs the value 256 in this array which overflows.

  rs6000: Add __dmr2048 type (QDOmode) and map it to DMR pair register
    This patch extends the dense match facility infrastructure by adding
__dmr2046 type and the corresponding QDOmode.
  
  rs6000: Add sha3 builtins and documentation. [RFC02645]
    This patch adds the sha3 related builtins and the documentation. 

All patches have been bootstrapped and regtested on powerpc64le, in addition
patch 2/4, which is a change in genmodes.cc, has been bootstrapped and
regtested on x86-linux-gnu. Kindly review the patches.

I request Jakub/Richard to kindly review patch 2/4 as this is a change outside
rs6000.

Thanks,
Avinash Jayakar

Avinash Jayakar (4):
  rs6000: Add sha2 and shapad builtins [RFC02645]
  genmodes: Use wider types for mode_unit_size array based on max size
  rs6000: Add __dmr2048 type (QDOmode) and map it to DMR pair register
  rs6000: Add sha3 builtins and documentation [RFC02645]

 gcc/config/rs6000/crypto.md                   | 106 ++++++++++++++++++
 gcc/config/rs6000/mma.md                      |  57 ++++++++++
 gcc/config/rs6000/rs6000-builtin.cc           |  38 +++++++
 gcc/config/rs6000/rs6000-builtins.def         |  90 +++++++++++++++
 gcc/config/rs6000/rs6000-call.cc              |  10 +-
 gcc/config/rs6000/rs6000-gen-builtins.cc      |  17 ++-
 gcc/config/rs6000/rs6000-modes.def            |   3 +-
 gcc/config/rs6000/rs6000.cc                   |  82 ++++++++++----
 gcc/config/rs6000/rs6000.h                    |   7 +-
 gcc/doc/extend.texi                           |  38 +++++++
 gcc/genmodes.cc                               |  20 +++-
 gcc/machmode.h                                |   2 +-
 .../gcc.target/powerpc/sha-builtins-1.c       |  42 +++++++
 .../gcc.target/powerpc/sha-builtins-2.c       |  82 ++++++++++++++
 .../gcc.target/powerpc/sha-builtins-3.c       |  33 ++++++
 .../gcc.target/powerpc/sha-builtins-4.c       |  55 +++++++++
 .../gcc.target/powerpc/sha-builtins-5.c       |  28 +++++
 17 files changed, 679 insertions(+), 31 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/powerpc/sha-builtins-1.c
 create mode 100644 gcc/testsuite/gcc.target/powerpc/sha-builtins-2.c
 create mode 100644 gcc/testsuite/gcc.target/powerpc/sha-builtins-3.c
 create mode 100644 gcc/testsuite/gcc.target/powerpc/sha-builtins-4.c
 create mode 100644 gcc/testsuite/gcc.target/powerpc/sha-builtins-5.c

-- 
2.54.0

Reply via email to