[Patch/ARM] Support v8.2 fp16 simd instructions

Jiong Wang jiong.wang@foss.arm.com
Wed Mar 2 15:19:00 GMT 2016


This patch add support for new FP16 instructions introduced in ARMv8.2-a
architecture.

Since we have supported FP16 in GAS's infrastructure in scalar patch, the
SIMD support is quite straightforward, we just need to enlarge related types to
include N_F16.

Testcases added to make sure encoding for new instructions are correct under both
arm and thumb mode. This patch also contains rejection testcases to make sure new
FP16 instructions rejected on architectures don't contains such feature.


2016-03-02  Jiong Wang  <jiong.wang@arm.com>
   
gas/
   * config/tc-arm.c (N_S_32): New.
   (N_F_32): Likewise.
   (N_SUF_32): Support N_F16.
   (N_IF_32): Likewise.
   (neon_dyadic_misc): Likewise.
   (do_neon_cmp): Likewise.
   (do_neon_cmp_inv): Likewise.
   (do_neon_mul): Likewise.
   (do_neon_fcmp_absolute): Likewise.
   (do_neon_step): Likewise.
   (do_neon_abs_neg): Likewise.
   (CVT_FLAVOR_VAR): Likewise.
   (do_neon_cvt_1): Likewise.
   (do_neon_recip_est): Likewise.
   (do_vmaxnm): Likewise.
   (do_vrint_1): Likewise.
   (neon_check_type): Check architecture support for FP16
   extension.
   (insns): Update comments.
   
opcode/
   * arm-dis.c (neon_opcodes): Support new FP16 instructions.
   
gas/testsuite/
   * gas/arm/armv8-2-fp16-simd.s: New test source.
   * gas/arm/armv8-2-fp16-simd.d: New testcase for arm mode.
   * gas/arm/armv8-2-fp16-simd-thumb.d: New testcase for thumb mode.
   * gas/arm/armv8-2-fp16-simd-warning.d: New rejection test for arm mode.
   * gas/arm/armv8-2-fp16-simd-warning-thumb.d: New rejection test for thumb
   mode.
   * gas/arm/armv8-2-fp16-simd-warning.l: New expected rejection error file.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: simd.patch
Type: text/x-patch
Size: 52085 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20160302/81b27bac/attachment.bin>


More information about the Binutils mailing list