Home
last modified time | relevance | path

Searched refs:o1 (Results 1 – 25 of 248) sorted by relevance

12345678910

/titanic_41/usr/src/lib/libc/capabilities/sun4v/common/
H A Dmemset.s79 and %o1, 0xff, %o1 ! o1 is (char)c
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
99 1: stb %o1, [%o5] ! there is at least 1 byte to set
121 stx %o1, [%o5]
135 stxa %o1, [%o5+0x0]%asi
[all …]
H A Dmemcpy.s208 cmp %o1, %o0 ! if from address is >= to use forward copy
210 sub %o0, %o1, %o4 ! get difference of two addresses
213 add %o1, %o2, %o5 ! get to end of source space
251 ldx [%o5], %o1 ! load first 8 bytes
252 srlx %o1, %g5, %o1
256 or %o1, %o3, %o3 ! align data
260 srlx %o0, %g5, %o1 ! move extra byte for the next use
306 sub %o1, %o0, %o1 ! %o1 gets the difference
308 ldub [%o1+%o0], %o4 ! load one byte
313 add %o1, %o0, %o1 ! restore %o1
[all …]
/titanic_41/usr/src/lib/libc/sparc/crt/
H A Dhwmuldiv.s36 smul %o0, %o1, %o0
37 rd %y, %o1
40 cmp %o1, %o2 ! return with Z set if %y == (%o0 >> 31)
44 umul %o0, %o1, %o0
45 rd %y, %o1
47 tst %o1 ! return with Z set if high order bits are zero
56 sdivcc %o0, %o1, %o0
68 udiv %o0, %o1, %o0
77 sdivcc %o0, %o1, %o2
80 1: smul %o2, %o1, %o2
[all …]
/titanic_41/usr/src/cmd/sgs/rtld.4.x/
H A Dumultiply.s78 mulscc %o4, %o1, %o4 ! first iteration of 9
82 mulscc %o4, %o1, %o4 ! first iteration of 13
86 mulscc %o4, %o1, %o4 ! first iteration of 17
93 mulscc %o4, %o1, %o4 ! first iteration of 33
94 mulscc %o4, %o1, %o4
95 mulscc %o4, %o1, %o4
96 mulscc %o4, %o1, %o4
97 mulscc %o4, %o1, %o4
98 mulscc %o4, %o1, %o4
99 mulscc %o4, %o1, %o4
[all …]
/titanic_41/usr/src/uts/sparc/v9/ml/
H A Dcrt.s62 and %o1, MASK, %o4
71 subcc %o1, 4, %o1
72 ld [%o0 + %o1], %o4
74 st %o4, [%i0 + %o1] ! delay slot
87 and %o1, MASK, %o4
96 subcc %o1, 2, %o1
97 lduh [%o0 + %o1], %o4
99 sth %o4, [%i0 + %o1] ! delay slot
110 srl %o1, 0, %o1; \
113 or %o0, %o1, %o1; \
[all …]
/titanic_41/usr/src/uts/sun4u/opl/ml/
H A Ddrmach_asm.s89 sub %o1, 8, %o1
90 brnz %o1, 0b
94 mov ASI_L2_CTRL_RW_ADDR, %o1
95 ldxa [%o1]ASI_L2_CTRL, %o3
100 stxa %o4, [%o1]ASI_L2_CTRL
139 set 1, %o1
140 sllx %o1, MCNTL_SPECULATIVE_SHIFT, %o1
141 andn %o0, %o1, %o0
206 sub %o1, 8, %o1
207 brnz %o1, 0b
[all …]
/titanic_41/usr/src/lib/libc/sparcv9/crt/
H A D__align_cpy_4.s62 cmp %o0, %o1
65 and %o1, 7, %o4 ! Is source 8-byte aligned?
72 ld [%o1], %o3 ! Neither is aligned, so do 4 bytes;
78 add %o1, 4, %o1
91 ldx [%o1], %o3
92 ldx [%o1+8], %o4
96 add %o1, 16, %o1
108 ld [%o1], %o3
110 ldx [%o1], %o3 ! Have 8 or 12, so do 8.
112 add %o1, 8, %o1
[all …]
/titanic_41/usr/src/common/atomic/sparc/
H A Datomic.s57 add %g0, 1, %o1
74 sub %g0, 1, %o1
96 sll %o1, %g1, %o1 ! %o1 = shifted to bit offset
97 and %o1, %o3, %o1 ! %o1 = single byte value
101 add %o2, %o1, %o5 ! add value to the old value
109 add %o2, %o1, %o5
129 add %g0, 1, %o1
146 sub %g0, 1, %o1
169 sll %o1, %g1, %o1 ! %o1 = shifted to bit offset
170 and %o1, %o3, %o1 ! %o1 = single short value
[all …]
/titanic_41/usr/src/lib/libc/sparc/gen/
H A Dstrcpy.s65 sub %o1, %o0, %o3 ! src - dst
66 andcc %o1, 3, %o4 ! src word aligned ?
72 ldub [%o2 + %o3], %o1 ! src[0]
73 tst %o1 ! byte zero?
74 stb %o1, [%o2] ! store first byte
81 lduh [%o2 + %o3], %o1 ! src[]
82 srl %o1, 8, %o4 ! %o4<7:0> = first byte
86 andcc %o1, 0xff, %g0 ! second byte zero ?
88 stb %o1, [%o2 + 1] ! store second byte
95 andcc %o2, 3, %o1 ! destination word aligned?
[all …]
H A Dmemcmp.s58 cmp %o0, %o1 ! s1 == s2?
62 sub %o1, %o0, %o1
66 andcc %o1, 3, %o4 ! is s2 aligned?
73 ldub [%o1], %o5
74 inc %o1
84 ldub [%o1], %o5
85 inc 1, %o1
89 ldub [%o1], %o5 ! delay slot, get next byte from s2
92 1: inc %o1
97 andcc %o1, 3, %o4 ! delay slot, is s2 aligned?
[all …]
/titanic_41/usr/src/lib/libc/capabilities/sun4u-opl/common/
H A Dmemcpy.s77 prefetch [%o1], N_READS_STRONG
79 cmp %o1, %o0 ! if from address is >= to use forward copy
81 sub %o0, %o1, %o4 ! get difference of two addresses
91 add %o1, %o2, %o1 ! get to end of source space
101 ldub [%o1-1], %o3 ! load last byte
103 sub %o1, 4, %o1
104 ldub [%o1+2], %o3 ! load 2nd from last byte
107 ldub [%o1+1], %o3 ! load 3rd from last byte
110 ldub [%o1], %o3 ! load 4th from last byte
117 dec %o1 ! decrement src address
[all …]
/titanic_41/usr/src/lib/libc/sparcv9/gen/
H A Dmemcmp.s57 cmp %o0, %o1 ! s1 == s2?
61 sub %o1, %o0, %o1
65 andcc %o1, 3, %o4 ! is s2 aligned?
72 ldub [%o1], %o5
73 inc %o1
83 ldub [%o1], %o5
84 inc 1, %o1
88 ldub [%o1], %o5 ! delay slot, get next byte from s2
91 1: inc %o1
96 andcc %o1, 3, %o4 ! delay slot, is s2 aligned?
[all …]
H A Dstrncpy.s71 add %o1, %o2, %o3 ! src = src + n
72 andcc %o1, 7, %o4 ! dword aligned ?
78 ldub [%o3 + %g4], %o1 ! src[]
79 stb %o1, [%o2 + %g4] ! dst[] = src[]
82 tst %o1 ! end of src reached (null byte) ?
110 ldx [%o3 + %g4], %o1 ! src dword
113 andn %o5, %o1, %g1 ! ~dword & 0x8080808080808080
114 sub %o1, %o4, %g5 ! dword - 0x0101010101010101
117 stx %o1, [%o2 + %g4] ! store word to dst (address pre-incremented)
124 srlx %o1, 56, %g1 ! first byte
[all …]
H A Dstrcpy.s64 sub %o1, %o0, %o3 ! src - dst
65 andcc %o1, 7, %o4 ! dword aligned ?
70 andcc %o1, 1, %g0 ! need to copy byte ?
72 sub %g0, %o1, %g1 ! %g1<2:0> = # of unaligned bytes
133 ldx [%o2 + %o3], %o1 ! src dword
135 andn %o5, %o1, %g1 ! ~dword & 0x8080808080808080
136 sub %o1, %o4, %g4 ! dword - 0x0101010101010101
139 stx %o1, [%o2 - 8] ! store word to dst (address pre-incremented)
144 srlx %o1, 56, %o3 ! %o3<7:0> = first byte
145 andcc %o1, %o4, %g0 ! first byte zero?
[all …]
H A Dmemset.s81 and %o1, 0xff, %o1
83 sll %o1, 8, %o4 ! generate 4 bytes filled with char
84 or %o1, %o4, %o1
85 sll %o1, 16, %o4
88 or %o1, %o4, %o1
90 sllx %o1, 32, %o4 ! now fill the other 4 bytes with char
91 or %o1, %o4, %o1
99 stb %o1, [%o5] ! clear a byte
105 stx %o1, [%o5] ! write aligned 8 bytes
119 stb %o1, [%o5] ! clear a byte
[all …]
/titanic_41/usr/src/lib/libm/sparcv9/src/
H A Dlocallibm.il137 sethi %hi(0x7ff00000),%o1
138 andcc %o0,%o1,%o0
148 andcc %o0,%o1,%o0
161 subcc %o1,%o0,%g0
295 sethi %hi(0x80100000),%o1
296 sllx %o1,32,%o1
298 andn %o0,%o1,%o0
360 and %o0,0x1f,%o1
361 sll %o1,5,%o1
366 or %o1,%o2,%o1
[all …]
/titanic_41/usr/src/lib/libc/capabilities/sun4u-us3/common/
H A Dmemcpy.s74 cmp %o1, %o0 ! if from address is >= to use forward copy
76 sub %o0, %o1, %o4 ! get difference of two addresses
86 add %o1, %o2, %o1 ! get to end of source space
96 ldub [%o1-1], %o3 ! load last byte
98 sub %o1, 4, %o1
99 ldub [%o1+2], %o3 ! load 2nd from last byte
102 ldub [%o1+1], %o3 ! load 3rd from last byte
105 ldub [%o1], %o3 ! load 4th from last byte
112 dec %o1 ! decrement src address
113 ldub [%o1], %o3 ! read a byte
[all …]
/titanic_41/usr/src/uts/sun4u/starfire/ml/
H A Ddrmach.il.cpp84 stxa %o2, [%o1]ASI_MEM
85 add %o1, 8, %o1
86 stxa %o3, [%o1]ASI_MEM
87 add %o1, 8, %o1
88 stxa %g1, [%o1]ASI_MEM
89 add %o1, 8, %o1
90 stxa %g2, [%o1]ASI_MEM
108 srl %o1, 0, %o1 ! clear upper 32 bits
116 ldxa [%o0 + %o1]ASI_MEM, %g0 ! start reading from physaddr + size
118 subcc %o1, %o2, %o1
[all …]
/titanic_41/usr/src/lib/libc/sparc/fp/
H A D__quad.s58 ldd [%o1],%f4
59 ldd [%o1+8],%f6
69 ldd [%o1],%f4
70 ldd [%o1+8],%f6
80 ldd [%o1],%f4
81 ldd [%o1+8],%f6
91 ldd [%o1],%f4
92 ldd [%o1+8],%f6
103 std %f4,[%o1]
105 std %f6,[%o1+8]
[all …]
/titanic_41/usr/src/common/crypto/arcfour/sun4u/
H A Darcfour_crypt_asm.s70 add %g1, 1, %o1
74 add %o1, 1, %g1
75 and %o1, 255, %o1
78 ldub [%i5 + %o1], %o3
93 stb %o4, [%i5 + %o1]
101 add %g1, 1, %o1
103 and %o1, 255, %o1
109 add %o1, 1, %g1
113 ldub [%i5 + %o1], %o3
132 stb %o4, [%i5 + %o1]
[all …]
/titanic_41/usr/src/lib/libbc/libc/crt/sparc/
H A Dmisalign.s56 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>
60 ldub [%o0+1],%o1
63 sll %o1,16,%o1
65 or %o1,%o0,%o0 ! put the pieces together.
73 or %o0,%o1,%o0
92 ldub [%i0+1],%o1
96 stb %o1,[%fp-3]
101 lduh [%i0+2],%o1 ! rest of short aligned case
103 sth %o1,[%fp-2]
[all …]
/titanic_41/usr/src/common/atomic/sparcv9/
H A Datomic.s178 add %g0, 1, %o1
195 sub %g0, 1, %o1
217 sll %o1, %g1, %o1 ! %o1 = shifted to bit offset
218 and %o1, %o3, %o1 ! %o1 = single byte value
222 add %o2, %o1, %o5 ! add value to the old value
230 add %o2, %o1, %o5
250 add %g0, 1, %o1
267 sub %g0, 1, %o1
290 sll %o1, %g1, %o1 ! %o1 = shifted to bit offset
291 and %o1, %o3, %o1 ! %o1 = single short value
[all …]
/titanic_41/usr/src/lib/libm/sparc/src/
H A Dlocallibm.il41 ld [%o1],%f1
49 ld [%o1],%o4
57 ld [%o1],%f0 ! second argument inf
67 ld [%o1],%f3
130 ld [%o1+4],%f0 ! f0 = a->imag
132 ld [%o1],%f2 ! f2 = a->real
159 ld [%o1],%f0
163 ld [%o1+4],%f3
175 ld [%o1+4],%f4 ! f4 gets ima
177 ld [%o1],%f19 ! f19 gets rea
[all …]
/titanic_41/usr/src/uts/sun4v/ml/
H A Dhcall.s419 stx %o1, [%o2]
444 cmp %o1, H_BREAK
446 mov %o1, %o0
448 cmp %o1, H_HUP
450 mov %o1, %o0
452 stb %o1, [%o2] ! success, save character and return 0
464 stx %o1, [%o4]
496 stx %o1, [%o2]
574 stx %o1, [%o2]
586 mov %o1, %o2
[all …]
/titanic_41/usr/src/uts/sun4u/serengeti/ml/
H A Dsbdp.il.cpp87 stxa %o2, [%o1]ASI_MEM
88 add %o1, 8, %o1
89 stxa %o3, [%o1]ASI_MEM
90 add %o1, 8, %o1
91 stxa %g1, [%o1]ASI_MEM
92 add %o1, 8, %o1
93 stxa %g2, [%o1]ASI_MEM
95 stxa %g0, [%o1]ASI_DC_INVAL /* flush line from dcache */
129 ECACHE_FLUSHALL(%o1, %o2, %o0, %o4)
161 stwa %o1, [%o0]ASI_IO /* store value via bypass ASI */
[all …]

12345678910