aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorYufeng Zhang <yufeng.zhang@arm.com>2013-02-14 18:12:51 +0000
committerYufeng Zhang <yufeng.zhang@arm.com>2013-02-14 18:12:51 +0000
commita1ccaec9526b7c2ebd2cc4fc5b5367389dc729ec (patch)
treeeb0104311476f29e0df48480e87bc75183355263 /gas
parent8e1d55a3dfe0d11fcc0921d97a80dc280a1af06b (diff)
downloadgdb-a1ccaec9526b7c2ebd2cc4fc5b5367389dc729ec.zip
gdb-a1ccaec9526b7c2ebd2cc4fc5b5367389dc729ec.tar.gz
gdb-a1ccaec9526b7c2ebd2cc4fc5b5367389dc729ec.tar.bz2
opcodes/
* aarch64-opc.c (aarch64_prfops): Change unnamed operation 'name' fields to NULL. (aarch64_print_operand): Adjust the printing for AARCH64_OPND_PRFOP. gas/ * config/tc-aarch64.c (md_begin): Change to check if 'name' is NULL. gas/testsuite/ * gas/aarch64/system.s: Add tests. * gas/aarch64/system.d: Update.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-aarch64.c5
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/aarch64/system.d18
-rw-r--r--gas/testsuite/gas/aarch64/system.s12
5 files changed, 42 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 48b5d6d..e415c66 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2013-02-14 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * config/tc-aarch64.c (md_begin): Change to check if 'name' is
+ NULL.
+
2013-02-09 Jürgen Urban <JuergenUrban@gmx.de>
* config/tc-mips.c (CPU_HAS_LDC1_SDC1): New macro.
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index f9b4cd0..ce597051 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -6867,9 +6867,8 @@ md_begin (void)
for (i = 0; i < ARRAY_SIZE (aarch64_prfops); i++)
{
const char* name = aarch64_prfops[i].name;
- /* Skip 0011x, 01xxx, 1011x and 11xxx - the unallocated hint encodings
- as a 5-bit immediate #uimm5. */
- if ((i & 0xf) >= 6)
+ /* Skip the unallocated hint encodings. */
+ if (name == NULL)
continue;
checked_hash_insert (aarch64_pldop_hsh, name,
(void *) (aarch64_prfops + i));
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index d029bfe..74cbc67 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2013-02-14 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * gas/aarch64/system.s: Add tests.
+ * gas/aarch64/system.d: Update.
+
2013-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gas/arm/archv6t2.s: Add strht and ldrht tests.
diff --git a/gas/testsuite/gas/aarch64/system.d b/gas/testsuite/gas/aarch64/system.d
index 63e0b4c..4fad895 100644
--- a/gas/testsuite/gas/aarch64/system.d
+++ b/gas/testsuite/gas/aarch64/system.d
@@ -350,3 +350,21 @@ Disassembly of section \.text:
4d8: f8af6bff prfm #0x1f, \[sp,x15\]
4dc: f8be58ff prfm #0x1f, \[x7,w30,uxtw #3\]
4e0: f9800c7f prfm #0x1f, \[x3,#24\]
+ 4e4: f9800c60 prfm pldl1keep, \[x3,#24\]
+ 4e8: f9800c61 prfm pldl1strm, \[x3,#24\]
+ 4ec: f9800c62 prfm pldl2keep, \[x3,#24\]
+ 4f0: f9800c63 prfm pldl2strm, \[x3,#24\]
+ 4f4: f9800c64 prfm pldl3keep, \[x3,#24\]
+ 4f8: f9800c65 prfm pldl3strm, \[x3,#24\]
+ 4fc: f9800c68 prfm plil1keep, \[x3,#24\]
+ 500: f9800c69 prfm plil1strm, \[x3,#24\]
+ 504: f9800c6a prfm plil2keep, \[x3,#24\]
+ 508: f9800c6b prfm plil2strm, \[x3,#24\]
+ 50c: f9800c6c prfm plil3keep, \[x3,#24\]
+ 510: f9800c6d prfm plil3strm, \[x3,#24\]
+ 514: f9800c70 prfm pstl1keep, \[x3,#24\]
+ 518: f9800c71 prfm pstl1strm, \[x3,#24\]
+ 51c: f9800c72 prfm pstl2keep, \[x3,#24\]
+ 520: f9800c73 prfm pstl2strm, \[x3,#24\]
+ 524: f9800c74 prfm pstl3keep, \[x3,#24\]
+ 528: f9800c75 prfm pstl3strm, \[x3,#24\]
diff --git a/gas/testsuite/gas/aarch64/system.s b/gas/testsuite/gas/aarch64/system.s
index 7fca5c2..234b900 100644
--- a/gas/testsuite/gas/aarch64/system.s
+++ b/gas/testsuite/gas/aarch64/system.s
@@ -60,3 +60,15 @@
.endm
all_prefetchs op=prfm, from=0, to=31
+
+ //
+ // PREFETCHS with named operation
+ //
+
+ .irp op, pld, pli, pst
+ .irp l, l1, l2, l3
+ .irp t, keep, strm
+ prfm \op\l\t, [x3, #24]
+ .endr
+ .endr
+ .endr