This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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] |
When assembling for a named CPU we know whether or not that CPU has the ARMv8-A CRC extension. However, this was not coded into the assembler, requiring the user to explicitly enable this feature. Unfortunately, GCC assumes that we know that CRC is present and so files passed through by the compiler result in errors during assembly. This patch fixes this by introducing a new 'architecture' containing the CRC extension and then adjusting all the ARMv8-A cores that have this feature (everything bar xgene1) to use the new architecture setting. Although I don't have datasheets for all the parts I've enabled this for the xgene2, exynos-m1 and qdf24xx parts since all of these have the feature enabled already in the AArch64 assembler. If this is not correct for AArch32, then please can the relevant maintainers let me know. Tested with some simple smoke tests both using -mcpu= and .cpu directives. include: * opcode/arm.h (ARM_ARCH_V8A_CRC): New architecture. gas: * config/tc-arm.h (arm_cpus): Use ARM_ARCH_V8A_CRC for all ARMv8-A CPUs except xgene1.
Attachment:
crc.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |