aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorPrzemyslaw Wirkus <przemyslaw.wirkus@arm.com>2020-10-28 14:09:25 +0000
committerPrzemyslaw Wirkus <przemyslaw.wirkus@arm.com>2020-10-28 14:12:37 +0000
commit82503ca7ed8301dc076919d5010bf981e35b1314 (patch)
tree3edc543156ab0041ba79b4cb2c96ca685bbf135a /gas
parentfd195909ce14c7e852319613e7ec6a9a6e7b99ea (diff)
downloadbinutils-82503ca7ed8301dc076919d5010bf981e35b1314.zip
binutils-82503ca7ed8301dc076919d5010bf981e35b1314.tar.gz
binutils-82503ca7ed8301dc076919d5010bf981e35b1314.tar.bz2
aarch64: Add WFET instruction for Armv8.7-a
This patch adds new to Armv8.7 WFET instruction which take one operand: WFET <Xt> Where: <Xt> is 64-bit name of the general-purpose source register, encoded in the "Rd" field. For more details regarding WFET (Wait For Event with Timeout) instruction for Armv8.7-a please refer to Arm A64 Instruction set documentation for Armv8-A architecture profile, see document pages 565 of [0]. [0]: https://developer.arm.com/docs/ddi0596/i gas/ChangeLog: 2020-10-27 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> * NEWS: Update docs. * testsuite/gas/aarch64/system-5.d: New test. * testsuite/gas/aarch64/system-5.s: New test. opcodes/ChangeLog: 2020-10-27 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> * aarch64-tbl.h (struct aarch64_opcode): Add new WFET instruction encoding and operand description. * aarch64-asm-2.c: Regenerated. * aarch64-dis-2.c: Regenerated. * aarch64-opc-2.c: Regenerated.
Diffstat (limited to 'gas')
-rw-r--r--gas/NEWS3
-rw-r--r--gas/testsuite/gas/aarch64/system-5.d39
-rw-r--r--gas/testsuite/gas/aarch64/system-5.s34
3 files changed, 75 insertions, 1 deletions
diff --git a/gas/NEWS b/gas/NEWS
index b993464..88ad1d8 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -21,7 +21,8 @@
* Add support for Armv8-R and Armv8.7-A AArch64.
-* Add support for DSB memory nXS barrier instruction for Armv8.7 AArch64.
+* Add support for DSB memory nXS barrier and WFET instruction for Armv8.7
+ AArch64.
* Add support for Intel TDX instructions.
diff --git a/gas/testsuite/gas/aarch64/system-5.d b/gas/testsuite/gas/aarch64/system-5.d
new file mode 100644
index 0000000..22fd611
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/system-5.d
@@ -0,0 +1,39 @@
+#name: WFET (Wait For Event with Timeout) instruction
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0+ <.*>:
+.*: d5031000 wfet x0
+.*: d5031001 wfet x1
+.*: d5031002 wfet x2
+.*: d5031003 wfet x3
+.*: d5031004 wfet x4
+.*: d5031005 wfet x5
+.*: d5031006 wfet x6
+.*: d5031007 wfet x7
+.*: d5031008 wfet x8
+.*: d5031009 wfet x9
+.*: d503100a wfet x10
+.*: d503100b wfet x11
+.*: d503100c wfet x12
+.*: d503100d wfet x13
+.*: d503100e wfet x14
+.*: d503100f wfet x15
+.*: d5031010 wfet x16
+.*: d5031011 wfet x17
+.*: d5031012 wfet x18
+.*: d5031013 wfet x19
+.*: d5031014 wfet x20
+.*: d5031015 wfet x21
+.*: d5031016 wfet x22
+.*: d5031017 wfet x23
+.*: d5031018 wfet x24
+.*: d5031019 wfet x25
+.*: d503101a wfet x26
+.*: d503101b wfet x27
+.*: d503101c wfet x28
+.*: d503101d wfet x29
+.*: d503101e wfet x30
diff --git a/gas/testsuite/gas/aarch64/system-5.s b/gas/testsuite/gas/aarch64/system-5.s
new file mode 100644
index 0000000..6a518ce
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/system-5.s
@@ -0,0 +1,34 @@
+/* Wait For Event with Timeout is a Armv8.7 instruction. */
+.arch armv8.7-a
+
+ wfet x0
+ wfet x1
+ wfet x2
+ wfet x3
+ wfet x4
+ wfet x5
+ wfet x6
+ wfet x7
+ wfet x8
+ wfet x9
+ wfet x10
+ wfet x11
+ wfet x12
+ wfet x13
+ wfet x14
+ wfet x15
+ wfet x16
+ wfet x17
+ wfet x18
+ wfet x19
+ wfet x20
+ wfet x21
+ wfet x22
+ wfet x23
+ wfet x24
+ wfet x25
+ wfet x26
+ wfet x27
+ wfet x28
+ wfet x29
+ wfet x30