* [PATCH 1/2][ARM][binutils] Add support for ARMv8.1 Adv.SIMD extension.
@ 2015-05-21 9:48 Matthew Wahab
2015-05-21 9:50 ` [PATCH 2/2][ARM][gas] " Matthew Wahab
2015-05-29 15:04 ` [PATCH 1/2][ARM][binutils] " Nicholas Clifton
0 siblings, 2 replies; 4+ messages in thread
From: Matthew Wahab @ 2015-05-21 9:48 UTC (permalink / raw)
To: binutils
[-- Attachment #1: Type: text/plain, Size: 621 bytes --]
The ARMv8.1 architecture introduces two instructions, "vqrdmlah" and "vqrdmlsh",
and their variants to the ARM Advanced SIMD instruction set. This patch adds
support for these instructions to binutils. A following patch will add support
to gas.
Tested for arm-none-linux-gnueabihf with check-binutils and check-gas.
Ok for trunk?
Matthew
include/opcode/
2015-05-21 Matthew Wahab <matthew.wahab@arm.com>
* arm.h (FPU_NEON_EXT_RDMA): New.
(FPU_ARCH_NEON_VFP_ARMV8_1): New.
opcodes/
2015-05-21 Matthew Wahab <matthew.wahab@arm.com>
* arm-dis.c (neon_opcodes): Add "vqrdmlah" and "vqrdmlsh".
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-ARM-binutils-Support-v8.1-Adv.SIMD-extension.patch --]
[-- Type: text/x-patch; name=0001-ARM-binutils-Support-v8.1-Adv.SIMD-extension.patch, Size: 2989 bytes --]
From 6429eb1da008688fef5f50b33fbb34b2efa52052 Mon Sep 17 00:00:00 2001
From: Matthew Wahab <matthew.wahab@arm.com>
Date: Thu, 14 May 2015 09:38:01 +0100
Subject: [PATCH 1/2] [ARM][binutils] Support v8.1 Adv.SIMD extension
Change-Id: I91cdeb4dc7a4a1e5a3c48a9e053ade2ff9c4d5ed
---
include/opcode/arm.h | 6 ++++++
opcodes/arm-dis.c | 19 +++++++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/include/opcode/arm.h b/include/opcode/arm.h
index 1bf6b3c..a8bcced 100644
--- a/include/opcode/arm.h
+++ b/include/opcode/arm.h
@@ -83,6 +83,7 @@
#define FPU_CRYPTO_EXT_ARMV8 0x00008000 /* Crypto for ARMv8. */
#define CRC_EXT_ARMV8 0x00004000 /* CRC32 for ARMv8. */
#define FPU_VFP_EXT_ARMV8xD 0x00002000 /* Single-precision FP for ARMv8. */
+#define FPU_NEON_EXT_RDMA 0x00001000 /* v8.1 Adv.SIMD extensions. */
/* Architectures are the sum of the base and extensions. The ARM ARM (rev E)
defines the following: ARMv3, ARMv3M, ARMv4xM, ARMv4, ARMv4TxM, ARMv4T,
@@ -201,6 +202,11 @@
#define FPU_ARCH_CRYPTO_NEON_VFP_ARMV8 \
ARM_FEATURE_COPROC (FPU_CRYPTO_ARMV8 | FPU_NEON_ARMV8 | FPU_VFP_ARMV8)
#define ARCH_CRC_ARMV8 ARM_FEATURE_COPROC (CRC_EXT_ARMV8)
+#define FPU_ARCH_NEON_VFP_ARMV8_1 \
+ ARM_FEATURE_COPROC (FPU_NEON_ARMV8 \
+ | FPU_VFP_ARMV8 \
+ | FPU_NEON_EXT_RDMA)
+
#define FPU_ARCH_ENDIAN_PURE ARM_FEATURE_COPROC (FPU_ENDIAN_PURE)
diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c
index 1585a4f..1725385 100644
--- a/opcodes/arm-dis.c
+++ b/opcodes/arm-dis.c
@@ -1194,6 +1194,12 @@ static const struct opcode32 neon_opcodes[] =
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
0xf2000a10, 0xfe800f10,
"vpmin%c.%24?us%20-21S2\t%12-15,22R, %16-19,7R, %0-3,5R"},
+ {ARM_FEATURE_COPROC (FPU_NEON_EXT_RDMA),
+ 0xf3000b10, 0xff800f10,
+ "vqrdmlah%c.s%20-21S6\t%12-15,22R, %16-19,7R, %0-3,5R"},
+ {ARM_FEATURE_COPROC (FPU_NEON_EXT_RDMA),
+ 0xf3000c10, 0xff800f10,
+ "vqrdmlsh%c.s%20-21S6\t%12-15,22R, %16-19,7R, %0-3,5R"},
/* One register and an immediate value. */
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
@@ -1447,6 +1453,19 @@ static const struct opcode32 neon_opcodes[] =
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
0xf2800a40, 0xfe800f50,
"vmull%c.%24?us%20-21S6\t%12-15,22Q, %16-19,7D, %D"},
+ {ARM_FEATURE_COPROC (FPU_NEON_EXT_RDMA),
+ 0xf2800e40, 0xff800f50,
+ "vqrdmlah%c.s%20-21S6\t%12-15,22D, %16-19,7D, %D"},
+ {ARM_FEATURE_COPROC (FPU_NEON_EXT_RDMA),
+ 0xf2800f40, 0xff800f50,
+ "vqrdmlsh%c.s%20-21S6\t%12-15,22D, %16-19,7D, %D"},
+ {ARM_FEATURE_COPROC (FPU_NEON_EXT_RDMA),
+ 0xf3800e40, 0xff800f50,
+ "vqrdmlah%c.s%20-21S6\t%12-15,22Q, %16-19,7Q, %D"},
+ {ARM_FEATURE_COPROC (FPU_NEON_EXT_RDMA),
+ 0xf3800f40, 0xff800f50,
+ "vqrdmlsh%c.s%20-21S6\t%12-15,22Q, %16-19,7Q, %D"
+ },
/* Element and structure load/store. */
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
--
1.9.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/2][ARM][gas] Add support for ARMv8.1 Adv.SIMD extension.
2015-05-21 9:48 [PATCH 1/2][ARM][binutils] Add support for ARMv8.1 Adv.SIMD extension Matthew Wahab
@ 2015-05-21 9:50 ` Matthew Wahab
2015-05-29 15:04 ` Nicholas Clifton
2015-05-29 15:04 ` [PATCH 1/2][ARM][binutils] " Nicholas Clifton
1 sibling, 1 reply; 4+ messages in thread
From: Matthew Wahab @ 2015-05-21 9:50 UTC (permalink / raw)
To: binutils
[-- Attachment #1: Type: text/plain, Size: 1047 bytes --]
The ARMv8.1 architecture introduces two instructions, "vqrdmlah" and "vqrdmlsh",
and their variants to the ARM Advanced SIMD instruction set. This patch adds
support to gas for the new instructions, making them available under under a new
armv8-a architecture extension "+rdma". It also adds a new -mfpu architecture
name "neon-fp-armv8.1", which is neon-fp-armv8.1 with the new instructions.
Tested for arm-none-linux-gnueabihf with check-binutils and check-gas.
Ok for trunk?
Matthew
gas/
2015-05-21 Matthew Wahab <matthew.wahab@arm.com>
* config/tc-arm.c (fpu_neon_ext_v8_1): New.
(neon_tab_entry): Add "vqrdmlah" and "vqrdmlsh".
(asm_opcode_insns): Add "vqrdmlah", "vqrdmlahq", "vqrdmlsh" and
"vqrdmlshq".
(arm_extensions): Add "rdma".
(arm_fpus): Add "neon-fp-armv8.1".
* doc/c-arm.texi (-mcpu): Add "rdma" to supported extensions.
(-mfpu): Add "neon-fp-armv8-1".
gas/testsuite/
2015-05-21 Matthew Wahab <matthew.wahab@arm.com>
* gas/arm/armv8-a+rdma.d: New.
* gas/arm/armv8-a+rdma.s: New.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0002-ARM-gas-Support-ARMv8.1-Adv.SIMD-instructions.patch --]
[-- Type: text/x-patch; name=0002-ARM-gas-Support-ARMv8.1-Adv.SIMD-instructions.patch, Size: 8910 bytes --]
From 730312bd1c061bce71600fcfaf4fe352bd389e2a Mon Sep 17 00:00:00 2001
From: Matthew Wahab <matthew.wahab@arm.com>
Date: Thu, 14 May 2015 12:52:24 +0100
Subject: [PATCH 2/2] [ARM][gas] Support ARMv8.1 Adv.SIMD instructions.
Change-Id: I8c196329d4b26e253abc3666de76db6a0ef77835
---
gas/config/tc-arm.c | 13 ++++++
gas/doc/c-arm.texi | 5 ++-
gas/testsuite/gas/arm/armv8-a+rdma.d | 77 ++++++++++++++++++++++++++++++++++++
gas/testsuite/gas/arm/armv8-a+rdma.s | 60 ++++++++++++++++++++++++++++
4 files changed, 154 insertions(+), 1 deletion(-)
create mode 100644 gas/testsuite/gas/arm/armv8-a+rdma.d
create mode 100644 gas/testsuite/gas/arm/armv8-a+rdma.s
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 683774f..6317cdd 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -258,6 +258,8 @@ static const arm_feature_set fpu_crypto_ext_armv8 =
ARM_FEATURE_COPROC (FPU_CRYPTO_EXT_ARMV8);
static const arm_feature_set crc_ext_armv8 =
ARM_FEATURE_COPROC (CRC_EXT_ARMV8);
+static const arm_feature_set fpu_neon_ext_v8_1 =
+ ARM_FEATURE_COPROC (FPU_NEON_EXT_ARMV8 | FPU_NEON_EXT_RDMA);
static int mfloat_abi_opt = -1;
/* Record user cpu selection for object attributes. */
@@ -12897,6 +12899,8 @@ struct neon_tab_entry
X(vqdmull, 0x0800d00, N_INV, 0x0800b40), \
X(vqdmulh, 0x0000b00, N_INV, 0x0800c40), \
X(vqrdmulh, 0x1000b00, N_INV, 0x0800d40), \
+ X(vqrdmlah, 0x3000b10, N_INV, 0x0800e40), \
+ X(vqrdmlsh, 0x3000c10, N_INV, 0x0800f40), \
X(vshl, 0x0000400, N_INV, 0x0800510), \
X(vqshl, 0x0000410, N_INV, 0x0800710), \
X(vand, 0x0000110, N_INV, 0x0800030), \
@@ -19789,6 +19793,11 @@ static const struct asm_opcode insns[] =
NUF(vrecpsq, 0000f10, 3, (RNQ, oRNQ, RNQ), neon_step),
NUF(vrsqrts, 0200f10, 3, (RNDQ, oRNDQ, RNDQ), neon_step),
NUF(vrsqrtsq, 0200f10, 3, (RNQ, oRNQ, RNQ), neon_step),
+ /* ARM v8.1 extension. */
+ nUF(vqrdmlah, _vqrdmlah, 3, (RNDQ, oRNDQ, RNDQ_RNSC), neon_qdmulh),
+ nUF(vqrdmlahq, _vqrdmlah, 3, (RNQ, oRNQ, RNDQ_RNSC), neon_qdmulh),
+ nUF(vqrdmlsh, _vqrdmlsh, 3, (RNDQ, oRNDQ, RNDQ_RNSC), neon_qdmulh),
+ nUF(vqrdmlshq, _vqrdmlsh, 3, (RNQ, oRNQ, RNDQ_RNSC), neon_qdmulh),
/* Two address, int/float. Types S8 S16 S32 F32. */
NUF(vabsq, 1b10300, 2, (RNQ, RNQ), neon_abs_neg),
@@ -24669,6 +24678,9 @@ static const struct arm_option_extension_value_table arm_extensions[] =
| ARM_EXT_DIV),
ARM_FEATURE_CORE_LOW (ARM_EXT_VIRT),
ARM_FEATURE_CORE_LOW (ARM_EXT_V7A)),
+ ARM_EXT_OPT ("rdma", FPU_ARCH_NEON_VFP_ARMV8,
+ ARM_FEATURE_COPROC (FPU_NEON_ARMV8 | FPU_NEON_EXT_RDMA),
+ ARM_FEATURE_CORE_LOW (ARM_EXT_V8)),
ARM_EXT_OPT ("xscale",ARM_FEATURE_COPROC (ARM_CEXT_XSCALE),
ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), ARM_ANY),
{ NULL, 0, ARM_ARCH_NONE, ARM_ARCH_NONE, ARM_ARCH_NONE }
@@ -24726,6 +24738,7 @@ static const struct arm_option_fpu_value_table arm_fpus[] =
{"neon-fp-armv8", FPU_ARCH_NEON_VFP_ARMV8},
{"crypto-neon-fp-armv8",
FPU_ARCH_CRYPTO_NEON_VFP_ARMV8},
+ {"neon-fp-armv8.1", FPU_ARCH_NEON_VFP_ARMV8_1},
{NULL, ARM_ARCH_NONE}
};
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index d31ba02..76e4ee9 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -179,6 +179,8 @@ architectures),
@code{simd} (Advanced SIMD Extensions for v8-A architecture, implies @code{fp}),
@code{virt} (Virtualization Extensions for v7-A architecture, implies
@code{idiv}),
+@code{rdma} (ARMv8.1 Advanced SIMD extensions for v8-A architecture, implies
+@code{simd}),
and
@code{xscale}.
@@ -270,8 +272,9 @@ The following format options are recognized:
@code{neon},
@code{neon-vfpv4},
@code{neon-fp-armv8},
-and
@code{crypto-neon-fp-armv8}.
+and
+@code{neon-fp-armv8-1},
In addition to determining which instructions are assembled, this option
also affects the way in which the @code{.double} assembler directive behaves
diff --git a/gas/testsuite/gas/arm/armv8-a+rdma.d b/gas/testsuite/gas/arm/armv8-a+rdma.d
new file mode 100644
index 0000000..f7e958a
--- /dev/null
+++ b/gas/testsuite/gas/arm/armv8-a+rdma.d
@@ -0,0 +1,77 @@
+#name: Valid v8-a+rdma
+#objdump: -dr
+#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd
+
+.*: +file format .*arm.*
+
+
+Disassembly of section .text:
+
+00000000 <.*>:
+ 0: f3110b12 vqrdmlah.s16 d0, d1, d2
+ 4: f3120b54 vqrdmlah.s16 q0, q1, q2
+ 8: f3210b12 vqrdmlah.s32 d0, d1, d2
+ c: f3220b54 vqrdmlah.s32 q0, q1, q2
+ 10: f3110c12 vqrdmlsh.s16 d0, d1, d2
+ 14: f3120c54 vqrdmlsh.s16 q0, q1, q2
+ 18: f3210c12 vqrdmlsh.s32 d0, d1, d2
+ 1c: f3220c54 vqrdmlsh.s32 q0, q1, q2
+ 20: f2910e42 vqrdmlah.s16 d0, d1, d2\[0\]
+ 24: f2910e4a vqrdmlah.s16 d0, d1, d2\[1\]
+ 28: f2910e62 vqrdmlah.s16 d0, d1, d2\[2\]
+ 2c: f2910e6a vqrdmlah.s16 d0, d1, d2\[3\]
+ 30: f3920e42 vqrdmlah.s16 q0, q1, d2\[0\]
+ 34: f3920e4a vqrdmlah.s16 q0, q1, d2\[1\]
+ 38: f3920e62 vqrdmlah.s16 q0, q1, d2\[2\]
+ 3c: f3920e6a vqrdmlah.s16 q0, q1, d2\[3\]
+ 40: f2a10e42 vqrdmlah.s32 d0, d1, d2\[0\]
+ 44: f2a10e62 vqrdmlah.s32 d0, d1, d2\[1\]
+ 48: f3a20e42 vqrdmlah.s32 q0, q1, d2\[0\]
+ 4c: f3a20e62 vqrdmlah.s32 q0, q1, d2\[1\]
+ 50: f2910f42 vqrdmlsh.s16 d0, d1, d2\[0\]
+ 54: f2910f4a vqrdmlsh.s16 d0, d1, d2\[1\]
+ 58: f2910f62 vqrdmlsh.s16 d0, d1, d2\[2\]
+ 5c: f2910f6a vqrdmlsh.s16 d0, d1, d2\[3\]
+ 60: f3920f42 vqrdmlsh.s16 q0, q1, d2\[0\]
+ 64: f3920f4a vqrdmlsh.s16 q0, q1, d2\[1\]
+ 68: f3920f62 vqrdmlsh.s16 q0, q1, d2\[2\]
+ 6c: f3920f6a vqrdmlsh.s16 q0, q1, d2\[3\]
+ 70: f2a10f42 vqrdmlsh.s32 d0, d1, d2\[0\]
+ 74: f2a10f62 vqrdmlsh.s32 d0, d1, d2\[1\]
+ 78: f3a20f42 vqrdmlsh.s32 q0, q1, d2\[0\]
+ 7c: f3a20f62 vqrdmlsh.s32 q0, q1, d2\[1\]
+
+00000080 <.*>:
+ 80: ff11 0b12 vqrdmlah.s16 d0, d1, d2
+ 84: ff12 0b54 vqrdmlah.s16 q0, q1, q2
+ 88: ff21 0b12 vqrdmlah.s32 d0, d1, d2
+ 8c: ff22 0b54 vqrdmlah.s32 q0, q1, q2
+ 90: ff11 0c12 vqrdmlsh.s16 d0, d1, d2
+ 94: ff12 0c54 vqrdmlsh.s16 q0, q1, q2
+ 98: ff21 0c12 vqrdmlsh.s32 d0, d1, d2
+ 9c: ff22 0c54 vqrdmlsh.s32 q0, q1, q2
+ a0: ef91 0e42 vqrdmlah.s16 d0, d1, d2\[0\]
+ a4: ef91 0e4a vqrdmlah.s16 d0, d1, d2\[1\]
+ a8: ef91 0e62 vqrdmlah.s16 d0, d1, d2\[2\]
+ ac: ef91 0e6a vqrdmlah.s16 d0, d1, d2\[3\]
+ b0: ff92 0e42 vqrdmlah.s16 q0, q1, d2\[0\]
+ b4: ff92 0e4a vqrdmlah.s16 q0, q1, d2\[1\]
+ b8: ff92 0e62 vqrdmlah.s16 q0, q1, d2\[2\]
+ bc: ff92 0e6a vqrdmlah.s16 q0, q1, d2\[3\]
+ c0: efa1 0e42 vqrdmlah.s32 d0, d1, d2\[0\]
+ c4: efa1 0e62 vqrdmlah.s32 d0, d1, d2\[1\]
+ c8: ffa2 0e42 vqrdmlah.s32 q0, q1, d2\[0\]
+ cc: ffa2 0e62 vqrdmlah.s32 q0, q1, d2\[1\]
+ d0: ef91 0f42 vqrdmlsh.s16 d0, d1, d2\[0\]
+ d4: ef91 0f4a vqrdmlsh.s16 d0, d1, d2\[1\]
+ d8: ef91 0f62 vqrdmlsh.s16 d0, d1, d2\[2\]
+ dc: ef91 0f6a vqrdmlsh.s16 d0, d1, d2\[3\]
+ e0: ff92 0f42 vqrdmlsh.s16 q0, q1, d2\[0\]
+ e4: ff92 0f4a vqrdmlsh.s16 q0, q1, d2\[1\]
+ e8: ff92 0f62 vqrdmlsh.s16 q0, q1, d2\[2\]
+ ec: ff92 0f6a vqrdmlsh.s16 q0, q1, d2\[3\]
+ f0: efa1 0f42 vqrdmlsh.s32 d0, d1, d2\[0\]
+ f4: efa1 0f62 vqrdmlsh.s32 d0, d1, d2\[1\]
+ f8: ffa2 0f42 vqrdmlsh.s32 q0, q1, d2\[0\]
+ fc: ffa2 0f62 vqrdmlsh.s32 q0, q1, d2\[1\]
+
diff --git a/gas/testsuite/gas/arm/armv8-a+rdma.s b/gas/testsuite/gas/arm/armv8-a+rdma.s
new file mode 100644
index 0000000..60632f5
--- /dev/null
+++ b/gas/testsuite/gas/arm/armv8-a+rdma.s
@@ -0,0 +1,60 @@
+ .syntax unified
+ .text
+ .arch armv8-a
+ .arch_extension rdma
+
+ .macro vect_inst I T R
+ \I\().\T \R\()0, \R\()1, \R\()2
+ .endm
+
+ .macro scalar_inst I T R N
+ \I\().\T \R\()0, \R\()1, d\()2[\N\()]
+ .endm
+
+ .text
+ .arm
+A1:
+ .irp inst, vqrdmlah, vqrdmlsh
+ .irp type, s16, s32
+ .irp reg, d, q
+ vect_inst \inst \type \reg
+ .endr
+ .endr
+ .endr
+
+ .irp inst, vqrdmlah, vqrdmlsh
+ .irp reg, d, q
+ .irp idx, 0, 1, 2, 3
+ scalar_inst \inst s16 \reg \idx
+ .endr
+ .endr
+ .irp reg, d, q
+ .irp idx, 0, 1
+ scalar_inst \inst s32 \reg \idx
+ .endr
+ .endr
+ .endr
+
+ .text
+ .thumb
+T1:
+ .irp inst, vqrdmlah, vqrdmlsh
+ .irp type, s16, s32
+ .irp reg, d, q
+ vect_inst \inst \type \reg
+ .endr
+ .endr
+ .endr
+
+ .irp inst, vqrdmlah, vqrdmlsh
+ .irp reg, d, q
+ .irp idx, 0, 1, 2, 3
+ scalar_inst \inst s16 \reg \idx
+ .endr
+ .endr
+ .irp reg, d, q
+ .irp idx, 0, 1
+ scalar_inst \inst s32 \reg \idx
+ .endr
+ .endr
+ .endr
--
1.9.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2][ARM][binutils] Add support for ARMv8.1 Adv.SIMD extension.
2015-05-21 9:48 [PATCH 1/2][ARM][binutils] Add support for ARMv8.1 Adv.SIMD extension Matthew Wahab
2015-05-21 9:50 ` [PATCH 2/2][ARM][gas] " Matthew Wahab
@ 2015-05-29 15:04 ` Nicholas Clifton
1 sibling, 0 replies; 4+ messages in thread
From: Nicholas Clifton @ 2015-05-29 15:04 UTC (permalink / raw)
To: Matthew Wahab, binutils
Hi Matthew,
> include/opcode/
> 2015-05-21 Matthew Wahab <matthew.wahab@arm.com>
>
> * arm.h (FPU_NEON_EXT_RDMA): New.
> (FPU_ARCH_NEON_VFP_ARMV8_1): New.
>
> opcodes/
> 2015-05-21 Matthew Wahab <matthew.wahab@arm.com>
>
> * arm-dis.c (neon_opcodes): Add "vqrdmlah" and "vqrdmlsh".
Approved - please apply.
Cheers
Nick
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2][ARM][gas] Add support for ARMv8.1 Adv.SIMD extension.
2015-05-21 9:50 ` [PATCH 2/2][ARM][gas] " Matthew Wahab
@ 2015-05-29 15:04 ` Nicholas Clifton
0 siblings, 0 replies; 4+ messages in thread
From: Nicholas Clifton @ 2015-05-29 15:04 UTC (permalink / raw)
To: Matthew Wahab, binutils
Hi Matthew,
> gas/
> 2015-05-21 Matthew Wahab <matthew.wahab@arm.com>
>
> * config/tc-arm.c (fpu_neon_ext_v8_1): New.
> (neon_tab_entry): Add "vqrdmlah" and "vqrdmlsh".
> (asm_opcode_insns): Add "vqrdmlah", "vqrdmlahq", "vqrdmlsh" and
> "vqrdmlshq".
> (arm_extensions): Add "rdma".
> (arm_fpus): Add "neon-fp-armv8.1".
> * doc/c-arm.texi (-mcpu): Add "rdma" to supported extensions.
> (-mfpu): Add "neon-fp-armv8-1".
>
> gas/testsuite/
> 2015-05-21 Matthew Wahab <matthew.wahab@arm.com>
>
> * gas/arm/armv8-a+rdma.d: New.
> * gas/arm/armv8-a+rdma.s: New.
Approved - please apply.
Cheers
Nick
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-05-29 15:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-21 9:48 [PATCH 1/2][ARM][binutils] Add support for ARMv8.1 Adv.SIMD extension Matthew Wahab
2015-05-21 9:50 ` [PATCH 2/2][ARM][gas] " Matthew Wahab
2015-05-29 15:04 ` Nicholas Clifton
2015-05-29 15:04 ` [PATCH 1/2][ARM][binutils] " Nicholas Clifton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).