From 9783e5984b418815896e6eb21d991c5e8457093a Mon Sep 17 00:00:00 2001 From: Tejas Belagod Date: Thu, 19 Dec 2013 14:44:55 +0000 Subject: [PATCH] Introduce AArch64 Crypto instruction types. * config/arm/types.md (neon_mul_d_long, crypto_aes, crypto_sha1_xor, crypto_sha1_fast, crypto_sha1_slow, crypto_sha256_fast, crypto_sha256_slow): New. From-SVN: r206115 --- gcc/ChangeLog | 6 ++++++ gcc/config/arm/types.md | 20 +++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ced3eb7..63a22c8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2013-12-19 Tejas Belagod + * config/arm/types.md (neon_mul_d_long, crypto_aes, crypto_sha1_xor, + crypto_sha1_fast, crypto_sha1_slow, crypto_sha256_fast, + crypto_sha256_slow): New. + +2013-12-19 Tejas Belagod + * config/aarch64/aarch64.h (TARGET_CRYPTO): New. (__ARM_FEATURE_CRYPTO): Define if TARGET_CRYPTO is true. diff --git a/gcc/config/arm/types.md b/gcc/config/arm/types.md index 6351f08..0ff9b08f 100644 --- a/gcc/config/arm/types.md +++ b/gcc/config/arm/types.md @@ -327,6 +327,7 @@ ; neon_mul_b_long ; neon_mul_h_long ; neon_mul_s_long +; neon_mul_d_long ; neon_mul_h_scalar ; neon_mul_h_scalar_q ; neon_mul_s_scalar @@ -520,6 +521,15 @@ ; neon_fp_div_s_q ; neon_fp_div_d ; neon_fp_div_d_q +; +; The classification below is for Crypto instructions. +; +; crypto_aes +; crypto_sha1_xor +; crypto_sha1_fast +; crypto_sha1_slow +; crypto_sha256_fast +; crypto_sha256_slow (define_attr "type" "adc_imm,\ @@ -823,6 +833,7 @@ neon_mul_b_long,\ neon_mul_h_long,\ neon_mul_s_long,\ + neon_mul_d_long,\ neon_mul_h_scalar,\ neon_mul_h_scalar_q,\ neon_mul_s_scalar,\ @@ -1037,7 +1048,14 @@ neon_fp_div_s,\ neon_fp_div_s_q,\ neon_fp_div_d,\ - neon_fp_div_d_q" + neon_fp_div_d_q,\ +\ + crypto_aes,\ + crypto_sha1_xor,\ + crypto_sha1_fast,\ + crypto_sha1_slow,\ + crypto_sha256_fast,\ + crypto_sha256_slow" (const_string "untyped")) ; Is this an (integer side) multiply with a 32-bit (or smaller) result? -- 2.7.4