/titanic_41/usr/src/lib/libm/sparcv9/src/ |
H A D | locallibm.il | 51 sethi %hi(0x43300000),%o0 52 sllx %o0,32,%o0 53 stx %o0,[%sp+0x87f] 60 sethi %hi(0x3ff00000),%o0 61 sllx %o0,32,%o0 62 stx %o0,[%sp+0x87f] 80 sethi %hi(0x3ff00000),%o0 81 st %o0,[%sp+0x87f] 93 sethi %hi(0x43300000),%o0 94 sllx %o0,32,%o0 [all …]
|
/titanic_41/usr/src/lib/libm/sparc/src/ |
H A D | locallibm.il | 31 ld [%o0],%o4 37 ld [%o0],%f0 ! load result with first argument 59 ld [%o0],%f1 77 ld [%o0],%o4 83 ld [%o0],%f0 87 ld [%o0+4],%f1 95 ld [%o0+4],%o4 103 ld [%o0+4],%f0 105 ld [%o0],%f1 114 ld [%o0+4],%f3 [all …]
|
/titanic_41/usr/src/lib/libc/sparc/crt/ |
H A D | hwmuldiv.s | 36 smul %o0, %o1, %o0 38 sra %o0, 31, %o2 40 cmp %o1, %o2 ! return with Z set if %y == (%o0 >> 31) 44 umul %o0, %o1, %o0 51 sra %o0, 31, %o2 56 sdivcc %o0, %o1, %o0 58 xnor %o0, %g0, %o0 ! Corbett Correction Factor 68 udiv %o0, %o1, %o0 72 sra %o0, 31, %o4 77 sdivcc %o0, %o1, %o2 [all …]
|
/titanic_41/usr/src/common/crypto/md5/sparc/sun4v/ |
H A D | byteswap.il | 44 lduwa [%o0]0x88, %o0 48 lduha [%o0]0x88, %o0 52 wr %g0, %o0, %asi 56 rd %asi, %o0 60 lduwa [%o0]%asi, %o0 64 lduwa [%o0 + 4]%asi, %o0 68 lduwa [%o0 + 8]%asi, %o0 72 lduwa [%o0 + 12]%asi, %o0 76 lduwa [%o0 + 16]%asi, %o0 80 lduwa [%o0 + 20]%asi, %o0 [all …]
|
/titanic_41/usr/src/uts/sun4u/ml/ |
H A D | mach_copy.s | 140 mov %g1, %o0 ! error code from %g1 363 clr %o0 ! return (0) 370 btst 3, %o0 377 1: stba %g0,[%o0]%asi 378 add %o0, 1, %o0 379 btst 3, %o0 387 btst 7, %o0 ! is double aligned? 390 sta %g0, [%o0]%asi ! clr to double boundry 393 add %o0, 4, %o0 395 !stxa %g0, [%o0+0xf8]%asi [all …]
|
H A D | memscrub_asm.s | 72 prefetch [%o0 + 8*64], 0 73 ldda [%o0]ASI_BLK_P, %d0 74 add %o0, 64, %o0 75 prefetch [%o0 + 8*64], 0 76 ldda [%o0]ASI_BLK_P, %d16 77 add %o0, 64, %o0 78 prefetch [%o0 + 8*64], 0 79 ldda [%o0]ASI_BLK_P, %d32 80 add %o0, 64, %o0 81 prefetch [%o0 + 8*64], 0 [all …]
|
/titanic_41/usr/src/lib/libc/capabilities/sun4v/common/ |
H A D | memcpy.s | 208 cmp %o1, %o0 ! if from address is >= to use forward copy 210 sub %o0, %o1, %o4 ! get difference of two addresses 224 add %o0, %o2, %g1 ! get to end of dest space 240 andcc %o5, 7, %o0 ! %o0 has src offset 246 sll %o0, 3, %g1 ! %g1 is left shift 249 sub %o5, %o0, %o5 ! align the src at 8 bytes. 250 add %o4, %o0, %o4 ! increase difference between src & dst 254 ldx [%o5], %o0 ! load 8 byte 255 sllx %o0, %g1, %o3 ! shift loaded 8 bytes left into tmp reg 260 srlx %o0, %g5, %o1 ! move extra byte for the next use [all …]
|
/titanic_41/usr/src/uts/sun4u/cherrystone/ml/ |
H A D | cherrystone_asm.s | 82 sllx %o0, 32, %o0 ! shift upper 32 bits 84 or %o0, %o1, %o0 ! form 64 bit physaddr in %o0 using (%o0,%o1) 90 ldxa [%o0]ASI_SAFARI_CONFIG, %o0 92 ldxa [%o0]ASI_SAFARI_CONFIG, %g1 93 srlx %g1, 32, %o0 ! put the high 32 bits in low part of o0 106 sllx %o0, 32, %o0 ! shift upper 32 bits 108 or %o0, %o1, %o0 ! form 64 bit physaddr in %o0 using (%o0,%o1) 114 ldxa [%o0]ASI_MC_DECODE, %o0 116 ldxa [%o0]ASI_MC_DECODE, %g1 117 srlx %g1, 32, %o0 ! put the high 32 bits in low part of o0
|
/titanic_41/usr/src/uts/sun4u/daktari/ml/ |
H A D | daktari_asm.s | 76 sllx %o0, 32, %o0 ! shift upper 32 bits 78 or %o0, %o1, %o0 ! form 64 bit physaddr in %o0 using (%o0,%o1) 84 ldxa [%o0]ASI_SAFARI_CONFIG, %o0 86 ldxa [%o0]ASI_SAFARI_CONFIG, %g1 87 srlx %g1, 32, %o0 ! put the high 32 bits in low part of o0 100 sllx %o0, 32, %o0 ! shift upper 32 bits 102 or %o0, %o1, %o0 ! form 64 bit physaddr in %o0 using (%o0,%o1) 108 ldxa [%o0]ASI_MC_DECODE, %o0 110 ldxa [%o0]ASI_MC_DECODE, %g1 111 srlx %g1, 32, %o0 ! put the high 32 bits in low part of o0
|
/titanic_41/usr/src/lib/libc/sparc/fp/ |
H A D | __quad.s | 40 st %fsr,[%o0] 45 ld [%o0],%fsr 49 ldd [%o0],%f0 56 ldd [%o0],%f0 57 ldd [%o0+8],%f2 67 ldd [%o0],%f0 68 ldd [%o0+8],%f2 78 ldd [%o0],%f0 79 ldd [%o0+8],%f2 89 ldd [%o0],%f0 [all …]
|
H A D | __quad.il | 33 st %fsr,[%o0] 37 ld [%o0],%fsr 41 ldd [%o0],%f0 46 ldd [%o0],%f0 47 ldd [%o0+8],%f2 56 ldd [%o0],%f0 57 ldd [%o0+8],%f2 66 ldd [%o0],%f0 67 ldd [%o0+8],%f2 76 ldd [%o0],%f0 [all …]
|
/titanic_41/usr/src/lib/libbc/libc/crt/sparc/ |
H A D | misalign.s | 54 andcc %o0,1,%g0 ! test 16-bit alignment 56 lduh [%o0+2],%o1 ! do first one in delay slot 58 ldub [%o0+3],%o3 ! slow case: load 4 bytes in <o0,o1,o2,o3> 59 ldub [%o0+2],%o2 60 ldub [%o0+1],%o1 61 ldub [%o0],%o0 ! note this has to be done last. 64 sll %o0,24,%o0 65 or %o1,%o0,%o0 ! put the pieces together. 66 or %o2,%o0,%o0 68 or %o3,%o0,%o0 [all …]
|
H A D | muldiv.s | 37 mov %o0, %o3 ! o3 gets remainder 38 udiv %o0, %o1, %o0 ! o0 contains quotient a/b 39 umul %o0, %o1, %o4 ! o4 contains q*b 45 sra %o0,31,%o4 ! extend sign 49 subcc %g0,%o0,%o0 ! simply negate dividend 50 mov %o0,%o3 ! o3 gets remainder 51 sdiv %o0,%o1,%o0 ! o0 contains quotient a/b 52 smul %o0,%o1,%o4 ! o4 contains q*b
|
/titanic_41/usr/src/lib/libc/capabilities/sun4u-opl/common/ |
H A D | memcpy.s | 78 prefetch [%o0], N_WRITES_STRONG 79 cmp %o1, %o0 ! if from address is >= to use forward copy 81 sub %o0, %o1, %o4 ! get difference of two addresses 90 mov %o0, %g1 ! save dest address for return val 92 add %o0, %o2, %o0 ! get to end of destination space 102 stb %o3, [%o0-1] ! store last byte 105 stb %o3, [%o0-2] ! store 2nd from last byte 106 sub %o0, 4, %o0 108 stb %o3, [%o0+1] ! store 3rd from last byte 112 stb %o3, [%o0] ! store 4th from last byte [all …]
|
/titanic_41/usr/src/uts/sparc/v9/ml/ |
H A D | float.s | 169 ldx [%o0 + FPU_FSR], %fsr ! load fsr 172 stx %g2, [%o0] ! initialize %f0 173 ldd [%o0], %d0 174 ldd [%o0], %d2 175 ldd [%o0], %d4 176 ldd [%o0], %d6 177 ldd [%o0], %d8 178 ldd [%o0], %d10 179 ldd [%o0], %d12 180 ldd [%o0], %d14 [all …]
|
/titanic_41/usr/src/lib/libc/capabilities/sun4u-us3/common/ |
H A D | memcpy.s | 74 cmp %o1, %o0 ! if from address is >= to use forward copy 76 sub %o0, %o1, %o4 ! get difference of two addresses 85 mov %o0, %g1 ! save dest address for return val 87 add %o0, %o2, %o0 ! get to end of destination space 97 stb %o3, [%o0-1] ! store last byte 100 stb %o3, [%o0-2] ! store 2nd from last byte 101 sub %o0, 4, %o0 103 stb %o3, [%o0+1] ! store 3rd from last byte 107 stb %o3, [%o0] ! store 4th from last byte 114 dec %o0 ! decrement dst address [all …]
|
/titanic_41/usr/src/lib/libc/sparc/threads/ |
H A D | asm_subr.s | 38 call _thrp_terminate ! %o0 contains the return value 53 mov %o0, %g7 64 stn %g1, [%o0 + 0*GREGSIZE] 65 stn %g2, [%o0 + 1*GREGSIZE] 66 stn %g3, [%o0 + 2*GREGSIZE] 67 stn %g4, [%o0 + 3*GREGSIZE] 68 stn %g5, [%o0 + 4*GREGSIZE] 69 stn %g6, [%o0 + 5*GREGSIZE] 71 stn %g7, [%o0 + 6*GREGSIZE] 77 mov %fprs, %o0 [all …]
|
/titanic_41/usr/src/uts/sun4v/cpu/ |
H A D | niagara_asm.s | 65 brz,a %o0, 1f 114 stxa %o2, [%o0+0x0]%asi 115 stxa %o2, [%o0+0x40]%asi 116 stxa %o2, [%o0+0x80]%asi 117 stxa %o2, [%o0+0xc0]%asi 119 stxa %o2, [%o0+0x10]%asi 120 stxa %o2, [%o0+0x20]%asi 121 stxa %o2, [%o0+0x30]%asi 123 stxa %o2, [%o0+0x50]%asi 124 stxa %o2, [%o0+0x60]%asi [all …]
|
H A D | niagara2_asm.s | 69 brz,a %o0, 1f 124 stxa %o2, [%o0+0x0]%asi 125 stxa %o2, [%o0+0x40]%asi 126 stxa %o2, [%o0+0x80]%asi 127 stxa %o2, [%o0+0xc0]%asi 129 stxa %o2, [%o0+0x10]%asi 130 stxa %o2, [%o0+0x20]%asi 131 stxa %o2, [%o0+0x30]%asi 133 stxa %o2, [%o0+0x50]%asi 134 stxa %o2, [%o0+0x60]%asi [all …]
|
/titanic_41/usr/src/common/atomic/sparcv9/ |
H A D | atomic.s | 212 and %o0, 0x3, %o4 ! %o4 = byte offset, left-to-right 219 andn %o0, 0x3, %o0 ! %o0 = word address 220 ld [%o0], %o2 ! read old value 226 cas [%o0], %o2, %o5 233 srl %o5, %g1, %o0 ! %o0 = new value 284 and %o0, 0x2, %o4 ! %o4 = byte offset, left-to-right 292 andn %o0, 0x2, %o0 ! %o0 = word address 294 ld [%o0], %o2 ! read old value 300 cas [%o0], %o2, %o5 307 srl %o5, %g1, %o0 ! %o0 = new value [all …]
|
/titanic_41/usr/src/lib/libc/sparcv9/threads/ |
H A D | sparcv9.il | 30 mov %g7, %o0 35 ldx [%g7 + 80], %o0 ! ul_self 39 mov %sp, %o0 45 sllx %o0, 32, %o0 46 or %o1, %o0, %o0 51 ldstub [%o0], %o0 56 cas [%o0], %o1, %o2 57 mov %o2, %o0 61 ld [%o0], %o2 64 cas [%o0], %o2, %o3 [all …]
|
/titanic_41/usr/src/common/atomic/sparc/ |
H A D | atomic.s | 91 and %o0, 0x3, %o4 ! %o4 = byte offset, left-to-right 98 andn %o0, 0x3, %o0 ! %o0 = word address 99 ld [%o0], %o2 ! read old value 105 cas [%o0], %o2, %o5 112 srl %o5, %g1, %o0 ! %o0 = new value 163 and %o0, 0x2, %o4 ! %o4 = byte offset, left-to-right 171 andn %o0, 0x2, %o0 ! %o0 = word address 173 ld [%o0], %o2 ! read old value 179 cas [%o0], %o2, %o5 186 srl %o5, %g1, %o0 ! %o0 = new value [all …]
|
/titanic_41/usr/src/uts/sun4u/serengeti/ml/ |
H A D | sbdp.il.cpp | 79 ldxa [%o0]ASI_MEM, %o2 80 add %o0, 8, %o0 81 ldxa [%o0]ASI_MEM, %o3 82 add %o0, 8, %o0 83 ldxa [%o0]ASI_MEM, %g1 84 add %o0, 8, %o0 85 ldxa [%o0]ASI_MEM, %g2 124 ! convention for inlines allows %o0-%o5, %f0-%f31 as temporaries.) 125 ! Since physaddr is only used for Cheetah, Panther can use %o0 for 127 PN_L2_FLUSHALL(%o0, %o4, %o5) [all …]
|
/titanic_41/usr/src/cmd/mdb/sparc/kmdb/ |
H A D | kmdb_asmutil.s | 50 mov %g3, %o0 52 add %o0, 1, %o0 67 mov %fp, %o0 80 rdpr %pstate, %o0 81 bset PSTATE_IE, %o0 83 wrpr %o0, %pstate 96 rdpr %pstate, %o0 97 bclr PSTATE_IE, %o0 99 wrpr %o0, %pstate 114 rdpr %tba, %o0 [all …]
|
/titanic_41/usr/src/lib/libc/sparc/gen/ |
H A D | memcmp.s | 58 cmp %o0, %o1 ! s1 == s2? 62 sub %o1, %o0, %o1 64 andcc %o0, 3, %o3 ! is s1 aligned? 71 .algn1: ldub [%o0], %o4 ! cmp one byte 72 inc %o0 82 .algn2: lduh [%o0], %o4 83 inc 2, %o0 102 1: ldub [%o0 + %o1], %o5 ! byte compare loop 103 inc %o0 109 ldub [%o0], %o4 [all …]
|