RISC-V: Reorder the prefixed extensions which are out of order.

This patch has been pending for almost a year...  However, I noticed that
llvm can already re-order the extensions, even if they are out of orders.
Not really sure if they can also re-order the single letter extensions,
but at least we can do this for the multi-letter extensions in binutils.

bfd/
    * elfxx-riscv.c (riscv_parse_prefixed_ext): Removed the code which are
    used to check the prefixed extension orders.
gas/
    * testsuite/gas/riscv/march-fail-order-x-z.d: Removed since we will help
    tp reorder the prefixed extensions for now.
    * testsuite/gas/riscv/march-fail-order-x-z.l: Likewise.
    * testsuite/gas/riscv/march-fail-order-x.d: Likewise.
    * testsuite/gas/riscv/march-fail-order-x.l: Likewise.
    * testsuite/gas/riscv/march-fail-order-z.d: Likewise.
    * testsuite/gas/riscv/march-fail-order-z.l: Likewise.
This commit is contained in:
Nelson Chu
2022-06-22 17:57:12 +08:00
parent c625f4ed05
commit afc41ffb99
7 changed files with 0 additions and 38 deletions

View File

@ -1729,7 +1729,6 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps,
{
int major_version;
int minor_version;
const char *last_name;
enum riscv_prefix_ext_class class;
while (*p)
@ -1806,28 +1805,6 @@ riscv_parse_prefixed_ext (riscv_parse_subset_t *rps,
return NULL;
}
/* Check that the extension isn't duplicate. */
last_name = rps->subset_list->tail->name;
if (!strcasecmp (last_name, subset))
{
rps->error_handler
(_("%s: duplicate prefixed ISA extension `%s'"),
arch, subset);
free (subset);
return NULL;
}
/* Check that the extension is in expected order. */
if (riscv_compare_subsets (last_name, subset) > 0)
{
rps->error_handler
(_("%s: prefixed ISA extension `%s' is not in expected "
"order. It must come before `%s'"),
arch, subset, last_name);
free (subset);
return NULL;
}
riscv_parse_add_subset (rps, subset,
major_version,
minor_version, false);

View File

@ -1,3 +0,0 @@
#as: -march=rv32i_xargle2p0_zicsr2p0
#source: empty.s
#error_output: march-fail-order-x-z.l

View File

@ -1,2 +0,0 @@
.*Assembler messages:
.*Error: .*prefixed ISA extension `zicsr' is not in expected order. It must come before `xargle'

View File

@ -1,3 +0,0 @@
#as: -march=rv32i_xbargle2p0_xargle2p0
#source: empty.s
#error_output: march-fail-order-x.l

View File

@ -1,2 +0,0 @@
.*Assembler messages:
.*Error: .*prefixed ISA extension `xargle' is not in expected order. It must come before `xbargle'

View File

@ -1,3 +0,0 @@
#as: -march=rv32i_zifencei2p0_zicsr2p0
#source: empty.s
#error_output: march-fail-order-z.l

View File

@ -1,2 +0,0 @@
.*Assembler messages:
.*Error: .*prefixed ISA extension `zicsr' is not in expected order. It must come before `zifencei'