https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78094

            Bug ID: 78094
           Summary: limit in mask targets
           Product: gcc
           Version: 6.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ikozhukhov at gmail dot com
  Target Milestone: ---

i have DilOS (illumos based platfork).

try to port 2 additional features from 5.4 (they not included to original gcc):
-msave-args
-mforce-save-regs-using-mov

where we have 2 additional definitions in gcc/config/i386/i386.opt:

+msave-args
+Target Report Mask(SAVE_ARGS)
+Save integer arguments on the stack at function entry
+
+mforce-save-regs-using-mov
+Target Report Mask(FORCE_SAVE_REGS_USING_MOV)
+Save registers using push in function prologues.  This is intentionally
+undocumented and used for msave-args testing.

but with bootstrap i can see issue with more target masks with #error.

i have found limitation in gcc/opth-gen.awk

line 374:
    else if (masknum[var] > 31) {
        if (var == "")
            print "#error too many target masks"
        else
            print "#error too many masks for " var
    }

could you please add more mask targets - or we can just update 31 to more?
or need additional others changes?

Reply via email to