Ports the NEON cryptographic functions to the new pragma-based framework. 
Relatively simple patch, since all of the intrinsics are UNSPECs.

ChangeLog:
* V1: Initial revision.
* V2: Remove unused variables in aarch64-builtins.cc

Karl Meakin (5):
  aarch64: Port NEON AES intrinsics to pragma-based framework
  aarch64: Port NEON SHA1 intrinsics to pragma-based framework
  aarch64: Port NEON SHA256 intrinsics to pragma-based framework
  aarch64: Port NEON SHA512 intrinsics to pragma-based framework
  aarch64: Port NEON SM3 and SM4 intrinsics to pragma-based framework

 gcc/config/aarch64/aarch64-builtins.cc        |  35 ---
 .../aarch64/aarch64-neon-builtins-base.cc     |  48 +++++
 .../aarch64/aarch64-neon-builtins-base.def    |  51 +++++
 gcc/config/aarch64/aarch64-simd-builtins.def  |  46 +---
 gcc/config/aarch64/arm_neon.h                 | 203 ------------------
 .../gcc.target/aarch64/neon/arm_neon_test.h   |   2 +-
 gcc/testsuite/gcc.target/aarch64/neon/vaes.c  |  32 +++
 gcc/testsuite/gcc.target/aarch64/neon/vsha1.c |  51 +++++
 .../gcc.target/aarch64/neon/vsha256.c         |  32 +++
 .../gcc.target/aarch64/neon/vsha512.c         |  32 +++
 gcc/testsuite/gcc.target/aarch64/neon/vsm3.c  |  81 +++++++
 gcc/testsuite/gcc.target/aarch64/neon/vsm4.c  |  26 +++
 12 files changed, 355 insertions(+), 284 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vaes.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vsha1.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vsha256.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vsha512.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vsm3.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vsm4.c

--
2.51.0

Reply via email to