diff options
author | Matthew Wahab <matthew.wahab@arm.com> | 2015-11-27 16:32:21 +0000 |
---|---|---|
committer | Matthew Wahab <matthew.wahab@arm.com> | 2015-11-27 16:32:21 +0000 |
commit | 622b9eb1a6047bd3ad3e1a3f120cf7318ac25b57 (patch) | |
tree | ac51bb2427fc5af358e473775b99a31857313c3d /opcodes/aarch64-opc-2.c | |
parent | cf86120bae8973340583a0613ad622f0ca013efd (diff) | |
download | gdb-622b9eb1a6047bd3ad3e1a3f120cf7318ac25b57.zip gdb-622b9eb1a6047bd3ad3e1a3f120cf7318ac25b57.tar.gz gdb-622b9eb1a6047bd3ad3e1a3f120cf7318ac25b57.tar.bz2 |
[AArch64][PATCH 3/3] Add floating-point FP16 instructions
ARMv8.2 adds 16-bit floating point operations as an optional extension
to the ARMv8 FP support. This patch adds the new FP16 instructions,
making them available when the architecture extension +fp+fp16 is
specified.
The instructions added are:
- Comparisons and conditionals: FCMP, FCCMPE, FCMP, FCMPE and FCSEL.
- Arithmetic: FABS, FNEG, FSQRT, FMUL, FDIV, FADD, FSUB, FMADD, FMSUB,
FNMADD and FNMSUB.
- Rounding: FRINTN, FRINTP, FRINTM, FRINTZ, FRINTA, FRINTX and FRINTI.
- Conversions: SCVTF (fixed-point), SCVTF (integer), UCVTF (fixed-point)
UCVTF (integer), FCVTZS (fixed-point), FCVTZS (integer), FCVTZU
(fixed-point), FCVTZU (integer), FCVTNS, FCVTNU, FCVTAS, FCVTAU,
FCVTPS, FCVTPU, FCVTMS and FCVTMU.
- Scalar FMOV: immediate, general and register
gas/testsuite/
2015-11-27 Matthew Wahab <matthew.wahab@arm.com>
* gas/aarch64/float-fp16.d: New.
* gas/aarch64/float-fp16.s: New.
opcodes/
2015-11-27 Matthew Wahab <matthew.wahab@arm.com>
* aarch64-asm-2.c: Regenerate.
* aarch64-dis-2.c: Regenerate.
* aarch64-opc-2.c: Regenerate.
* aarch64-tbl.h (QL_FIX2FP_H, QL_FP2FIX_H): New.
(QL_INT2FP_H, QL_FP2INT_H): New.
(QL_FP2_H, QL_FP3_H, QL_FP4_H): New
(QL_DST_H): New.
(QL_FCCMP_H): New.
(aarch64_opcode_table): Add 16-bit variants of scvt, ucvtf,
fcvtzs, fcvtzu, fcvtns, fcvtnu, scvtf, ucvtf, fcvtas, fcvtau,
fmov, fcvtpos, fcvtpu, fcvtms, fcvtmu, fcvtzs, fcvtzu, fccmp,
fccmpe, fcmp, fcmpe, fabs, fneg, fsqrt, frintn, frintp, frintm,
frintz, frinta, frintx, frinti, fmul, fdiv, fadd, fsub, fmax,
fmin, fmaxnm, fminnm, fnmul, fmadd, fmsub, fnmadd, fnmsub and
fcsel.
Change-Id: Ie6d40bd1b215a9bc024e12ba75e52afbe1675eb7
Diffstat (limited to 'opcodes/aarch64-opc-2.c')
-rw-r--r-- | opcodes/aarch64-opc-2.c | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/opcodes/aarch64-opc-2.c b/opcodes/aarch64-opc-2.c index ca3f35b..968e99c 100644 --- a/opcodes/aarch64-opc-2.c +++ b/opcodes/aarch64-opc-2.c @@ -121,48 +121,48 @@ const struct aarch64_operand aarch64_operands[] = static const unsigned op_enum_table [] = { 0, - 670, - 671, - 672, - 675, - 676, - 677, - 678, - 679, - 673, - 674, - 680, - 681, - 703, - 704, - 705, - 708, - 709, - 710, - 711, - 712, - 706, - 707, - 713, - 714, - 757, + 720, + 721, + 722, + 725, + 726, + 727, + 728, + 729, + 723, + 724, + 730, + 731, + 753, + 754, + 755, 758, 759, 760, + 761, + 762, + 756, + 757, + 763, + 764, + 807, + 808, + 809, + 810, 12, 519, 520, - 952, - 954, - 956, - 764, - 955, - 953, + 1002, + 1004, + 1006, + 814, + 1005, + 1003, 261, 507, 518, 517, - 762, + 812, 514, 511, 503, @@ -172,13 +172,13 @@ static const unsigned op_enum_table [] = 513, 515, 516, - 772, + 822, 535, 538, 541, 536, 539, - 636, + 664, 162, 163, 164, |