From b8ec4e871ef7650b852df9956841ee414766de59 Mon Sep 17 00:00:00 2001 From: Jiong Wang Date: Fri, 19 Feb 2016 14:27:23 +0000 Subject: [ARM] Add FP16 feature extension for ARMv8.2 architecture include/ * opcode/arm.h (ARM_EXT2_FP16_INSN): New. gas/ * config/tc-arm.c (arm_ext_fp16): New. (arm_extensions): New entry for "fp16". --- gas/ChangeLog | 6 ++++++ gas/config/tc-arm.c | 6 ++++++ 2 files changed, 12 insertions(+) (limited to 'gas') diff --git a/gas/ChangeLog b/gas/ChangeLog index d97a4b7..3af58ee 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2016-02-19 Matthew Wahab + Jiong Wang + + * config/tc-arm.c (arm_ext_fp16): New. + (arm_extensions): New entry for "fp16". + 2016-02-19 Nick Clifton PR 19630 diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index be6436e..1917441 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -216,6 +216,9 @@ static const arm_feature_set arm_ext_atomics = ARM_FEATURE_CORE_HIGH (ARM_EXT2_ATOMICS); static const arm_feature_set arm_ext_v8_2 = ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_2A); +/* FP16 instructions. */ +static const arm_feature_set arm_ext_fp16 = + ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST); static const arm_feature_set arm_arch_any = ARM_ANY; static const arm_feature_set arm_arch_full = ARM_FEATURE (-1, -1, -1); @@ -25068,6 +25071,9 @@ static const struct arm_option_extension_value_table arm_extensions[] = ARM_FEATURE_CORE_LOW (ARM_EXT_V8)), ARM_EXT_OPT ("fp", FPU_ARCH_VFP_ARMV8, ARM_FEATURE_COPROC (FPU_VFP_ARMV8), ARM_FEATURE_CORE_LOW (ARM_EXT_V8)), + ARM_EXT_OPT ("fp16", ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + ARM_ARCH_V8_2A), ARM_EXT_OPT ("idiv", ARM_FEATURE_CORE_LOW (ARM_EXT_ADIV | ARM_EXT_DIV), ARM_FEATURE_CORE_LOW (ARM_EXT_ADIV | ARM_EXT_DIV), ARM_FEATURE_CORE_LOW (ARM_EXT_V7A | ARM_EXT_V7R)), -- cgit v1.1