Changeset 13412
 Timestamp:
 Jan 28, 2010, 4:07:05 AM (10 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

trunk/source/level0/X86/X8632/x8632array.lisp
r13067 r13412 58 58 (jmpsubprim .SPvalues))) 59 59 60 (defx8632lapfunction %booleclr ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 61 (movl (@ idx (% esp)) (% temp0)) 60 (defx8632lapfunction %booleclr ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 61 (movl (@ len (% esp)) (% temp0)) 62 (jmp @test) 63 @loop 62 64 (movl ($ 0) (@ x8632::miscdataoffset (% dest) (% temp0))) 63 (singlevaluereturn 4)) 64 65 (defx8632lapfunction %booleset ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 66 (movl (@ idx (% esp)) (% temp0)) 65 @test 66 (subl ($ '1) (% temp0)) 67 (jge @loop) 68 (singlevaluereturn 4)) 69 70 (defx8632lapfunction %booleset ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 71 (movl (@ len (% esp)) (% temp0)) 72 (jmp @test) 73 @loop 67 74 (movl ($ 1) (@ x8632::miscdataoffset (% dest) (% temp0))) 68 (singlevaluereturn 4)) 69 70 (defx8632lapfunction %boole1 ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 71 (movl (@ idx (% esp)) (% temp0)) 72 (movl (@ b0 (% esp)) (% temp1)) 73 (movl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) 74 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 75 (singlevaluereturn 4)) 76 77 (defx8632lapfunction %boole2 ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 78 (movl (@ idx (% esp)) (% temp0)) 75 @test 76 (subl ($ '1) (% temp0)) 77 (jge @loop) 78 (singlevaluereturn 4)) 79 80 (defx8632lapfunction %boole1 ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 81 (movl (@ len (% esp)) (% temp0)) 82 (jmp @test) 83 @loop 84 (movl (@ b0 (% esp)) (% temp1)) 85 (movl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) 86 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 87 @test 88 (subl ($ '1) (% temp0)) 89 (jge @loop) 90 (singlevaluereturn 4)) 91 92 (defx8632lapfunction %boole2 ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 93 (movl (@ len (% esp)) (% temp0)) 94 (jmp @test) 95 @loop 79 96 (movl (@ x8632::miscdataoffset (% b1) (% temp0)) (% imm0)) 80 97 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 81 (singlevaluereturn 4)) 82 83 (defx8632lapfunction %boolec1 ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 84 (movl (@ idx (% esp)) (% temp0)) 85 (movl (@ b0 (% esp)) (% temp1)) 86 (movl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) 87 (notl (% imm0)) 88 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 89 (singlevaluereturn 4)) 90 91 (defx8632lapfunction %boolec2 ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 92 (movl (@ idx (% esp)) (% temp0)) 98 @test 99 (subl ($ '1) (% temp0)) 100 (jge @loop) 101 (singlevaluereturn 4)) 102 103 (defx8632lapfunction %boolec1 ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 104 (movl (@ len (% esp)) (% temp0)) 105 (jmp @test) 106 @loop 107 (movl (@ b0 (% esp)) (% temp1)) 108 (movl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) 109 (notl (% imm0)) 110 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 111 @test 112 (subl ($ '1) (% temp0)) 113 (jge @loop) 114 (singlevaluereturn 4)) 115 116 (defx8632lapfunction %boolec2 ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 117 (movl (@ len (% esp)) (% temp0)) 118 (jmp @test) 119 @loop 93 120 (movl (@ x8632::miscdataoffset (% b1) (% temp0)) (% imm0)) 94 121 (notl (% imm0)) 95 122 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 96 (singlevaluereturn 4)) 97 98 (defx8632lapfunction %booleand ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 99 (movl (@ idx (% esp)) (% temp0)) 123 @test 124 (subl ($ '1) (% temp0)) 125 (jge @loop) 126 (singlevaluereturn 4)) 127 128 (defx8632lapfunction %booleand ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 129 (movl (@ len (% esp)) (% temp0)) 130 (jmp @test) 131 @loop 100 132 (movl (@ b0 (% esp)) (% temp1)) 101 133 (movl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) 102 134 (andl (@ x8632::miscdataoffset (% b1) (% temp0)) (% imm0)) 103 135 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 104 (singlevaluereturn 4)) 105 106 (defx8632lapfunction %booleior ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 107 (movl (@ idx (% esp)) (% temp0)) 136 @test 137 (subl ($ '1) (% temp0)) 138 (jge @loop) 139 (singlevaluereturn 4)) 140 141 (defx8632lapfunction %booleior ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 142 (movl (@ len (% esp)) (% temp0)) 143 (jmp @test) 144 @loop 108 145 (movl (@ b0 (% esp)) (% temp1)) 109 146 (movl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) 110 147 (orl (@ x8632::miscdataoffset (% b1) (% temp0)) (% imm0)) 111 148 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 112 (singlevaluereturn 4)) 113 114 (defx8632lapfunction %boolexor ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 115 (movl (@ idx (% esp)) (% temp0)) 149 @test 150 (subl ($ '1) (% temp0)) 151 (jge @loop) 152 (singlevaluereturn 4)) 153 154 (defx8632lapfunction %boolexor ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 155 (movl (@ len (% esp)) (% temp0)) 156 (jmp @test) 157 @loop 116 158 (movl (@ b0 (% esp)) (% temp1)) 117 159 (movl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) 118 160 (xorl (@ x8632::miscdataoffset (% b1) (% temp0)) (% imm0)) 119 161 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 120 (singlevaluereturn 4)) 121 122 (defx8632lapfunction %booleeqv ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 123 (movl (@ idx (% esp)) (% temp0)) 162 @test 163 (subl ($ '1) (% temp0)) 164 (jge @loop) 165 (singlevaluereturn 4)) 166 167 (defx8632lapfunction %booleeqv ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 168 (movl (@ len (% esp)) (% temp0)) 169 (jmp @test) 170 @loop 124 171 (movl (@ b0 (% esp)) (% temp1)) 125 172 (movl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) … … 127 174 (notl (% imm0)) 128 175 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 129 (singlevaluereturn 4)) 130 131 (defx8632lapfunction %boolenand ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 132 (movl (@ idx (% esp)) (% temp0)) 176 @test 177 (subl ($ '1) (% temp0)) 178 (jge @loop) 179 (singlevaluereturn 4)) 180 181 (defx8632lapfunction %boolenand ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 182 (movl (@ len (% esp)) (% temp0)) 183 (jmp @test) 184 @loop 133 185 (movl (@ b0 (% esp)) (% temp1)) 134 186 (movl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) … … 136 188 (notl (% imm0)) 137 189 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 138 (singlevaluereturn 4)) 139 140 (defx8632lapfunction %boolenor ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 141 (movl (@ idx (% esp)) (% temp0)) 190 @test 191 (subl ($ '1) (% temp0)) 192 (jge @loop) 193 (singlevaluereturn 4)) 194 195 (defx8632lapfunction %boolenor ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 196 (movl (@ len (% esp)) (% temp0)) 197 (jmp @test) 198 @loop 142 199 (movl (@ b0 (% esp)) (% temp1)) 143 200 (movl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) … … 145 202 (notl (% imm0)) 146 203 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 147 (singlevaluereturn 4)) 148 149 (defx8632lapfunction %booleandc1 ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 150 (movl (@ idx (% esp)) (% temp0)) 204 @test 205 (subl ($ '1) (% temp0)) 206 (jge @loop) 207 (singlevaluereturn 4)) 208 209 (defx8632lapfunction %booleandc1 ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 210 (movl (@ len (% esp)) (% temp0)) 211 (jmp @test) 212 @loop 151 213 (movl (@ b0 (% esp)) (% temp1)) 152 214 (movl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) … … 154 216 (andl (@ x8632::miscdataoffset (% b1) (% temp0)) (% imm0)) 155 217 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 156 (singlevaluereturn 4)) 157 158 (defx8632lapfunction %booleandc2 ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 159 (movl (@ idx (% esp)) (% temp0)) 218 @test 219 (subl ($ '1) (% temp0)) 220 (jge @loop) 221 (singlevaluereturn 4)) 222 223 (defx8632lapfunction %booleandc2 ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 224 (movl (@ len (% esp)) (% temp0)) 225 (jmp @test) 226 @loop 160 227 (movl (@ b0 (% esp)) (% temp1)) 161 228 (movl (@ x8632::miscdataoffset (% b1) (% temp0)) (% imm0)) … … 163 230 (andl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) 164 231 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 165 (singlevaluereturn 4)) 166 167 (defx8632lapfunction %booleorc1 ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 168 (movl (@ idx (% esp)) (% temp0)) 232 @test 233 (subl ($ '1) (% temp0)) 234 (jge @loop) 235 (singlevaluereturn 4)) 236 237 (defx8632lapfunction %booleorc1 ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 238 (movl (@ len (% esp)) (% temp0)) 239 (jmp @test) 240 @loop 169 241 (movl (@ b0 (% esp)) (% temp1)) 170 242 (movl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) … … 172 244 (orl (@ x8632::miscdataoffset (% b1) (% temp0)) (% imm0)) 173 245 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 174 (singlevaluereturn 4)) 175 176 (defx8632lapfunction %booleorc2 ((idx 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 177 (movl (@ idx (% esp)) (% temp0)) 246 @test 247 (subl ($ '1) (% temp0)) 248 (jge @loop) 249 (singlevaluereturn 4)) 250 251 (defx8632lapfunction %booleorc2 ((len 8) (b0 4) #(ra 0)# (b1 arg_y) (dest arg_z)) 252 (movl (@ len (% esp)) (% temp0)) 253 (jmp @test) 254 @loop 178 255 (movl (@ b0 (% esp)) (% temp1)) 179 256 (movl (@ x8632::miscdataoffset (% b1) (% temp0)) (% imm0)) … … 181 258 (orl (@ x8632::miscdataoffset (% temp1) (% temp0)) (% imm0)) 182 259 (movl (% imm0) (@ x8632::miscdataoffset (% dest) (% temp0))) 260 @test 261 (subl ($ '1) (% temp0)) 262 (jge @loop) 183 263 (singlevaluereturn 4)) 184 264 … … 205 285 206 286 (defun %simplebitboole (op b1 b2 result) 207 (let* ((f (svref *simplebitboolefunctions* op))) 208 (dotimes (i (ash (the fixnum (+ (length result) 31)) 5) result) 209 (funcall f i b1 b2 result)))) 287 (funcall (svref *simplebitboolefunctions* op) 288 (ash (the fixnum (+ (length result) 31)) 5) 289 b1 290 b2 291 result)) 210 292 211 293 (defx8632lapfunction %aref2 ((array 4) #(ra 0)# (i arg_y) (j arg_z))
Note: See TracChangeset
for help on using the changeset viewer.