RISC-V: The 'multilib-generator' enhancement.
authorGeng Qi <gengqi@linux.alibaba.com>
Mon, 18 Jan 2021 06:09:27 +0000 (14:09 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Tue, 19 Jan 2021 03:44:47 +0000 (11:44 +0800)
commit9ee33d7c33fa757d7011addfa6bdd0ccb6212181
tree6d289384d757b5782758fef8d9c925ea6add286d
parentc907e4394133b3f4b58feccfb3a415f9ae5ee1f4
RISC-V: The 'multilib-generator' enhancement.

Think about this case:
  ./multilib-generator rv32imc-ilp32-rv32imac,rv32imacxthead-f
Here are 2 problems:
  1. A unexpected 'xtheadf' extension was made.
  2. The arch 'rv32imac' was not be created.
This modification fix these two, and also sorts 'multi-letter'.

gcc/ChangeLog:
* config/riscv/arch-canonicalize (longext_sort): New function for
 sorting 'multi-letter'.
* config/riscv/multilib-generator: Adjusting the loop of 'alt' in
'alts'. The 'arch' may not be the first of 'alts'.
(_expand_combination): Add underline for the 'ext' without '*'.
This is because, a single-letter extension can always be treated well
with a '_' prefix, but it cannot be separated out if it is appended
to a multi-letter.
gcc/config/riscv/arch-canonicalize
gcc/config/riscv/multilib-generator