Skip to content

Commit d067383

Browse files
committed
arcv: Make -mtune=arc-v-rmx-100-series a default for ARC-V
We have 4 -mtune values for ARC-V targets: 1. arc-v-rmx-100-series 2. arc-v-rmx-500-series 3. arc-v-rhx-100-series 4. arc-v-rpx-100-series When all of them are mentioned in a multilib configuration file (t-arcv for ARC-V) and arc-v-rmx-100-series is a default -mtune value (-with-tune= configuration option for GCC), then GCC cannot build with default target options (like gcc app.c -o app). To fix this we had to use -with-tune=rocket. However, with such approach we have to pass -mtune for a particular ARC-V target manually and not rely on RMX-100 as a default target. This patch removes -mtune from t-arcv for all RMX-100 targets and sets -with-tune=arc-v-rmx-100-series if it's not set explicitly (it corresponds to -with-tune=default). This allows using -mtune=arc-v-rmx-100-series as default without passing extra configuration options to GCC build scripts and fixes that bug with default target options. Signed-off-by: Yuriy Kolerov <[email protected]>
1 parent 7822918 commit d067383

File tree

2 files changed

+36
-24
lines changed

2 files changed

+36
-24
lines changed

gcc/config.gcc

+12
Original file line numberDiff line numberDiff line change
@@ -4910,6 +4910,18 @@ case "${target}" in
49104910
exit 1
49114911
esac
49124912
fi
4913+
4914+
# Handle --with-tune.
4915+
if test "x${with_tune}" = xdefault; then
4916+
case ${target} in
4917+
*-snps-*)
4918+
# Use a default mtune for Synopsys ARC-V.
4919+
with_tune=arc-v-rmx-100-series
4920+
;;
4921+
*)
4922+
;;
4923+
esac
4924+
fi
49134925
;;
49144926

49154927
mips*-*-*)

gcc/config/riscv/t-arcv

+24-24
Original file line numberDiff line numberDiff line change
@@ -59,41 +59,41 @@ MULTILIB_DIRNAMES += $(arcv_march_variants)
5959
MULTILIB_OPTIONS += mabi=ilp32e/mabi=ilp32/mabi=ilp32f/mabi=ilp32d/mabi=lp64/mabi=lp64d
6060
MULTILIB_DIRNAMES += ilp32e ilp32 ilp32f ilp32d lp64 lp64d
6161

62-
MULTILIB_OPTIONS += mtune=arc-v-rmx-100-series/mtune=arc-v-rmx-500-series/mtune=arc-v-rhx-100-series/mtune=arc-v-rpx-100-series
63-
MULTILIB_DIRNAMES += rmx100 rmx500 rhx100 rpx100
62+
MULTILIB_OPTIONS += mtune=arc-v-rmx-500-series/mtune=arc-v-rhx-100-series/mtune=arc-v-rpx-100-series
63+
MULTILIB_DIRNAMES += rmx500 rhx100 rpx100
6464

6565
MULTILIB_OPTIONS += mcmodel=medany
6666
MULTILIB_DIRNAMES += medany
6767

6868
# Configurations for RMX-100 mini
69-
MULTILIB_REQUIRED += march=rv32e/mabi=ilp32e/mtune=arc-v-rmx-100-series
70-
MULTILIB_REQUIRED += march=rv32em/mabi=ilp32e/mtune=arc-v-rmx-100-series
71-
MULTILIB_REQUIRED += march=rv32ea/mabi=ilp32e/mtune=arc-v-rmx-100-series
72-
MULTILIB_REQUIRED += march=rv32ema/mabi=ilp32e/mtune=arc-v-rmx-100-series
73-
MULTILIB_REQUIRED += march=rv32emac_zcb_zba_zbb_zbs_zfinx_zdinx/mabi=ilp32e/mtune=arc-v-rmx-100-series
69+
MULTILIB_REQUIRED += march=rv32e/mabi=ilp32e
70+
MULTILIB_REQUIRED += march=rv32em/mabi=ilp32e
71+
MULTILIB_REQUIRED += march=rv32ea/mabi=ilp32e
72+
MULTILIB_REQUIRED += march=rv32ema/mabi=ilp32e
73+
MULTILIB_REQUIRED += march=rv32emac_zcb_zba_zbb_zbs_zfinx_zdinx/mabi=ilp32e
7474

