- Timestamp:
- Oct 5, 2007, 9:46:15 AM (17 years ago)
- File:
-
- 1 edited
-
branches/ia32/lisp-kernel/x86-spentry32.s (modified) (20 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/ia32/lisp-kernel/x86-spentry32.s
r7286 r7358 90 90 .long local_label(misc_ref_invalid) /* 05 tra */ 91 91 .long local_label(misc_ref_invalid) /* 06 misc */ 92 .long local_label(misc_ref_u32) /* 07 bignum */92 .long local_label(misc_ref_u32) /* 07 bignum */ 93 93 .long local_label(misc_ref_invalid) /* 08 even_fixnum */ 94 94 .long local_label(misc_ref_invalid) /* 09 cons */ 95 .long local_label(misc_ref_node) /* 0a ratio */95 .long local_label(misc_ref_node) /* 0a ratio */ 96 96 .long local_label(misc_ref_invalid) /* 0b imm */ 97 97 .long local_label(misc_ref_invalid) /* 0c odd_fixnum */ 98 98 .long local_label(misc_ref_invalid) /* 0d nil */ 99 99 .long local_label(misc_ref_invalid) /* 0e misc */ 100 .long local_label(misc_ref_u32) /* 0f single_float */100 .long local_label(misc_ref_u32) /* 0f single_float */ 101 101 /* 10-1f */ 102 102 .long local_label(misc_ref_invalid) /* 10 even_fixnum */ … … 107 107 .long local_label(misc_ref_invalid) /* 15 tra */ 108 108 .long local_label(misc_ref_invalid) /* 16 misc */ 109 .long local_label(misc_ref_u32) /* 17 double_float */109 .long local_label(misc_ref_u32) /* 17 double_float */ 110 110 .long local_label(misc_ref_invalid) /* 18 even_fixnum */ 111 111 .long local_label(misc_ref_invalid) /* 19 cons */ 112 .long local_label(misc_ref_node) /* 1a complex */112 .long local_label(misc_ref_node) /* 1a complex */ 113 113 .long local_label(misc_ref_invalid) /* 1b imm */ 114 114 .long local_label(misc_ref_invalid) /* 1c odd_fixnum */ 115 115 .long local_label(misc_ref_invalid) /* 1d nil */ 116 116 .long local_label(misc_ref_invalid) /* 1e misc */ 117 .long local_label(misc_ref_u32) /* 1f macptr */117 .long local_label(misc_ref_u32) /* 1f macptr */ 118 118 /* 20-2f */ 119 119 .long local_label(misc_ref_invalid) /* 20 even_fixnum */ 120 120 .long local_label(misc_ref_invalid) /* 21 cons */ 121 .long local_label(misc_ref_node) /* 22 catch_frame */121 .long local_label(misc_ref_node) /* 22 catch_frame */ 122 122 .long local_label(misc_ref_invalid) /* 23 imm */ 123 123 .long local_label(misc_ref_invalid) /* 24 odd_fixnum */ 124 124 .long local_label(misc_ref_invalid) /* 25 tra */ 125 125 .long local_label(misc_ref_invalid) /* 26 misc */ 126 .long local_label(misc_ref_u32) /* 27 dead_macptr */126 .long local_label(misc_ref_u32) /* 27 dead_macptr */ 127 127 .long local_label(misc_ref_invalid) /* 28 even_fixnum */ 128 128 .long local_label(misc_ref_invalid) /* 29 cons */ 129 .long local_label(misc_ref_node) /* 2a function */129 .long local_label(misc_ref_node) /* 2a function */ 130 130 .long local_label(misc_ref_invalid) /* 2b imm */ 131 131 .long local_label(misc_ref_invalid) /* 2c odd_fixnum */ 132 132 .long local_label(misc_ref_invalid) /* 2d nil */ 133 133 .long local_label(misc_ref_invalid) /* 2e misc */ 134 .long local_label(misc_ref_u32) /* 2f code_vector */134 .long local_label(misc_ref_u32) /* 2f code_vector */ 135 135 /* 30-3f */ 136 136 .long local_label(misc_ref_invalid) /* 30 even_fixnum */ 137 137 .long local_label(misc_ref_invalid) /* 31 cons */ 138 .long local_label(misc_ref_node) /* 32 lisp_thread */138 .long local_label(misc_ref_node) /* 32 lisp_thread */ 139 139 .long local_label(misc_ref_invalid) /* 33 imm */ 140 140 .long local_label(misc_ref_invalid) /* 34 odd_fixnum */ 141 141 .long local_label(misc_ref_invalid) /* 35 tra */ 142 142 .long local_label(misc_ref_invalid) /* 36 misc */ 143 .long local_label(misc_ref_u32) /* 37 creole */143 .long local_label(misc_ref_u32) /* 37 creole */ 144 144 .long local_label(misc_ref_invalid) /* 38 even_fixnum */ 145 145 .long local_label(misc_ref_invalid) /* 39 cons */ 146 .long local_label(misc_ref_node) /* 3a symbol */146 .long local_label(misc_ref_node) /* 3a symbol */ 147 147 .long local_label(misc_ref_invalid) /* 3b imm */ 148 148 .long local_label(misc_ref_invalid) /* 3c odd_fixnum */ 149 149 .long local_label(misc_ref_invalid) /* 3d nil */ 150 150 .long local_label(misc_ref_invalid) /* 3e misc */ 151 .long local_label(misc_ref_u32) /* 3f xcode_vector */151 .long local_label(misc_ref_u32) /* 3f xcode_vector */ 152 152 /* 40-4f */ 153 153 .long local_label(misc_ref_invalid) /* 40 even_fixnum */ 154 154 .long local_label(misc_ref_invalid) /* 41 cons */ 155 .long local_label(misc_ref_node) /* 42 lock */155 .long local_label(misc_ref_node) /* 42 lock */ 156 156 .long local_label(misc_ref_invalid) /* 43 imm */ 157 157 .long local_label(misc_ref_invalid) /* 44 odd_fixnum */ … … 161 161 .long local_label(misc_ref_invalid) /* 48 even_fixnum */ 162 162 .long local_label(misc_ref_invalid) /* 49 cons */ 163 .long local_label(misc_ref_node) /* 4a hash_vector */163 .long local_label(misc_ref_node) /* 4a hash_vector */ 164 164 .long local_label(misc_ref_invalid) /* 4b imm */ 165 165 .long local_label(misc_ref_invalid) /* 4c odd_fixnum */ … … 170 170 .long local_label(misc_ref_invalid) /* 50 even_fixnum */ 171 171 .long local_label(misc_ref_invalid) /* 51 cons */ 172 .long local_label(misc_ref_node) /* 52 pool */172 .long local_label(misc_ref_node) /* 52 pool */ 173 173 .long local_label(misc_ref_invalid) /* 53 imm */ 174 174 .long local_label(misc_ref_invalid) /* 54 odd_fixnum */ … … 178 178 .long local_label(misc_ref_invalid) /* 58 even_fixnum */ 179 179 .long local_label(misc_ref_invalid) /* 59 cons */ 180 .long local_label(misc_ref_node) /* 5a weak */180 .long local_label(misc_ref_node) /* 5a weak */ 181 181 .long local_label(misc_ref_invalid) /* 5b imm */ 182 182 .long local_label(misc_ref_invalid) /* 5c odd_fixnum */ … … 187 187 .long local_label(misc_ref_invalid) /* 60 even_fixnum */ 188 188 .long local_label(misc_ref_invalid) /* 61 cons */ 189 .long local_label(misc_ref_node) /* 62 package */189 .long local_label(misc_ref_node) /* 62 package */ 190 190 .long local_label(misc_ref_invalid) /* 63 imm */ 191 191 .long local_label(misc_ref_invalid) /* 64 odd_fixnum */ … … 195 195 .long local_label(misc_ref_invalid) /* 68 even_fixnum */ 196 196 .long local_label(misc_ref_invalid) /* 69 cons */ 197 .long local_label(misc_ref_node) /* 6a slot_vector */197 .long local_label(misc_ref_node) /* 6a slot_vector */ 198 198 .long local_label(misc_ref_invalid) /* 6b imm */ 199 199 .long local_label(misc_ref_invalid) /* 6c odd_fixnum */ … … 204 204 .long local_label(misc_ref_invalid) /* 70 even_fixnum */ 205 205 .long local_label(misc_ref_invalid) /* 71 cons */ 206 .long local_label(misc_ref_node) /* 72 instance */206 .long local_label(misc_ref_node) /* 72 instance */ 207 207 .long local_label(misc_ref_invalid) /* 73 imm */ 208 208 .long local_label(misc_ref_invalid) /* 74 odd_fixnum */ … … 212 212 .long local_label(misc_ref_invalid) /* 78 even_fixnum */ 213 213 .long local_label(misc_ref_invalid) /* 79 cons */ 214 .long local_label(misc_ref_node) /* 7a struct */214 .long local_label(misc_ref_node) /* 7a struct */ 215 215 .long local_label(misc_ref_invalid) /* 7b imm */ 216 216 .long local_label(misc_ref_invalid) /* 7c odd_fixnum */ … … 221 221 .long local_label(misc_ref_invalid) /* 80 even_fixnum */ 222 222 .long local_label(misc_ref_invalid) /* 81 cons */ 223 .long local_label(misc_ref_node) /* 82 istruct */223 .long local_label(misc_ref_node) /* 82 istruct */ 224 224 .long local_label(misc_ref_invalid) /* 83 imm */ 225 225 .long local_label(misc_ref_invalid) /* 84 odd_fixnum */ … … 229 229 .long local_label(misc_ref_invalid) /* 88 even_fixnum */ 230 230 .long local_label(misc_ref_invalid) /* 89 cons */ 231 .long local_label(misc_ref_node) /* 8a value_cell */231 .long local_label(misc_ref_node) /* 8a value_cell */ 232 232 .long local_label(misc_ref_invalid) /* 8b imm */ 233 233 .long local_label(misc_ref_invalid) /* 8c odd_fixnum */ … … 238 238 .long local_label(misc_ref_invalid) /* 90 even_fixnum */ 239 239 .long local_label(misc_ref_invalid) /* 91 cons */ 240 .long local_label(misc_ref_node) /* 92 xfunction */240 .long local_label(misc_ref_node) /* 92 xfunction */ 241 241 .long local_label(misc_ref_invalid) /* 93 imm */ 242 242 .long local_label(misc_ref_invalid) /* 94 odd_fixnum */ … … 246 246 .long local_label(misc_ref_invalid) /* 98 even_fixnum */ 247 247 .long local_label(misc_ref_invalid) /* 99 cons */ 248 .long local_label(misc_ref_node) /* 9a arrayN */248 .long local_label(misc_ref_node) /* 9a arrayN */ 249 249 .long local_label(misc_ref_invalid) /* 9b imm */ 250 250 .long local_label(misc_ref_invalid) /* 9c odd_fixnum */ … … 255 255 .long local_label(misc_ref_invalid) /* a0 even_fixnum */ 256 256 .long local_label(misc_ref_invalid) /* a1 cons */ 257 .long local_label(misc_ref_node) /* a2 vectorH */257 .long local_label(misc_ref_node) /* a2 vectorH */ 258 258 .long local_label(misc_ref_invalid) /* a3 imm */ 259 259 .long local_label(misc_ref_invalid) /* a4 odd_fixnum */ … … 263 263 .long local_label(misc_ref_invalid) /* a8 even_fixnum */ 264 264 .long local_label(misc_ref_invalid) /* a9 cons */ 265 .long local_label(misc_ref_node) /* aa simple_vector */265 .long local_label(misc_ref_node) /* aa simple_vector */ 266 266 .long local_label(misc_ref_invalid) /* ab imm */ 267 267 .long local_label(misc_ref_invalid) /* ac odd_fixnum */ 268 268 .long local_label(misc_ref_invalid) /* ad tra */ 269 269 .long local_label(misc_ref_invalid) /* ae misc */ 270 .long local_label(misc_ref_u32) /* af u32 */270 .long local_label(misc_ref_u32) /* af u32 */ 271 271 /* b0-bf */ 272 272 .long local_label(misc_ref_invalid) /* b0 even_fixnum */ … … 277 277 .long local_label(misc_ref_invalid) /* b5 tra */ 278 278 .long local_label(misc_ref_invalid) /* b6 misc */ 279 .long local_label(misc_ref_s32) /* b7 s32 */279 .long local_label(misc_ref_s32) /* b7 s32 */ 280 280 .long local_label(misc_ref_invalid) /* b8 even_fixnum */ 281 281 .long local_label(misc_ref_invalid) /* b9 cons */ … … 302 302 .long local_label(misc_ref_invalid) /* cd tra */ 303 303 .long local_label(misc_ref_invalid) /* ce misc */ 304 .long local_label(misc_ref_u8) /* cf u8 */304 .long local_label(misc_ref_u8) /* cf u8 */ 305 305 /* d0-df */ 306 306 .long local_label(misc_ref_invalid) /* d0 even_fixnum */ … … 328 328 .long local_label(misc_ref_invalid) /* e5 tra */ 329 329 .long local_label(misc_ref_invalid) /* e6 misc */ 330 .long local_label(misc_ref_u16) /* e7 u16 */330 .long local_label(misc_ref_u16) /* e7 u16 */ 331 331 .long local_label(misc_ref_invalid) /* e8 even_fixnum */ 332 332 .long local_label(misc_ref_invalid) /* e9 cons */ … … 336 336 .long local_label(misc_ref_invalid) /* ed tra */ 337 337 .long local_label(misc_ref_invalid) /* ee misc */ 338 .long local_label(misc_ref_s16) /* ef s16 */338 .long local_label(misc_ref_s16) /* ef s16 */ 339 339 /* f0-ff */ 340 340 .long local_label(misc_ref_invalid) /* f0 even_fixnum */ … … 369 369 local_label(misc_ref_u8): 370 370 local_label(misc_ref_s8): 371 372 /* %arg_z <- (= %arg_y %arg_z). */ 373 _spentry(builtin_eq) 374 __(movl %arg_y,%imm0) 375 __(orb %arg_z_b,%imm0_b) 376 __(testb $fixnummask,%imm0_b) 377 __(jne 1f) 378 __(rcmpl(%arg_z,%arg_y)) 379 __(condition_to_boolean(e,%imm0,%arg_z)) 380 __(ret) 381 1: __(jump_builtin(_builtin_eq,2)) 382 _endsubp(builtin_eq) 383 384 /* %arg_z <- (/= %arg_y %arg_z). */ 385 _spentry(builtin_ne) 386 __(movl %arg_y,%imm0) 387 __(orb %arg_z_b,%imm0_b) 388 __(testb $fixnummask,%imm0_b) 389 __(jne 1f) 390 __(rcmpl(%arg_z,%arg_y)) 391 __(condition_to_boolean(ne,%imm0,%arg_z)) 392 __(ret) 393 1: __(jump_builtin(_builtin_ne,2)) 394 _endsubp(builtin_ne) 395 396 /* %arg_z <- (> %arg_y %arg_z). */ 397 _spentry(builtin_gt) 398 __(movl %arg_y,%imm0) 399 __(orb %arg_z_b,%imm0_b) 400 __(testb $fixnummask,%imm0_b) 401 __(jne 1f) 402 __(rcmpl(%arg_y,%arg_z)) 403 __(condition_to_boolean(g,%imm0,%arg_z)) 404 __(ret) 405 1: __(jump_builtin(_builtin_gt,2)) 406 _endsubp(builtin_gt) 407 408 /* %arg_z <- (>= %arg_y %arg_z). */ 409 _spentry(builtin_ge) 410 __(movl %arg_y,%imm0) 411 __(orb %arg_z_b,%imm0_b) 412 __(testb $fixnummask,%imm0_b) 413 __(jne 1f) 414 __(rcmpl(%arg_y,%arg_z)) 415 __(condition_to_boolean(ge,%imm0,%arg_z)) 416 __(ret) 417 1: __(jump_builtin(_builtin_ge,2)) 418 _endsubp(builtin_ge) 419 420 /* %arg_z <- (< %arg_y %arg_z). */ 421 _spentry(builtin_lt) 422 __(movl %arg_y,%imm0_b) 423 __(orb %arg_z_b,%imm0_b) 424 __(testb $fixnummask,%imm0_b) 425 __(jne 1f) 426 __(rcmpl(%arg_y,%arg_z)) 427 __(condition_to_boolean(l,%imm0,%arg_z)) 428 __(ret) 429 1: __(jump_builtin(_builtin_lt,2)) 430 _endsubp(builtin_lt) 431 432 /* %arg_z <- (<= %arg_y %arg_z). */ 433 _spentry(builtin_le) 434 __(movl %arg_y,%imm0) 435 __(orb %arg_z_b,%imm0_b) 436 __(testb $fixnummask,%imm0_b) 437 __(jne 1f) 438 __(rcmpl(%arg_y,%arg_z)) 439 __(condition_to_boolean(le,%imm0,%arg_z)) 440 __(ret) 441 1: __(jump_builtin(_builtin_le,2)) 442 _endsubp(builtin_le) 443 444 _spentry(builtin_logior) 445 __(movl %arg_y,%imm0) 446 __(orb %arg_z_b,%imm0_b) 447 __(testb $fixnummask,%imm0_b) 448 __(jne 1f) 449 __(orl %arg_y,%arg_z) 450 __(ret) 451 1: 452 __(jump_builtin(_builtin_logior,2)) 453 454 _endsubp(builtin_logior) 455 456 _spentry(builtin_logand) 457 __(movl %arg_y,%imm0) 458 __(orb %arg_z_b,%imm0_b) 459 __(testb $fixnummask,%imm0_b) 460 __(jne 1f) 461 __(andl %arg_y,%arg_z) 462 __(ret) 463 1: 464 __(jump_builtin(_builtin_logand,2)) 465 _endsubp(builtin_logand) 466 467 _spentry(builtin_negate) 468 __(testb $fixnummask,%arg_z_b) 469 __(jne 1f) 470 __(negl %arg_z) 471 __(jo,pn C(fix_one_bit_overflow)) 472 __(repret) 473 1: 474 __(jump_builtin(_builtin_negate,1)) 475 _endsubp(builtin_negate) 476 477 _spentry(builtin_logxor) 478 __(movl %arg_y,%imm0) 479 __(orb %arg_z_b,%imm0_b) 480 __(testb $fixnummask,%imm0_b) 481 __(jne 1f) 482 __(xorl %arg_y,%arg_z) 483 __(ret) 484 1: 485 __(jump_builtin(_builtin_logxor,2)) 486 _endsubp(builtin_logxor)
Note:
See TracChangeset
for help on using the changeset viewer.
