4 <ENTRY BITLOG-GEN FGETBITS-GEN FPUTBITS-GEN>
6 <USE "COMPDEC" "CODGEN" "CHKDCL" "MIMGEN">
9 <GFCN
\1aFGETBITS-GEN ("VALUE" ANY NODE ANY) N4 W5>
10 <TEMP K6 REG7 TEMP12 S8>
12 <NTHUV N4 5 = K6 (TYPE LIST)>
15 <NTHL K6 1 = STACK (TYPE NODE)>
16 <CALL '
\1aGEN 1 = REG7>
18 <RESTL K6 1 = TEMP12 (TYPE LIST)>
19 <NTHL TEMP12 1 = STACK (TYPE NODE)>
24 <RESTL K6 1 = TEMP12 (TYPE LIST)>
26 <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
27 <NTHL TEMP12 1 = STACK (TYPE NODE)>
29 <CALL '
\1aGEN 1 = TEMP12>
32 <CALL '
\1aFREE-TEMP 2>
36 <CALL '
\1aFREE-TEMP 2>
45 <EQUAL? W5 'DONT-CARE + PHRASE18>
50 <CALL '
\1aFREE-TEMP 2>
51 <TYPE? W5 <TYPE-CODE TEMP> - PHRASE21>
60 <TYPE? REG7 <TYPE-CODE TEMP> - PHRASE23>
61 <NTHUV REG7 2 = K6 (TYPE FIX)>
62 <GRTR? K6 1 + PHRASE23 (TYPE FIX)>
73 <CALL '
\1aFREE-TEMP 2>
75 <CALL '
\1aGEN-TEMP 0 = W5>
86 <GFCN
\1aFPUTBITS-GEN ("VALUE" ANY NODE ANY) N4 W5>
87 <TEMP K6:LIST TY11 REG7 TEMP15 S8 WI9>
89 <NTHUV N4 5 = K6 (TYPE LIST)>
93 <CALL '
\1aISTYPE? 1 = TY11>
95 <NTHL K6 1 = STACK (TYPE NODE)>
96 <CALL '
\1aGEN 1 = REG7>
98 <RESTL K6 1 = TEMP15 (TYPE LIST)>
99 <NTHL TEMP15 1 = STACK (TYPE NODE)>
101 <CALL '
\1aGEN 1 = S8>
103 <RESTL K6 1 = TEMP15 (TYPE LIST)>
104 <RESTL TEMP15 1 = TEMP15 (TYPE LIST)>
105 <NTHL TEMP15 1 = STACK (TYPE NODE)>
107 <CALL '
\1aGEN 1 = WI9>
108 <FRAME '
\1aFREE-TEMP>
110 <RESTL K6 1 = TEMP15 (TYPE LIST)>
112 <RESTL TEMP15 1 = TEMP15 (TYPE LIST)>
113 <RESTL TEMP15 1 = TEMP15 (TYPE LIST)>
114 <NTHL TEMP15 1 = STACK (TYPE NODE)>
116 <CALL '
\1aGEN 1 = TEMP15>
119 <CALL '
\1aFREE-TEMP 2>
120 <FRAME '
\1aFREE-TEMP>
123 <CALL '
\1aFREE-TEMP 2>
124 <FRAME '
\1aFREE-TEMP>
127 <CALL '
\1aFREE-TEMP 2>
138 <EQUAL? W5 'DONT-CARE + PHRASE23>
139 <FRAME '
\1aFREE-TEMP>
143 <CALL '
\1aFREE-TEMP 2>
144 <TYPE? W5 <TYPE-CODE TEMP> - PHRASE26>
149 <CALL '
\1aUSE-TEMP 2>
154 <TYPE? REG7 <TYPE-CODE TEMP> - PHRASE28>
155 <NTHUV REG7 2 = TEMP15 (TYPE FIX)>
156 <GRTR? TEMP15 1 + PHRASE28 (TYPE FIX)>
163 <FRAME '
\1aFREE-TEMP>
167 <CALL '
\1aFREE-TEMP 2>
171 <TYPE? TEMP15 <TYPE-CODE FALSE> - COND36>
172 <SET TEMP15 'T (TYPE ATOM)>
176 <CALL '
\1aGEN-TEMP 1 = W5>
184 <END
\1aFPUTBITS-GEN>
187 <GFCN
\1aBITLOG-GEN ("VALUE" ANY NODE ANY) N4 W5>
188 <TEMP K6 FST7 INS8:ATOM TEMP13 NN27 LAST31>
190 <NTHUV N4 5 = K6 (TYPE LIST)>
191 <NTHL K6 1 = FST7 (TYPE NODE)>
195 <CALL '
\1aLGINS 1 = INS8>
196 <NTHUV FST7 1 = TEMP13 (TYPE FIX)>
197 <VEQUAL? TEMP13 2 - PHRASE12 (TYPE FIX)>
199 <RESTL K6 1 = TEMP13 (TYPE LIST)>
200 <NTHL TEMP13 1 = TEMP13 (TYPE NODE)>
203 <RESTL K6 1 = TEMP13 (TYPE LIST)>
208 <NTHL K6 1 = STACK (TYPE NODE)>
209 <CALL '
\1aGEN 1 = TEMP13>
210 <RESTL K6 1 = FST7 (TYPE LIST)>
215 <EMPL? FST7 + MAPAP19>
217 <NTHL K6 1 = NN27 (TYPE NODE)>
222 <CALL '
\1aGEN 2 = NN27>
223 <RESTL K6 1 = K6 (TYPE LIST)>
224 <EMPL? K6 - TAG32 (TYPE LIST)>
226 <SET LAST31 'T (TYPE ATOM)>
229 <SET LAST31 %<> (TYPE FALSE)>
236 <VEQUAL? LAST31 0 + PHRASE37>
237 <TYPE? W5 <TYPE-CODE TEMP> + BOOL39>
238 <GVAL 'POP-STACK = K6>
239 <EQUAL? K6 W5 - PHRASE37>
242 <EQUAL? W5 TEMP13 + PHRASE44>
243 <FRAME '
\1aFREE-TEMP>
247 <CALL '
\1aFREE-TEMP 2>
248 <TYPE? W5 <TYPE-CODE TEMP> - PHRASE44>
252 <CALL '
\1aUSE-TEMP 2>
258 <VEQUAL? LAST31 0 + PHRASE46>
260 <EQUAL? W5 'DONT-CARE - PHRASE46>
261 <TYPE? TEMP13 <TYPE-CODE TEMP> - PHRASE46>
262 <NTHUV TEMP13 2 = K6 (TYPE FIX)>
263 <GRTR? K6 1 + PHRASE46 (TYPE FIX)>
268 <TYPE? TEMP13 <TYPE-CODE TEMP> - BOOL52>
269 <NTHUV TEMP13 2 = K6 (TYPE FIX)>
270 <GRTR? K6 1 - PHRASE51 (TYPE FIX)>
273 <TYPE? TEMP13 <TYPE-CODE TEMP> - PHRASE56>
274 <FRAME '
\1aFREE-TEMP>
278 <CALL '
\1aFREE-TEMP 2>
282 <CALL '
\1aGEN-TEMP 1 = TEMP13>
291 <FRAME '
\1aFREE-TEMP>
294 <CALL '
\1aFREE-TEMP 1>
295 <RESTL FST7 1 = FST7 (TYPE LIST)>
303 <CALL '
\1aMOVE-ARG 2 = FST7>
309 <GFCN
\1aLGINS ("VALUE" ATOM ANY) SUBR4>
310 <TEMP TEMP9 TEMP10 TEMP11>
312 <GVAL 'LSUBRS = TEMP9>
313 <TYPE SUBR4 = TEMP10>
314 <EMPUV? TEMP9 + TAG5>
315 <LOOP (SUBR4 VALUE) (TEMP10 VALUE) (TEMP9 LENGTH VALUE)>
317 <NTHUV TEMP9 1 = TEMP11>
318 <TYPE? TEMP11 TEMP10 - TAG8>
319 <VEQUAL? TEMP11 SUBR4 + TAG6>
322 <RESTUV TEMP9 1 = TEMP9 (TYPE VECTOR)>
323 <EMPUV? TEMP9 - TAG7>
325 <SET TEMP9 %<> (TYPE FALSE)>
327 <LENR TEMP9 = TEMP9 (RECORD-TYPE %<>) (TYPE FIX)>
328 <NTHUV [`AND `OR `XOR `EQV] TEMP9 = TEMP9 (TYPE ATOM)>
333 <SETG LSUBRS [,EQVB ,XORB ,ORB ,ANDB]>
335 <GDECL (LSUBRS) VECTOR>