aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorMatthew Wahab <matthew.wahab@arm.com>2015-12-14 17:22:36 +0000
committerMatthew Wahab <matthew.wahab@arm.com>2015-12-14 17:22:36 +0000
commit4b5fc357a17d59929cf39869d19fc4eabdb7ae81 (patch)
tree28879571174ad092bdbd634be9edf57f203be034 /gas
parentbb515fea4ac30f761c17dec701c95c0b54fabf30 (diff)
downloadfsf-binutils-gdb-4b5fc357a17d59929cf39869d19fc4eabdb7ae81.zip
fsf-binutils-gdb-4b5fc357a17d59929cf39869d19fc4eabdb7ae81.tar.gz
fsf-binutils-gdb-4b5fc357a17d59929cf39869d19fc4eabdb7ae81.tar.bz2
[AArch64][PATCH 9/14] Support FP16 Adv.SIMD Modified Immediate instructions.
ARMv8.2 adds 16-bit floating point operations as an optional extension to the floating point and Adv.SIMD support. This patch adds an FP16 instruction to the group Adv.SIMD Modified Immediate, making it available when +simd+fp16 is enabled. The instruction added is: FMOV. The form of this instructions is <OP> <Hd>, #<imm> 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 modified immediate instructions. 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_SIMD_IMM_H): New. (aarch64_opcode_table): Add fp16 version of fmov to the Adv.SIMD modified immediate group. Change-Id: Ic66af44c494e6a53fb1cf01c372cdc62d12643e2
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-fp16.d7
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-fp16.s9
3 files changed, 22 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index a2a3bf8..ff7b695 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,6 +1,12 @@
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 modified
+ immediate instructions.
+
+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.
diff --git a/gas/testsuite/gas/aarch64/advsimd-fp16.d b/gas/testsuite/gas/aarch64/advsimd-fp16.d
index 241dc3f..5abad7e 100644
--- a/gas/testsuite/gas/aarch64/advsimd-fp16.d
+++ b/gas/testsuite/gas/aarch64/advsimd-fp16.d
@@ -492,3 +492,10 @@ Disassembly of section \.text:
[0-9a-f]+: 4eb0f841 fminv h1, v2.8h
[0-9a-f]+: 0eb0f800 fminv h0, v0.4h
[0-9a-f]+: 4eb0f800 fminv h0, v0.8h
+ [0-9a-f]+: 6f00f401 fmov v1.2d, #2.000000000000000000e\+00
+ [0-9a-f]+: 0f00f401 fmov v1.2s, #2.000000000000000000e\+00
+ [0-9a-f]+: 4f00f401 fmov v1.4s, #2.000000000000000000e\+00
+ [0-9a-f]+: 0f00fc01 fmov v1.4h, #2.000000000000000000e\+00
+ [0-9a-f]+: 4f00fc01 fmov v1.8h, #2.000000000000000000e\+00
+ [0-9a-f]+: 0f03fe00 fmov v0.4h, #1.000000000000000000e\+00
+ [0-9a-f]+: 4f03fe00 fmov v0.8h, #1.000000000000000000e\+00
diff --git a/gas/testsuite/gas/aarch64/advsimd-fp16.s b/gas/testsuite/gas/aarch64/advsimd-fp16.s
index c4e0ad1..75aacf6 100644
--- a/gas/testsuite/gas/aarch64/advsimd-fp16.s
+++ b/gas/testsuite/gas/aarch64/advsimd-fp16.s
@@ -203,3 +203,12 @@
across_lanes fminnmv
across_lanes fminv
+ /* Adv.SIMD modified immediate. */
+
+ fmov v1.2d, #2.0
+ fmov v1.2s, #2.0
+ fmov v1.4s, #2.0
+ fmov v1.4h, #2.0
+ fmov v1.8h, #2.0
+ fmov v0.4h, #1.0
+ fmov v0.8h, #1.0