diff options
author | Matthew Wahab <matthew.wahab@arm.com> | 2015-12-14 17:40:03 +0000 |
---|---|---|
committer | Matthew Wahab <matthew.wahab@arm.com> | 2015-12-14 17:42:16 +0000 |
commit | b5b0f34c669a91b9d873221ea3d688cf7f495ab5 (patch) | |
tree | f9de996366ed0f1cf1d33b01222bfaf891f9f39b /opcodes/aarch64-opc-2.c | |
parent | b195470dd29e8a5c8810209fb2d22c30004fe6ab (diff) | |
download | gdb-b5b0f34c669a91b9d873221ea3d688cf7f495ab5.zip gdb-b5b0f34c669a91b9d873221ea3d688cf7f495ab5.tar.gz gdb-b5b0f34c669a91b9d873221ea3d688cf7f495ab5.tar.bz2 |
[AArch64][PATCH 13/14] Support FP16 Adv.SIMD Shift By Immediate instructions.
ARMv8.2 adds 16-bit floating point operations as an optional extension
to the floating point and Adv.SIMD support. This patch extends
instructions in the group Adv.SIMD Shift By Immediate to support FP16,
making this support available when +simd+fp16 is enabled.
The new instructions legal make some uses of the 4h vector type that had
been invalid. This patch adjusts a test that checks for these uses.
The extended instructions are: SCVTF, FCVTZS, UCVTF and FCVTZU.
The general form for these instructions is
<OP> <Vd>.<T>, <Vs>.<T>, #<imm>
where T is 4h or 8h.
gas/testsuite/
2015-12-14 Matthew Wahab <matthew.wahab@arm.com>
* gas/aarch64/advsimd-fp16.d: Update expected output.
* gas/aarch64/advsimd-fp16.s: Add tests for Adv.SIMD across lanes
instructions.
* gas/aarch64/illegal.d: Update expected output.
* gas/aarch64/illegal.s: Replace tests for illegal use of 'h'
specifier.
opcodes/
2015-12-14 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_VSHIFT_H): New.
(aarch64_opcode_table): Add fp16 versions of scvtf, fcvtzs, ucvtf
and fcvtzu to the Adv.SIMD shift by immediate group.
Change-Id: I3480f63883d54db46562573185da6982f2365ee8
Diffstat (limited to 'opcodes/aarch64-opc-2.c')
-rw-r--r-- | opcodes/aarch64-opc-2.c | 90 |
1 files changed, 45 insertions, 45 deletions
diff --git a/opcodes/aarch64-opc-2.c b/opcodes/aarch64-opc-2.c index cf0201c..fe10cfa 100644 --- a/opcodes/aarch64-opc-2.c +++ b/opcodes/aarch64-opc-2.c @@ -122,74 +122,74 @@ const struct aarch64_operand aarch64_operands[] = static const unsigned op_enum_table [] = { 0, - 820, - 821, - 822, + 824, 825, 826, - 827, - 828, 829, - 823, - 824, 830, 831, - 853, - 854, - 855, + 832, + 833, + 827, + 828, + 834, + 835, + 857, 858, 859, - 860, - 861, 862, - 856, - 857, 863, 864, - 907, - 908, - 909, - 910, + 865, + 866, + 860, + 861, + 867, + 868, + 911, + 912, + 913, + 914, 12, - 619, - 620, - 1102, - 1104, + 623, + 624, 1106, - 914, - 1105, - 1103, + 1108, + 1110, + 918, + 1109, + 1107, 311, - 607, - 618, - 617, - 912, - 614, 611, - 603, - 602, - 609, - 610, - 613, + 622, + 621, + 916, + 618, 615, - 616, - 922, - 635, - 638, - 641, - 636, + 607, + 606, + 613, + 614, + 617, + 619, + 620, + 926, 639, - 764, + 642, + 645, + 640, + 643, + 768, 171, 172, 173, 174, - 503, - 705, + 507, + 709, 380, 382, - 402, 404, + 406, }; /* Given the opcode enumerator OP, return the pointer to the corresponding |