[AArch64] fix big.LITTLE spec rewriting
gcc/ * common/config/aarch64/aarch64-common.c (aarch64_rewrite_mcpu): Handle multiple names. * config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Do not discard mcpu switches. From-SVN: r207053
This commit is contained in:
parent
5f36e00fd9
commit
1c05df5916
3 changed files with 13 additions and 4 deletions
|
@ -1,3 +1,10 @@
|
|||
2014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
|
||||
|
||||
* common/config/aarch64/aarch64-common.c
|
||||
(aarch64_rewrite_mcpu): Handle multiple names.
|
||||
* config/aarch64/aarch64.h
|
||||
(BIG_LITTLE_SPEC): Do not discard mcpu switches.
|
||||
|
||||
2014-01-24 Dodji Seketeli <dodji@redhat.com>
|
||||
|
||||
* input.c (add_file_to_cache_tab): Handle the case where fopen
|
||||
|
|
|
@ -110,13 +110,15 @@ aarch64_rewrite_selected_cpu (const char *name)
|
|||
|
||||
/* Called by the driver to rewrite a name passed to the -mcpu
|
||||
argument in preparation to be passed to the assembler. The
|
||||
name will be in ARGV[0], ARGC should always be 1. */
|
||||
names passed from the commend line will be in ARGV, we want
|
||||
to use the right-most argument, which should be in
|
||||
ARGV[ARGC - 1]. ARGC should always be greater than 0. */
|
||||
|
||||
const char *
|
||||
aarch64_rewrite_mcpu (int argc, const char **argv)
|
||||
{
|
||||
gcc_assert (argc == 1);
|
||||
return aarch64_rewrite_selected_cpu (argv[0]);
|
||||
gcc_assert (argc);
|
||||
return aarch64_rewrite_selected_cpu (argv[argc - 1]);
|
||||
}
|
||||
|
||||
#undef AARCH64_CPU_NAME_LENGTH
|
||||
|
|
|
@ -857,7 +857,7 @@ extern enum aarch64_code_model aarch64_cmodel;
|
|||
(BYTES_BIG_ENDIAN ? GET_MODE_NUNITS (mode) - 1 - n : n)
|
||||
|
||||
#define BIG_LITTLE_SPEC \
|
||||
" %{mcpu=*:%<mcpu=* -mcpu=%:rewrite_mcpu(%{mcpu=*:%*})}"
|
||||
" %{mcpu=*:-mcpu=%:rewrite_mcpu(%{mcpu=*:%*})}"
|
||||
|
||||
extern const char *aarch64_rewrite_mcpu (int argc, const char **argv);
|
||||
#define BIG_LITTLE_CPU_SPEC_FUNCTIONS \
|
||||
|
|
Loading…
Add table
Reference in a new issue