mirror of
https://git.busybox.net/buildroot.git
synced 2025-01-19 19:03:47 +08:00
binutils/2.27: backport patch to enable CRC instructions on supported ARMv8-A CPUs
Signed-off-by: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
65212d497e
commit
d558ca1713
@ -0,0 +1,88 @@
|
||||
From 29a4659015ca7044c2d425d32a0b828e0fbb5ac1 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Earnshaw <Richard.Earnshaw@arm.com>
|
||||
Date: Wed, 7 Sep 2016 17:14:54 +0100
|
||||
Subject: [PATCH] Automatically enable CRC instructions on supported ARMv8-A
|
||||
CPUs.
|
||||
|
||||
2016-09-07 Richard Earnshaw <rearnsha@arm.com>
|
||||
|
||||
* opcode/arm.h (ARM_ARCH_V8A_CRC): New architecture.
|
||||
|
||||
2016-09-07 Richard Earnshaw <rearnsha@arm.com>
|
||||
|
||||
* config/tc-arm.c ((arm_cpus): Use ARM_ARCH_V8A_CRC for all
|
||||
ARMv8-A CPUs except xgene1.
|
||||
|
||||
Upstream: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=patch;h=27e5a270962fb92c07e7d476966ba380fa3bb68e
|
||||
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
|
||||
---
|
||||
gas/config/tc-arm.c | 18 +++++++++---------
|
||||
include/opcode/arm.h | 2 ++
|
||||
2 files changed, 11 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
|
||||
index 73d05316..7c86184d 100644
|
||||
--- a/gas/config/tc-arm.c
|
||||
+++ b/gas/config/tc-arm.c
|
||||
@@ -25332,17 +25332,17 @@ static const struct arm_cpu_option_table arm_cpus[] =
|
||||
"Cortex-A15"),
|
||||
ARM_CPU_OPT ("cortex-a17", ARM_ARCH_V7VE, FPU_ARCH_NEON_VFP_V4,
|
||||
"Cortex-A17"),
|
||||
- ARM_CPU_OPT ("cortex-a32", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
+ ARM_CPU_OPT ("cortex-a32", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
"Cortex-A32"),
|
||||
- ARM_CPU_OPT ("cortex-a35", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
+ ARM_CPU_OPT ("cortex-a35", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
"Cortex-A35"),
|
||||
- ARM_CPU_OPT ("cortex-a53", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
+ ARM_CPU_OPT ("cortex-a53", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
"Cortex-A53"),
|
||||
- ARM_CPU_OPT ("cortex-a57", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
+ ARM_CPU_OPT ("cortex-a57", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
"Cortex-A57"),
|
||||
- ARM_CPU_OPT ("cortex-a72", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
+ ARM_CPU_OPT ("cortex-a72", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
"Cortex-A72"),
|
||||
- ARM_CPU_OPT ("cortex-a73", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
+ ARM_CPU_OPT ("cortex-a73", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
"Cortex-A73"),
|
||||
ARM_CPU_OPT ("cortex-r4", ARM_ARCH_V7R, FPU_NONE, "Cortex-R4"),
|
||||
ARM_CPU_OPT ("cortex-r4f", ARM_ARCH_V7R, FPU_ARCH_VFP_V3D16,
|
||||
@@ -25361,10 +25361,10 @@ static const struct arm_cpu_option_table arm_cpus[] =
|
||||
ARM_CPU_OPT ("cortex-m1", ARM_ARCH_V6SM, FPU_NONE, "Cortex-M1"),
|
||||
ARM_CPU_OPT ("cortex-m0", ARM_ARCH_V6SM, FPU_NONE, "Cortex-M0"),
|
||||
ARM_CPU_OPT ("cortex-m0plus", ARM_ARCH_V6SM, FPU_NONE, "Cortex-M0+"),
|
||||
- ARM_CPU_OPT ("exynos-m1", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
+ ARM_CPU_OPT ("exynos-m1", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
"Samsung " \
|
||||
"Exynos M1"),
|
||||
- ARM_CPU_OPT ("qdf24xx", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
+ ARM_CPU_OPT ("qdf24xx", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
"Qualcomm "
|
||||
"QDF24XX"),
|
||||
|
||||
@@ -25389,7 +25389,7 @@ static const struct arm_cpu_option_table arm_cpus[] =
|
||||
/* APM X-Gene family. */
|
||||
ARM_CPU_OPT ("xgene1", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
"APM X-Gene 1"),
|
||||
- ARM_CPU_OPT ("xgene2", ARM_ARCH_V8A, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
+ ARM_CPU_OPT ("xgene2", ARM_ARCH_V8A_CRC, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8,
|
||||
"APM X-Gene 2"),
|
||||
|
||||
{ NULL, 0, ARM_ARCH_NONE, ARM_ARCH_NONE, NULL }
|
||||
diff --git a/include/opcode/arm.h b/include/opcode/arm.h
|
||||
index 60715cf8..feace5cd 100644
|
||||
--- a/include/opcode/arm.h
|
||||
+++ b/include/opcode/arm.h
|
||||
@@ -263,6 +263,8 @@
|
||||
#define ARM_ARCH_V7M ARM_FEATURE_CORE (ARM_AEXT_V7M, ARM_EXT2_V6T2_V8M)
|
||||
#define ARM_ARCH_V7EM ARM_FEATURE_CORE (ARM_AEXT_V7EM, ARM_EXT2_V6T2_V8M)
|
||||
#define ARM_ARCH_V8A ARM_FEATURE_CORE (ARM_AEXT_V8A, ARM_AEXT2_V8A)
|
||||
+#define ARM_ARCH_V8A_CRC ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8A, \
|
||||
+ CRC_EXT_ARMV8)
|
||||
#define ARM_ARCH_V8_1A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_1A, \
|
||||
CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA)
|
||||
#define ARM_ARCH_V8_2A ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_2A, \
|
||||
--
|
||||
2.11.0
|
||||
|
Loading…
Reference in New Issue
Block a user