Message ID | 52A20AF8.30605@arm.com |
---|---|
State | New |
Headers | show |
On 6 December 2013 17:35, Tejas Belagod <tbelagod@arm.com> wrote: > * 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. Looks ok to me, but get an ack from Ramana. Note that part of this patch duplicates the crypto* types from Kyrill's patch set also under review. Both sets look identical to me so whoever commits second will need to update their patch. /Marcus
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?
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?