/illumos-gate/usr/src/uts/sun4u/opl/ml/ |
H A D | drmach_asm.S | 92 stb %o3, [%o2] 122 stb %o3, [%o2] 162 add %o0, SAVE_LOCAL, %o2 163 stx %l0, [%o2+8*0] 164 stx %l1, [%o2+8*1] 165 stx %l2, [%o2+8*2] 166 stx %l3, [%o2+8*3] 167 stx %l4, [%o2+8*4] 168 stx %l5, [%o2+8*5] 169 stx %l6, [%o2+8*6] [all …]
|
/illumos-gate/usr/src/lib/libc/sparc/crt/ |
H A D | hwmuldiv.S | 38 sra %o0, 31, %o2 40 cmp %o1, %o2 ! return with Z set if %y == (%o0 >> 31) 51 sra %o0, 31, %o2 52 wr %g0, %o2, %y 77 sdivcc %o0, %o1, %o2 79 xnor %o2, %g0, %o2 ! Corbett Correction Factor 80 1: smul %o2, %o1, %o2 82 sub %o0, %o2, %o0 90 udiv %o0, %o1, %o2 91 umul %o2, %o1, %o2 [all …]
|
/illumos-gate/usr/src/common/atomic/sparc/ |
H A D | atomic.S | 99 ld [%o0], %o2 ! read old value 101 add %o2, %o1, %o5 ! add value to the old value 103 andn %o2, %o3, %o4 ! clear target bits 105 cas [%o0], %o2, %o5 106 cmp %o2, %o5 108 mov %o5, %o2 ! %o2 = old value 109 add %o2, %o1, %o5 173 ld [%o0], %o2 ! read old value 175 add %o1, %o2, %o5 ! add value to the old value 177 andn %o2, %o3, %o4 ! clear target bits [all …]
|
/illumos-gate/usr/src/common/atomic/sparcv9/ |
H A D | atomic.S | 220 ld [%o0], %o2 ! read old value 222 add %o2, %o1, %o5 ! add value to the old value 224 andn %o2, %o3, %o4 ! clear target bits 226 cas [%o0], %o2, %o5 227 cmp %o2, %o5 229 mov %o5, %o2 ! %o2 = old value 230 add %o2, %o1, %o5 294 ld [%o0], %o2 ! read old value 296 add %o1, %o2, %o5 ! add value to the old value 298 andn %o2, %o3, %o4 ! clear target bits [all …]
|
/illumos-gate/usr/src/common/crypto/arcfour/sun4u/ |
H A D | arcfour_crypt_asm.S | 82 add %g2, %o3, %o2 84 add %o2, %g3, %g2 85 and %o2, 255, %o2 88 ldub [%i5 + %o2], %o4 90 stb %o3, [%i5+%o2] 91 subcc %o2, %g1, %g0 118 add %g2, %o3, %o2 121 add %o2, %g3, %g2 122 and %o2, 255, %o2 125 ldub [%i5 + %o2], %o4 [all …]
|
/illumos-gate/usr/src/uts/sun4v/vm/ |
H A D | mach_sfmmu_asm.S | 113 mov %o2, %g6 118 mov MAP_ITLB | MAP_DTLB, %o2 128 mov %g6, %o2 229 set ktsb_phys, %o2 231 st %o1, [%o2] 262 CPU_TSBMISS_AREA(%o2, %o3) ! %o2 = tsbmiss area 263 stx %o0, [%o2 + TSBMISS_UHATID] 264 stx %g0, [%o2 + TSBMISS_SHARED_UHATID] 267 sethi %hi(hv_use_non0_tsb), %o2 268 ld [%o2 + %lo(hv_use_non0_tsb)], %o2 [all …]
|
/illumos-gate/usr/src/uts/sun4v/cpu/ |
H A D | niagara2_asm.S | 96 set TSBTAG_INVALID, %o2 97 sllx %o2, 32, %o2 ! INV bit in upper 32 bits of the tag 99 stxa %o2, [%o0+0x0]%asi 100 stxa %o2, [%o0+0x40]%asi 101 stxa %o2, [%o0+0x80]%asi 102 stxa %o2, [%o0+0xc0]%asi 104 stxa %o2, [%o0+0x10]%asi 105 stxa %o2, [%o0+0x20]%asi 106 stxa %o2, [%o0+0x30]%asi 108 stxa %o2, [%o0+0x50]%asi [all …]
|
H A D | niagara_asm.S | 84 set TSBTAG_INVALID, %o2 85 sllx %o2, 32, %o2 ! INV bit in upper 32 bits of the tag 87 stxa %o2, [%o0+0x0]%asi 88 stxa %o2, [%o0+0x40]%asi 89 stxa %o2, [%o0+0x80]%asi 90 stxa %o2, [%o0+0xc0]%asi 92 stxa %o2, [%o0+0x10]%asi 93 stxa %o2, [%o0+0x20]%asi 94 stxa %o2, [%o0+0x30]%asi 96 stxa %o2, [%o0+0x50]%asi [all …]
|
/illumos-gate/usr/src/lib/libc/sparcv9/gen/ |
H A D | strcpy.S | 67 mov %o0, %o2 ! save dst 73 ldub [%o2 + %o3], %o5 ! src[0] 75 stb %o5, [%o2] ! dst[0] = src[0] 77 inc %o2 ! src++, dst++ 83 lduh [%o2 + %o3], %o5 ! load src halfword 87 stb %o4, [%o2] ! store first byte 89 stb %o5, [%o2 + 1] ! store second byte 91 add %o2, 2, %o2 ! src += 2 97 lduw [%o2 + %o3], %o5 ! load src word 101 stb %o4, [%o2] ! store first byte [all …]
|
H A D | strlen.S | 65 mov %o0, %o2 69 lduh [%o2], %o1 71 ldub [%o2], %o1 77 inc 1, %o2 79 lduh [%o2], %o1 88 inc 1, %o2 90 inc 1, %o2 93 ld [%o2], %o1 105 ld [%o2+4], %o1 106 inc 4, %o2 [all …]
|
/illumos-gate/usr/src/lib/libc/sparc/gen/ |
H A D | strcpy.S | 68 mov %o0, %o2 ! save dst 72 ldub [%o2 + %o3], %o1 ! src[0] 74 stb %o1, [%o2] ! store first byte 78 inc %o2 ! src++, dst++ 81 lduh [%o2 + %o3], %o1 ! src[] 85 stb %o4, [%o2] ! store first byte 88 stb %o1, [%o2 + 1] ! store second byte 89 add %o2, 2, %o2 ! src += 2, dst += 2 95 andcc %o2, 3, %o1 ! destination word aligned? 100 lduw [%o2 + %o3], %o1 ! src word [all …]
|
H A D | strlen.S | 65 mov %o0, %o2 69 lduh [%o2], %o1 71 ldub [%o2], %o1 77 inc 1, %o2 79 lduh [%o2], %o1 88 inc 1, %o2 90 inc 1, %o2 93 ld [%o2], %o1 105 ld [%o2+4], %o1 106 inc 4, %o2 [all …]
|
H A D | lshiftl.S | 53 ld [%o0+0],%o2 ! fetch op.dl_hop 65 sll %o3,%o5,%o2 ! R.h = R.l << (cnt - 32) 72 sll %o2,%o1,%o2 ! R.h = R.h << cnt 74 or %o2,%o5,%o2 ! R.h = R.h | temp 81 srl %o2,%o5,%o3 ! R.l = R.h >> (cnt - 32) 83 or %g0,%g0,%o2 ! R.h = 0 86 sll %o2,%o1,%o5 ! temp = R.h << (31 - cnt) 88 srl %o2,%o4,%o2 ! R.h = R.h >> cnt 93 st %o2,[%o0+0] ! store result, dl_hop
|
/illumos-gate/usr/src/lib/libc/capabilities/sun4u-opl/common/ |
H A D | memcpy.S | 82 cmp %o2, %o4 ! compare size and difference of addresses 91 add %o1, %o2, %o1 ! get to end of source space 92 add %o0, %o2, %o0 ! get to end of destination space 94 cmp %o2, 64 97 cmp %o2, 4 99 sub %o2, 3, %o2 109 subcc %o2, 4, %o2 114 addcc %o2, 3, %o2 120 deccc %o2 ! decrement count 133 sub %o2, %o5, %o2 ! update count [all …]
|
/illumos-gate/usr/src/uts/sun4v/ml/ |
H A D | hcall.S | 80 mov %o0, %o2 81 ldx [%o2], %o0 84 stx %o1, [%o2] 103 mov %o0, %o2 117 stb %o1, [%o2] ! success, save character and return 0 157 mov %o0, %o2 158 ldx [%o2], %o0 161 stx %o1, [%o2] 239 stx %o1, [%o2] 251 mov %o1, %o2 [all …]
|
/illumos-gate/usr/src/lib/libc/capabilities/sun4u-us3/common/ |
H A D | memcpy.S | 77 cmp %o2, %o4 ! compare size and difference of addresses 86 add %o1, %o2, %o1 ! get to end of source space 87 add %o0, %o2, %o0 ! get to end of destination space 89 cmp %o2, 24 92 cmp %o2, 4 94 sub %o2, 3, %o2 104 subcc %o2, 4, %o2 109 addcc %o2, 3, %o2 115 deccc %o2 ! decrement count 126 sub %o2, %o5, %o2 ! update count [all …]
|
/illumos-gate/usr/src/lib/libc/sparcv9/crt/ |
H A D | __align_cpy_4.S | 61 brz,pn %o2, .done ! Skip out if no bytes to copy. 73 subcc %o2, 4, %o2 ! then both will be aligned. 85 cmp %o2, 16 87 cmp %o2, 8 89 sub %o2, 12, %o2 93 subcc %o2, 16, %o2 100 addcc %o2, 12, %o2 102 cmp %o2, 8 114 subcc %o2, 8, %o2 134 add %o1, %o2, %g5 ! Ending address of source. [all …]
|
/illumos-gate/usr/src/lib/libc/sparcv9/fp/ |
H A D | __quad_mag64.S | 211 ldx [%i1+8],%o2 ! o2 = frac 212 sllx %o2,1,%o7 ! lop off high order bit 213 srlx %o2,63,%l6 214 mov %o1,%o2 224 and %o3,%o2,%o3 227 srlx %o2,%l2,%o4 229 srlx %o2,%l1,%o2 233 or %o2,%o5,%o2 237 add %o2,%o3,%o2 ! add, propagating carry 238 cmp %o2,%o3 [all …]
|
/illumos-gate/usr/src/lib/libc/capabilities/sun4v/common/ |
H A D | memcpy.S | 211 cmp %o2, %o4 ! compare size and difference of addresses 213 add %o1, %o2, %o5 ! get to end of source space 219 cmp %o2, 8 ! less than 8 byte do byte copy 224 add %o0, %o2, %g1 ! get to end of dest space 227 andn %o2, 7, %o3 ! %o3 count is multiple of 8 bytes size 228 sub %o2, %o3, %o2 ! update o2 with new count 235 andncc %o2, 7, %o3 ! %o3 count is multiple of 8 bytes size 242 sub %o2, %o3, %o2 ! Residue bytes in %o2 245 sub %o2, 8, %o2 ! set size one loop ahead 258 subcc %o2, 8, %o2 ! subtract 8 byte from size [all …]
|
/illumos-gate/usr/src/uts/sun4u/cpu/ |
H A D | cheetah_copy.S | 739 cmp %o2, VIS_COPY_THRESHOLD ! check for leaf rtn case 752 cmp %o2, %o3 ! if length <= limit 765 cmp %o2, %o3 ! if length <= limit 776 cmp %o2, %o3 ! if length <= limit 786 cmp %o2, %o3 ! if length <= limit 822 ldx [%fp + STACK_BIAS - SAVED_GSR_OFFSET], %o2 ! restore gsr 823 wr %o2, 0, %gsr 830 BLD_FPQ1Q3_FROMSTACK(%o2) 914 cmp %o2, VIS_COPY_THRESHOLD ! check for leaf rtn case 927 cmp %o2, %o3 ! if length <= limit [all …]
|
H A D | opl_olympus_copy.S | 696 cmp %o2, VIS_COPY_THRESHOLD ! check for leaf rtn case 709 cmp %o2, %o3 ! if length <= limit 722 cmp %o2, %o3 ! if length <= limit 733 cmp %o2, %o3 ! if length <= limit 743 cmp %o2, %o3 ! if length <= limit 779 ldx [%fp + STACK_BIAS - SAVED_GSR_OFFSET], %o2 ! restore gsr 780 wr %o2, 0, %gsr 787 BLD_FPQ1Q3_FROMSTACK(%o2) 871 cmp %o2, VIS_COPY_THRESHOLD ! check for leaf rtn case 884 cmp %o2, %o3 ! if length <= limit [all …]
|
/illumos-gate/usr/src/uts/sparc/v9/ml/ |
H A D | crt.S | 103 sllx %o2, 32, %o2; \ 106 or %o2, %o3, %o2 111 sub %o1, %o2, %o0 ! %o0 = a - b 114 add %o2, %o0, %o2 ! %o2 = (a < b) ? b : a = max(a, b) 115 mulx %o1, %o2, %o1 ! min(a, b) in "rs1" for early exit 123 sdivx %o1, %o2, %o1 130 udivx %o1, %o2, %o1 137 sdivx %o1, %o2, %o3 138 mulx %o2, %o3, %o3 146 udivx %o1, %o2, %o3 [all …]
|
/illumos-gate/usr/src/lib/libc/sparc/sys/ |
H A D | gettimeofday.S | 66 sethi %hi(0x10624DD3), %o2 67 or %o2, %lo(0x10624DD3), %o2 68 mulx %o1, %o2, %o2 69 srlx %o2, 38, %o2 70 stn %o2, [%o5 + CLONGSIZE]
|
/illumos-gate/usr/src/uts/sun4u/serengeti/ml/ |
H A D | sbdp.il.cpp | 79 ldxa [%o0]ASI_MEM, %o2 87 stxa %o2, [%o1]ASI_MEM 129 ECACHE_FLUSHALL(%o1, %o2, %o0, %o4) 158 rdpr %pstate, %o2 /* read PSTATE reg */ 159 andn %o2, PSTATE_IE | PSTATE_AM, %o3 163 wrpr %g0, %o2, %pstate /* restore the PSTATE */ 172 rdpr %pstate, %o2 /* read PSTATE reg */ 173 andn %o2, PSTATE_IE | PSTATE_AM, %o3 177 wrpr %g0, %o2, %pstate /* restore pstate */ 232 mov %o0, %o2 [all …]
|
/illumos-gate/usr/src/common/crypto/sha1/sparc/sun4u/ |
H A D | sha1_asm.S | 102 rd %fprs, %o2 103 st %o2, [%o0 + FPU_FPRS] 104 andcc %o2, FPRS_FEF, %g0 126 BLOAD_FPREGS(%o0, %o2) 149 ld [%i2 + 8], %o2 159 and %o1, %o2, %l1 191 andn %o2, %o0, %l4 233 add %o2, %g1, %l1 269 add %l0, %l2, %o2 273 sll %o2, 5, %l0 [all …]
|