Rev 1125 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1125 | Rev 1663 | ||
---|---|---|---|
Line 102... | Line 102... | ||
102 | 102 | ||
103 | /* |
103 | /* |
104 | * Save predicate registers |
104 | * Save predicate registers |
105 | */ |
105 | */ |
106 | mov loc2 = pr ;; |
106 | mov loc2 = pr ;; |
- | 107 | st8 [in0] = loc2, 16;; /* Next fpu registers should be spilled to 16B aligned address */ |
|
- | 108 | ||
- | 109 | /* |
|
- | 110 | * Save floating-point registers. |
|
- | 111 | */ |
|
- | 112 | stf.spill [in0] = f2, 16 ;; |
|
- | 113 | stf.spill [in0] = f3, 16 ;; |
|
- | 114 | stf.spill [in0] = f4, 16 ;; |
|
- | 115 | stf.spill [in0] = f5, 16 ;; |
|
- | 116 | ||
- | 117 | stf.spill [in0] = f16, 16 ;; |
|
- | 118 | stf.spill [in0] = f17, 16 ;; |
|
- | 119 | stf.spill [in0] = f18, 16 ;; |
|
- | 120 | stf.spill [in0] = f19, 16 ;; |
|
- | 121 | stf.spill [in0] = f20, 16 ;; |
|
- | 122 | stf.spill [in0] = f21, 16 ;; |
|
107 | st8 [in0] = loc2, 8 ;; |
123 | stf.spill [in0] = f22, 16 ;; |
- | 124 | stf.spill [in0] = f23, 16 ;; |
|
- | 125 | stf.spill [in0] = f24, 16 ;; |
|
- | 126 | stf.spill [in0] = f25, 16 ;; |
|
- | 127 | stf.spill [in0] = f26, 16 ;; |
|
- | 128 | stf.spill [in0] = f27, 16 ;; |
|
- | 129 | stf.spill [in0] = f28, 16 ;; |
|
- | 130 | stf.spill [in0] = f29, 16 ;; |
|
- | 131 | stf.spill [in0] = f30, 16 ;; |
|
- | 132 | stf.spill [in0] = f31, 16 ;; |
|
108 | 133 | ||
109 | mov ar.unat = loc1 |
134 | mov ar.unat = loc1 |
110 | 135 | ||
111 | add r8 = r0, r0, 1 /* context_save returns 1 */ |
136 | add r8 = r0, r0, 1 /* context_save returns 1 */ |
112 | br.ret.sptk.many b0 |
137 | br.ret.sptk.many b0 |
113 | 138 | ||
Line 185... | Line 210... | ||
185 | mov b5 = loc7 |
210 | mov b5 = loc7 |
186 | 211 | ||
187 | /* |
212 | /* |
188 | * Restore predicate registers |
213 | * Restore predicate registers |
189 | */ |
214 | */ |
190 | ld8 loc2 = [in0], 8 ;; |
215 | ld8 loc2 = [in0], 16 ;; |
191 | mov pr = loc2, ~0 |
216 | mov pr = loc2, ~0 |
- | 217 | ||
- | 218 | /* |
|
- | 219 | * Restore floating-point registers. |
|
- | 220 | */ |
|
- | 221 | ldf.fill f2 = [in0], 16 ;; |
|
- | 222 | ldf.fill f3 = [in0], 16 ;; |
|
- | 223 | ldf.fill f4 = [in0], 16 ;; |
|
- | 224 | ldf.fill f5 = [in0], 16 ;; |
|
- | 225 | ||
- | 226 | ldf.fill f16 = [in0], 16 ;; |
|
- | 227 | ldf.fill f17 = [in0], 16 ;; |
|
- | 228 | ldf.fill f18 = [in0], 16 ;; |
|
- | 229 | ldf.fill f19 = [in0], 16 ;; |
|
- | 230 | ldf.fill f20 = [in0], 16 ;; |
|
- | 231 | ldf.fill f21 = [in0], 16 ;; |
|
- | 232 | ldf.fill f22 = [in0], 16 ;; |
|
- | 233 | ldf.fill f23 = [in0], 16 ;; |
|
- | 234 | ldf.fill f24 = [in0], 16 ;; |
|
- | 235 | ldf.fill f25 = [in0], 16 ;; |
|
- | 236 | ldf.fill f26 = [in0], 16 ;; |
|
- | 237 | ldf.fill f27 = [in0], 16 ;; |
|
- | 238 | ldf.fill f28 = [in0], 16 ;; |
|
- | 239 | ldf.fill f29 = [in0], 16 ;; |
|
- | 240 | ldf.fill f30 = [in0], 16 ;; |
|
- | 241 | ldf.fill f31 = [in0], 16 ;; |
|
192 | 242 | ||
193 | mov ar.unat = loc1 |
243 | mov ar.unat = loc1 |
194 | 244 | ||
195 | mov r8 = r0 /* context_restore returns 0 */ |
245 | mov r8 = r0 /* context_restore returns 0 */ |
196 | br.ret.sptk.many b0 |
246 | br.ret.sptk.many b0 |