mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 09:08:59 +00:00
[ARM] Add ARMv8.2 FP16 vmul/vmla/vmls (by scalar)
gas/ * config/tc-arm.c (do_neon_mac_maybe_scalar): Allow F16. * testsuite/gas/arm/armv8-2-fp16-simd.s: New tests. * testsuite/gas/arm/armv8-2-fp16-simd.d: New expected results. * testsuite/gas/arm/armv8-2-fp16-simd-thum.d: Likewise for Thumb. * testsuite/gas/arm/armv8-2-fp16-simd-warning.l: New warning results. * testsuite/gas/arm/simd_by_scalar_low_regbank.s: New test source. * testsuite/gas/arm/simd_by_scalar_low_regbank.d: New testcase. * testsuite/gas/arm/simd_by_scalar_low_regbank_thumb.d: Likewise for Thumb. * testsuite/gas/arm/simd_by_scalar_low_regbank.l: New warning results. opcodes/ * arm-dis.c: Support FP16 vmul, vmla, vmls (by scalar).
This commit is contained in:
@@ -1543,19 +1543,25 @@ static const struct opcode32 neon_opcodes[] =
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf2800040, 0xff800f50, "vmla%c.i%20-21S6\t%12-15,22D, %16-19,7D, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf2800140, 0xff800f50, "vmla%c.f%20-21Sa\t%12-15,22D, %16-19,7D, %D"},
|
||||
0xf2800140, 0xff900f50, "vmla%c.f%20-21Sa\t%12-15,22D, %16-19,7D, %D"},
|
||||
{ARM_FEATURE_COPROC (ARM_EXT2_FP16_INST),
|
||||
0xf2900140, 0xffb00f50, "vmla%c.f16\t%12-15,22D, %16-19,7D, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf2800340, 0xff800f50, "vqdmlal%c.s%20-21S6\t%12-15,22Q, %16-19,7D, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf2800440, 0xff800f50, "vmls%c.i%20-21S6\t%12-15,22D, %16-19,7D, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf2800540, 0xff800f50, "vmls%c.f%20-21S6\t%12-15,22D, %16-19,7D, %D"},
|
||||
0xf2800540, 0xff900f50, "vmls%c.f%20-21S6\t%12-15,22D, %16-19,7D, %D"},
|
||||
{ARM_FEATURE_COPROC (ARM_EXT2_FP16_INST),
|
||||
0xf2900540, 0xffb00f50, "vmls%c.f16\t%12-15,22D, %16-19,7D, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf2800740, 0xff800f50, "vqdmlsl%c.s%20-21S6\t%12-15,22Q, %16-19,7D, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf2800840, 0xff800f50, "vmul%c.i%20-21S6\t%12-15,22D, %16-19,7D, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf2800940, 0xff800f50, "vmul%c.f%20-21Sa\t%12-15,22D, %16-19,7D, %D"},
|
||||
0xf2800940, 0xff900f50, "vmul%c.f%20-21Sa\t%12-15,22D, %16-19,7D, %D"},
|
||||
{ARM_FEATURE_COPROC (ARM_EXT2_FP16_INST),
|
||||
0xf2900940, 0xffb00f50, "vmul%c.f16\t%12-15,22D, %16-19,7D, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf2800b40, 0xff800f50, "vqdmull%c.s%20-21S6\t%12-15,22Q, %16-19,7D, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
@@ -1565,15 +1571,21 @@ static const struct opcode32 neon_opcodes[] =
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf3800040, 0xff800f50, "vmla%c.i%20-21S6\t%12-15,22Q, %16-19,7Q, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf3800140, 0xff800f50, "vmla%c.f%20-21Sa\t%12-15,22Q, %16-19,7Q, %D"},
|
||||
0xf3800140, 0xff900f50, "vmla%c.f%20-21Sa\t%12-15,22Q, %16-19,7Q, %D"},
|
||||
{ARM_FEATURE_COPROC (ARM_EXT2_FP16_INST),
|
||||
0xf3900140, 0xffb00f50, "vmla%c.f16\t%12-15,22Q, %16-19,7Q, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf3800440, 0xff800f50, "vmls%c.i%20-21S6\t%12-15,22Q, %16-19,7Q, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf3800540, 0xff800f50, "vmls%c.f%20-21Sa\t%12-15,22Q, %16-19,7Q, %D"},
|
||||
0xf3800540, 0xff900f50, "vmls%c.f%20-21Sa\t%12-15,22Q, %16-19,7Q, %D"},
|
||||
{ARM_FEATURE_COPROC (ARM_EXT2_FP16_INST),
|
||||
0xf3900540, 0xffb00f50, "vmls%c.f16\t%12-15,22Q, %16-19,7Q, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf3800840, 0xff800f50, "vmul%c.i%20-21S6\t%12-15,22Q, %16-19,7Q, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf3800940, 0xff800f50, "vmul%c.f%20-21Sa\t%12-15,22Q, %16-19,7Q, %D"},
|
||||
0xf3800940, 0xff900f50, "vmul%c.f%20-21Sa\t%12-15,22Q, %16-19,7Q, %D"},
|
||||
{ARM_FEATURE_COPROC (ARM_EXT2_FP16_INST),
|
||||
0xf3900940, 0xffb00f50, "vmul%c.f16\t%12-15,22Q, %16-19,7Q, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
0xf3800c40, 0xff800f50, "vqdmulh%c.s%20-21S6\t%12-15,22Q, %16-19,7Q, %D"},
|
||||
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
|
||||
|
||||
Reference in New Issue
Block a user