Changeset 13941
- Timestamp:
- Jul 8, 2010, 10:03:48 AM (14 years ago)
- Location:
- branches/arm
- Files:
-
- 4 edited
-
level-0/ARM/arm-float.lisp (modified) (1 diff)
-
level-0/l0-bignum32.lisp (modified) (1 diff)
-
lisp-kernel/arm-asmutils.s (modified) (1 diff)
-
lisp-kernel/arm-exceptions.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/arm/level-0/ARM/arm-float.lisp
r13926 r13941 122 122 (orr imm1 imm1 (:lsl imm0 (:$ 28))) 123 123 (mov imm0 (:lsr imm0 (:$ 4))) 124 (str imm0 (:@ big (:$ arm::double-float.val-high)))125 (str imm1 (:@ big (:$ arm:: double-float.val-low)))124 (str imm0 (:@ big (:$ (+ arm::misc-data-offset 4)))) 125 (str imm1 (:@ big (:$ arm::misc-data-offset))) 126 126 (bx lr)) 127 127 -
branches/arm/level-0/l0-bignum32.lisp
r13932 r13941 1483 1483 (let* ((res-len-1 (1- len-y))) 1484 1484 (declare (fixnum res-len-1)) 1485 (bignum-shift-right-loop-1 y-shift truncate-x truncate- yres-len-1 0)))1485 (bignum-shift-right-loop-1 y-shift truncate-x truncate-x res-len-1 0))) 1486 1486 (let ((the-res (%normalize-bignum-macro truncate-x ))) 1487 1487 (if (not (fixnump the-res)) -
branches/arm/lisp-kernel/arm-asmutils.s
r13925 r13941 85 85 _endfn 86 86 87 /* Logior the value in *r 3 with the value in r4(presumably a bitmask with exactly 1 */87 /* Logior the value in *r0 with the value in r1 (presumably a bitmask with exactly 1 */ 88 88 /* bit set.) Return non-zero if any of the bits in that bitmask were already set. */ 89 89 90 90 _exportfn(C(atomic_ior)) 91 dnl __(sync)92 dnl 1: __(lrarx(r5,0,r3))93 dnl __(or r6,r4,r5)94 dnl __(strcx(r6,0,r3))95 dnl __(bne- 1b)96 dnl __(isync)97 dnl __(and r3,r4,r5)98 dnl __(blr)91 __(stmdb sp!,{r4,lr}) 92 0: __(ldrex r2,[r0]) 93 __(orr r3,r2,r1) 94 __(strex r4,r3,[r0]) 95 __(cmp r4,#0) 96 __(bne 0b) 97 __(mov r0,r2) 98 __(ldmia sp!,{r4,pc}) 99 99 _endfn 100 100 101 101 102 /* Logand the value in *r 3 with the value in r4(presumably a bitmask with exactly 1 */103 /* bit set.) Return the value now in *r 3(for some value of "now" */102 /* Logand the value in *r0 with the value in r1 (presumably a bitmask with exactly 1 */ 103 /* bit set.) Return the value now in *r0 (for some value of "now" */ 104 104 105 105 _exportfn(C(atomic_and)) 106 dnl __(sync) 107 dnl 1: __(lrarx(r5,0,r3)) 108 dnl __(and r6,r4,r5) 109 dnl __(strcx(r6,0,r3)) 110 dnl __(bne- 1b) 111 dnl __(isync) 112 dnl __(mr r3,r6) 113 dnl __(blr) 106 0: __(ldrex r2,[r0]) 107 __(and r2,r2,r1) 108 __(strex r3,r2,[r0]) 109 __(cmp r3,#0) 110 __(bne 0b) 111 __(mov r0,r2) 112 __(bx lr) 114 113 _endfn 115 114 -
branches/arm/lisp-kernel/arm-exceptions.h
r13903 r13941 68 68 69 69 #define IS_SUB_RM_FROM_ALLOCPTR(i) (((i)&0x0ffff000) == 0x004cc000) 70 #define IS_SUB_FROM_ALLOCPTR(i) (((i)&0x0ffff f00) == 0x024cc000)70 #define IS_SUB_FROM_ALLOCPTR(i) (((i)&0x0ffff000) == 0x024cc000) 71 71 #define IS_SUB_LO_FROM_ALLOCPTR(i) (((i)&0x0fffff00) == 0x024cc000) 72 72 #define IS_SUB_HI_FROM_ALLOCPTR(i) (IS_SUB_FROM_ALLOCPTR(i) && \
Note:
See TracChangeset
for help on using the changeset viewer.
