Enable verbose error messages by default for AArch64 gas.
authorYufeng Zhang <yufeng.zhang@arm.com>
Tue, 18 Mar 2014 17:41:43 +0000 (17:41 +0000)
committerYufeng Zhang <yufeng.zhang@arm.com>
Tue, 18 Mar 2014 17:41:43 +0000 (17:41 +0000)
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.

gas/ChangeLog
gas/config/tc-aarch64.c
gas/doc/c-aarch64.texi
gas/testsuite/ChangeLog
gas/testsuite/gas/aarch64/illegal.d
gas/testsuite/gas/aarch64/verbose-error.l
gas/testsuite/gas/aarch64/verbose-error.s

index 1d27b7e97a6e3d2af7f4edb3cf506e5510fc0391..fc09a868b165c415288f0ce8abaa01324dd830b8 100644 (file)
@@ -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
index 5c1b938ee724278cfb2e6aa603f39cb4f6e9936e..67c0871b0714c0234c23c50f5d4242497397aba3 100644 (file)
@@ -3553,9 +3553,9 @@ fix_new_aarch64 (fragS * frag,
 \f
 /* 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}
 };
 
index d55d9142d9ec9b3a7f86ba6b42173295ef61603f..cce4f61e8cdbd9d6a495828108313c854c20f361 100644 (file)
@@ -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
 
index 4863e614fbe37260d0db6b2538eee25c98286a6f..8d9336cac31b391fe5b695e262eb4175c7e4fb1b 100644 (file)
@@ -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
index ade139c5215930ba5af1e21f147a91355559974a..904eaced7327de96a02068571ec070060c102f81 100644 (file)
@@ -1,4 +1,4 @@
 #name: Illegal Instructions
-#as:
+#as: -mno-verbose-error
 #source: illegal.s
 #error-output: illegal.l
index b7f713e12d862ff00f837af619e0b23df4374b2e..3d2c99e7ee50de028dab5725284362af468a2ba7 100644 (file)
 [^:]*: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
index 5a2c2f16ff01eec7fcdae168d0d41839ea911602..a173b77bd6db8f209a13ba253f71398c817cd70e 100644 (file)
        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