Matthew Wahab
622b9eb1a6
[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
2015-11-27 16:32:21 +00:00
..
2015-11-20 12:35:43 +00:00
2015-11-27 16:32:21 +00:00
2015-11-27 15:28:42 +00:00
2015-01-02 00:53:45 +10:30
2015-11-27 16:32:21 +00:00
2015-11-27 15:28:42 +00:00
2015-01-02 00:53:45 +10:30
2015-11-27 15:05:09 +00:00
2015-11-27 16:32:21 +00:00
2015-11-27 16:26:45 +00:00
2015-01-02 00:53:45 +10:30
2015-11-27 16:32:21 +00:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-10-08 12:34:13 +01:00
2015-10-07 14:20:19 +01:00
2015-10-07 14:20:19 +01:00
2015-10-07 14:20:19 +01:00
2015-10-07 14:20:19 +01:00
2015-10-07 14:20:19 +01:00
2015-10-07 14:20:19 +01:00
2015-10-07 14:20:19 +01:00
2015-11-23 15:50:29 +01:00
2015-08-12 04:45:07 -07:00
2015-09-23 18:05:16 +01:00
2015-09-23 18:05:16 +01:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-17 12:07:12 +09:30
2015-11-27 16:32:21 +00:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2014-01-08 05:32:12 -08:00
2015-01-02 00:53:45 +10:30
2014-07-04 13:40:28 +09:30
2015-11-14 16:24:39 -08:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-05-11 10:48:21 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-09-23 18:05:16 +01:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-09-25 12:33:30 -07:00
2015-01-28 16:25:18 +10:30
2015-11-20 14:16:30 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-09-23 18:05:16 +01:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-07-22 13:26:21 -07:00
2015-08-24 14:50:15 +01:00
2015-08-07 07:31:51 -07:00
2015-08-07 07:31:51 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-06-30 07:50:12 -07:00
2015-01-02 00:53:45 +10:30
2015-06-30 07:50:12 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-17 12:07:12 +09:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-17 12:07:12 +09:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-06-22 16:53:27 +01:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 17:10:22 +01:00
2015-01-02 00:53:45 +10:30
2015-09-23 18:05:16 +01:00
2015-01-02 00:53:45 +10:30
2015-11-09 08:49:10 +00:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-09-23 18:05:16 +01:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-09-23 18:05:16 +01:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-07-01 16:08:03 -07:00
2015-08-12 04:45:07 -07:00
2015-08-17 12:07:12 +09:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-11-11 19:52:52 -06:00
2015-11-11 19:52:52 -06:00
2015-10-27 15:24:40 +00:00
2015-10-27 15:24:40 +00:00
2015-10-27 14:49:02 +00:00
2015-11-02 14:37:33 +00:00
2015-11-02 14:37:33 +00:00
2015-11-17 11:37:14 +00:00
2015-01-16 12:28:58 +01:00
2015-09-29 13:22:07 +01:00
2015-10-14 10:58:41 +02:00
2015-10-14 10:58:41 +02:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-09-23 18:05:16 +01:00
2015-08-25 17:16:34 +02:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-06-22 16:53:27 +01:00
2015-09-23 18:05:16 +01:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-09-23 18:05:16 +01:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-01-02 00:53:45 +10:30
2015-08-12 04:45:07 -07:00