This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, GCC, ARM] Enable armv8.5-a and add +sb and +predres for previous ARMv8-a in ARM


Hi Sudi,

On 09/11/18 15:33, Sudakshina Das wrote:
Hi

This patch adds -march=armv8.5-a to the Arm backend.
(https://developer.arm.com/products/architecture/cpu-architecture/a-profile/exploration-tools)
Armv8.5-A also adds two new security features:
- Speculation Barrier instruction
- Execution and Data Prediction Restriction Instructions
These are made optional to all older Armv8-A versions. Thus we are
adding two new options "+sb" and "+predres" to all older Armv8-A. These
are passed on to the assembler and have no code generation effects and
have already gone in the trunk of binutils.

Bootstrapped and regression tested with arm-none-linux-gnueabihf.

Is this ok for trunk?
Sudi

*** gcc/ChangeLog ***

2018-xx-xx  Sudakshina Das  <sudi.das@arm.com>

	* config/arm/arm-cpus.in (armv8_5, sb, predres): New features.
	(ARMv8_5a): New fgroup.
	(armv8.5-a): New arch.
	(armv8-a, armv8.1-a, armv8.2-a, armv8.3-a, armv8.4-a): New
	options sb and predres.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/t-aprofile: Add matching rules for -march=armv8.5-a
	* config/arm/t-arm-elf (all_v8_archs): Add armv8.5-a.
	* config/arm/t-multilib (v8_5_a_simd_variants): New variable.
	Add matching rules for -march=armv8.5-a and extensions.
	* doc/invoke.texi (ARM options): Document -march=armv8.5-a.
	Add sb and predres to all armv8-a except armv8.5-a.

*** gcc/testsuite/ChangeLog ***

2018-xx-xx  Sudakshina Das  <sudi.das@arm.com>

	* gcc.target/arm/multilib.exp: Add some -march=armv8.5-a
	combination tests.

Hi

This patch adds -march=armv8.5-a to the Arm backend.
(https://developer.arm.com/products/architecture/cpu-architecture/a-profile/exploration-tools)
Armv8.5-A also adds two new security features:
- Speculation Barrier instruction
- Execution and Data Prediction Restriction Instructions
These are made optional to all older Armv8-A versions. Thus we are
adding two new options "+sb" and "+predres" to all older Armv8-A. These
are passed on to the assembler and have no code generation effects and
have already gone in the trunk of binutils.

Bootstrapped and regression tested with arm-none-linux-gnueabihf.

Is this ok for trunk?
Sudi

*** gcc/ChangeLog ***

2018-xx-xx  Sudakshina Das<sudi.das@arm.com>

	* config/arm/arm-cpus.in (armv8_5, sb, predres): New features.
	(ARMv8_5a): New fgroup.
	(armv8.5-a): New arch.
	(armv8-a, armv8.1-a, armv8.2-a, armv8.3-a, armv8.4-a): New
	options sb and predres.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/t-aprofile: Add matching rules for -march=armv8.5-a
	* config/arm/t-arm-elf (all_v8_archs): Add armv8.5-a.
	* config/arm/t-multilib (v8_5_a_simd_variants): New variable.
	Add matching rules for -march=armv8.5-a and extensions.
	* doc/invoke.texi (ARM options): Document -march=armv8.5-a.
	Add sb and predres to all armv8-a except armv8.5-a.

*** gcc/testsuite/ChangeLog ***

2018-xx-xx  Sudakshina Das<sudi.das@arm.com>

	* gcc.target/arm/multilib.exp: Add some -march=armv8.5-a
	combination tests.



This is ok modulo a typo fix below.

Thanks,
Kyrill

<snip>

index 25788ad09851daf41038b1578307bf23b7f34a94..eba038f9d20bc54bef7bdb7fa1c0e7028d954ed7 100644
--- a/gcc/config/arm/t-multilib
+++ b/gcc/config/arm/t-multilib
@@ -70,7 +70,8 @@ v8_a_simd_variants	:= $(call all_feat_combs, simd crypto)
 v8_1_a_simd_variants	:= $(call all_feat_combs, simd crypto)
 v8_2_a_simd_variants	:= $(call all_feat_combs, simd fp16 fp16fml crypto dotprod)
 v8_4_a_simd_variants	:= $(call all_feat_combs, simd fp16 crypto)
-v8_r_nosimd_variants	:= +crc
+v8_5_a_simd_variants	:= $(call all_feat_combs, simd fp16 crypto)
+v8_r_nosimd_variants	:= +cr5
Typo, should be +crc




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]