/titanic_41/usr/src/cmd/sgs/rtld.4.x/ |
H A D | rem.s | 124 mov %o0,%o3 128 cmp %o3,%o5 129 blu got_result ! if %o3<%o5 already, there's no point in continuing 140 ! the top decade: so don't even bother to compare to %o3. 154 ! this means that %o3 has the high-order bit set 155 ! restore %o5 and subtract from %o3 162 3: cmp %o5,%o3 167 ! %o5 > %o3: went too far: back up 1 step 172 ! we have to be careful here. We know that %o3 >= %o5, so we can do the 174 ! and are only done if %o3 >= 0. Because both %o3 and %o5 may have the high- [all …]
|
H A D | div.s | 125 mov %o0,%o3 129 cmp %o3,%o5 130 blu got_result ! if %o3<%o5 already, there's no point in continuing 141 ! the top decade: so don't even bother to compare to %o3. 155 ! this means that %o3 has the high-order bit set 156 ! restore %o5 and subtract from %o3 163 3: cmp %o5,%o3 168 ! %o5 > %o3: went too far: back up 1 step 173 ! we have to be careful here. We know that %o3 >= %o5, so we can do the 175 ! and are only done if %o3 >= 0. Because both %o3 and %o5 may have the high- [all …]
|
/titanic_41/usr/src/uts/sun4u/cpu/ |
H A D | cheetah_copy.s | 756 xor %o0, %o1, %o3 ! are src, dst alignable? 757 btst 7, %o3 ! 760 btst 1, %o3 ! 763 sethi %hi(hw_copy_limit_1), %o3 ! Check copy limit 764 ld [%o3 + %lo(hw_copy_limit_1)], %o3 765 tst %o3 767 cmp %o2, %o3 ! if length <= limit 773 btst 3, %o3 ! 776 sethi %hi(hw_copy_limit_2), %o3 ! Check copy limit 777 ld [%o3 + %lo(hw_copy_limit_2)], %o3 [all …]
|
H A D | opl_olympus_copy.s | 711 xor %o0, %o1, %o3 ! are src, dst alignable? 712 btst 7, %o3 ! 715 btst 1, %o3 ! 718 sethi %hi(hw_copy_limit_1), %o3 ! Check copy limit 719 ld [%o3 + %lo(hw_copy_limit_1)], %o3 720 tst %o3 722 cmp %o2, %o3 ! if length <= limit 728 btst 3, %o3 ! 731 sethi %hi(hw_copy_limit_2), %o3 ! Check copy limit 732 ld [%o3 + %lo(hw_copy_limit_2)], %o3 [all …]
|
/titanic_41/usr/src/common/atomic/sparcv9/ |
H A D | atomic.s | 215 set 0xff, %o3 ! %o3 = mask 216 sll %o3, %g1, %o3 ! %o3 = shifted to bit offset 218 and %o1, %o3, %o1 ! %o1 = single byte value 223 and %o5, %o3, %o5 ! clear other bits 224 andn %o2, %o3, %o4 ! clear target bits 231 and %o5, %o3, %o5 288 sethi %hi(0xffff0000), %o3 ! %o3 = mask 289 srl %o3, %o4, %o3 ! %o3 = shifted to bit offset 291 and %o1, %o3, %o1 ! %o1 = single short value 297 and %o5, %o3, %o5 ! clear other bits [all …]
|
/titanic_41/usr/src/common/atomic/sparc/ |
H A D | atomic.s | 94 set 0xff, %o3 ! %o3 = mask 95 sll %o3, %g1, %o3 ! %o3 = shifted to bit offset 97 and %o1, %o3, %o1 ! %o1 = single byte value 102 and %o5, %o3, %o5 ! clear other bits 103 andn %o2, %o3, %o4 ! clear target bits 110 and %o5, %o3, %o5 167 sethi %hi(0xffff0000), %o3 ! %o3 = mask 168 srl %o3, %o4, %o3 ! %o3 = shifted to bit offset 170 and %o1, %o3, %o1 ! %o1 = single short value 176 and %o5, %o3, %o5 ! clear other bits [all …]
|
/titanic_41/usr/src/lib/libc/sparcv9/threads/ |
H A D | sparcv9.il | 63 mov %o1, %o3 64 cas [%o0], %o2, %o3 65 cmp %o2, %o3 67 mov %o3, %o2 68 mov %o3, %o0 74 add %o2, 1, %o3 75 cas [%o0], %o2, %o3 76 cmp %o2, %o3 78 mov %o3, %o2 84 sub %o2, 1, %o3 [all …]
|
/titanic_41/usr/src/uts/sun4v/cpu/ |
H A D | niagara_copy.s | 628 andcc %o1, 0x7, %o3 ! is dest long aligned 630 andcc %o1, 1, %o3 ! is dest byte aligned 634 andcc %o0, 7, %o3 635 brnz,pt %o3, .bc_src_dst_unal8 735 andcc %o1, 2, %o3 738 andcc %o1, 4, %o3 ! is dest longword aligned? 743 ldub [%o0+1], %o3 745 sll %o3, 16, %o3 ! position 746 or %o4, %o3, %o3 ! merge 749 or %o4, %o3, %o3 ! merge [all …]
|
/titanic_41/usr/src/common/crypto/arcfour/sun4u/ |
H A D | arcfour_crypt_asm.s | 78 ldub [%i5 + %o1], %o3 82 add %g2, %o3, %o2 90 stb %o3, [%i5+%o2] 95 add %o3,%o4,%o5 113 ldub [%i5 + %o1], %o3 118 add %g2, %o3, %o2 129 stb %o3, [%i5+%o2] 134 add %o3,%o4,%o5 152 ldub [%i5 + %o1], %o3 158 add %g2, %o3, %o2 [all …]
|
/titanic_41/usr/src/lib/libc/capabilities/sun4v/common/ |
H A D | memset.s | 81 sll %o1, 8, %o3 82 or %o1, %o3, %o1 ! now o1 has 2 bytes of c 83 sll %o1, 16, %o3 87 or %o1, %o3, %o1 ! now o1 has 4 bytes of c 89 sllx %o1, 32, %o3 90 or %o1, %o3, %o1 ! now o1 has 8 bytes of c 93 andcc %o5, 7, %o3 ! is sp1 aligned on a 8 byte bound 95 sub %o3, 8, %o3 ! -(bytes till double aligned) 96 add %o2, %o3, %o2 ! update o2 with new count 98 ! Set -(%o3) bytes till sp1 double aligned [all …]
|
/titanic_41/usr/src/lib/libc/sparc/threads/ |
H A D | sparc.il | 66 mov %o1, %o3 67 .word 0xd7e2100a ! cas [%o0], %o2, %o3 68 cmp %o2, %o3 70 mov %o3, %o2 71 mov %o3, %o0 77 add %o2, 1, %o3 78 .word 0xd7e2100a ! cas [%o0], %o2, %o3 79 cmp %o2, %o3 81 mov %o3, %o2 87 sub %o2, 1, %o3 [all …]
|
/titanic_41/usr/src/common/crypto/des/sun4u/ |
H A D | des_crypt_asm.s | 2322 sllx %g2, 3, %o3 2328 and %o3, 0x7f8, %o3 2331 ldx [%l6 + %o3], %o3 2354 sllx %o3, 6, %o3 2360 or %o2, %o3, %o2 2376 and %o1, %g2, %o3 2378 srlx %o3, 5, %o3 2388 or %o1, %o3, %o1 2449 sllx %g2, 3, %o3 2455 and %o3, 0x7f8, %o3 [all …]
|
/titanic_41/usr/src/lib/libbc/libc/crt/sparc/ |
H A D | muldiv.s | 37 mov %o0, %o3 ! o3 gets remainder 41 sub %o3, %o4, %o3 ! o3 gets a-q*b 50 mov %o0,%o3 ! o3 gets remainder 54 sub %o3,%o4,%o3 ! o3 gets a-q*b 57 mov %g0,%o3 ! remainder is 0
|
/titanic_41/usr/src/uts/sun4u/io/ |
H A D | panther_asm.s | 175 UNPARK_SIBLING_CORE(%g1, %o3, %o4) ! 7 instructions 186 and %o3, 0x7, %o3 187 cmp %o3, 0x5 280 setx DCU_IPS_MASK, %g2, %o3 282 andn %g1, %o3, %g4 285 PARK_SIBLING_CORE(%g1, %o3, %o4) ! %g1 has DCU value 288 PN_ECACHE_FLUSH_LINE(%o0, %o3, %o4, %o5, %g2) 292 ldxa [%o0]ASI_EC_DIAG, %o3 293 btst 0x7, %o3 348 setx DCU_IPS_MASK, %g2, %o3 [all …]
|
/titanic_41/usr/src/uts/sun4u/opl/ml/ |
H A D | drmach_asm.s | 83 FJSV_SPECULATIVE_OFF(%o5, %o3, %o4); 86 mov %o0, %o3 88 ldx [%o3], %o4 91 add %o3, 8, %o3 95 ldxa [%o1]ASI_L2_CTRL, %o3 97 btst %o3, %o4 104 set FMEM_LOOP_FMEM_READY, %o3 105 stb %o3, [%o2] 124 mov ASI_L2_CTRL_RW_ADDR, %o3 125 ldxa [%o3]ASI_L2_CTRL, %o3 [all …]
|
/titanic_41/usr/src/lib/libc/capabilities/sun4u-us3/common/ |
H A D | memcmp.s | 67 mov %o2, %o3 ! o3 <= 48 77 mov 8, %o3 ! o2 > 48; o3 = 8 80 sub %o3, %o4, %o3 ! o3 = 8 + (num of bytes to dbl align) 89 deccc %o3 154 and %o3, 0x4, %o3 ! fprs.du = fprs.dl = 0 155 wr %o3, %g0, %fprs ! fprs = o3 - restore fprs 160 and %o3, 0x4, %o3 ! fprs.du = fprs.dl = 0 161 wr %o3, %g0, %fprs ! fprs = o3 - restore fprs
|
H A D | memcpy.s | 96 ldub [%o1-1], %o3 ! load last byte 97 stb %o3, [%o0-1] ! store last byte 99 ldub [%o1+2], %o3 ! load 2nd from last byte 100 stb %o3, [%o0-2] ! store 2nd from last byte 102 ldub [%o1+1], %o3 ! load 3rd from last byte 103 stb %o3, [%o0+1] ! store 3rd from last byte 105 ldub [%o1], %o3 ! load 4th from last byte 107 stb %o3, [%o0] ! store 4th from last byte 113 ldub [%o1], %o3 ! read a byte 117 stb %o3, [%o0] ! write byte [all …]
|
/titanic_41/usr/src/lib/libc/sparcv9/crt/ |
H A D | __align_cpy_4.s | 64 and %o0, 7, %o3 ! Is target 8-byte aligned? 66 cmp %o3, %o4 69 brz,pt %o3, .both8 ! Both are 8-byte aligned. 72 ld [%o1], %o3 ! Neither is aligned, so do 4 bytes; 74 st %o3, [%g1] 91 ldx [%o1], %o3 94 stx %o3, [%g1] 108 ld [%o1], %o3 110 ldx [%o1], %o3 ! Have 8 or 12, so do 8. 111 stx %o3, [%g1] [all …]
|
/titanic_41/usr/src/lib/libc/capabilities/sun4u-opl/common/ |
H A D | memcpy.s | 101 ldub [%o1-1], %o3 ! load last byte 102 stb %o3, [%o0-1] ! store last byte 104 ldub [%o1+2], %o3 ! load 2nd from last byte 105 stb %o3, [%o0-2] ! store 2nd from last byte 107 ldub [%o1+1], %o3 ! load 3rd from last byte 108 stb %o3, [%o0+1] ! store 3rd from last byte 110 ldub [%o1], %o3 ! load 4th from last byte 112 stb %o3, [%o0] ! store 4th from last byte 118 ldub [%o1], %o3 ! read a byte 122 stb %o3, [%o0] ! write byte [all …]
|
/titanic_41/usr/src/lib/libc/sparcv9/gen/ |
H A D | strcmp.s | 66 andcc %o0, 7, %o3 ! s1 sword-aligned ? 70 sub %o3, 8, %o3 ! number of bytes till s1 aligned 79 inccc %o3 ! s1 aligned yet? 84 andcc %o1, 7, %o3 ! s2 dword aligned ? 88 sllx %o3, 3, %g5 ! leftshift = 8*ofs 96 add %o2, %o3, %o2 ! adjust pointers 101 andn %o4, %o0, %o3 ! ~word & 0x80808080 103 andcc %o0, %o3, %g0 ! (word - 0x01010101) & ~word & 0x80808080 107 srlx %o0, %g4, %o3 ! bytes from aligned word from s2 108 or %g1, %o3, %g1 ! merge to get unaligned word from s2 [all …]
|
/titanic_41/usr/src/uts/sparc/v9/ml/ |
H A D | crt.s | 61 ld [%i7 + 8], %o3 65 cmp %o5, %o3 86 ld [%i7 + 8], %o3 90 cmp %o5, %o3 112 srl %o3, 0, %o3; \ 114 or %o2, %o3, %o2 145 sdivx %o1, %o2, %o3 146 mulx %o2, %o3, %o3 147 sub %o1, %o3, %o1 154 udivx %o1, %o2, %o3 [all …]
|
/titanic_41/usr/src/cmd/sgs/rtld/sparcv9/ |
H A D | boot_elf.s | 111 mov %i7, %o3 ! Save callers address(profiling) 137 mov %i7, %o3 ! Save callers address 407 sethi %hi(M_JMPL_G1G0), %o3 ! Get "jmpl %g1, %g0" insn 408 st %o3, [%o0 + 0xc] ! store instruction in plt[3] 412 sethi %hi(M_XNOR_G5G1), %o3 ! Get "xnor %g5, %g1, %g1" insn 414 or %o3, %o2, %o3 ! or value into instruction 415 st %o3, [%o0 + 0x8] ! store instruction in plt[2] 418 sethi %hi(M_SETHI_G5), %o3 ! Get "sethi 0x0, %g5" insn 420 or %o3, %o2, %o3 ! or value into instruction 424 or %o3, %o4, %o3 ! or value into instruction pair [all …]
|
/titanic_41/usr/src/lib/libc/capabilities/sun4u/common/ |
H A D | memcmp.s | 63 mov %o2, %o3 ! o3 <= 48 70 mov 8, %o3 ! o2 > 48; o3 = 8 73 sub %o3, %o4, %o3 ! o3 = 8 + (num of bytes to dbl align) 83 deccc %o3 150 and %o3, 0x4, %o3 ! fprs.du = fprs.dl = 0 151 wr %o3, %g0, %fprs ! fprs = o3 - restore fprs 156 and %o3, 0x4, %o3 ! fprs.du = fprs.dl = 0 157 wr %o3, %g0, %fprs ! fprs = o3 - restore fprs
|
/titanic_41/usr/src/lib/libc/sparc/gen/ |
H A D | lshiftl.s | 54 ld [%o0+4],%o3 ! fetch op.dl_lop 65 sll %o3,%o5,%o2 ! R.h = R.l << (cnt - 32) 67 or %g0,%g0,%o3 ! R.l = 0 70 srl %o3,%o4,%o5 ! temp = R.l >> (31 - cnt) 71 sll %o3,%o1,%o3 ! R.l = R.l << cnt 81 srl %o2,%o5,%o3 ! R.l = R.h >> (cnt - 32) 87 srl %o3,%o4,%o3 ! R.l = R.l >> cnt 90 or %o3,%o5,%o3 ! R.l = R.l | temp 95 st %o3,[%o0+4] ! store result, dl_lop
|
/titanic_41/usr/src/uts/sun4v/vm/ |
H A D | mach_sfmmu_asm.s | 281 sethi %hi(ksfmmup), %o3 282 ldx [%o3 + %lo(ksfmmup)], %o3 283 cmp %o3, %o0 287 set MMU_SCONTEXT, %o3 288 ldxa [%o3]ASI_MMU_CTX, %o5 294 CPU_TSBMISS_AREA(%o2, %o3) ! %o2 = tsbmiss area 322 MAKE_UTSBREG(%o1, %o2, %o3) ! %o2 = user tsbreg 323 SET_UTSBREG(SCRATCHPAD_UTSBREG1, %o2, %o3) 329 MAKE_UTSBREG(%g2, %o2, %o3) ! %o2 = user tsbreg 331 SET_UTSBREG(SCRATCHPAD_UTSBREG2, %o2, %o3) [all …]
|