Subversion Repositories HelenOS

Rev

Rev 1053 | Rev 1787 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1053 Rev 1124
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*/
107
	st8 [in0] = loc2, 16;; 		/* Next fpu registers should be spilled to 16B aligned address */
108
 
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 ;;
-
 
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 ;;
109
 
133
 
110
	stf.spill [in0]=f2,16;;
-
 
111
	stf.spill [in0]=f3,16;;
-
 
112
	stf.spill [in0]=f4,16;;
-
 
113
	stf.spill [in0]=f5,16;;
-
 
114
 
-
 
115
	stf.spill [in0]=f16,16;;
-
 
116
	stf.spill [in0]=f17,16;;
-
 
117
	stf.spill [in0]=f18,16;;
-
 
118
	stf.spill [in0]=f19,16;;
-
 
119
	stf.spill [in0]=f20,16;;
-
 
120
	stf.spill [in0]=f21,16;;
-
 
121
	stf.spill [in0]=f22,16;;
-
 
122
	stf.spill [in0]=f23,16;;
-
 
123
	stf.spill [in0]=f24,16;;
-
 
124
	stf.spill [in0]=f25,16;;
-
 
125
	stf.spill [in0]=f26,16;;
-
 
126
	stf.spill [in0]=f27,16;;
-
 
127
	stf.spill [in0]=f28,16;;
-
 
128
	stf.spill [in0]=f29,16;;
-
 
129
	stf.spill [in0]=f30,16;;
-
 
130
	stf.spill [in0]=f31,16;;
-
 
131
 
-
 
132
	
-
 
133
	mov ar.unat = loc1
134
	mov ar.unat = loc1
134
	
135
	
135
	add r8 = r0, r0, 1 		/* context_save returns 1 */
136
	add r8 = r0, r0, 1 		/* context_save returns 1 */
136
	br.ret.sptk.many b0
137
	br.ret.sptk.many b0
137
 
138
 
Line 212... Line 213...
212
	 * Restore predicate registers
213
	 * Restore predicate registers
213
	 */
214
	 */
214
	ld8 loc2 = [in0], 16	;;
215
	ld8 loc2 = [in0], 16	;;
215
	mov pr = loc2, ~0
216
	mov pr = loc2, ~0
216
	
217
	
-
 
218
	/*
-
 
219
	 * Restore floating-point registers.
-
 
220
	 */
217
	ldf.fill f2=[in0],16;;
221
	ldf.fill f2 = [in0], 16 ;;
218
	ldf.fill f3=[in0],16;;
222
	ldf.fill f3 = [in0], 16 ;;
219
	ldf.fill f4=[in0],16;;
223
	ldf.fill f4 = [in0], 16 ;;
220
	ldf.fill f5=[in0],16;;
224
	ldf.fill f5 = [in0], 16 ;;
221
 
225
 
222
	ldf.fill f16=[in0],16;;
226
	ldf.fill f16 = [in0], 16 ;;
223
	ldf.fill f17=[in0],16;;
227
	ldf.fill f17 = [in0], 16 ;;
224
	ldf.fill f18=[in0],16;;
228
	ldf.fill f18 = [in0], 16 ;;
225
	ldf.fill f19=[in0],16;;
229
	ldf.fill f19 = [in0], 16 ;;
226
	ldf.fill f20=[in0],16;;
230
	ldf.fill f20 = [in0], 16 ;;
227
	ldf.fill f21=[in0],16;;
231
	ldf.fill f21 = [in0], 16 ;;
228
	ldf.fill f22=[in0],16;;
232
	ldf.fill f22 = [in0], 16 ;;
229
	ldf.fill f23=[in0],16;;
233
	ldf.fill f23 = [in0], 16 ;;
230
	ldf.fill f24=[in0],16;;
234
	ldf.fill f24 = [in0], 16 ;;
231
	ldf.fill f25=[in0],16;;
235
	ldf.fill f25 = [in0], 16 ;;
232
	ldf.fill f26=[in0],16;;
236
	ldf.fill f26 = [in0], 16 ;;
233
	ldf.fill f27=[in0],16;;
237
	ldf.fill f27 = [in0], 16 ;;
234
	ldf.fill f28=[in0],16;;
238
	ldf.fill f28 = [in0], 16 ;;
235
	ldf.fill f29=[in0],16;;
239
	ldf.fill f29 = [in0], 16 ;;
236
	ldf.fill f30=[in0],16;;
240
	ldf.fill f30 = [in0], 16 ;;
237
	ldf.fill f31=[in0],16;;
241
	ldf.fill f31 = [in0], 16 ;;
238
 
-
 
239
 
-
 
240
	
242
	
241
	mov ar.unat = loc1
243
	mov ar.unat = loc1
242
	
244
	
243
	mov r8 = r0			/* context_restore returns 0 */
245
	mov r8 = r0			/* context_restore returns 0 */
244
	br.ret.sptk.many b0
246
	br.ret.sptk.many b0