From a52e6fd34add3dbf267ac78e4d7912a0a3f65ece Mon Sep 17 00:00:00 2001 From: Yufeng Zhang Date: Tue, 18 Mar 2014 17:41:43 +0000 Subject: [PATCH] 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. --- gas/ChangeLog | 8 ++ gas/config/tc-aarch64.c | 8 +- gas/doc/c-aarch64.texi | 9 ++ gas/testsuite/ChangeLog | 6 + gas/testsuite/gas/aarch64/illegal.d | 2 +- gas/testsuite/gas/aarch64/verbose-error.l | 132 ++++++++++++++++++++++ gas/testsuite/gas/aarch64/verbose-error.s | 42 +++++++ 7 files changed, 203 insertions(+), 4 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 1d27b7e97a6..fc09a868b16 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2014-03-18 Jiong Wang + + * 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 PR gas/16694 diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 5c1b938ee72..67c0871b071 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 d55d9142d9e..cce4f61e8cd 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 4863e614fbe..8d9336cac31 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2014-03-18 Jiong Wang + + * 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 PR gas/16694 diff --git a/gas/testsuite/gas/aarch64/illegal.d b/gas/testsuite/gas/aarch64/illegal.d index ade139c5215..904eaced732 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 b7f713e12d8..3d2c99e7ee5 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 5a2c2f16ff0..a173b77bd6d 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 -- 2.30.2