4 <ENTRY BITLOG-GEN FGETBITS-GEN FPUTBITS-GEN>
6 <USE "COMPDEC" "CODGEN" "CHKDCL" "MIMGEN">
8 <DEFINE FGETBITS-GEN (N W "AUX" (K <KIDS .N>) REG S WI)
9 #DECL ((N) NODE (K) <LIST [REST NODE]>)
10 <SET REG <GEN <1 .K>>>
12 <FREE-TEMP <SET WI <GEN <3 .K>>> <>>
19 <COND (<N==? .W DONT-CARE>
21 <COND (<TYPE? .W TEMP> <USE-TEMP .W FIX>)>
23 (<AND <TYPE? .REG TEMP> <L=? <TEMP-REFS .REG> 1>>
25 (ELSE <FREE-TEMP .REG <>> <SET W <GEN-TEMP>>)>>
28 <DEFINE FPUTBITS-GEN (N W
29 "AUX" (K <KIDS .N>) REG S WI F
30 (TY <ISTYPE? <RESULT-TYPE .N>>))
31 #DECL ((N) NODE (K) <LIST [REST NODE]>)
32 <SET REG <GEN <1 .K>>>
35 <FREE-TEMP <SET F <GEN <4 .K>>> <>>
44 <COND (<N==? .W DONT-CARE>
46 <COND (<TYPE? .W TEMP> <USE-TEMP .W .TY>)>
48 (<AND <TYPE? .REG TEMP> <L=? <TEMP-REFS .REG> 1>>
52 <SET W <GEN-TEMP <COND (.TY) (T)>>>)>>
55 <DEFINE BITLOG-GEN (N W
56 "AUX" (K <KIDS .N>) (FST <1 .K>)
57 (INS <LGINS <NODE-SUBR .N>>) REG)
58 #DECL ((FST N) NODE (K) <LIST [REST NODE]>)
59 <COND (<==? <NODE-TYPE .FST> ,QUOTE-CODE>
62 <SET REG <GEN <1 .K>>>
64 <FUNCTION (NP "AUX" (NN <1 .NP>) (NXT <GEN .NN DONT-CARE>) TT
65 (LAST <EMPTY? <REST .NP>>))
66 #DECL ((NN) NODE (NP) <LIST NODE>)
71 <COND (<AND .LAST <OR <TYPE? .W TEMP>
75 <COND (<TYPE? .W TEMP>
81 <L=? <TEMP-REFS .REG> 1>> .REG)
82 (<OR <NOT <TYPE? .REG TEMP>>
83 <G? <TEMP-REFS .REG> 1>>
84 <COND (<TYPE? .REG TEMP>
86 <SET REG <GEN-TEMP FIX>>)
93 <NTH '[`AND `OR `XOR `EQV]
94 <LENGTH <MEMQ .SUBR ,LSUBRS>>>>
96 <SETG LSUBRS [,EQVB ,XORB ,ORB ,ANDB]>
98 <GDECL (LSUBRS) VECTOR>