This is the mail archive of the
mailing list for the GCC project.
Re: GCC Mips has 31 Masks in mips.opt
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: "Steve Ellcey " <sellcey at mips dot com>
- Cc: <apinski at cavium dot com>, <gcc at gcc dot gnu dot org>
- Date: Sat, 25 Jan 2014 20:34:36 +0000
- Subject: Re: GCC Mips has 31 Masks in mips.opt
- Authentication-results: sourceware.org; auth=none
- References: <08ead5c2-5777-4f50-a607-e63202286db6 at BAMAIL02 dot ba dot imgtec dot org>
"Steve Ellcey " <firstname.lastname@example.org> writes:
> While experimenting with a local GCC change I added two new Masks to
> mips.opt and ran into a build failure about too many masks:
> ./options.h:4172:2: error: #error too many target masks
> It looks like we already have 31 Masks in the MIPS mips.opt file and 32
> is the limit. It looks like the fix for this is to put some of the Masks
> in a variable other then target_flags with the Var() syntax. I see i386
> and rs6000 doing this with ix86_isa_flags and rs6000_isa_flags.
> Now I could just put my new flags (and any other new flags that come
> up) in a separate variable, but I was wondering if we wanted to
> move a set of existing Masks to a new variable instead of just using
> a first-come first-serve approach to what goes into the default
> target_flags and what goes into a new flags variable.
Yeah, I've been trying to use separate variables for new flags.
That's why a lot of the MIPS options have discrete TARGET_â variables
(defined via Var(TARGET_â)). target_flags should only really be needed
for options whose defaults are controlled by config.gcc.
E.g. from a quick look, -mdsp, -mdspr2, -mfp-exceptions,
-mfused-madd and -mips3d don't need to be masks and could easily
be converted to Var(TARGET_â). That's pre-approved it works.
Others could be moved too with a bit more effort, but hopefully
those 5 will be enough for now.