|
|
1.1 root 1: /*
2: * n1/i386/table0.c
3: * Machine specific tables used by code generator tree modification routines.
4: * i386.
5: */
6:
7: #ifdef vax
8: #include "INC$LIB:cc1.h"
9: #else
10: #include "cc1.h"
11: #endif
12:
13: /*
14: * Information about the subgoals of the various C operators.
15: * Used by the leaf insert code in mtree3.c.
16: * Indexed by ldtab[op-MIOBASE].
17: */
18: int ldtab[] = {
19:
20: ndown(MRVALUE, MRADDR), /* + */
21: ndown(MRVALUE, MRADDR), /* - */
22: ndown(MRVALUE, MRADDR), /* * */
23: ndown(MRVALUE, MRADDR), /* / */
24: ndown(MRVALUE, MRADDR), /* % */
25: ndown(MHARD, MRADDR), /* & */
26: ndown(MRVALUE, MRADDR), /* | */
27: ndown(MRVALUE, MRADDR), /* ^ */
28: ndown(MRVALUE, MHARD), /* << */
29: ndown(MRVALUE, MHARD), /* >> */
30:
31: ndown(MLADDR, MRVALUE), /* += */
32: ndown(MLADDR, MRVALUE), /* -= */
33: ndown(MLADDR, MRVALUE), /* *= */
34: ndown(MLADDR, MRVALUE), /* /= */
35: ndown(MLADDR, MRVALUE), /* %= */
36: ndown(MLADDR, MRVALUE), /* &= */
37: ndown(MLADDR, MRVALUE), /* |= */
38: ndown(MLADDR, MRVALUE), /* ^= */
39: ndown(MLADDR, MHARD), /* <<= */
40: ndown(MLADDR, MHARD), /* >>= */
41:
42: ndown(MRVALUE, MRADDR), /* == */
43: ndown(MRVALUE, MRADDR), /* != */
44: ndown(MRVALUE, MRADDR), /* > */
45: ndown(MRVALUE, MRADDR), /* >= */
46: ndown(MRVALUE, MRADDR), /* <= */
47: ndown(MRVALUE, MRADDR), /* < */
48: ndown(MRVALUE, MRADDR), /* > unsigned */
49: ndown(MRVALUE, MRADDR), /* >= unsigned */
50: ndown(MRVALUE, MRADDR), /* <= unsigned */
51: ndown(MRVALUE, MRADDR), /* < unsigned */
52:
53: ndown(MRADDR, MJUNK), /* * */
54: ndown(MLADDR, MJUNK), /* & */
55: ndown(MRVALUE, MJUNK), /* - */
56: ndown(MRVALUE, MJUNK), /* ~ */
57: ndown(MFLOW, MJUNK), /* ! */
58: ndown(MFLOW, MPASSED), /* ? */
59: ndown(MPASSED, MPASSED), /* : */
60: ndown(MLADDR, MRADDR), /* ++ prefix */
61: ndown(MLADDR, MRADDR), /* -- prefix */
62: ndown(MLADDR, MRADDR), /* ++ postfix */
63: ndown(MLADDR, MRADDR), /* -- postfix */
64: ndown(MEFFECT, MPASSED), /* , */
65: ndown(MLADDR, MFNARG), /* Call */
66: ndown(MFLOW, MFLOW), /* && */
67: ndown(MFLOW, MFLOW), /* || */
68: ndown(MRADDR, MRADDR), /* Type cast */
69: ndown(MRADDR, MRADDR), /* Conversion */
70: ndown(MLADDR, MRADDR), /* Field select */
71: ndown(MJUNK, MJUNK), /* Sizeof */
72: ndown(MLADDR, MRVALUE), /* = */
73: ndown(MJUNK, MJUNK), /* Nop */
74: ndown(MJUNK, MJUNK), /* Init type */
75: ndown(MFNARG, MFNARG), /* Argument list */
76: ndown(MRVALUE, MJUNK), /* Leaf */
77: ndown(MRVALUE, MJUNK), /* Fix up */
78: ndown(MRVALUE, MRVALUE) /* Block move */
79: };
80:
81: /* end of n1/i386/table0.c */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.