Lines Matching refs:mode

1 /* Generate the machine mode enumeration and associated tables.
29 #include "mode-classes.def"
35 /* Text names of mode classes, for output. */
51 /* Data structure for building up what we know about a mode.
52 They're clustered by mode class. */
57 const char *name; /* printable mode name -- SI, not SImode */
58 enum mode_class cl; /* this mode class */
62 unsigned int alignment; /* mode alignment */
65 struct mode_data *component; /* mode of components */
66 struct mode_data *wider; /* next wider mode */
67 struct mode_data *wider_2x; /* 2x wider mode */
70 this mode as a component. */
71 struct mode_data *next_cont; /* Next mode in that list. */
92 to a particular mode. We support varying the byte size, the
97 struct mode_data *mode;
155 error ("%s:%d: duplicate definition of mode \"%s\"",
206 struct mode_data *mode = find_mode (name);
211 if (!mode)
213 error ("%s:%d: no mode \"%s\"", file, line, name);
217 if (required_class != MODE_RANDOM && mode->cl != required_class)
219 error ("%s:%d: mode \"%s\" is not class %s",
225 if (a->mode == mode)
227 error ("%s:%d: mode \"%s\" already has a %s adjustment",
234 a->mode = mode;
244 mode structure. */
284 /* Given a partially-filled-out mode structure, figure out what we can
293 error ("%s:%d: mode with no name", m->file, m->line);
298 error ("%s:%d: %smode has no mode class", m->file, m->line, m->name);
319 the size of a CC mode is four units. */
330 /* A scalar mode must have a byte size, may have a bit size,
331 and must not have components. A float mode must have a
341 /* A partial integer mode uses ->component to say what the
342 corresponding full-size integer mode is, and may also
375 /* If not already specified, the mode alignment defaults to the largest
385 /* If this mode has components, make the component mode point back
386 to this mode, for the sake of adjustments. */
404 /* For each mode in class CLASS, construct a corresponding complex mode. */
426 error ("%s:%d:mode name \"%s\" is too long",
443 error ("%s:%d: float mode \"%s\" has no 'F' or 'D'",
498 error ("%s:%d: mode name \"%s\" is too long",
578 error ("%s:%d: no mode \"%s\"", file, line, name);
583 error ("%s:%d: mode \"%s\" is not a FLOAT class", file, line, name);
589 /* Partial integer modes are specified by relation to a full integer mode.
602 error ("%s:%d: no mode \"%s\"", file, line, name);
607 error ("%s:%d: mode \"%s\" is not class INT", file, line, name);
616 /* A single vector mode can be specified by naming its component
617 mode and the number of components. */
635 error ("%s:%d: no mode \"%s\"", file, line, base);
642 error ("%s:%d: mode \"%s\" is not class %s",
650 error ("%s:%d: mode name \"%s\" is too long",
683 If the precision is not set, sort by the bytesize. A mode with
684 precision set gets sorted before a mode without precision set, if
1161 printf (" mode_size[%smode] = s;\n", a->mode->name);
1163 a->mode->name);
1165 for (m = a->mode->contained; m; m = m->next_cont)
1186 "mode %s is neither vector nor complex but contains %s",
1187 m->name, a->mode->name);
1199 printf (" mode_base_align[%smode] = s;\n", a->mode->name);
1201 for (m = a->mode->contained; m; m = m->next_cont)
1218 "mode %s is neither vector nor complex but contains %s",
1219 m->name, a->mode->name);
1225 /* Real mode formats don't have to propagate anywhere. */
1228 a->file, a->line, a->mode->name, a->adjustment);