This is the mail archive of the 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]

Re: [ARM] Add feature check for ARMv8.1 AdvSIMD instructions.

On Thu, Feb 25, 2016 at 12:32 PM, Matthew Wahab
<> wrote:
> Hello,
> The VQRDMLAH and VQRDMLSH instructions, enabled by the +rdma extension,
> are only available on ARMv8.1 and later architectures but GAS accepts
> them for ARMv8 or later. It also fails to record their use, needed to be
> able to emit the correct build attributes.
> This patch adds feature checking to the instructions and properly
> records their use. The instructions continue to be accepted for ARMv8
> but will emit a warning if the +rdma feature wasn't specified or implied
> by other options. The existing tests for -march=armv8-a+rdma are renamed
> to match the -march=armv8.1-a+simd option and a test for the new warning
> is added.
> This patch also enables the instructions for -march=armv8.1-a, provided
> suitable options are also provided to enable the AdvSIMD code generation
> (such as +simd).
> Changes to emit build attributes will be done separately.
> Tested for arm-none-linux-gnueabihf with cross-compiled check-binutils
> and check-gas.
> Ok for trunk?


> Matthew
> gas/
> 2016-02-25  Matthew Wahab  <>
>         * config/gas/tc-arm.c (fpu_neon_ext_v8_1): Restrict to the ARMv8.1
>         feature.
>         (record_feature_use): New.
>         (mark_feature_used): Use record_feature_use.
>         (do_neon_qrdmlah): New.
>         (insns): Use do_neon_qrdmlah for vqrdmlah and vqrdmlsh and
>         variants.
>         (arm_extensions): Put into alphabetical order.  Re-indent "simd"
>         and "rdma" entries.  Fix the incorrect merge value for "+rdma".
> gas/testuite/
> 2016-02-25  Matthew Wahab  <>
>         * gas/arm/armv8-a+rdma-warning.d: New.
>         * gas/arm/armv8-a+rdma.d: Add assembler command line options.
>         Make source file explicit.
>         * gas/arm/armv8-a+rdma.l: New.
>         * gas/arm/armv8-a+rdma.s: Remove .arch and .arch_extension
>         directives.  Fix white-space.
>         * gas/arm/armv8_1-a+simd.d: New.
> include/opcode
> 2016-02-25  Matthew Wahab  <>
>         * arm.h (ARM_ARCH_V8_1A): Add FPU_NEON_EXT_RDMA.
>         (ARM_CPU_HAS_FEATURE): Add comment.

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