aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorYufeng Zhang <yufeng.zhang@arm.com>2014-03-18 17:41:43 +0000
committerYufeng Zhang <yufeng.zhang@arm.com>2014-03-18 17:41:43 +0000
commita52e6fd34add3dbf267ac78e4d7912a0a3f65ece (patch)
treecb0e1a499da439eb474ff7efa86269d55ca57656 /gas
parentd68d7e6b82b5dbdcc98dcb8c03530f3ed1f6173a (diff)
downloadgdb-a52e6fd34add3dbf267ac78e4d7912a0a3f65ece.zip
gdb-a52e6fd34add3dbf267ac78e4d7912a0a3f65ece.tar.gz
gdb-a52e6fd34add3dbf267ac78e4d7912a0a3f65ece.tar.bz2
Enable verbose error messages by default for AArch64 gas.
gas/ * config/tc-aarch64.c (aarch64_opts): Add new option "mno-verbose-error". (verbose_error_p): Initialize to 1. * doc/c-aarch64.texi (AArch64 Options): Document -mverbose-error and -mno-verbose-error. gas/testsuite/ * gas/aarch64/illegal.d: Pass -mno-verbose-error. * gas/aarch64/verbose-error.s: Add more verbose message testcases. * gas/aarch64/verbose-error.l: Ditto.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog8
-rw-r--r--gas/config/tc-aarch64.c8
-rw-r--r--gas/doc/c-aarch64.texi9
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/aarch64/illegal.d2
-rw-r--r--gas/testsuite/gas/aarch64/verbose-error.l132
-rw-r--r--gas/testsuite/gas/aarch64/verbose-error.s42
7 files changed, 203 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 1d27b7e..fc09a86 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,11 @@
+2014-03-18 Jiong Wang <jiong.wang@arm.com>
+
+ * config/tc-aarch64.c (aarch64_opts): Add new option
+ "mno-verbose-error".
+ (verbose_error_p): Initialize to 1.
+ * doc/c-aarch64.texi (AArch64 Options): Document -mverbose-error
+ and -mno-verbose-error.
+
2014-03-17 Nick Clifton <nickc@redhat.com>
PR gas/16694
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 5c1b938..67c0871 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -3553,9 +3553,9 @@ fix_new_aarch64 (fragS * frag,
/* Diagnostics on operands errors. */
-/* By default, output one-line error message only.
- Enable the verbose error message by -merror-verbose. */
-static int verbose_error_p = 0;
+/* By default, output verbose error message.
+ Disable the verbose error message by -mno-verbose-error. */
+static int verbose_error_p = 1;
#ifdef DEBUG_AARCH64
/* N.B. this is only for the purpose of debugging. */
@@ -7155,6 +7155,8 @@ static struct aarch64_option_table aarch64_opts[] = {
#endif /* DEBUG_AARCH64 */
{"mverbose-error", N_("output verbose error messages"), &verbose_error_p, 1,
NULL},
+ {"mno-verbose-error", N_("do not output verbose error messages"),
+ &verbose_error_p, 0, NULL},
{NULL, NULL, NULL, 0, NULL}
};
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index d55d914..cce4f61 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -88,6 +88,15 @@ extension options as the @option{-mcpu} option. Unlike
@option{-mcpu}, extensions are not always enabled by default,
@xref{AArch64 Extensions}.
+@cindex @code{-mverbose-error} command line option, AArch64
+@item -mverbose-error
+This option enables verbose error messages for AArch64 gas. This option
+is enabled by default.
+
+@cindex @code{-mno-verbose-error} command line option, AArch64
+@item -mno-verbose-error
+This option disables verbose error messages in AArch64 gas.
+
@end table
@c man end
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 4863e61..8d9336c 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2014-03-18 Jiong Wang <jiong.wang@arm.com>
+
+ * gas/aarch64/illegal.d: Pass -mno-verbose-error.
+ * gas/aarch64/verbose-error.s: Add more verbose message testcases.
+ * gas/aarch64/verbose-error.l: Ditto.
+
2014-03-17 Nick Clifton <nickc@redhat.com>
PR gas/16694
diff --git a/gas/testsuite/gas/aarch64/illegal.d b/gas/testsuite/gas/aarch64/illegal.d
index ade139c..904eace 100644
--- a/gas/testsuite/gas/aarch64/illegal.d
+++ b/gas/testsuite/gas/aarch64/illegal.d
@@ -1,4 +1,4 @@
#name: Illegal Instructions
-#as:
+#as: -mno-verbose-error
#source: illegal.s
#error-output: illegal.l
diff --git a/gas/testsuite/gas/aarch64/verbose-error.l b/gas/testsuite/gas/aarch64/verbose-error.l
index b7f713e..3d2c99e 100644
--- a/gas/testsuite/gas/aarch64/verbose-error.l
+++ b/gas/testsuite/gas/aarch64/verbose-error.l
@@ -43,3 +43,135 @@
[^:]*:16: Info: other valid variant\(s\):
[^:]*:16: Info: ldnp d3,d7,\[sp\],#16
[^:]*:16: Info: ldnp q3,q7,\[sp\],#16
+[^:]*:18: Error: operand mismatch -- `suqadd v0.8b,v1.16b'
+[^:]*:18: Info: did you mean this\?
+[^:]*:18: Info: suqadd v0.8b,v1.8b
+[^:]*:18: Info: other valid variant\(s\):
+[^:]*:18: Info: suqadd v0.16b,v1.16b
+[^:]*:18: Info: suqadd v0.4h,v1.4h
+[^:]*:18: Info: suqadd v0.8h,v1.8h
+[^:]*:18: Info: suqadd v0.2s,v1.2s
+[^:]*:18: Info: suqadd v0.4s,v1.4s
+[^:]*:18: Info: suqadd v0.2d,v1.2d
+[^:]*:20: Error: operand mismatch -- `ursqrte v2.8b,v3.8b'
+[^:]*:20: Info: did you mean this\?
+[^:]*:20: Info: ursqrte v2.2s,v3.2s
+[^:]*:20: Info: other valid variant\(s\):
+[^:]*:20: Info: ursqrte v2.4s,v3.4s
+[^:]*:22: Error: operand mismatch -- `rev32 v4.2s,v5.2s'
+[^:]*:22: Info: did you mean this\?
+[^:]*:22: Info: rev32 v4.8b,v5.8b
+[^:]*:22: Info: other valid variant\(s\):
+[^:]*:22: Info: rev32 v4.16b,v5.16b
+[^:]*:22: Info: rev32 v4.4h,v5.4h
+[^:]*:22: Info: rev32 v4.8h,v5.8h
+[^:]*:24: Error: operand mismatch -- `frintn v6.8b,v7.8b'
+[^:]*:24: Info: did you mean this\?
+[^:]*:24: Info: frintn v6.2s,v7.2s
+[^:]*:24: Info: other valid variant\(s\):
+[^:]*:24: Info: frintn v6.4s,v7.4s
+[^:]*:24: Info: frintn v6.2d,v7.2d
+[^:]*:26: Error: operand mismatch -- `rev64 v8.2d,v9.2d'
+[^:]*:26: Info: did you mean this\?
+[^:]*:26: Info: rev64 v8.8b,v9.8b
+[^:]*:26: Info: other valid variant\(s\):
+[^:]*:26: Info: rev64 v8.16b,v9.16b
+[^:]*:26: Info: rev64 v8.4h,v9.4h
+[^:]*:26: Info: rev64 v8.8h,v9.8h
+[^:]*:26: Info: rev64 v8.2s,v9.2s
+[^:]*:26: Info: rev64 v8.4s,v9.4s
+[^:]*:28: Error: operand mismatch -- `rev16 v10.2s,v11.2s'
+[^:]*:28: Info: did you mean this\?
+[^:]*:28: Info: rev16 v10.8b,v11.8b
+[^:]*:28: Info: other valid variant\(s\):
+[^:]*:28: Info: rev16 v10.16b,v11.16b
+[^:]*:30: Error: operand mismatch -- `saddlp v12.8b,v13.8b'
+[^:]*:30: Info: did you mean this\?
+[^:]*:30: Info: saddlp v12.4h,v13.8b
+[^:]*:30: Info: other valid variant\(s\):
+[^:]*:30: Info: saddlp v12.8h,v13.16b
+[^:]*:30: Info: saddlp v12.2s,v13.4h
+[^:]*:30: Info: saddlp v12.4s,v13.8h
+[^:]*:30: Info: saddlp v12.1d,v13.2s
+[^:]*:30: Info: saddlp v12.2d,v13.4s
+[^:]*:32: Error: operand mismatch -- `shll v14.8b,v15.8h,#1'
+[^:]*:32: Info: did you mean this\?
+[^:]*:32: Info: shll v14.8h,v15.8b,#1
+[^:]*:32: Info: other valid variant\(s\):
+[^:]*:32: Info: shll v14.4s,v15.4h,#1
+[^:]*:32: Info: shll v14.2d,v15.2s,#1
+[^:]*:34: Error: operand mismatch -- `shll2 v14.8b,v15.8h,#1'
+[^:]*:34: Info: did you mean this\?
+[^:]*:34: Info: shll2 v14.4s,v15.8h,#1
+[^:]*:34: Info: other valid variant\(s\):
+[^:]*:34: Info: shll2 v14.8h,v15.16b,#1
+[^:]*:34: Info: shll2 v14.2d,v15.4s,#1
+[^:]*:36: Error: operand mismatch -- `fcvtxn v22.8b,v23.8b'
+[^:]*:36: Info: did you mean this\?
+[^:]*:36: Info: fcvtxn v22.2s,v23.2d
+[^:]*:38: Error: operand mismatch -- `fcvtxn2 v24.8b,v25.8b'
+[^:]*:38: Info: did you mean this\?
+[^:]*:38: Info: fcvtxn2 v24.4s,v25.2d
+[^:]*:40: Error: operand mismatch -- `fcvtn v25.4s,v26.4s'
+[^:]*:40: Info: did you mean this\?
+[^:]*:40: Info: fcvtn v25.4h,v26.4s
+[^:]*:40: Info: other valid variant\(s\):
+[^:]*:40: Info: fcvtn v25.2s,v26.2d
+[^:]*:42: Error: operand mismatch -- `fcvtn2 v27.4s,v28.4s'
+[^:]*:42: Info: did you mean this\?
+[^:]*:42: Info: fcvtn2 v27.8h,v28.4s
+[^:]*:42: Info: other valid variant\(s\):
+[^:]*:42: Info: fcvtn2 v27.4s,v28.2d
+[^:]*:44: Error: operand mismatch -- `fcvtl v29.8b,v30.8b'
+[^:]*:44: Info: did you mean this\?
+[^:]*:44: Info: fcvtl v29.4s,v30.4h
+[^:]*:44: Info: other valid variant\(s\):
+[^:]*:44: Info: fcvtl v29.2d,v30.2s
+[^:]*:46: Error: operand mismatch -- `fcvtl2 v1.2d,v2.2d'
+[^:]*:46: Info: did you mean this\?
+[^:]*:46: Info: fcvtl2 v1.2d,v2.4s
+[^:]*:46: Info: other valid variant\(s\):
+[^:]*:46: Info: fcvtl2 v1.4s,v2.8h
+[^:]*:48: Error: operand mismatch -- `sqadd v16.8b,v17.8h,v18.8h'
+[^:]*:48: Info: did you mean this\?
+[^:]*:48: Info: sqadd v16.8h,v17.8h,v18.8h
+[^:]*:48: Info: other valid variant\(s\):
+[^:]*:48: Info: sqadd v16.8b,v17.8b,v18.8b
+[^:]*:48: Info: sqadd v16.16b,v17.16b,v18.16b
+[^:]*:48: Info: sqadd v16.4h,v17.4h,v18.4h
+[^:]*:48: Info: sqadd v16.2s,v17.2s,v18.2s
+[^:]*:48: Info: sqadd v16.4s,v17.4s,v18.4s
+[^:]*:48: Info: sqadd v16.2d,v17.2d,v18.2d
+[^:]*:50: Error: operand mismatch -- `shadd v19.8b,v20.8h,v21.8h'
+[^:]*:50: Info: did you mean this\?
+[^:]*:50: Info: shadd v19.8h,v20.8h,v21.8h
+[^:]*:50: Info: other valid variant\(s\):
+[^:]*:50: Info: shadd v19.8b,v20.8b,v21.8b
+[^:]*:50: Info: shadd v19.16b,v20.16b,v21.16b
+[^:]*:50: Info: shadd v19.4h,v20.4h,v21.4h
+[^:]*:50: Info: shadd v19.2s,v20.2s,v21.2s
+[^:]*:50: Info: shadd v19.4s,v20.4s,v21.4s
+[^:]*:52: Error: operand mismatch -- `sha1su0 v1.16b,v2.16b,v3.16b'
+[^:]*:52: Info: did you mean this\?
+[^:]*:52: Info: sha1su0 v1.4s,v2.4s,v3.4s
+[^:]*:54: Error: operand mismatch -- `shadd v1.2d,v2.2d,v3.2d'
+[^:]*:54: Info: did you mean this\?
+[^:]*:54: Info: shadd v1.8b,v2.8b,v3.8b
+[^:]*:54: Info: other valid variant\(s\):
+[^:]*:54: Info: shadd v1.16b,v2.16b,v3.16b
+[^:]*:54: Info: shadd v1.4h,v2.4h,v3.4h
+[^:]*:54: Info: shadd v1.8h,v2.8h,v3.8h
+[^:]*:54: Info: shadd v1.2s,v2.2s,v3.2s
+[^:]*:54: Info: shadd v1.4s,v2.4s,v3.4s
+[^:]*:56: Error: operand mismatch -- `sqdmulh v1.16b,v2.16b,v3.16b'
+[^:]*:56: Info: did you mean this\?
+[^:]*:56: Info: sqdmulh v1.4h,v2.4h,v3.4h
+[^:]*:56: Info: other valid variant\(s\):
+[^:]*:56: Info: sqdmulh v1.8h,v2.8h,v3.8h
+[^:]*:56: Info: sqdmulh v1.2s,v2.2s,v3.2s
+[^:]*:56: Info: sqdmulh v1.4s,v2.4s,v3.4s
+[^:]*:58: Error: operand mismatch -- `sqdmlal2 v1.16b,v2.16b,v3.16b'
+[^:]*:58: Info: did you mean this\?
+[^:]*:58: Info: sqdmlal2 v1.4s,v2.8h,v3.8h
+[^:]*:58: Info: other valid variant\(s\):
+[^:]*:58: Info: sqdmlal2 v1.2d,v2.4s,v3.4s
diff --git a/gas/testsuite/gas/aarch64/verbose-error.s b/gas/testsuite/gas/aarch64/verbose-error.s
index 5a2c2f1..a173b77 100644
--- a/gas/testsuite/gas/aarch64/verbose-error.s
+++ b/gas/testsuite/gas/aarch64/verbose-error.s
@@ -14,3 +14,45 @@
adds w0, wsp, x0, uxtx #1
fmov d0, s0
ldnp h3, h7, [sp], #16
+ # QL_V2SAME
+ suqadd v0.8b, v1.16b
+ # QL_V2SAME
+ ursqrte v2.8b, v3.8b
+ # QL_V2SAMEBH
+ rev32 v4.2s, v5.2s
+ #QL_V2SAMESD
+ frintn v6.8b, v7.8b
+ #QL_V2SAMEBHS
+ rev64 v8.2d, v9.2d
+ #QL_V2SAMEB
+ rev16 v10.2s, v11.2s
+ #QL_V2PAIRWISELONGBHS
+ saddlp v12.8b, v13.8b
+ #QL_V2LONGBHS
+ shll v14.8b, v15.8h, #1
+ #QL_V2LONGBHS2
+ shll2 v14.8b, v15.8h, #1
+ #QL_V2NARRS
+ fcvtxn v22.8b, v23.8b
+ #QL_V2NARRS2
+ fcvtxn2 v24.8b, v25.8b
+ #QL_V2NARRHS
+ fcvtn v25.4s, v26.4s
+ #QL_V2NARRHS2
+ fcvtn2 v27.4s, v28.4s
+ #QL_V2LONGHS
+ fcvtl v29.8b, v30.8b
+ #QL_V2LONGHS2
+ fcvtl2 v1.2d, v2.2d
+ #QL_V3SAME
+ sqadd v16.8b, v17.8h, v18.8h
+ #QL_V3SAMEBHS
+ shadd v19.8b, v20.8h, v21.8h
+ #QL_V3SAME4S
+ sha1su0 v1.16b, v2.16b, v3.16b
+ #QL_V3SAMEEB
+ shadd v1.2d, v2.2d, v3.2d
+ #QL_V3SAMEEHS
+ sqdmulh v1.16b, v2.16b, v3.16b
+ #QL_V3LONGHS2
+ sqdmlal2 v1.16b, v2.16b, v3.16b