This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, AArch64] [2/6] Implement support for Crypto -- Instruction types.
- From: Ramana Radhakrishnan <ramana dot gcc at googlemail dot com>
- To: Tejas Belagod <tbelagod at arm dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Kyrylo Tkachov <kyrylo dot tkachov at arm dot com>
- Date: Wed, 18 Dec 2013 13:04:14 +0000
- Subject: Re: [Patch, AArch64] [2/6] Implement support for Crypto -- Instruction types.
- Authentication-results: sourceware.org; auth=none
- References: <52A20AF8 dot 30605 at arm dot com>
- Reply-to: ramrad01 at arm dot com
On Fri, Dec 6, 2013 at 5:35 PM, Tejas Belagod <tbelagod@arm.com> wrote:
>
> Hi,
>
> The attached patch adds crypto types for instruction classificiation.
>
> Tested on aarch64-none-elf. OK for trunk?
Ok but please work with Kyryll to make sure only one version of this
gets in, obviously.
Ramana
>
> Thanks,
> Tejas
>
> 2013-12-06 Tejas Belagod <tejas.belagod@arm.com>
>
> * 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.
> diff --git a/gcc/config/arm/types.md b/gcc/config/arm/types.md
> index 1c4b9e3..81ca62d 100644
> --- a/gcc/config/arm/types.md
> +++ b/gcc/config/arm/types.md
> @@ -326,6 +326,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
> @@ -519,6 +520,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,\
> @@ -821,6 +831,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,\
> @@ -1035,7 +1046,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?