* config/aarch64/aarch64-simd.md (aarch64_crypto_pmulldi)

(aarch64_crypto_pmullv2di): Change type attribute to crypto_pmull.
	* config/aarch64/thunderx2t99.md (thunderx2t99_pmull): New
	reservation.
	* config/arm/cortex-a57.md (cortex_a57_neon_type): Add crypto_pmull to
	attribute type list for neon_multiply.
	* config/arm/crypto.md (crypto_vmullp64): Change type to crypto_pmull.
	* config/arm/types.md (crypto_pmull): Add.
	* config/arm/xgene1.md (xgene1_neon_pmull): Add crypto_pmull to
	attribute type list.


Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@cavium.com>

From-SVN: r249433
This commit is contained in:
Julian Brown 2017-06-21 05:36:03 +00:00 committed by Naveen H.S
parent 12d0fd3f85
commit a2074e9c4f
9 changed files with 31 additions and 7 deletions

View File

@ -1,3 +1,17 @@
2017-06-21 Julian Brown <julian@codesourcery.com>
Naveen H.S <Naveen.Hurugalawadi@cavium.com>
* config/aarch64/aarch64-simd.md (aarch64_crypto_pmulldi)
(aarch64_crypto_pmullv2di): Change type attribute to crypto_pmull.
* config/aarch64/thunderx2t99.md (thunderx2t99_pmull): New
reservation.
* config/arm/cortex-a57.md (cortex_a57_neon_type): Add crypto_pmull to
attribute type list for neon_multiply.
* config/arm/crypto.md (crypto_vmullp64): Change type to crypto_pmull.
* config/arm/types.md (crypto_pmull): Add.
* config/arm/xgene1.md (xgene1_neon_pmull): Add crypto_pmull to
attribute type list.
2017-06-20 Andreas Tobler <andreast@gcc.gnu.org>
* config.gcc (armv6*-*-freebsd*): Change the target_cpu_cname to

View File

@ -5831,7 +5831,7 @@
UNSPEC_PMULL))]
"TARGET_SIMD && TARGET_CRYPTO"
"pmull\\t%0.1q, %1.1d, %2.1d"
[(set_attr "type" "neon_mul_d_long")]
[(set_attr "type" "crypto_pmull")]
)
(define_insn "aarch64_crypto_pmullv2di"
@ -5841,5 +5841,5 @@
UNSPEC_PMULL2))]
"TARGET_SIMD && TARGET_CRYPTO"
"pmull2\\t%0.1q, %1.2d, %2.2d"
[(set_attr "type" "neon_mul_d_long")]
[(set_attr "type" "crypto_pmull")]
)

View File

@ -461,3 +461,10 @@
(and (eq_attr "tune" "thunderx2t99")
(eq_attr "type" "crc"))
"thunderx2t99_i1")
;; PMULL extension.
(define_insn_reservation "thunderx2t99_pmull" 5
(and (eq_attr "tune" "thunderx2t99")
(eq_attr "type" "crypto_pmull"))
"thunderx2t99_f1")

View File

@ -389,7 +389,7 @@
neon_sat_mul_b_long, neon_sat_mul_h_long,\
neon_sat_mul_s_long, neon_sat_mul_h_scalar_q,\
neon_sat_mul_s_scalar_q, neon_sat_mul_h_scalar_long,\
neon_sat_mul_s_scalar_long, neon_mla_b_q,\
neon_sat_mul_s_scalar_long, crypto_pmull, neon_mla_b_q,\
neon_mla_h_q, neon_mla_s_q, neon_mla_b_long,\
neon_mla_h_long, neon_mla_s_long,\
neon_mla_h_scalar_q, neon_mla_s_scalar_q,\

View File

@ -76,7 +76,7 @@
neon_mul_h_scalar_long, neon_mul_s_scalar_long,\
neon_sat_mul_b_long, neon_sat_mul_h_long,\
neon_sat_mul_s_long, neon_sat_mul_h_scalar_long,\
neon_sat_mul_s_scalar_long")
neon_sat_mul_s_scalar_long, crypto_pmull")
(const_string "neon_multiply")
(eq_attr "type" "neon_mul_b_q, neon_mul_h_q, neon_mul_s_q,\
neon_mul_h_scalar_q, neon_mul_s_scalar_q,\

View File

@ -81,7 +81,7 @@
UNSPEC_VMULLP64))]
"TARGET_CRYPTO"
"vmull.p64\\t%q0, %P1, %P2"
[(set_attr "type" "neon_mul_d_long")]
[(set_attr "type" "crypto_pmull")]
)
(define_insn "crypto_<crypto_pattern>"

View File

@ -78,7 +78,7 @@
neon_sat_mul_s_scalar, neon_sat_mul_s_scalar_q,\
neon_sat_mul_b_long, neon_sat_mul_h_long,\
neon_sat_mul_s_long, neon_sat_mul_h_scalar_long,\
neon_sat_mul_s_scalar_long")
neon_sat_mul_s_scalar_long, crypto_pmull")
(const_string "neon_multiply")
(eq_attr "type" "neon_mla_b, neon_mla_h, neon_mla_s,\

View File

@ -539,6 +539,7 @@
; crypto_sha1_slow
; crypto_sha256_fast
; crypto_sha256_slow
; crypto_pmull
;
; The classification below is for coprocessor instructions
;
@ -1078,6 +1079,7 @@
crypto_sha1_slow,\
crypto_sha256_fast,\
crypto_sha256_slow,\
crypto_pmull,\
coproc"
(const_string "untyped"))

View File

@ -527,5 +527,6 @@
(define_insn_reservation "xgene1_neon_pmull" 5
(and (eq_attr "tune" "xgene1")
(eq_attr "type" "neon_mul_d_long,\
"))
crypto_pmull,\
"))
"xgene1_decode2op")