This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH, ARM 3/7] Add assembler support for ARMv8-M Baseline without security extensions
- From: "Richard Earnshaw (lists)" <Richard dot Earnshaw at arm dot com>
- To: Thomas Preud'homme <thomas dot preudhomme at foss dot arm dot com>, binutils at sourceware dot org
- Date: Wed, 23 Dec 2015 13:57:39 +0000
- Subject: Re: [PATCH, ARM 3/7] Add assembler support for ARMv8-M Baseline without security extensions
- Authentication-results: sourceware.org; auth=none
- References: <001b01d13872$c0bacd70$42306850$ at foss dot arm dot com> <56740D16 dot 5020600 at arm dot com> <004201d13d4e$257d5810$70780830$ at foss dot arm dot com>
On 23/12/15 06:49, Thomas Preud'homme wrote:
> Hi Richard,
>
>> From: binutils-owner@sourceware.org [mailto:binutils-
>> owner@sourceware.org] On Behalf Of Richard Earnshaw (lists)
>> Sent: Friday, December 18, 2015 9:42 PM
>>
>
>> See comment on patch 1 re function name.
>>
>
>>
>> See comment on patch 2 re use of TAG_CPU_ARCH_...
>>
>> Otherwise OK.
>
> Updated ChangeLog entries and patch below:
>
> *** bfd/ChangeLog ***
>
> 2015-12-22 Thomas Preud'homme <thomas.preudhomme@arm.com>
>
> (tag_cpu_arch_combine): Adjust comment in v4t_plus_v6_m with regards
> to merging with ARMv8-M Baseline.
>
>
> *** binutils/ChangeLog ***
>
> 2015-12-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
>
> * readelf.c (arm_attr_tag_CPU_arch): Add ARMv8-M Baseline Tag_CPU_arch
> value.
>
>
> *** gas/ChangeLog ***
>
> 2015-12-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
>
> * config/tc-arm.c (arm_ext_v6t2_v8m): New feature for instructions
> shared between ARMv6T2 and ARMv8-M.
> (move_or_literal_pool): Check mov.w/mvn and movw availability against
> arm_ext_v6t2 and arm_ext_v6t2_v8m respectively instead of checking
> arm_arch_t2.
> (do_t_branch): Error out for wide conditional branch instructions if
> targetting ARMv8-M Baseline.
> (non_v6t2_wide_only_insn): Add the logic for new wide-only instructions
> in ARMv8-M Baseline.
> (wide_insn_ok): New function.
> (md_assemble): Use wide_insn_ok instead of non_v6t2_wide_only_insn and
> adapt error message for unsupported wide instruction to ARMv8-M
> Baseline.
> (insns): Reorganize instructions shared by ARMv8-M Baseline and
> ARMv6t2 architecture.
> (arm_cpus): Set feature bit ARM_EXT2_V6T2_V8M for marvell-pj4 and
> marvell-whitney cores.
> (arm_archs): Define armv8-m.base architecture.
> (cpu_arch_ver): Define ARM_ARCH_V8M_BASE architecture version.
> (aeabi_set_public_attributes): Add logic to set Tag_CPU_arch to 17 for
> ARMv8-M Mainline. Set Tag_DIV_use for ARMv8-M Baseline as well.
>
>
> *** gas/testsuite/ChangeLog ***
>
> 2015-12-16 Thomas Preud'homme <thomas.preudhomme@arm.com>
>
> * gas/arm/archv8m-base.d: New file.
> * gas/arm/attr-march-armv8m.base.d: Likewise.
> * gas/arm/armv8m.base-idiv.d: Likewise.
> * gas/arm/any-armv8m.d: Adapt to deal with ARMv8-M Baseline.
>
>
> *** include/elf/ChangeLog ***
>
> 2015-12-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
>
> * arm.h (TAG_CPU_ARCH_V8M_BASE): Declare.
>
>
> *** include/opcode/ChangeLog ***
>
> 2015-12-16 Thomas Preud'homme <thomas.preudhomme@arm.com>
>
> * arm.h (ARM_EXT2_V6T2_V8M): New extension bit.
> (ARM_AEXT2_V8A): New architecture extension bitfield.
> (ARM_AEXT2_V8_1A): Use ARM_AEXT2_V8A instead of ARM_EXT2_ATOMICS.
> (ARM_AEXT_V8M_BASE): New architecture extension bitfield.
> (ARM_AEXT2_V8M): Add extension bit ARM_EXT2_V6T2_V8M.
> (ARM_ARCH_V6T2): Use ARM_EXT2_V6T2_V8M for the second extension
> bitfield.
> (ARM_ARCH_V6KT2): Likewise.
> (ARM_ARCH_V6ZT2): Likewise.
> (ARM_ARCH_V6KZT2): Likewise.
> (ARM_ARCH_V7): Likewise.
> (ARM_ARCH_V7A): Likewise.
> (ARM_ARCH_V7VE): Likewise.
> (ARM_ARCH_V7R): Likewise.
> (ARM_ARCH_V7M): Likewise.
> (ARM_ARCH_V7EM): Likewise.
> (ARM_ARCH_V8A): Likewise.
> (ARM_ARCH_V8M_BASE): New architecture bitfield.
> (ARM_ARCH_THUMB2): Include instructions shared by ARMv6t2 and ARMv8-M.
> (ARM_ARCH_V7A_SEC): Use ARM_EXT2_V6T2_V8M for the second extension
> bitfield and reindent.
> (ARM_ARCH_V7A_MP_SEC): Likewise.
> (ARM_ARCH_V7R_IDIV): Likewise.
> (ARM_ARCH_V8A_FP): Use ARM_AEXT2_V8A instead of ARM_EXT2_ATOMICS.
> (ARM_ARCH_V8A_SIMD): Likewise.
> (ARM_ARCH_V8A_CRYPTOV1): Likewise.
>
>
> *** opcodes/ChangeLog ***
>
> 2015-11-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
>
> * arm-dis.c (arm_opcodes): Guard movw, movt cbz, cbnz, clrex, ldrex,
> ldrexb, ldrexh, strex, strexb, strexh shared by ARMv6T2 and ARMv8-M by
> ARM_EXT2_V6T2_V8M instead of ARM_EXT_V6T2.
>
OK.
R.