7575
# Configurations for RMX-100 - general
76-
MULTILIB_REQUIRED += march=rv32i/mabi=ilp32/mtune=arc-v-rmx-100-series
77-
MULTILIB_REQUIRED += march=rv32ic/mabi=ilp32/mtune=arc-v-rmx-100-series
78-
MULTILIB_REQUIRED += march=rv32im/mabi=ilp32/mtune=arc-v-rmx-100-series
79-
MULTILIB_REQUIRED += march=rv32ia/mabi=ilp32/mtune=arc-v-rmx-100-series
80-
MULTILIB_REQUIRED += march=rv32ima/mabi=ilp32/mtune=arc-v-rmx-100-series
81-
MULTILIB_REQUIRED += march=rv32iac/mabi=ilp32/mtune=arc-v-rmx-100-series
82-
MULTILIB_REQUIRED += march=rv32imac/mabi=ilp32/mtune=arc-v-rmx-100-series
76+
MULTILIB_REQUIRED += march=rv32i/mabi=ilp32
77+
MULTILIB_REQUIRED += march=rv32ic/mabi=ilp32
78+
MULTILIB_REQUIRED += march=rv32im/mabi=ilp32
79+
MULTILIB_REQUIRED += march=rv32ia/mabi=ilp32
80+
MULTILIB_REQUIRED += march=rv32ima/mabi=ilp32
81+
MULTILIB_REQUIRED += march=rv32iac/mabi=ilp32
82+
MULTILIB_REQUIRED += march=rv32imac/mabi=ilp32
8383

8484
# Configurations for RMX-100 - optimized
85-
MULTILIB_REQUIRED += march=rv32ic_zcb_zba_zbb_zbs/mabi=ilp32/mtune=arc-v-rmx-100-series
86-
MULTILIB_REQUIRED += march=rv32imc_zcb_zba_zbb_zbs/mabi=ilp32/mtune=arc-v-rmx-100-series
87-
MULTILIB_REQUIRED += march=rv32imac_zcb_zba_zbb_zbs/mabi=ilp32/mtune=arc-v-rmx-100-series
88-
MULTILIB_REQUIRED += march=rv32imac_zcb_zba_zbb_zbs_zfinx/mabi=ilp32/mtune=arc-v-rmx-100-series
89-
MULTILIB_REQUIRED += march=rv32imac_zcb_zba_zbb_zbs_zfinx_zdinx/mabi=ilp32/mtune=arc-v-rmx-100-series
85+
MULTILIB_REQUIRED += march=rv32ic_zcb_zba_zbb_zbs/mabi=ilp32
86+
MULTILIB_REQUIRED += march=rv32imc_zcb_zba_zbb_zbs/mabi=ilp32
87+
MULTILIB_REQUIRED += march=rv32imac_zcb_zba_zbb_zbs/mabi=ilp32
88+
MULTILIB_REQUIRED += march=rv32imac_zcb_zba_zbb_zbs_zfinx/mabi=ilp32
89+
MULTILIB_REQUIRED += march=rv32imac_zcb_zba_zbb_zbs_zfinx_zdinx/mabi=ilp32
9090

9191
# Configurations for RMX-100 - optimized (without C and Zc*)
92-
MULTILIB_REQUIRED += march=rv32i_zba_zbb_zbs/mabi=ilp32/mtune=arc-v-rmx-100-series
93-
MULTILIB_REQUIRED += march=rv32im_zba_zbb_zbs/mabi=ilp32/mtune=arc-v-rmx-100-series
94-
MULTILIB_REQUIRED += march=rv32ima_zba_zbb_zbs/mabi=ilp32/mtune=arc-v-rmx-100-series
95-
MULTILIB_REQUIRED += march=rv32ima_zba_zbb_zbs_zfinx/mabi=ilp32/mtune=arc-v-rmx-100-series
96-
MULTILIB_REQUIRED += march=rv32ima_zba_zbb_zbs_zfinx_zdinx/mabi=ilp32/mtune=arc-v-rmx-100-series
92+
MULTILIB_REQUIRED += march=rv32i_zba_zbb_zbs/mabi=ilp32
93+
MULTILIB_REQUIRED += march=rv32im_zba_zbb_zbs/mabi=ilp32
94+
MULTILIB_REQUIRED += march=rv32ima_zba_zbb_zbs/mabi=ilp32
95+
MULTILIB_REQUIRED += march=rv32ima_zba_zbb_zbs_zfinx/mabi=ilp32
96+
MULTILIB_REQUIRED += march=rv32ima_zba_zbb_zbs_zfinx_zdinx/mabi=ilp32
9797

9898
# Configurations for RMX-500 - general
9999
MULTILIB_REQUIRED += march=rv32i/mabi=ilp32/mtune=arc-v-rmx-500-series

0 commit comments

Comments
 (0)