diff options
author | Ian Lance Taylor <iant@golang.org> | 2022-02-11 15:02:44 -0800 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2022-02-11 15:02:44 -0800 |
commit | 9a510fb0970d3d9a4201bce8965cabe67850386b (patch) | |
tree | 43d7fd2bbfd7ad8c9625a718a5e8718889351994 /gcc/common | |
parent | a6d3012b274f38b20e2a57162106f625746af6c6 (diff) | |
parent | 8dc2499aa62f768c6395c9754b8cabc1ce25c494 (diff) | |
download | gcc-9a510fb0970d3d9a4201bce8965cabe67850386b.zip gcc-9a510fb0970d3d9a4201bce8965cabe67850386b.tar.gz gcc-9a510fb0970d3d9a4201bce8965cabe67850386b.tar.bz2 |
Merge from trunk revision 8dc2499aa62f768c6395c9754b8cabc1ce25c494
Diffstat (limited to 'gcc/common')
-rw-r--r-- | gcc/common/common-target-def.h | 2 | ||||
-rw-r--r-- | gcc/common/common-target.def | 2 | ||||
-rw-r--r-- | gcc/common/common-target.h | 2 | ||||
-rw-r--r-- | gcc/common/common-targhooks.cc (renamed from gcc/common/common-targhooks.c) | 2 | ||||
-rw-r--r-- | gcc/common/common-targhooks.h | 2 | ||||
-rw-r--r-- | gcc/common/config/aarch64/aarch64-common.cc (renamed from gcc/common/config/aarch64/aarch64-common.c) | 4 | ||||
-rw-r--r-- | gcc/common/config/alpha/alpha-common.cc (renamed from gcc/common/config/alpha/alpha-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/arc/arc-common.cc (renamed from gcc/common/config/arc/arc-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/arm/arm-common.cc (renamed from gcc/common/config/arm/arm-common.c) | 16 | ||||
-rw-r--r-- | gcc/common/config/avr/avr-common.cc (renamed from gcc/common/config/avr/avr-common.c) | 4 | ||||
-rw-r--r-- | gcc/common/config/bfin/bfin-common.cc (renamed from gcc/common/config/bfin/bfin-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/bpf/bpf-common.cc (renamed from gcc/common/config/bpf/bpf-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/c6x/c6x-common.cc (renamed from gcc/common/config/c6x/c6x-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/cr16/cr16-common.cc (renamed from gcc/common/config/cr16/cr16-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/cris/cris-common.cc (renamed from gcc/common/config/cris/cris-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/csky/csky-common.cc (renamed from gcc/common/config/csky/csky-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/default-common.cc (renamed from gcc/common/config/default-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/epiphany/epiphany-common.cc (renamed from gcc/common/config/epiphany/epiphany-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/fr30/fr30-common.cc (renamed from gcc/common/config/fr30/fr30-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/frv/frv-common.cc (renamed from gcc/common/config/frv/frv-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/gcn/gcn-common.cc (renamed from gcc/common/config/gcn/gcn-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/h8300/h8300-common.cc (renamed from gcc/common/config/h8300/h8300-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/i386/cpuinfo.h | 4 | ||||
-rw-r--r-- | gcc/common/config/i386/i386-common.cc (renamed from gcc/common/config/i386/i386-common.c) | 22 | ||||
-rw-r--r-- | gcc/common/config/i386/i386-cpuinfo.h | 2 | ||||
-rw-r--r-- | gcc/common/config/i386/i386-isas.h | 6 | ||||
-rw-r--r-- | gcc/common/config/ia64/ia64-common.cc (renamed from gcc/common/config/ia64/ia64-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/iq2000/iq2000-common.cc (renamed from gcc/common/config/iq2000/iq2000-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/lm32/lm32-common.cc (renamed from gcc/common/config/lm32/lm32-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/m32r/m32r-common.cc (renamed from gcc/common/config/m32r/m32r-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/m68k/m68k-common.cc (renamed from gcc/common/config/m68k/m68k-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/mcore/mcore-common.cc (renamed from gcc/common/config/mcore/mcore-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/microblaze/microblaze-common.cc (renamed from gcc/common/config/microblaze/microblaze-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/mips/mips-common.cc (renamed from gcc/common/config/mips/mips-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/mmix/mmix-common.cc (renamed from gcc/common/config/mmix/mmix-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/mn10300/mn10300-common.cc (renamed from gcc/common/config/mn10300/mn10300-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/msp430/msp430-common.cc (renamed from gcc/common/config/msp430/msp430-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/nds32/nds32-common.cc (renamed from gcc/common/config/nds32/nds32-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/nios2/nios2-common.cc (renamed from gcc/common/config/nios2/nios2-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/nvptx/nvptx-common.cc (renamed from gcc/common/config/nvptx/nvptx-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/or1k/or1k-common.cc (renamed from gcc/common/config/or1k/or1k-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/pa/pa-common.cc (renamed from gcc/common/config/pa/pa-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/pdp11/pdp11-common.cc (renamed from gcc/common/config/pdp11/pdp11-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/pru/pru-common.cc (renamed from gcc/common/config/pru/pru-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/riscv/riscv-common.cc (renamed from gcc/common/config/riscv/riscv-common.c) | 203 | ||||
-rw-r--r-- | gcc/common/config/rs6000/rs6000-common.cc (renamed from gcc/common/config/rs6000/rs6000-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/rx/rx-common.cc (renamed from gcc/common/config/rx/rx-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/s390/s390-common.cc (renamed from gcc/common/config/s390/s390-common.c) | 16 | ||||
-rw-r--r-- | gcc/common/config/sh/sh-common.cc (renamed from gcc/common/config/sh/sh-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/sparc/sparc-common.cc (renamed from gcc/common/config/sparc/sparc-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/tilegx/tilegx-common.cc (renamed from gcc/common/config/tilegx/tilegx-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/tilepro/tilepro-common.cc (renamed from gcc/common/config/tilepro/tilepro-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/v850/v850-common.cc (renamed from gcc/common/config/v850/v850-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/vax/vax-common.cc (renamed from gcc/common/config/vax/vax-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/visium/visium-common.cc (renamed from gcc/common/config/visium/visium-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/xstormy16/xstormy16-common.cc (renamed from gcc/common/config/xstormy16/xstormy16-common.c) | 2 | ||||
-rw-r--r-- | gcc/common/config/xtensa/xtensa-common.cc (renamed from gcc/common/config/xtensa/xtensa-common.c) | 2 |
57 files changed, 277 insertions, 96 deletions
diff --git a/gcc/common/common-target-def.h b/gcc/common/common-target-def.h index 3def227..ab39f30 100644 --- a/gcc/common/common-target-def.h +++ b/gcc/common/common-target-def.h @@ -1,5 +1,5 @@ /* Default initializers for common target hooks. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/gcc/common/common-target.def b/gcc/common/common-target.def index f54590a..c4d1144 100644 --- a/gcc/common/common-target.def +++ b/gcc/common/common-target.def @@ -1,5 +1,5 @@ /* Target hook definitions for common hooks. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/gcc/common/common-target.h b/gcc/common/common-target.h index 5a33c9b..e90b02c 100644 --- a/gcc/common/common-target.h +++ b/gcc/common/common-target.h @@ -1,5 +1,5 @@ /* Data structure definitions for common hooks. - Copyright (C) 2010-2021 Free Software Foundation, Inc. + Copyright (C) 2010-2022 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/gcc/common/common-targhooks.c b/gcc/common/common-targhooks.cc index 325f199..46f5c61 100644 --- a/gcc/common/common-targhooks.c +++ b/gcc/common/common-targhooks.cc @@ -1,5 +1,5 @@ /* Default common target hook functions. - Copyright (C) 2003-2021 Free Software Foundation, Inc. + Copyright (C) 2003-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/common-targhooks.h b/gcc/common/common-targhooks.h index 3f00d2f..cd49c7d 100644 --- a/gcc/common/common-targhooks.h +++ b/gcc/common/common-targhooks.h @@ -1,5 +1,5 @@ /* Default common target hook functions. - Copyright (C) 2003-2021 Free Software Foundation, Inc. + Copyright (C) 2003-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/aarch64/aarch64-common.c b/gcc/common/config/aarch64/aarch64-common.cc index 6d200a1..dfda5b8 100644 --- a/gcc/common/config/aarch64/aarch64-common.c +++ b/gcc/common/config/aarch64/aarch64-common.cc @@ -1,5 +1,5 @@ /* Common hooks for AArch64. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2022 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is part of GCC. @@ -71,7 +71,7 @@ static const struct default_options aarch_option_optimization_table[] = -mcpu=CPU is shorthand for -march=ARCH_FOR_CPU, -mtune=CPU. If either of -march or -mtune is given, they override their respective component of -mcpu. This logic is implemented - in config/aarch64/aarch64.c:aarch64_override_options. */ + in config/aarch64/aarch64.cc:aarch64_override_options. */ bool aarch64_handle_option (struct gcc_options *opts, diff --git a/gcc/common/config/alpha/alpha-common.c b/gcc/common/config/alpha/alpha-common.cc index 3756ad6..72804ee 100644 --- a/gcc/common/config/alpha/alpha-common.c +++ b/gcc/common/config/alpha/alpha-common.cc @@ -1,5 +1,5 @@ /* Common hooks for DEC Alpha. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/arc/arc-common.c b/gcc/common/config/arc/arc-common.cc index 3b36d09..e69c4a4 100644 --- a/gcc/common/config/arc/arc-common.c +++ b/gcc/common/config/arc/arc-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Synopsys DesignWare ARC - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2022 Free Software Foundation, Inc. Contributor: Joern Rennecke <joern.rennecke@embecosm.com> on behalf of Synopsys Inc. Claudiu Zissulescu <Claudiu.Zissulescu@synopsys.com> diff --git a/gcc/common/config/arm/arm-common.c b/gcc/common/config/arm/arm-common.cc index de898a7..c38812f 100644 --- a/gcc/common/config/arm/arm-common.c +++ b/gcc/common/config/arm/arm-common.cc @@ -1,5 +1,5 @@ /* Common hooks for ARM. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2022 Free Software Foundation, Inc. This file is part of GCC. @@ -286,7 +286,7 @@ arm_target_mode (int argc, const char **argv) if (argc % 2 != 0) fatal_error (input_location, - "%%:target_mode_check takes an even number of parameters"); + "%%:%<target_mode_check%> takes an even number of parameters"); while (argc) { @@ -295,8 +295,8 @@ arm_target_mode (int argc, const char **argv) else if (strcmp (argv[0], "cpu") == 0) cpu = argv[1]; else - fatal_error (input_location, - "unrecognized option passed to %%:target_mode_check"); + fatal_error (input_location, "unrecognized option passed to %%:" + "%<target_mode_check%>"); argc -= 2; argv += 2; } @@ -662,7 +662,7 @@ arm_canon_arch_option_1 (int argc, const char **argv, bool arch_for_multilib) if (argc & 1) fatal_error (input_location, - "%%:canon_for_mlib takes 1 or more pairs of parameters"); + "%%:%<canon_for_mlib%> takes 1 or more pairs of parameters"); while (argc) { @@ -676,7 +676,7 @@ arm_canon_arch_option_1 (int argc, const char **argv, bool arch_for_multilib) abi = argv[1]; else fatal_error (input_location, - "unrecognized operand to %%:canon_for_mlib"); + "unrecognized operand to %%:%<canon_for_mlib%>"); argc -= 2; argv += 2; @@ -1032,7 +1032,7 @@ arm_asm_auto_mfpu (int argc, const char **argv) arch = argv[1]; else fatal_error (input_location, - "unrecognized operand to %%:asm_auto_mfpu"); + "unrecognized operand to %%:%<asm_auto_mfpu%>"); argc -= 2; argv += 2; } @@ -1054,7 +1054,7 @@ arm_asm_auto_mfpu (int argc, const char **argv) bitmap_and (fpubits, fpubits, target_isa); /* The logic below is essentially identical to that in - arm.c:arm_identify_fpu_from_isa(), but that only works in the main + arm.cc:arm_identify_fpu_from_isa(), but that only works in the main part of the compiler. */ /* If there are no FPU capability bits, we just pass -mfpu=softvfp. */ diff --git a/gcc/common/config/avr/avr-common.c b/gcc/common/config/avr/avr-common.cc index a6939ad..f4e3f55 100644 --- a/gcc/common/config/avr/avr-common.c +++ b/gcc/common/config/avr/avr-common.cc @@ -1,5 +1,5 @@ /* Common hooks for ATMEL AVR. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2022 Free Software Foundation, Inc. This file is part of GCC. @@ -70,7 +70,7 @@ static const struct default_options avr_option_optimization_table[] = /* Implement `TARGET_HANDLE_OPTION'. */ -/* This is the same logic that driver-avr.c:avr_double_lib() applies +/* This is the same logic that driver-avr.cc:avr_double_lib() applies during DRIVER_SELF_SPECS, but this time we complain about -mdouble= and -mlong-double= that are not provided by --with-double= resp. --with-long-double= */ diff --git a/gcc/common/config/bfin/bfin-common.c b/gcc/common/config/bfin/bfin-common.cc index a3ee4b5..ac31c84 100644 --- a/gcc/common/config/bfin/bfin-common.c +++ b/gcc/common/config/bfin/bfin-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Blackfin. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/bpf/bpf-common.c b/gcc/common/config/bpf/bpf-common.cc index 0f9f404..7d5eabe 100644 --- a/gcc/common/config/bpf/bpf-common.c +++ b/gcc/common/config/bpf/bpf-common.cc @@ -1,5 +1,5 @@ /* Common hooks for eBPF. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/c6x/c6x-common.c b/gcc/common/config/c6x/c6x-common.cc index 83006ce..c160a37 100644 --- a/gcc/common/config/c6x/c6x-common.c +++ b/gcc/common/config/c6x/c6x-common.cc @@ -1,5 +1,5 @@ /* TI C6X common hooks. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/cr16/cr16-common.c b/gcc/common/config/cr16/cr16-common.cc index 04ebda0..6d0b2be 100644 --- a/gcc/common/config/cr16/cr16-common.c +++ b/gcc/common/config/cr16/cr16-common.cc @@ -1,5 +1,5 @@ /* Common hooks for CR16. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/cris/cris-common.c b/gcc/common/config/cris/cris-common.cc index a3bf952..46cfee3 100644 --- a/gcc/common/config/cris/cris-common.c +++ b/gcc/common/config/cris/cris-common.cc @@ -1,5 +1,5 @@ /* Common hooks for CRIS. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/csky/csky-common.c b/gcc/common/config/csky/csky-common.cc index 2f510fb..69f4878 100644 --- a/gcc/common/config/csky/csky-common.c +++ b/gcc/common/config/csky/csky-common.cc @@ -1,5 +1,5 @@ /* Common hooks for CSKY. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2022 Free Software Foundation, Inc. Contributed by C-SKY Microsystems and Mentor Graphics. This file is part of GCC. diff --git a/gcc/common/config/default-common.c b/gcc/common/config/default-common.cc index 8ff0e51..1c204c9 100644 --- a/gcc/common/config/default-common.c +++ b/gcc/common/config/default-common.cc @@ -1,5 +1,5 @@ /* Default common target hooks initializer. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/epiphany/epiphany-common.c b/gcc/common/config/epiphany/epiphany-common.cc index 4af0fd3..175d5a0 100644 --- a/gcc/common/config/epiphany/epiphany-common.c +++ b/gcc/common/config/epiphany/epiphany-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Adapteva Epiphany - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2022 Free Software Foundation, Inc. Contributed by Embecosm on behalf of Adapteva, Inc. This file is part of GCC. diff --git a/gcc/common/config/fr30/fr30-common.c b/gcc/common/config/fr30/fr30-common.cc index 74b2d02..4df5175 100644 --- a/gcc/common/config/fr30/fr30-common.c +++ b/gcc/common/config/fr30/fr30-common.cc @@ -1,5 +1,5 @@ /* Common hooks for FR30. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/frv/frv-common.c b/gcc/common/config/frv/frv-common.cc index 3916f15..ab0fdad 100644 --- a/gcc/common/config/frv/frv-common.c +++ b/gcc/common/config/frv/frv-common.cc @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/gcn/gcn-common.c b/gcc/common/config/gcn/gcn-common.cc index 695eb46..7c04bd5 100644 --- a/gcc/common/config/gcn/gcn-common.c +++ b/gcc/common/config/gcn/gcn-common.cc @@ -1,5 +1,5 @@ /* Common hooks for GCN - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2022 Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free diff --git a/gcc/common/config/h8300/h8300-common.c b/gcc/common/config/h8300/h8300-common.cc index 4f26ff9..bfbda22 100644 --- a/gcc/common/config/h8300/h8300-common.c +++ b/gcc/common/config/h8300/h8300-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Renesas H8/300. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/i386/cpuinfo.h b/gcc/common/config/i386/cpuinfo.h index bbf29bdb..61b1a0f 100644 --- a/gcc/common/config/i386/cpuinfo.h +++ b/gcc/common/config/i386/cpuinfo.h @@ -1,5 +1,5 @@ /* Get CPU type and Features for x86 processors. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2022 Free Software Foundation, Inc. Contributed by Sriraman Tallam (tmsriram@google.com) This file is part of GCC. @@ -415,6 +415,7 @@ get_intel_cpu (struct __processor_model *cpu_model, cpu_model->__cpu_subtype = INTEL_COREI7_SKYLAKE; break; case 0xa7: + case 0xa8: /* Rocket Lake. */ cpu = "rocketlake"; CHECK___builtin_cpu_is ("corei7"); @@ -487,6 +488,7 @@ get_intel_cpu (struct __processor_model *cpu_model, break; case 0x97: case 0x9a: + case 0xbf: /* Alder Lake. */ cpu = "alderlake"; CHECK___builtin_cpu_is ("corei7"); diff --git a/gcc/common/config/i386/i386-common.c b/gcc/common/config/i386/i386-common.cc index 2c9e1cc..449df63 100644 --- a/gcc/common/config/i386/i386-common.c +++ b/gcc/common/config/i386/i386-common.cc @@ -1,5 +1,5 @@ /* IA-32 common hooks. - Copyright (C) 1988-2021 Free Software Foundation, Inc. + Copyright (C) 1988-2022 Free Software Foundation, Inc. This file is part of GCC. @@ -206,7 +206,8 @@ along with GCC; see the file COPYING3. If not see (OPTION_MASK_ISA_XSAVE | OPTION_MASK_ISA_XSAVEOPT_UNSET \ | OPTION_MASK_ISA_XSAVES_UNSET | OPTION_MASK_ISA_XSAVEC_UNSET \ | OPTION_MASK_ISA_AVX_UNSET) -#define OPTION_MASK_ISA2_XSAVE_UNSET OPTION_MASK_ISA2_AMX_TILE_UNSET +#define OPTION_MASK_ISA2_XSAVE_UNSET \ + (OPTION_MASK_ISA2_AVX2_UNSET | OPTION_MASK_ISA2_AMX_TILE_UNSET) #define OPTION_MASK_ISA_XSAVEOPT_UNSET OPTION_MASK_ISA_XSAVEOPT #define OPTION_MASK_ISA_AVX2_UNSET \ (OPTION_MASK_ISA_AVX2 | OPTION_MASK_ISA_AVX512F_UNSET) @@ -1714,16 +1715,21 @@ ix86_option_init_struct (struct gcc_options *opts) field in the TCB, so they cannot be used together. */ static bool -ix86_supports_split_stack (bool report ATTRIBUTE_UNUSED, +ix86_supports_split_stack (bool report, struct gcc_options *opts ATTRIBUTE_UNUSED) { +#if defined(TARGET_THREAD_SPLIT_STACK_OFFSET) && defined(OPTION_GLIBC_P) + if (!OPTION_GLIBC_P (opts)) +#endif + { + if (report) + error ("%<-fsplit-stack%> currently only supported on GNU/Linux"); + return false; + } + bool ret = true; -#ifndef TARGET_THREAD_SPLIT_STACK_OFFSET - if (report) - error ("%<-fsplit-stack%> currently only supported on GNU/Linux"); - ret = false; -#else +#ifdef TARGET_THREAD_SPLIT_STACK_OFFSET if (!HAVE_GAS_CFI_PERSONALITY_DIRECTIVE) { if (report) diff --git a/gcc/common/config/i386/i386-cpuinfo.h b/gcc/common/config/i386/i386-cpuinfo.h index dc1a9fa..3f6d201 100644 --- a/gcc/common/config/i386/i386-cpuinfo.h +++ b/gcc/common/config/i386/i386-cpuinfo.h @@ -1,5 +1,5 @@ /* Get CPU type and Features for x86 processors. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2022 Free Software Foundation, Inc. Contributed by Sriraman Tallam (tmsriram@google.com) This file is part of GCC. diff --git a/gcc/common/config/i386/i386-isas.h b/gcc/common/config/i386/i386-isas.h index 7784010..2d0646a 100644 --- a/gcc/common/config/i386/i386-isas.h +++ b/gcc/common/config/i386/i386-isas.h @@ -1,5 +1,5 @@ /* i386 ISA table. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2022 Free Software Foundation, Inc. This file is part of GCC. @@ -27,9 +27,9 @@ struct _isa_names_table const char *const option; }; -/* NB: isa_names_table is shared by i386-builtins.c, driver-i386.c and +/* NB: isa_names_table is shared by i386-builtins.cc, driver-i386.cc and gcc.target/i386/builtin_target.c. isa_names_table is a static const - array in i386-builtins.c and driver-i386.c. But it is a list of + array in i386-builtins.cc and driver-i386.cc. But it is a list of assert statements in gcc.target/i386/builtin_target.c. */ #ifndef ISA_NAMES_TABLE_START diff --git a/gcc/common/config/ia64/ia64-common.c b/gcc/common/config/ia64/ia64-common.cc index 8cf0cbf..6da01ab 100644 --- a/gcc/common/config/ia64/ia64-common.c +++ b/gcc/common/config/ia64/ia64-common.cc @@ -1,5 +1,5 @@ /* Common hooks for IA64. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/iq2000/iq2000-common.c b/gcc/common/config/iq2000/iq2000-common.cc index da4fd42..576949d 100644 --- a/gcc/common/config/iq2000/iq2000-common.c +++ b/gcc/common/config/iq2000/iq2000-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Vitesse IQ2000. - Copyright (C) 2003-2021 Free Software Foundation, Inc. + Copyright (C) 2003-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/lm32/lm32-common.c b/gcc/common/config/lm32/lm32-common.cc index cb6863b..cdf2d14 100644 --- a/gcc/common/config/lm32/lm32-common.c +++ b/gcc/common/config/lm32/lm32-common.cc @@ -1,6 +1,6 @@ /* Common hooks for Lattice Mico32. - Copyright (C) 2009-2021 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/m32r/m32r-common.c b/gcc/common/config/m32r/m32r-common.cc index 0527df6..9592097 100644 --- a/gcc/common/config/m32r/m32r-common.c +++ b/gcc/common/config/m32r/m32r-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Renesas M32R. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/m68k/m68k-common.c b/gcc/common/config/m68k/m68k-common.cc index 6a9cd18..f5ea217 100644 --- a/gcc/common/config/m68k/m68k-common.c +++ b/gcc/common/config/m68k/m68k-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Motorola 68000 family. - Copyright (C) 1987-2021 Free Software Foundation, Inc. + Copyright (C) 1987-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/mcore/mcore-common.c b/gcc/common/config/mcore/mcore-common.cc index 4eabb55..8c12299 100644 --- a/gcc/common/config/mcore/mcore-common.c +++ b/gcc/common/config/mcore/mcore-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Motorola MCore. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.cc index 1e4abb3..21b35f5 100644 --- a/gcc/common/config/microblaze/microblaze-common.c +++ b/gcc/common/config/microblaze/microblaze-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Xilinx MicroBlaze. - Copyright (C) 2009-2021 Free Software Foundation, Inc. + Copyright (C) 2009-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/mips/mips-common.c b/gcc/common/config/mips/mips-common.cc index 502dc06..b8ee4f3 100644 --- a/gcc/common/config/mips/mips-common.c +++ b/gcc/common/config/mips/mips-common.cc @@ -1,5 +1,5 @@ /* Common hooks for MIPS. - Copyright (C) 1989-2021 Free Software Foundation, Inc. + Copyright (C) 1989-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/mmix/mmix-common.c b/gcc/common/config/mmix/mmix-common.cc index 3fffc05..fd91ece 100644 --- a/gcc/common/config/mmix/mmix-common.c +++ b/gcc/common/config/mmix/mmix-common.cc @@ -1,5 +1,5 @@ /* Common hooks for MMIX. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/mn10300/mn10300-common.c b/gcc/common/config/mn10300/mn10300-common.cc index 103b1c8..a0a3a25 100644 --- a/gcc/common/config/mn10300/mn10300-common.c +++ b/gcc/common/config/mn10300/mn10300-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Matsushita MN10300 series. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/msp430/msp430-common.c b/gcc/common/config/msp430/msp430-common.cc index fe40b7d..7da7390 100644 --- a/gcc/common/config/msp430/msp430-common.c +++ b/gcc/common/config/msp430/msp430-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Texas Instruments MSP430. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/nds32/nds32-common.c b/gcc/common/config/nds32/nds32-common.cc index 7c89cc5..a2ce0bb 100644 --- a/gcc/common/config/nds32/nds32-common.c +++ b/gcc/common/config/nds32/nds32-common.cc @@ -1,5 +1,5 @@ /* Common hooks of Andes NDS32 cpu for GNU compiler - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2022 Free Software Foundation, Inc. Contributed by Andes Technology Corporation. This file is part of GCC. diff --git a/gcc/common/config/nios2/nios2-common.c b/gcc/common/config/nios2/nios2-common.cc index 8646bb1..3a2e481 100644 --- a/gcc/common/config/nios2/nios2-common.c +++ b/gcc/common/config/nios2/nios2-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Altera Nios II. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/nvptx/nvptx-common.c b/gcc/common/config/nvptx/nvptx-common.cc index 7dcbed8..6d434b9 100644 --- a/gcc/common/config/nvptx/nvptx-common.c +++ b/gcc/common/config/nvptx/nvptx-common.cc @@ -1,5 +1,5 @@ /* NVPTX common hooks. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2022 Free Software Foundation, Inc. Contributed by Bernd Schmidt <bernds@codesourcery.com> This file is part of GCC. diff --git a/gcc/common/config/or1k/or1k-common.c b/gcc/common/config/or1k/or1k-common.cc index 559eb07..075851e 100644 --- a/gcc/common/config/or1k/or1k-common.c +++ b/gcc/common/config/or1k/or1k-common.cc @@ -1,5 +1,5 @@ /* Common hooks for OpenRISC - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/pa/pa-common.c b/gcc/common/config/pa/pa-common.cc index ad83720..cee2b5b 100644 --- a/gcc/common/config/pa/pa-common.c +++ b/gcc/common/config/pa/pa-common.cc @@ -1,5 +1,5 @@ /* HPPA common hooks. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/pdp11/pdp11-common.c b/gcc/common/config/pdp11/pdp11-common.cc index 72d7eed..81a57bb 100644 --- a/gcc/common/config/pdp11/pdp11-common.c +++ b/gcc/common/config/pdp11/pdp11-common.cc @@ -1,5 +1,5 @@ /* Common hooks for pdp11. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/pru/pru-common.c b/gcc/common/config/pru/pru-common.cc index bc80a02..3e37fe8 100644 --- a/gcc/common/config/pru/pru-common.c +++ b/gcc/common/config/pru/pru-common.cc @@ -1,5 +1,5 @@ /* Common hooks for TI PRU - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/riscv/riscv-common.c b/gcc/common/config/riscv/riscv-common.cc index 37b6ea8..a904893 100644 --- a/gcc/common/config/riscv/riscv-common.c +++ b/gcc/common/config/riscv/riscv-common.cc @@ -1,5 +1,5 @@ /* Common hooks for RISC-V. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2022 Free Software Foundation, Inc. This file is part of GCC. @@ -50,6 +50,52 @@ static const riscv_implied_info_t riscv_implied_info[] = {"d", "f"}, {"f", "zicsr"}, {"d", "zicsr"}, + {"zk", "zkn"}, + {"zk", "zkr"}, + {"zk", "zkt"}, + {"zkn", "zbkb"}, + {"zkn", "zbkc"}, + {"zkn", "zbkx"}, + {"zkn", "zkne"}, + {"zkn", "zknd"}, + {"zkn", "zknh"}, + {"zks", "zbkb"}, + {"zks", "zbkc"}, + {"zks", "zbkx"}, + {"zks", "zksed"}, + {"zks", "zksh"}, + + {"v", "zvl128b"}, + {"v", "zve64d"}, + + {"zve32f", "f"}, + {"zve64f", "f"}, + {"zve64d", "d"}, + + {"zve32x", "zvl32b"}, + {"zve32f", "zve32x"}, + {"zve32f", "zvl32b"}, + + {"zve64x", "zve32x"}, + {"zve64x", "zvl64b"}, + {"zve64f", "zve32f"}, + {"zve64f", "zve64x"}, + {"zve64f", "zvl64b"}, + {"zve64d", "zve64f"}, + {"zve64d", "zvl64b"}, + + {"zvl64b", "zvl32b"}, + {"zvl128b", "zvl64b"}, + {"zvl256b", "zvl128b"}, + {"zvl512b", "zvl256b"}, + {"zvl1024b", "zvl512b"}, + {"zvl2048b", "zvl1024b"}, + {"zvl4096b", "zvl2048b"}, + {"zvl8192b", "zvl4096b"}, + {"zvl16384b", "zvl8192b"}, + {"zvl32768b", "zvl16384b"}, + {"zvl65536b", "zvl32768b"}, + {NULL, NULL} }; @@ -95,6 +141,8 @@ static const struct riscv_ext_version riscv_ext_version_table[] = {"c", ISA_SPEC_CLASS_20190608, 2, 0}, {"c", ISA_SPEC_CLASS_2P2, 2, 0}, + {"v", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zicsr", ISA_SPEC_CLASS_20191213, 2, 0}, {"zicsr", ISA_SPEC_CLASS_20190608, 2, 0}, @@ -106,6 +154,37 @@ static const struct riscv_ext_version riscv_ext_version_table[] = {"zbc", ISA_SPEC_CLASS_NONE, 1, 0}, {"zbs", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zbkb", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zbkc", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zbkx", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zkne", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zknd", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zknh", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zkr", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zksed", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zksh", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zkt", ISA_SPEC_CLASS_NONE, 1, 0}, + + {"zve32x", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zve32f", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zve32d", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zve64x", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zve64f", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zve64d", ISA_SPEC_CLASS_NONE, 1, 0}, + + {"zvl32b", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zvl64b", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zvl128b", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zvl256b", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zvl512b", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zvl1024b", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zvl2048b", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zvl4096b", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zvl8192b", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zvl16384b", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zvl32768b", ISA_SPEC_CLASS_NONE, 1, 0}, + {"zvl65536b", ISA_SPEC_CLASS_NONE, 1, 0}, + /* Terminate the list. */ {NULL, ISA_SPEC_CLASS_NONE, 0, 0} }; @@ -202,7 +281,6 @@ multi_letter_subset_rank (const std::string &subset) high_order = 1; break; case 'z': - gcc_assert (subset.length () > 2); high_order = 2; break; case 'x': @@ -297,7 +375,7 @@ riscv_subset_list::add (const char *subset, int major_version, else error_at ( m_loc, - "%<-march=%s%>: Extension `%s' appear more than one time.", + "%<-march=%s%>: extension %qs appear more than one time", m_arch, subset); @@ -410,6 +488,7 @@ riscv_subset_list::to_string (bool version_p) const bool skip_zifencei = false; bool skip_zicsr = false; + bool i2p0 = false; /* For RISC-V ISA version 2.2 or earlier version, zicsr and zifencei is included in the base ISA. */ @@ -419,11 +498,18 @@ riscv_subset_list::to_string (bool version_p) const skip_zicsr = true; } + for (subset = m_head; subset != NULL; subset = subset->next) + if (subset->name == "i") + { + i2p0 = subset->major_version == 2 && subset->minor_version == 0; + break; + } + #ifndef HAVE_AS_MISA_SPEC /* Skip since older binutils doesn't recognize zicsr. */ skip_zicsr = true; #endif -#ifndef HAVE_AS_MARCH_ZIFENCE +#ifndef HAVE_AS_MARCH_ZIFENCEI /* Skip since older binutils doesn't recognize zifencei, we made a mistake in that binutils 2.35 supports zicsr but not zifencei. */ skip_zifencei = true; @@ -431,10 +517,12 @@ riscv_subset_list::to_string (bool version_p) const for (subset = m_head; subset != NULL; subset = subset->next) { - if (subset->implied_p && skip_zifencei && subset->name == "zifencei") + if (((subset->implied_p && skip_zifencei) || i2p0) && + subset->name == "zifencei") continue; - if (subset->implied_p && skip_zicsr && subset->name == "zicsr") + if (((subset->implied_p && skip_zicsr) || i2p0) && + subset->name == "zicsr") continue; /* For !version_p, we only separate extension with underline for @@ -492,7 +580,7 @@ riscv_subset_list::lookup (const char *subset, int major_version, static const char * riscv_supported_std_ext (void) { - return "mafdqlcbjtpvn"; + return "mafdqlcbjktpvn"; } /* Parsing subset version. @@ -535,14 +623,14 @@ riscv_subset_list::parsing_subset_version (const char *ext, { if (!ISDIGIT (*(p+1))) { - error_at (m_loc, "%<-march=%s%>: Expect number " - "after %<%dp%>.", m_arch, version); + error_at (m_loc, "%<-march=%s%>: expect number " + "after %<%dp%>", m_arch, version); return NULL; } if (!major_p) { - error_at (m_loc, "%<-march=%s%>: For %<%s%dp%dp?%>, version " - "number with more than 2 level is not supported.", + error_at (m_loc, "%<-march=%s%>: for %<%s%dp%dp?%>, version " + "number with more than 2 level is not supported", m_arch, ext, major, version); return NULL; } @@ -623,8 +711,8 @@ riscv_subset_list::parse_std_ext (const char *p) /* std_ext_p= */ true, &explicit_version_p); if (major_version != 0 || minor_version != 0) { - warning_at (m_loc, 0, "version of `g` will be omitted, please " - "specify version for individual extension."); + warning_at (m_loc, 0, "version of %<g%> will be omitted, please " + "specify version for individual extension"); } /* We have special rule for G, we disallow rv32gm2p but allow rv32g_zicsr @@ -761,24 +849,58 @@ riscv_subset_list::parse_multiletter_ext (const char *p, bool explicit_version_p = false; char *ext; char backup; + size_t len; + size_t end_of_version_pos, i; + bool found_any_number = false; + bool found_minor_version = false; - while (*++q != '\0' && *q != '_' && !ISDIGIT (*q)) + /* Parse until end of this extension including version number. */ + while (*++q != '\0' && *q != '_') ; backup = *q; *q = '\0'; - ext = xstrdup (subset); + len = q - subset; *q = backup; + end_of_version_pos = len; + /* Find the begin of version string. */ + for (i = len -1; i > 0; --i) + { + if (ISDIGIT (subset[i])) + { + found_any_number = true; + continue; + } + /* Might be version seperator, but need to check one more char, + we only allow <major>p<minor>, so we could stop parsing if found + any more `p`. */ + if (subset[i] == 'p' && + !found_minor_version && + found_any_number && ISDIGIT (subset[i-1])) + { + found_minor_version = true; + continue; + } + + end_of_version_pos = i + 1; + break; + } + + backup = subset[end_of_version_pos]; + subset[end_of_version_pos] = '\0'; + ext = xstrdup (subset); + subset[end_of_version_pos] = backup; + end_of_version - = parsing_subset_version (ext, q, &major_version, &minor_version, + = parsing_subset_version (ext, subset + end_of_version_pos, &major_version, &minor_version, /* std_ext_p= */ false, &explicit_version_p); free (ext); if (end_of_version == NULL) return NULL; - *q = '\0'; + subset[end_of_version_pos] = '\0'; if (strlen (subset) == 1) { @@ -789,12 +911,12 @@ riscv_subset_list::parse_multiletter_ext (const char *p, } add (subset, major_version, minor_version, explicit_version_p, false); - free (subset); p += end_of_version - subset; + free (subset); if (*p != '\0' && *p != '_') { - error_at (m_loc, "%<-march=%s%>: %s must separate with _", + error_at (m_loc, "%<-march=%s%>: %s must separate with %<_%>", m_arch, ext_type_str); return NULL; } @@ -907,6 +1029,7 @@ static const riscv_ext_flag_table_t riscv_ext_flag_table[] = {"f", &gcc_options::x_target_flags, MASK_HARD_FLOAT}, {"d", &gcc_options::x_target_flags, MASK_DOUBLE_FLOAT}, {"c", &gcc_options::x_target_flags, MASK_RVC}, + {"v", &gcc_options::x_target_flags, MASK_VECTOR}, {"zicsr", &gcc_options::x_riscv_zi_subext, MASK_ZICSR}, {"zifencei", &gcc_options::x_riscv_zi_subext, MASK_ZIFENCEI}, @@ -916,6 +1039,48 @@ static const riscv_ext_flag_table_t riscv_ext_flag_table[] = {"zbc", &gcc_options::x_riscv_zb_subext, MASK_ZBC}, {"zbs", &gcc_options::x_riscv_zb_subext, MASK_ZBS}, + {"zbkb", &gcc_options::x_riscv_zk_subext, MASK_ZBKB}, + {"zbkc", &gcc_options::x_riscv_zk_subext, MASK_ZBKC}, + {"zbkx", &gcc_options::x_riscv_zk_subext, MASK_ZBKX}, + {"zknd", &gcc_options::x_riscv_zk_subext, MASK_ZKND}, + {"zkne", &gcc_options::x_riscv_zk_subext, MASK_ZKNE}, + {"zknh", &gcc_options::x_riscv_zk_subext, MASK_ZKNH}, + {"zkr", &gcc_options::x_riscv_zk_subext, MASK_ZKR}, + {"zksed", &gcc_options::x_riscv_zk_subext, MASK_ZKSED}, + {"zksh", &gcc_options::x_riscv_zk_subext, MASK_ZKSH}, + {"zkt", &gcc_options::x_riscv_zk_subext, MASK_ZKT}, + + {"zve32x", &gcc_options::x_target_flags, MASK_VECTOR}, + {"zve32f", &gcc_options::x_target_flags, MASK_VECTOR}, + {"zve64x", &gcc_options::x_target_flags, MASK_VECTOR}, + {"zve64f", &gcc_options::x_target_flags, MASK_VECTOR}, + {"zve64d", &gcc_options::x_target_flags, MASK_VECTOR}, + + /* We don't need to put complete EEW/EEW_FP info here, due to the + implication relation of vector extension. + e.g. v -> zve64d ... zve32x, so v has set MASK_VECTOR_EEW_FP_64, + MASK_VECTOR_EEW_FP_32, MASK_VECTOR_EEW_64 and MASK_VECTOR_EEW_32 + due to the extension implication. */ + {"zve32x", &gcc_options::x_riscv_vector_eew_flags, MASK_VECTOR_EEW_32}, + {"zve32f", &gcc_options::x_riscv_vector_eew_flags, MASK_VECTOR_EEW_FP_32}, + {"zve64x", &gcc_options::x_riscv_vector_eew_flags, MASK_VECTOR_EEW_64}, + {"zve64f", &gcc_options::x_riscv_vector_eew_flags, MASK_VECTOR_EEW_FP_32}, + {"zve64d", &gcc_options::x_riscv_vector_eew_flags, MASK_VECTOR_EEW_FP_64}, + + {"zvl32b", &gcc_options::x_riscv_zvl_flags, MASK_ZVL32B}, + {"zvl64b", &gcc_options::x_riscv_zvl_flags, MASK_ZVL64B}, + {"zvl128b", &gcc_options::x_riscv_zvl_flags, MASK_ZVL128B}, + {"zvl256b", &gcc_options::x_riscv_zvl_flags, MASK_ZVL256B}, + {"zvl512b", &gcc_options::x_riscv_zvl_flags, MASK_ZVL512B}, + {"zvl1024b", &gcc_options::x_riscv_zvl_flags, MASK_ZVL1024B}, + {"zvl2048b", &gcc_options::x_riscv_zvl_flags, MASK_ZVL2048B}, + {"zvl4096b", &gcc_options::x_riscv_zvl_flags, MASK_ZVL4096B}, + {"zvl8192b", &gcc_options::x_riscv_zvl_flags, MASK_ZVL8192B}, + {"zvl16384b", &gcc_options::x_riscv_zvl_flags, MASK_ZVL16384B}, + {"zvl32768b", &gcc_options::x_riscv_zvl_flags, MASK_ZVL32768B}, + {"zvl65536b", &gcc_options::x_riscv_zvl_flags, MASK_ZVL65536B}, + + {NULL, NULL, 0} }; diff --git a/gcc/common/config/rs6000/rs6000-common.c b/gcc/common/config/rs6000/rs6000-common.cc index 80abdf3..97dff3a 100644 --- a/gcc/common/config/rs6000/rs6000-common.c +++ b/gcc/common/config/rs6000/rs6000-common.cc @@ -1,5 +1,5 @@ /* Common hooks for IBM RS/6000. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/rx/rx-common.c b/gcc/common/config/rx/rx-common.cc index edcc2ce..36ee9d2 100644 --- a/gcc/common/config/rx/rx-common.c +++ b/gcc/common/config/rx/rx-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Renesas RX. - Copyright (C) 2008-2021 Free Software Foundation, Inc. + Copyright (C) 2008-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/s390/s390-common.c b/gcc/common/config/s390/s390-common.cc index b6bc850..caec2f1 100644 --- a/gcc/common/config/s390/s390-common.c +++ b/gcc/common/config/s390/s390-common.cc @@ -1,5 +1,5 @@ /* Common hooks for IBM S/390 and zSeries. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2022 Free Software Foundation, Inc. This file is part of GCC. @@ -116,13 +116,21 @@ s390_handle_option (struct gcc_options *opts ATTRIBUTE_UNUSED, /* -fsplit-stack uses a field in the TCB, available with glibc-2.23. We don't verify it, since earlier versions just have padding at - its place, which works just as well. */ + its place, which works just as well. For other libc implementations + we disable the feature entirely to avoid corrupting the TCB. */ static bool -s390_supports_split_stack (bool report ATTRIBUTE_UNUSED, +s390_supports_split_stack (bool report, struct gcc_options *opts ATTRIBUTE_UNUSED) { - return true; +#ifdef OPTION_GLIBC_P + if (OPTION_GLIBC_P (opts)) + return true; +#endif + + if (report) + error ("%<-fsplit-stack%> currently only supported on GNU/Linux"); + return false; } #undef TARGET_DEFAULT_TARGET_FLAGS diff --git a/gcc/common/config/sh/sh-common.c b/gcc/common/config/sh/sh-common.cc index 622c623..b6c62f7 100644 --- a/gcc/common/config/sh/sh-common.c +++ b/gcc/common/config/sh/sh-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Renesas / SuperH SH. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/sparc/sparc-common.c b/gcc/common/config/sparc/sparc-common.cc index 491b2db..c075e64 100644 --- a/gcc/common/config/sparc/sparc-common.c +++ b/gcc/common/config/sparc/sparc-common.cc @@ -1,5 +1,5 @@ /* Common hooks for SPARC. - Copyright (C) 1987-2021 Free Software Foundation, Inc. + Copyright (C) 1987-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/tilegx/tilegx-common.c b/gcc/common/config/tilegx/tilegx-common.cc index ef87bd0..3d33b7b 100644 --- a/gcc/common/config/tilegx/tilegx-common.c +++ b/gcc/common/config/tilegx/tilegx-common.cc @@ -1,5 +1,5 @@ /* Common hooks for TILE-Gx. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. Contributed by Walter Lee (walt@tilera.com) This file is part of GCC. diff --git a/gcc/common/config/tilepro/tilepro-common.c b/gcc/common/config/tilepro/tilepro-common.cc index 7a1c5f9..8e09736 100644 --- a/gcc/common/config/tilepro/tilepro-common.c +++ b/gcc/common/config/tilepro/tilepro-common.cc @@ -1,5 +1,5 @@ /* Common hooks for TILEPro. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2022 Free Software Foundation, Inc. Contributed by Walter Lee (walt@tilera.com) This file is part of GCC. diff --git a/gcc/common/config/v850/v850-common.c b/gcc/common/config/v850/v850-common.cc index 33031f4..830bf7f 100644 --- a/gcc/common/config/v850/v850-common.c +++ b/gcc/common/config/v850/v850-common.cc @@ -1,5 +1,5 @@ /* Common hooks for NEC V850 series. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/vax/vax-common.c b/gcc/common/config/vax/vax-common.cc index 19d024a..58f172e 100644 --- a/gcc/common/config/vax/vax-common.c +++ b/gcc/common/config/vax/vax-common.cc @@ -1,5 +1,5 @@ /* Common hooks for VAX. - Copyright (C) 1987-2021 Free Software Foundation, Inc. + Copyright (C) 1987-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/visium/visium-common.c b/gcc/common/config/visium/visium-common.cc index 92ab88f..28dd1ff 100644 --- a/gcc/common/config/visium/visium-common.c +++ b/gcc/common/config/visium/visium-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Visium. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2022 Free Software Foundation, Inc. Contributed by C.Nettleton,J.P.Parkes and P.Garbett. This file is part of GCC. diff --git a/gcc/common/config/xstormy16/xstormy16-common.c b/gcc/common/config/xstormy16/xstormy16-common.cc index a3b2a82..83414d8 100644 --- a/gcc/common/config/xstormy16/xstormy16-common.c +++ b/gcc/common/config/xstormy16/xstormy16-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Xstormy16. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2022 Free Software Foundation, Inc. This file is part of GCC. diff --git a/gcc/common/config/xtensa/xtensa-common.c b/gcc/common/config/xtensa/xtensa-common.cc index e0a3596..fbbe9b0 100644 --- a/gcc/common/config/xtensa/xtensa-common.c +++ b/gcc/common/config/xtensa/xtensa-common.cc @@ -1,5 +1,5 @@ /* Common hooks for Tensilica's Xtensa architecture. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2022 Free Software Foundation, Inc. This file is part of GCC. |