Hi,
The attached patch adds crypto types for instruction classificiation.
Tested on aarch64-none-elf. OK for trunk?
Thanks,
Tejas
2013-12-06 Tejas Belagod <tejas.bela...@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?