aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTejas Belagod <tejas.belagod@arm.com>2013-12-19 14:44:55 +0000
committerTejas Belagod <belagod@gcc.gnu.org>2013-12-19 14:44:55 +0000
commit9783e5984b418815896e6eb21d991c5e8457093a (patch)
tree521ee1f266dc07566efaa88d7dd1f7bd74c9e8ff /gcc
parentafb582f10fcee186fe9bf8c5c586ff5527d1a94a (diff)
downloadgcc-9783e5984b418815896e6eb21d991c5e8457093a.zip
gcc-9783e5984b418815896e6eb21d991c5e8457093a.tar.gz
gcc-9783e5984b418815896e6eb21d991c5e8457093a.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/types.md20
2 files changed, 25 insertions, 1 deletions
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 <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.
+
+2013-12-19 Tejas Belagod <tejas.belagod@arm.com>
+
* 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?