Define TARGET_CRYPTO for AArch64.

	* config/aarch64/aarch64.h (TARGET_CRYPTO): New.
	(__ARM_FEATURE_CRYPTO): Define if TARGET_CRYPTO is true.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206114 138bc75d-0d04-0410-961f-82ee72b054a4

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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206115 138bc75d-0d04-0410-961f-82ee72b054a4
2013-12-19  Yury Gribov  <y.gribov@samsung.com>

	* mklog: Split generated message in parts.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206116 138bc75d-0d04-0410-961f-82ee72b054a4

Implement support for AArch64 Crypto AES.

gcc/
	* config/aarch64/aarch64-simd-builtins.def: Update builtins table.
	* config/aarch64/aarch64-builtins.c (aarch64_types_binopu_qualifiers,
	TYPES_BINOPU): New.
	* config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi,
	aarch64_crypto_aes<aesmc_op>v16qi): New.
	* config/aarch64/arm_neon.h (vaeseq_u8, vaesdq_u8, vaesmcq_u8,
	vaesimcq_u8): New.
	* config/aarch64/iterators.md (UNSPEC_AESE, UNSPEC_AESD, UNSPEC_AESMC,
	UNSPEC_AESIMC): New.
	(CRYPTO_AES, CRYPTO_AESMC): New int iterators.
	(aes_op, aesmc_op): New int attributes.

testsuite/
	* gcc.target/aarch64/aes_1.c: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206117 138bc75d-0d04-0410-961f-82ee72b054a4
Implement support for AArch64 Crypto SHA1.

gcc/
	* config/aarch64/aarch64-simd-builtins.def: Update builtins table.
	* config/aarch64/aarch64-builtins.c (aarch64_types_ternopu_qualifiers,
	TYPES_TERNOPU): New.
	* config/aarch64/aarch64-simd.md (aarch64_crypto_sha1hsi,
	aarch64_crypto_sha1su1v4si, aarch64_crypto_sha1<sha1_op>v4si,
	aarch64_crypto_sha1su0v4si): New.
	* config/aarch64/arm_neon.h (vsha1cq_u32, sha1mq_u32, vsha1pq_u32,
	vsha1h_u32, vsha1su0q_u32, vsha1su1q_u32): New.
	* config/aarch64/iterators.md (UNSPEC_SHA1<CPMH>, UNSPEC_SHA1SU<01>):
	New.
	(CRYPTO_SHA1): New int iterator.
	(sha1_op): New int attribute.

testsuite/
	* gcc.target/aarch64/sha1_1.c: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206118 138bc75d-0d04-0410-961f-82ee72b054a4

Implement support for AArch64 Crypto SHA256.

gcc/
	* config/aarch64/aarch64-simd-builtins.def: Update builtins table.
	* config/aarch64/aarch64-simd.md (aarch64_crypto_sha256h<sha256_op>v4si,
	aarch64_crypto_sha256su0v4si, aarch64_crypto_sha256su1v4si): New.
	* config/aarch64/arm_neon.h (vsha256hq_u32, vsha256h2q_u32,
	vsha256su0q_u32, vsha256su1q_u32): New.
	* config/aarch64/iterators.md (UNSPEC_SHA256H<2>, UNSPEC_SHA256SU<01>):
	New.
	(CRYPTO_SHA256): New int iterator.
	(sha256_op): New int attribute.

testsuite/
	* gcc.target/aarch64/sha256_1.c: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206119 138bc75d-0d04-0410-961f-82ee72b054a4