This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH][AArch64] Add aes and sha reservations for Thunderx2t99
- From: "Hurugalawadi, Naveen" <Naveen dot Hurugalawadi at cavium dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: "Pinski, Andrew" <Andrew dot Pinski at cavium dot com>, James Greenhalgh <james dot greenhalgh at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Marcus Shawcroft <marcus dot shawcroft at arm dot com>
- Date: Mon, 6 Mar 2017 05:09:58 +0000
- Subject: [PATCH][AArch64] Add aes and sha reservations for Thunderx2t99
- Authentication-results: sourceware.org; auth=none
- Authentication-results: cavium.com; dkim=none (message not signed) header.d=none;cavium.com; dmarc=none action=none header.from=cavium.com;
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
Hi,
Please find attached the patch that adds aes and sha reservations for
Thunderx2t99.
Bootstrapped and Regression tested on aarch64-thunder-linux.
Please review the patch and let us know if its okay for Stage-1?
Thanks,
Naveen
2017-03-06 Julian Brown <julian@codesourcery.com>
Naveen H.S <Naveen.Hurugalawadi@cavium.com>
* config/aarch64/thunderx2t99.md (thunderx2t99_crc): New Reservation.
diff --git a/gcc/config/aarch64/thunderx2t99.md b/gcc/config/aarch64/thunderx2t99.md
index f807547..2eb136b 100644
--- a/gcc/config/aarch64/thunderx2t99.md
+++ b/gcc/config/aarch64/thunderx2t99.md
@@ -443,7 +443,22 @@
(eq_attr "type" "neon_store2_one_lane,neon_store2_one_lane_q"))
"thunderx2t99_ls01,thunderx2t99_f01")
+;; Crypto extensions.
+
+; FIXME: Forwarding path for aese/aesmc or aesd/aesimc pairs?
+
+(define_insn_reservation "thunderx2t99_aes" 5
+ (and (eq_attr "tune" "thunderx2t99")
+ (eq_attr "type" "crypto_aese,crypto_aesmc"))
+ "thunderx2t99_f1")
+
(define_insn_reservation "thunderx2t99_pmull" 5
(and (eq_attr "tune" "thunderx2t99")
(eq_attr "type" "crypto_pmull"))
"thunderx2t99_f1")
+
+(define_insn_reservation "thunderx2t99_sha" 7
+ (and (eq_attr "tune" "thunderx2t99")
+ (eq_attr "type" "crypto_sha1_fast,crypto_sha1_xor,crypto_sha1_slow,\
+ crypto_sha256_fast,crypto_sha256_slow"))
+ "thunderx2t99_f1")