[EXT] Re: [PATCH v4 1/3] config/arm: avoid mcpu and march conflicts
Pavan Nikhilesh Bhagavatula
pbhagavatula at marvell.com
Thu Feb 22 10:49:02 CET 2024
> > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > index 36f21d2259..e77b696d8e 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> <snip>
> > @@ -695,13 +698,31 @@ if update_flags
> >
> > machine_args = [] # Clear previous machine args
> >
> > + candidate_mcpu = ''
> > + if part_number_config.has_key('mcpu')
> > + mcpu = part_number_config['mcpu']
> > + if (cc.has_argument('-mcpu=' + mcpu))
> > + candidate_mcpu = mcpu
> > + endif
> > + endif
> > +
> > + march_features = []
> > + if part_number_config.has_key('march_features')
> > + march_features += part_number_config['march_features']
> > + endif
> > + if soc_config.has_key('extra_march_features')
> > + march_features += soc_config['extra_march_features']
> > + endif
> > +
> > # probe supported archs and their features
> > candidate_march = ''
> > - if part_number_config.has_key('march')
> > + if part_number_config.has_key('march') and candidate_mcpu == ''
>
> If we reorganize the code a bit it would read better I think:
> if candidate_mcpu != ''
> <mcpu code>
> elif part_number_config.has_key('march')
> <march code>
> else
> error(no mcpu and no march) # not sure whether this is needed or
> wanted though
>
> This would also match the order before - first process mcpu, then
> march. Come to think of it, maybe we should put the march_features
> code before the candidate_mcpu code since that is common code and
> would thus also read a bit better (common, then mcpu, then march).
Ack, I will reorganize in v5.
Thanks,
Pavan.
>
> > if part_number_config.get('force_march', false)
> > - candidate_march = part_number_config['march']
> > + if cc.has_argument('-march=' + part_number_config['march'])
> > + candidate_march = part_number_config['march']
> > + endif
> > else
> > - supported_marchs = ['armv8.6-a', 'armv8.5-a', 'armv8.4-a', 'armv8.3-
> a',
> > + supported_marchs = ['armv9-a', 'armv8.6-a', 'armv8.5-a', 'armv8.4-
> a', 'armv8.3-a',
> > 'armv8.2-a', 'armv8.1-a', 'armv8-a']
> > check_compiler_support = false
> > foreach supported_march: supported_marchs
More information about the dev
mailing list