Home
last modified time | relevance | path

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

123456789

/illumos-gate/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 …]
/illumos-gate/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 …]
/illumos-gate/usr/src/uts/sun4u/opl/ml/
H A Ddrmach_asm.S76 sub %o1, 8, %o1
77 brnz %o1, 0b
81 mov ASI_L2_CTRL_RW_ADDR, %o1
82 ldxa [%o1]ASI_L2_CTRL, %o3
87 stxa %o4, [%o1]ASI_L2_CTRL
126 set 1, %o1
127 sllx %o1, MCNTL_SPECULATIVE_SHIFT, %o1
128 andn %o0, %o1, %o0
179 sub %o1, 8, %o1
180 brnz %o1, 0b
[all …]
/illumos-gate/usr/src/uts/sparc/v9/ml/
H A Dcrt.S54 and %o1, MASK, %o4
63 subcc %o1, 4, %o1
64 ld [%o0 + %o1], %o4
66 st %o4, [%i0 + %o1] ! delay slot
79 and %o1, MASK, %o4
88 subcc %o1, 2, %o1
89 lduh [%o0 + %o1], %o4
91 sth %o4, [%i0 + %o1] ! delay slot
102 srl %o1, 0, %o1; \
105 or %o0, %o1, %o1; \
[all …]
/illumos-gate/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 …]
/illumos-gate/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 …]
/illumos-gate/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 …]
H A Dstrlen.S69 lduh [%o2], %o1
71 ldub [%o2], %o1
72 tst %o1 ! byte zero?
79 lduh [%o2], %o1
82 srl %o1, 8, %o4
85 andcc %o1, 0xff, %g0
93 ld [%o2], %o1
99 andn %o5, %o1, %o3
100 sub %o1, %o4, %g1
105 ld [%o2+4], %o1
[all …]
/illumos-gate/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 …]
/illumos-gate/usr/src/uts/sun4v/ml/
H A Dhcall.S84 stx %o1, [%o2]
109 cmp %o1, H_BREAK
111 mov %o1, %o0
113 cmp %o1, H_HUP
115 mov %o1, %o0
117 stb %o1, [%o2] ! success, save character and return 0
129 stx %o1, [%o4]
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 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 …]
/illumos-gate/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 …]
H A Dstrlen.S69 lduh [%o2], %o1
71 ldub [%o2], %o1
72 tst %o1 ! byte zero?
79 lduh [%o2], %o1
82 srl %o1, 8, %o4
85 andcc %o1, 0xff, %g0
93 ld [%o2], %o1
99 andn %o5, %o1, %o3
100 sub %o1, %o4, %g1
105 ld [%o2+4], %o1
[all …]
/illumos-gate/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 …]
/illumos-gate/usr/src/lib/libc/sparc/fp/
H A D__quad.S55 ldd [%o1],%f4
56 ldd [%o1+8],%f6
66 ldd [%o1],%f4
67 ldd [%o1+8],%f6
77 ldd [%o1],%f4
78 ldd [%o1+8],%f6
88 ldd [%o1],%f4
89 ldd [%o1+8],%f6
100 std %f4,[%o1]
102 std %f6,[%o1+8]
[all …]
/illumos-gate/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 …]
/illumos-gate/usr/src/common/bignum/sun4u/
H A Dmont_mulf_v8plus.s172 /* 0x0024 67 */ or %g0,%i3,%o1
175 /* 0x0030 67 */ sethi %hi(0xfc00),%o1
177 /* 0x0038 */ add %o1,1023,%o1
207 /* 0x0074 80 */ and %g1,%o1,%o0
241 /* 0x00f8 80 */ and %g1,%o1,%g3
266 /* 0x0150 80 */ and %g1,%o1,%g3
337 /* 0x0004 */ or %g0,%o1,%g4
363 /* 0x0048 */ add %o1,16,%g4
365 /* 0x0050 */ ld [%o1],%f7
367 /* 0x0058 */ ld [%o1+4],%f5
[all …]
/illumos-gate/usr/src/uts/sun4v/vm/
H A Dmach_sfmmu_asm.S112 mov %o1, %g4
117 mov %g0, %o1 ! XXX no cpu list yet
127 mov %g4, %o1
165 mov %o1, %g4
168 clr %o1
174 mov %g4, %o1
209 mov MMU_SCONTEXT, %o1
210 stxa %o0, [%o1]ASI_MMU_CTX /* set 2nd context reg. */
230 mov 1, %o1
231 st %o1, [%o2]
[all …]
/illumos-gate/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 …]
/illumos-gate/usr/src/uts/sun4u/ml/
H A Dmach_xc.S76 stna %o1, [%g4 + TRAP_ENT_F1]%asi ! arg 1
85 mov %o1, %g1
104 ldn [%o1], %g2
120 add %o1, CPUSET_SIZE, %g5 /* end of cpuset */
136 ldn [%o1], %g2
138 add %o1, CLONGSIZE, %o1
139 cmp %o1, %g5
141 ldn [%o1], %g2
143 add %o1, CLONGSIZE, %o1
144 cmp %o1, %g5
[all …]

123456789