[PATCH] CSKY: Add warning when -mdsp and -mcpu=ck803ern are both added.
Lifang Xia
lifang_xia@c-sky.com
Mon Aug 31 03:17:22 GMT 2020
merged.
On 2020/8/31 10:55, Cooper Qu wrote:
> gas/
> * config/tc-csky.c (md_begin): Add warning when -mdsp and
> -mcpu=ck803ern are both added.
> (parse_ldst_imm): Fix error message.
>
> ---
> gas/ChangeLog | 6 ++++++
> gas/config/tc-csky.c | 19 ++++++++++++++++---
> 2 files changed, 22 insertions(+), 3 deletions(-)
>
> diff --git a/gas/ChangeLog b/gas/ChangeLog
> index 91152673016..1f30a6bc52b 100644
> --- a/gas/ChangeLog
> +++ b/gas/ChangeLog
> @@ -1,3 +1,9 @@
> +2020-08-31 Cooper Qu <cooper.qu@linux.alibaba.com>
> +
> + * config/tc-csky.c (md_begin): Add warning when -mdsp and
> + -mcpu=ck803ern are both added.
> + (parse_ldst_imm): Fix error message.
> +
> 2020-08-30 Alan Modra <amodra@gmail.com>
>
> * testsuite/gas/cr16/cbitb_test.d: Update expected output.
> diff --git a/gas/config/tc-csky.c b/gas/config/tc-csky.c
> index 9f2975e5f68..6fc24acde0f 100644
> --- a/gas/config/tc-csky.c
> +++ b/gas/config/tc-csky.c
> @@ -1359,8 +1359,20 @@ md_begin (void)
> {
> if ((dsp_flag & CSKY_DSP_FLAG_V1))
> {
> - isa_flag |= (CSKY_ISA_MAC_DSP | CSKY_ISA_DSP);
> - isa_flag &= ~CSKY_ISA_DSP_ENHANCE;
> + if (isa_flag & CSKY_ISA_DSP_ENHANCE)
> + {
> + /* Option -mdsp conflicts with -mcpu=ck803ern,
> + CPU already indicates the dsp version. */
> + as_warn ("Option -mdsp conflicts with -mcpu=ck803ern which "
> + "has indicated DSP version, ignoring -mdsp.");
> + isa_flag &= ~(CSKY_ISA_MAC_DSP | CSKY_ISA_DSP);
> + isa_flag |= CSKY_ISA_DSP_ENHANCE;
> + }
> + else
> + {
> + isa_flag |= (CSKY_ISA_MAC_DSP | CSKY_ISA_DSP);
> + isa_flag &= ~CSKY_ISA_DSP_ENHANCE;
> + }
> }
>
> if ((dsp_flag & CSKY_DSP_FLAG_V2))
> @@ -2938,7 +2950,8 @@ parse_ldst_imm (char **oper, struct csky_opcode_info *op ATTRIBUTE_UNUSED,
> if ((e.X_add_number % (1 << shift)) != 0)
> {
> /* Not aligned. */
> - SET_ERROR_NUMBER (ERROR_OFFSET_UNALIGNED, ((unsigned long)1 << shift));
> + SET_ERROR_NUMBER (ERROR_OFFSET_UNALIGNED,
> + (void *)"Operand format is error. eg. \"ld rz, (rx, n)\"");
> return FALSE;
> }
>
More information about the Binutils
mailing list