|
|
Power 6/32 Unix version 1.21
1 00000000 LL0:
2 00000000 .data
3 00000db8 * .text
4 00000000 .align 1
5 00000000 .globl _pipe_6
6 00000000 _pipe_6:
7 0002A0B4 0000 .word L215
8 0002A0B6 # #include "fpp_defs.h"
9 0002A0B6 #
10 0002A0B6 #
11 0002A0B6 # /*****************************************************************************
12 0002A0B6 # *
13 0002A0B6 # * PIPELINE TEST #6 MONITOR
14 0002A0B6 # *
15 0002A0B6 # * This test will do:
16 0002A0B6 # *
17 0002A0B6 # * LDF(0) ADDF(y) STF CVLF(x) SUBF(0) STF
18 0002A0B6 # *
19 0002A0B6 # * where x is the fmacro1 CVLF data, and y is the expected result of the CVLF.
20 0002A0B6 # * This test verifies the CVLF after the STF and the SUBF after the CVLF.
21 0002A0B6 # *****************************************************************************/
22 0002A0B6 # pipe_6()
23 0002A0B6 # {
24 0002A0B6 13 00a8 jbr L217
25 0002A0B9 L218:
26 0002A0B9 # asm(".globl _pipeline_6_t");
27 0002A0B9 .globl _pipeline_6_t
28 0002A0B9 # asm("_pipeline_6_t:"); /* entry address */
29 0002A0B9 _pipeline_6_t:
30 0002A0B9 # if( (cycle == 1) && (prt_hdrs) ) /* print headers on 1st cycle */
31 0002A0B9 1d effffffff5 01 cmpl _cycle,$1
32 0002A0C0 21 15 jneq L219
33 0002A0C2 5d efffffffec tstl _prt_hdrs
34 0002A0C8 31 0d jeql L219
35 0002A0CA # {
36 0002A0CA # writes(" PIPE_6 ");
37 0002A0CA .data 1
38 00000db8 * L221:
39 00000db8 * 20504950455F362000 .ascii " PIPE_6 \0"
40 00000dc1 * .text
41 0002A0CA dd 8f00000db8 pushl $L221
42 0002A0D0 fe 08 efffffffdd callf $8,_writes
43 0002A0D7 # }
44 0002A0D7 # subtest = 1;
45 0002A0D7 L219:
46 0002A0D7 0d 01 efffffffd6 movl $1,_subtest
47 0002A0DE # pipe6_1(); /* data in REGs, no NOPs */
48 0002A0DE fe 04 ef0000007f callf $4,_pipe6_1
49 0002A0E5 # subtest++; /* increment subtest num */
50 0002A0E5 6d efffffffc9 incl _subtest
51 0002A0EB # pipe6_2(); /* data in REGs, 1 NOP */
52 0002A0EB fe 04 ef0000016a callf $4,_pipe6_2
53 0002A0F2 # subtest++; /* increment subtest num */
54 0002A0F2 6d efffffffbc incl _subtest
55 0002A0F8 # pipe6_3(); /* data in REGs, 2 NOPs */
56 0002A0F8 fe 04 ef0000025b callf $4,_pipe6_3
57 0002A0FF # subtest++; /* increment subtest num */
58 0002A0FF 6d efffffffaf incl _subtest
59 0002A105 # pipe6_4(); /* data in REGs, 3 NOPs */
60 0002A105 fe 04 ef00000350 callf $4,_pipe6_4
61 0002A10C # subtest++; /* increment subtest num */
62 0002A10C 6d efffffffa2 incl _subtest
63 0002A112 # pipe6_5(); /* data in CACHE, no NOPs */
64 0002A112 fe 04 ef0000044b callf $4,_pipe6_5
65 0002A119 # subtest++; /* increment subtest num */
66 0002A119 6d efffffff95 incl _subtest
67 0002A11F # pipe6_6(); /* data in CACHE, 1 NOP */
68 0002A11F fe 04 ef0000052c callf $4,_pipe6_6
69 0002A126 # subtest++; /* increment subtest num */
70 0002A126 6d efffffff88 incl _subtest
71 0002A12C # pipe6_7(); /* data in CACHE, 2 NOPs */
72 0002A12C fe 04 ef00000611 callf $4,_pipe6_7
73 0002A133 # subtest++; /* increment subtest num */
74 0002A133 6d efffffff7b incl _subtest
75 0002A139 # pipe6_8(); /* data in CACHE, 3 NOPs */
76 0002A139 fe 04 ef000006fc callf $4,_pipe6_8
77 0002A140 # subtest++; /* increment subtest num */
78 0002A140 6d efffffff6e incl _subtest
79 0002A146 # pipe6_9(); /* data on STACK, no NOPs */
80 0002A146 fe 04 ef000007eb callf $4,_pipe6_9
81 0002A14D # subtest++; /* increment subtest num */
82 0002A14D 6d efffffff61 incl _subtest
83 0002A153 # pipe6_10(); /* data via FP no NOPs */
84 0002A153 fe 04 ef00000972 callf $4,_pipe6_10
85 0002A15A # asm("jmp *return"); /* return to the test monitor */
86 0002A15A 71 ffffffff54 jmp *return
87 0002A160 # }
88 0002A160 40 ret#2
89 0002A161 .set L215,0x0
90 0002A161 L217:
91 0002A161 13 ff55 jbr L218
92 0002A164 .data
93 00000db8 * .text
94 0002A164 .align 1
95 0002A164 .globl _pipe6_1
96 0002A164 _pipe6_1:
97 0002A164 0000 .word L232
98 0002A166 #
99 0002A166 #
100 0002A166 #
101 0002A166 #
102 0002A166 #
103 0002A166 #
104 0002A166 # /************************************************************************
105 0002A166 # *
106 0002A166 # * SUBTEST 1
107 0002A166 # * data in registers, no NO-OPs
108 0002A166 # *
109 0002A166 # ************************************************************************/
110 0002A166 # pipe6_1()
111 0002A166 # {
112 0002A166 13 00f0 jbr L234
113 0002A169 L235:
114 0002A169 # force_loop = FALSE; /* clear the force_loop flag */
115 0002A169 4d efffffff45 clrl _force_loop
116 0002A16F # index = 0;
117 0002A16F 4d efffffff3f clrl _index
118 0002A175 # do
119 0002A175 L238:
120 0002A175 # {
121 0002A175 # sgl_value_1 = cvlf_1_data[index].ld; /* get operand 1 */
122 0002A175 0d efffffff39 50 movl _index,r0
123 0002A17C 48 03 50 50 shll $3,r0,r0
124 0002A180 0d e000000000 efffffff29 movl _cvlf_1_data(r0),_sgl_value_1
125 0002A18B # sgl_expected = cvlf_1_data[index].exp; /* get expected results */
126 0002A18B 0d efffffff23 50 movl _index,r0
127 0002A192 48 03 50 50 shll $3,r0,r0
128 0002A196 0d e000000004 efffffff13 movl _cvlf_1_data+4(r0),_sgl_expected
129 0002A1A1 # sgl_value_2 = 0; /* floating '0' */
130 0002A1A1 4d efffffff0d clrl _sgl_value_2
131 0002A1A7 # /*
132 0002A1A7 # * If LOOP ON ERROR is set, this is the loop for this subtest.
133 0002A1A7 # * The force loop flag is set after the first error.
134 0002A1A7 # */
135 0002A1A7 # asm("_pipe6_1_lp1:");
136 0002A1A7 _pipe6_1_lp1:
137 0002A1A7 # asm("movl _sgl_value_1,r4"); /* move the data to r4 */
138 0002A1A7 0d efffffff07 54 movl _sgl_value_1,r4
139 0002A1AE # asm("movl _sgl_value_2,r5"); /* move data to r5 */
140 0002A1AE 0d efffffff00 55 movl _sgl_value_2,r5
141 0002A1B5 # asm("movl _sgl_expected,r6"); /* save the expected result*/
142 0002A1B5 0d effffffef9 56 movl _sgl_expected,r6
143 0002A1BC # asm("ldf r5"); /* load a floating '0' */
144 0002A1BC 06 55 ldf r5
145 0002A1BE # asm("addf r6"); /* add the expected value */
146 0002A1BE c6 56 addf r6
147 0002A1C0 # asm("stf r7"); /* store the result */
148 0002A1C0 26 57 stf r7
149 0002A1C2 # asm("cvlf r4"); /* convert the operand */
150 0002A1C2 76 54 cvlf r4
151 0002A1C4 # asm("subf r5"); /* subtract a floating '0' */
152 0002A1C4 d6 55 subf r5
153 0002A1C6 # asm("stf r8"); /* store the result */
154 0002A1C6 26 58 stf r8
155 0002A1C8 # if( force_loop )
156 0002A1C8 5d effffffee6 tstl _force_loop
157 0002A1CE 31 02 jeql L239
158 0002A1D0 # asm("brb _pipe6_1_lp1");; /* loop on the error */
159 0002A1D0 11 d5 brb _pipe6_1_lp1
160 0002A1D2 L239:
161 0002A1D2 # /*
162 0002A1D2 # * verify the results
163 0002A1D2 # */
164 0002A1D2 # asm("movl r7,_sgl_st_acc"); /* get the 1st store value */
165 0002A1D2 0d 57 effffffedb movl r7,_sgl_st_acc
166 0002A1D9 # asm("movl r8,_sgl_value_6"); /* get the 2nd store value */
167 0002A1D9 0d 58 effffffed4 movl r8,_sgl_value_6
168 0002A1E0 # if( (sgl_st_acc != sgl_expected) || /* COMPARE the values */
169 0002A1E0 # (sgl_value_6 != sgl_expected) )
170 0002A1E0 1d effffffece effffffec9 cmpl _sgl_st_acc,_sgl_expected
171 0002A1EB 21 0d jneq L9999
172 0002A1ED 1d effffffec1 effffffebc cmpl _sgl_value_6,_sgl_expected
173 0002A1F8 31 45 jeql L240
174 0002A1FA L9999:
175 0002A1FA # {
176 0002A1FA # errcnt++; /* bump the error count */
177 0002A1FA 6d effffffeb4 incl _errcnt
178 0002A200 # if ( prt_error )
179 0002A200 5d effffffeae tstl _prt_error
180 0002A206 31 0d jeql L241
181 0002A208 # print_pipe6_er("Reg. Data, no NO-OPs");
182 0002A208 .data 1
183 00000dc1 * L243:
184 00000dc1 * 5265672E20446174612C206E6 .ascii "Reg. Data, no NO-OPs\0"
F204E4F2D4F507300
185 00000dd6 * .text
186 0002A208 dd 8f00000dc1 pushl $L243
187 0002A20E fe 08 ef00000a93 callf $8,_print_pipe6_er
188 0002A215 # if ( halt_flg ) /* halt on error? */
189 0002A215 L241:
190 0002A215 5d effffffe99 tstl _halt_flg
191 0002A21B 31 0d jeql L244
192 0002A21D # pipe6_er_hlt( subtest );
193 0002A21D dd effffffe91 pushl _subtest
194 0002A223 fe 08 ef00000bc6 callf $8,_pipe6_er_hlt
195 0002A22A # if ( loop_on_err ) {
196 0002A22A L244:
197 0002A22A 5d effffffe84 tstl _loop_on_err
198 0002A230 31 0d jeql L246
199 0002A232 # force_loop = TRUE; /* set the force loop flag */
200 0002A232 0d 01 effffffe7b movl $1,_force_loop
201 0002A239 # asm("jmp _pipe6_1_lp1"); /* and loop */
202 0002A239 71 efffffff68 jmp _pipe6_1_lp1
203 0002A23F # }
204 0002A23F # } /* end of compare error */
205 0002A23F L246:
206 0002A23F # } while( index++ < max_cvlf_1_index );
207 0002A23F L240:
208 0002A23F L237:
209 0002A23F 0d effffffe6f 50 movl _index,r0
210 0002A246 6d effffffe68 incl _index
211 0002A24C 1d 50 effffffe61 cmpl r0,_max_cvlf_1_index
212 0002A253 81 03 13 ff1d jlss L238
213 0002A258 L236:
214 0002A258 # } /* end of subtest 1 */
215 0002A258 40 ret#2
216 0002A259 .set L232,0x0
217 0002A259 L234:
218 0002A259 13 ff0d jbr L235
219 0002A25C .data
220 00000db8 * .text
221 0002A25C .align 1
222 0002A25C .globl _pipe6_2
223 0002A25C _pipe6_2:
224 0002A25C 0000 .word L247
225 0002A25E #
226 0002A25E #
227 0002A25E #
228 0002A25E #
229 0002A25E #
230 0002A25E #
231 0002A25E # /************************************************************************
232 0002A25E # *
233 0002A25E # * SUBTEST 2
234 0002A25E # * data in registers, 1 NO-OP
235 0002A25E # *
236 0002A25E # ************************************************************************/
237 0002A25E # pipe6_2()
238 0002A25E # {
239 0002A25E 13 00f5 jbr L249
240 0002A261 L250:
241 0002A261 # force_loop = FALSE; /* clear the force_loop flag */
242 0002A261 4d effffffe4d clrl _force_loop
243 0002A267 # index = 0;
244 0002A267 4d effffffe47 clrl _index
245 0002A26D # do
246 0002A26D L253:
247 0002A26D # {
248 0002A26D # sgl_value_1 = cvlf_1_data[index].ld; /* get operand 1 */
249 0002A26D 0d effffffe41 50 movl _index,r0
250 0002A274 48 03 50 50 shll $3,r0,r0
251 0002A278 0d e000000000 effffffe31 movl _cvlf_1_data(r0),_sgl_value_1
252 0002A283 # sgl_expected = cvlf_1_data[index].exp; /* get expected results */
253 0002A283 0d effffffe2b 50 movl _index,r0
254 0002A28A 48 03 50 50 shll $3,r0,r0
255 0002A28E 0d e000000004 effffffe1b movl _cvlf_1_data+4(r0),_sgl_expected
256 0002A299 # sgl_value_2 = 0x00000000; /* floating '0' */
257 0002A299 4d effffffe15 clrl _sgl_value_2
258 0002A29F # /*
259 0002A29F # * If LOOP ON ERROR is set, this is the loop for this subtest.
260 0002A29F # * The force loop flag is set after the first error.
261 0002A29F # */
262 0002A29F # asm("_pipe6_2_lp1:");
263 0002A29F _pipe6_2_lp1:
264 0002A29F # asm("movl _sgl_value_1,r4"); /* move the data to r4 */
265 0002A29F 0d effffffe0f 54 movl _sgl_value_1,r4
266 0002A2A6 # asm("movl _sgl_value_2,r5"); /* move data to r5 */
267 0002A2A6 0d effffffe08 55 movl _sgl_value_2,r5
268 0002A2AD # asm("movl _sgl_expected,r6"); /* save the expected result*/
269 0002A2AD 0d effffffe01 56 movl _sgl_expected,r6
270 0002A2B4 # asm("ldf r5"); /* load a floating '0' */
271 0002A2B4 06 55 ldf r5
272 0002A2B6 # asm("nop");
273 0002A2B6 10 nop
274 0002A2B7 # asm("addf r6"); /* add the expected value */
275 0002A2B7 c6 56 addf r6
276 0002A2B9 # asm("nop");
277 0002A2B9 10 nop
278 0002A2BA # asm("stf r7"); /* store the result */
279 0002A2BA 26 57 stf r7
280 0002A2BC # asm("nop");
281 0002A2BC 10 nop
282 0002A2BD # asm("cvlf r4"); /* convert the operand */
283 0002A2BD 76 54 cvlf r4
284 0002A2BF # asm("nop");
285 0002A2BF 10 nop
286 0002A2C0 # asm("subf r5"); /* subtract a floating '0' */
287 0002A2C0 d6 55 subf r5
288 0002A2C2 # asm("nop");
289 0002A2C2 10 nop
290 0002A2C3 # asm("stf r8"); /* store the result */
291 0002A2C3 26 58 stf r8
292 0002A2C5 # if( force_loop )
293 0002A2C5 5d effffffde9 tstl _force_loop
294 0002A2CB 31 02 jeql L254
295 0002A2CD # asm("brb _pipe6_2_lp1");; /* loop on the error */
296 0002A2CD 11 d0 brb _pipe6_2_lp1
297 0002A2CF L254:
298 0002A2CF # /*
299 0002A2CF # * verify the results
300 0002A2CF # */
301 0002A2CF # asm("movl r7,_sgl_st_acc"); /* get the 1st store value */
302 0002A2CF 0d 57 effffffdde movl r7,_sgl_st_acc
303 0002A2D6 # asm("movl r8,_sgl_value_6"); /* get the 2nd store value */
304 0002A2D6 0d 58 effffffdd7 movl r8,_sgl_value_6
305 0002A2DD # if( (sgl_st_acc != sgl_expected) || /* COMPARE the values */
306 0002A2DD # (sgl_value_6 != sgl_expected) )
307 0002A2DD 1d effffffdd1 effffffdcc cmpl _sgl_st_acc,_sgl_expected
308 0002A2E8 21 0d jneq L9998
309 0002A2EA 1d effffffdc4 effffffdbf cmpl _sgl_value_6,_sgl_expected
310 0002A2F5 31 45 jeql L255
311 0002A2F7 L9998:
312 0002A2F7 # {
313 0002A2F7 # errcnt++; /* bump the error count */
314 0002A2F7 6d effffffdb7 incl _errcnt
315 0002A2FD # if ( prt_error )
316 0002A2FD 5d effffffdb1 tstl _prt_error
317 0002A303 31 0d jeql L256
318 0002A305 # print_pipe6_er("Reg. Data, 1 NO-OP");
319 0002A305 .data 1
320 00000dd6 * L257:
321 00000dd6 * 5265672E20446174612C20312 .ascii "Reg. Data, 1 NO-OP\0"
04E4F2D4F5000
322 00000de9 * .text
323 0002A305 dd 8f00000dd6 pushl $L257
324 0002A30B fe 08 ef00000996 callf $8,_print_pipe6_er
325 0002A312 # if ( halt_flg ) /* halt on error? */
326 0002A312 L256:
327 0002A312 5d effffffd9c tstl _halt_flg
328 0002A318 31 0d jeql L258
329 0002A31A # pipe6_er_hlt( subtest );
330 0002A31A dd effffffd94 pushl _subtest
331 0002A320 fe 08 ef00000ac9 callf $8,_pipe6_er_hlt
332 0002A327 # if ( loop_on_err ) {
333 0002A327 L258:
334 0002A327 5d effffffd87 tstl _loop_on_err
335 0002A32D 31 0d jeql L259
336 0002A32F # force_loop = TRUE; /* set the force loop flag */
337 0002A32F 0d 01 effffffd7e movl $1,_force_loop
338 0002A336 # asm("jmp _pipe6_2_lp1"); /* and loop */
339 0002A336 71 efffffff63 jmp _pipe6_2_lp1
340 0002A33C # }
341 0002A33C # } /* end of compare error */
342 0002A33C L259:
343 0002A33C # } while( index++ < max_cvlf_1_index );
344 0002A33C L255:
345 0002A33C L252:
346 0002A33C 0d effffffd72 50 movl _index,r0
347 0002A343 6d effffffd6b incl _index
348 0002A349 1d 50 effffffd64 cmpl r0,_max_cvlf_1_index
349 0002A350 81 03 13 ff18 jlss L253
350 0002A355 L251:
351 0002A355 # } /* end of subtest 2 */
352 0002A355 40 ret#2
353 0002A356 .set L247,0x0
354 0002A356 L249:
355 0002A356 13 ff08 jbr L250
356 0002A359 .data
357 00000db8 * .text
358 0002A359 00 .align 1
359 0002A35A .globl _pipe6_3
360 0002A35A _pipe6_3:
361 0002A35A 0000 .word L260
362 0002A35C #
363 0002A35C #
364 0002A35C #
365 0002A35C #
366 0002A35C #
367 0002A35C #
368 0002A35C # /************************************************************************
369 0002A35C # *
370 0002A35C # * SUBTEST 3
371 0002A35C # * data in registers, 2 NO-OPs
372 0002A35C # *
373 0002A35C # ************************************************************************/
374 0002A35C # pipe6_3()
375 0002A35C # {
376 0002A35C 13 00fa jbr L262
377 0002A35F L263:
378 0002A35F # force_loop = FALSE; /* clear the force_loop flag */
379 0002A35F 4d effffffd4f clrl _force_loop
380 0002A365 # index = 0;
381 0002A365 4d effffffd49 clrl _index
382 0002A36B # do
383 0002A36B L266:
384 0002A36B # {
385 0002A36B # sgl_value_1 = cvlf_1_data[index].ld; /* get operand 1 */
386 0002A36B 0d effffffd43 50 movl _index,r0
387 0002A372 48 03 50 50 shll $3,r0,r0
388 0002A376 0d e000000000 effffffd33 movl _cvlf_1_data(r0),_sgl_value_1
389 0002A381 # sgl_expected = cvlf_1_data[index].exp; /* get expected results */
390 0002A381 0d effffffd2d 50 movl _index,r0
391 0002A388 48 03 50 50 shll $3,r0,r0
392 0002A38C 0d e000000004 effffffd1d movl _cvlf_1_data+4(r0),_sgl_expected
393 0002A397 # sgl_value_2 = 0x00000000; /* floating '0' */
394 0002A397 4d effffffd17 clrl _sgl_value_2
395 0002A39D # /*
396 0002A39D # * If LOOP ON ERROR is set, this is the loop for this subtest.
397 0002A39D # * The force loop flag is set after the first error.
398 0002A39D # */
399 0002A39D # asm("_pipe6_3_lp1:");
400 0002A39D _pipe6_3_lp1:
401 0002A39D # asm("movl _sgl_value_1,r4"); /* move the data to r4 */
402 0002A39D 0d effffffd11 54 movl _sgl_value_1,r4
403 0002A3A4 # asm("movl _sgl_value_2,r5"); /* move data to r5 */
404 0002A3A4 0d effffffd0a 55 movl _sgl_value_2,r5
405 0002A3AB # asm("movl _sgl_expected,r6"); /* save the expected result*/
406 0002A3AB 0d effffffd03 56 movl _sgl_expected,r6
407 0002A3B2 # asm("ldf r5"); /* load a floating '0' */
408 0002A3B2 06 55 ldf r5
409 0002A3B4 # asm("nop");
410 0002A3B4 10 nop
411 0002A3B5 # asm("nop");
412 0002A3B5 10 nop
413 0002A3B6 # asm("addf r6"); /* add the expected value */
414 0002A3B6 c6 56 addf r6
415 0002A3B8 # asm("nop");
416 0002A3B8 10 nop
417 0002A3B9 # asm("nop");
418 0002A3B9 10 nop
419 0002A3BA # asm("stf r7"); /* store the result */
420 0002A3BA 26 57 stf r7
421 0002A3BC # asm("nop");
422 0002A3BC 10 nop
423 0002A3BD # asm("nop");
424 0002A3BD 10 nop
425 0002A3BE # asm("cvlf r4"); /* convert the operand */
426 0002A3BE 76 54 cvlf r4
427 0002A3C0 # asm("nop");
428 0002A3C0 10 nop
429 0002A3C1 # asm("nop");
430 0002A3C1 10 nop
431 0002A3C2 # asm("subf r5"); /* subtract a floating '0' */
432 0002A3C2 d6 55 subf r5
433 0002A3C4 # asm("nop");
434 0002A3C4 10 nop
435 0002A3C5 # asm("nop");
436 0002A3C5 10 nop
437 0002A3C6 # asm("stf r8"); /* store the result */
438 0002A3C6 26 58 stf r8
439 0002A3C8 # if( force_loop )
440 0002A3C8 5d effffffce6 tstl _force_loop
441 0002A3CE 31 02 jeql L267
442 0002A3D0 # asm("brb _pipe6_3_lp1");; /* loop on the error */
443 0002A3D0 11 cb brb _pipe6_3_lp1
444 0002A3D2 L267:
445 0002A3D2 # /*
446 0002A3D2 # * verify the results
447 0002A3D2 # */
448 0002A3D2 # asm("movl r7,_sgl_st_acc"); /* get the 1st store value */
449 0002A3D2 0d 57 effffffcdb movl r7,_sgl_st_acc
450 0002A3D9 # asm("movl r8,_sgl_value_6"); /* get the 2nd store value */
451 0002A3D9 0d 58 effffffcd4 movl r8,_sgl_value_6
452 0002A3E0 # if( (sgl_st_acc != sgl_expected) || /* COMPARE the values */
453 0002A3E0 # (sgl_value_6 != sgl_expected) )
454 0002A3E0 1d effffffcce effffffcc9 cmpl _sgl_st_acc,_sgl_expected
455 0002A3EB 21 0d jneq L9997
456 0002A3ED 1d effffffcc1 effffffcbc cmpl _sgl_value_6,_sgl_expected
457 0002A3F8 31 45 jeql L268
458 0002A3FA L9997:
459 0002A3FA # {
460 0002A3FA # errcnt++; /* bump the error count */
461 0002A3FA 6d effffffcb4 incl _errcnt
462 0002A400 # if ( prt_error )
463 0002A400 5d effffffcae tstl _prt_error
464 0002A406 31 0d jeql L269
465 0002A408 # print_pipe6_er("Reg. Data, 2 NO-OPs");
466 0002A408 .data 1
467 00000de9 * L270:
468 00000de9 * 5265672E20446174612C20322 .ascii "Reg. Data, 2 NO-OPs\0"
04E4F2D4F507300
469 00000dfd * .text
470 0002A408 dd 8f00000de9 pushl $L270
471 0002A40E fe 08 ef00000893 callf $8,_print_pipe6_er
472 0002A415 # if ( halt_flg ) /* halt on error? */
473 0002A415 L269:
474 0002A415 5d effffffc99 tstl _halt_flg
475 0002A41B 31 0d jeql L271
476 0002A41D # pipe6_er_hlt( subtest );
477 0002A41D dd effffffc91 pushl _subtest
478 0002A423 fe 08 ef000009c6 callf $8,_pipe6_er_hlt
479 0002A42A # if ( loop_on_err ) {
480 0002A42A L271:
481 0002A42A 5d effffffc84 tstl _loop_on_err
482 0002A430 31 0d jeql L272
483 0002A432 # force_loop = TRUE; /* set the force loop flag */
484 0002A432 0d 01 effffffc7b movl $1,_force_loop
485 0002A439 # asm("jmp _pipe6_3_lp1"); /* and loop */
486 0002A439 71 efffffff5e jmp _pipe6_3_lp1
487 0002A43F # }
488 0002A43F # } /* end of compare error */
489 0002A43F L272:
490 0002A43F # } while( index++ < max_cvlf_1_index );
491 0002A43F L268:
492 0002A43F L265:
493 0002A43F 0d effffffc6f 50 movl _index,r0
494 0002A446 6d effffffc68 incl _index
495 0002A44C 1d 50 effffffc61 cmpl r0,_max_cvlf_1_index
496 0002A453 81 03 13 ff13 jlss L266
497 0002A458 L264:
498 0002A458 # } /* end of subtest 3 */
499 0002A458 40 ret#2
500 0002A459 .set L260,0x0
501 0002A459 L262:
502 0002A459 13 ff03 jbr L263
503 0002A45C .data
504 00000db8 * .text
505 0002A45C .align 1
506 0002A45C .globl _pipe6_4
507 0002A45C _pipe6_4:
508 0002A45C 0000 .word L273
509 0002A45E #
510 0002A45E #
511 0002A45E #
512 0002A45E #
513 0002A45E #
514 0002A45E #
515 0002A45E # /************************************************************************
516 0002A45E # *
517 0002A45E # * SUBTEST 4
518 0002A45E # * data in registers, 3 NO-OPs
519 0002A45E # *
520 0002A45E # ************************************************************************/
521 0002A45E # pipe6_4()
522 0002A45E # {
523 0002A45E 13 00ff jbr L275
524 0002A461 L276:
525 0002A461 # force_loop = FALSE; /* clear the force_loop flag */
526 0002A461 4d effffffc4d clrl _force_loop
527 0002A467 # index = 0;
528 0002A467 4d effffffc47 clrl _index
529 0002A46D # do
530 0002A46D L279:
531 0002A46D # {
532 0002A46D # sgl_value_1 = cvlf_1_data[index].ld; /* get operand 1 */
533 0002A46D 0d effffffc41 50 movl _index,r0
534 0002A474 48 03 50 50 shll $3,r0,r0
535 0002A478 0d e000000000 effffffc31 movl _cvlf_1_data(r0),_sgl_value_1
536 0002A483 # sgl_expected = cvlf_1_data[index].exp; /* get expected results */
537 0002A483 0d effffffc2b 50 movl _index,r0
538 0002A48A 48 03 50 50 shll $3,r0,r0
539 0002A48E 0d e000000004 effffffc1b movl _cvlf_1_data+4(r0),_sgl_expected
540 0002A499 # sgl_value_2 = 0x00000000; /* floating '0' */
541 0002A499 4d effffffc15 clrl _sgl_value_2
542 0002A49F # /*
543 0002A49F # * If LOOP ON ERROR is set, this is the loop for this subtest.
544 0002A49F # * The force loop flag is set after the first error.
545 0002A49F # */
546 0002A49F # asm("_pipe6_4_lp1:");
547 0002A49F _pipe6_4_lp1:
548 0002A49F # asm("movl _sgl_value_1,r4"); /* move the data to r4 */
549 0002A49F 0d effffffc0f 54 movl _sgl_value_1,r4
550 0002A4A6 # asm("movl _sgl_value_2,r5"); /* move data to r5 */
551 0002A4A6 0d effffffc08 55 movl _sgl_value_2,r5
552 0002A4AD # asm("movl _sgl_expected,r6"); /* save the expected result*/
553 0002A4AD 0d effffffc01 56 movl _sgl_expected,r6
554 0002A4B4 # asm("ldf r5"); /* load a floating '0' */
555 0002A4B4 06 55 ldf r5
556 0002A4B6 # asm("nop");
557 0002A4B6 10 nop
558 0002A4B7 # asm("nop");
559 0002A4B7 10 nop
560 0002A4B8 # asm("nop");
561 0002A4B8 10 nop
562 0002A4B9 # asm("addf r6"); /* add the expected value */
563 0002A4B9 c6 56 addf r6
564 0002A4BB # asm("nop");
565 0002A4BB 10 nop
566 0002A4BC # asm("nop");
567 0002A4BC 10 nop
568 0002A4BD # asm("nop");
569 0002A4BD 10 nop
570 0002A4BE # asm("stf r7"); /* store the result */
571 0002A4BE 26 57 stf r7
572 0002A4C0 # asm("nop");
573 0002A4C0 10 nop
574 0002A4C1 # asm("nop");
575 0002A4C1 10 nop
576 0002A4C2 # asm("nop");
577 0002A4C2 10 nop
578 0002A4C3 # asm("cvlf r4"); /* convert the operand */
579 0002A4C3 76 54 cvlf r4
580 0002A4C5 # asm("nop");
581 0002A4C5 10 nop
582 0002A4C6 # asm("nop");
583 0002A4C6 10 nop
584 0002A4C7 # asm("nop");
585 0002A4C7 10 nop
586 0002A4C8 # asm("subf r5"); /* subtract a floating '0' */
587 0002A4C8 d6 55 subf r5
588 0002A4CA # asm("nop");
589 0002A4CA 10 nop
590 0002A4CB # asm("nop");
591 0002A4CB 10 nop
592 0002A4CC # asm("nop");
593 0002A4CC 10 nop
594 0002A4CD # asm("stf r8"); /* store the result */
595 0002A4CD 26 58 stf r8
596 0002A4CF # if( force_loop )
597 0002A4CF 5d effffffbdf tstl _force_loop
598 0002A4D5 31 02 jeql L280
599 0002A4D7 # asm("brb _pipe6_4_lp1");; /* loop on the error */
600 0002A4D7 11 c6 brb _pipe6_4_lp1
601 0002A4D9 L280:
602 0002A4D9 # /*
603 0002A4D9 # * verify the results
604 0002A4D9 # */
605 0002A4D9 # asm("movl r7,_sgl_st_acc"); /* get the 1st store value */
606 0002A4D9 0d 57 effffffbd4 movl r7,_sgl_st_acc
607 0002A4E0 # asm("movl r8,_sgl_value_6"); /* get the 2nd store value */
608 0002A4E0 0d 58 effffffbcd movl r8,_sgl_value_6
609 0002A4E7 # if( (sgl_st_acc != sgl_expected) || /* COMPARE the values */
610 0002A4E7 # (sgl_value_6 != sgl_expected) )
611 0002A4E7 1d effffffbc7 effffffbc2 cmpl _sgl_st_acc,_sgl_expected
612 0002A4F2 21 0d jneq L9996
613 0002A4F4 1d effffffbba effffffbb5 cmpl _sgl_value_6,_sgl_expected
614 0002A4FF 31 45 jeql L281
615 0002A501 L9996:
616 0002A501 # {
617 0002A501 # errcnt++; /* bump the error count */
618 0002A501 6d effffffbad incl _errcnt
619 0002A507 # if ( prt_error )
620 0002A507 5d effffffba7 tstl _prt_error
621 0002A50D 31 0d jeql L282
622 0002A50F # print_pipe6_er("Reg. Data, 3 NO-OPs");
623 0002A50F .data 1
624 00000dfd * L283:
625 00000dfd * 5265672E20446174612C20332 .ascii "Reg. Data, 3 NO-OPs\0"
04E4F2D4F507300
626 00000e11 * .text
627 0002A50F dd 8f00000dfd pushl $L283
628 0002A515 fe 08 ef0000078c callf $8,_print_pipe6_er
629 0002A51C # if ( halt_flg ) /* halt on error? */
630 0002A51C L282:
631 0002A51C 5d effffffb92 tstl _halt_flg
632 0002A522 31 0d jeql L284
633 0002A524 # pipe6_er_hlt( subtest );
634 0002A524 dd effffffb8a pushl _subtest
635 0002A52A fe 08 ef000008bf callf $8,_pipe6_er_hlt
636 0002A531 # if ( loop_on_err ) {
637 0002A531 L284:
638 0002A531 5d effffffb7d tstl _loop_on_err
639 0002A537 31 0d jeql L285
640 0002A539 # force_loop = TRUE; /* set the force loop flag */
641 0002A539 0d 01 effffffb74 movl $1,_force_loop
642 0002A540 # asm("jmp _pipe6_4_lp1"); /* and loop */
643 0002A540 71 efffffff59 jmp _pipe6_4_lp1
644 0002A546 # }
645 0002A546 # } /* end of compare error */
646 0002A546 L285:
647 0002A546 # } while( index++ < max_cvlf_1_index );
648 0002A546 L281:
649 0002A546 L278:
650 0002A546 0d effffffb68 50 movl _index,r0
651 0002A54D 6d effffffb61 incl _index
652 0002A553 1d 50 effffffb5a cmpl r0,_max_cvlf_1_index
653 0002A55A 81 03 13 ff0e jlss L279
654 0002A55F L277:
655 0002A55F # } /* end of subtest 4 */
656 0002A55F 40 ret#2
657 0002A560 .set L273,0x0
658 0002A560 L275:
659 0002A560 13 fefe jbr L276
660 0002A563 .data
661 00000db8 * .text
662 0002A563 00 .align 1
663 0002A564 .globl _pipe6_5
664 0002A564 _pipe6_5:
665 0002A564 0000 .word L286
666 0002A566 #
667 0002A566 #
668 0002A566 #
669 0002A566 #
670 0002A566 #
671 0002A566 #
672 0002A566 #
673 0002A566 # /************************************************************************
674 0002A566 # *
675 0002A566 # * SUBTEST 5
676 0002A566 # * data in Cache, no NO-OPs
677 0002A566 # *
678 0002A566 # ************************************************************************/
679 0002A566 # pipe6_5()
680 0002A566 # {
681 0002A566 13 00e5 jbr L288
682 0002A569 L289:
683 0002A569 # force_loop = FALSE; /* clear the force_loop flag */
684 0002A569 4d effffffb45 clrl _force_loop
685 0002A56F # index = 0;
686 0002A56F 4d effffffb3f clrl _index
687 0002A575 # do
688 0002A575 L292:
689 0002A575 # {
690 0002A575 # sgl_value_1 = cvlf_1_data[index].ld; /* get operand 1 */
691 0002A575 0d effffffb39 50 movl _index,r0
692 0002A57C 48 03 50 50 shll $3,r0,r0
693 0002A580 0d e000000000 effffffb29 movl _cvlf_1_data(r0),_sgl_value_1
694 0002A58B # sgl_expected = cvlf_1_data[index].exp; /* get expected results */
695 0002A58B 0d effffffb23 50 movl _index,r0
696 0002A592 48 03 50 50 shll $3,r0,r0
697 0002A596 0d e000000004 effffffb13 movl _cvlf_1_data+4(r0),_sgl_expected
698 0002A5A1 # sgl_value_2 = 0x00000000; /* floating '0' */
699 0002A5A1 4d effffffb0d clrl _sgl_value_2
700 0002A5A7 # /*
701 0002A5A7 # * If LOOP ON ERROR is set, this is the loop for this subtest.
702 0002A5A7 # * The force loop flag is set after the first error.
703 0002A5A7 # */
704 0002A5A7 # asm("_pipe6_5_lp1:");
705 0002A5A7 _pipe6_5_lp1:
706 0002A5A7 # asm("ldf _sgl_value_2"); /* load a floating '0' */
707 0002A5A7 06 effffffb07 ldf _sgl_value_2
708 0002A5AD # asm("addf _sgl_expected"); /* add the expected value */
709 0002A5AD c6 effffffb01 addf _sgl_expected
710 0002A5B3 # asm("stf _sgl_st_acc"); /* store the result */
711 0002A5B3 26 effffffafb stf _sgl_st_acc
712 0002A5B9 # asm("cvlf _sgl_value_1"); /* convert the int operand */
713 0002A5B9 76 effffffaf5 cvlf _sgl_value_1
714 0002A5BF # asm("subf _sgl_value_2"); /* subtract a floating '0' */
715 0002A5BF d6 effffffaef subf _sgl_value_2
716 0002A5C5 # asm("stf _sgl_value_6"); /* store the result */
717 0002A5C5 26 effffffae9 stf _sgl_value_6
718 0002A5CB # if( force_loop )
719 0002A5CB 5d effffffae3 tstl _force_loop
720 0002A5D1 31 02 jeql L293
721 0002A5D3 # asm("brb _pipe6_5_lp1");; /* loop on the error */
722 0002A5D3 11 d2 brb _pipe6_5_lp1
723 0002A5D5 L293:
724 0002A5D5 # /*
725 0002A5D5 # * verify the results
726 0002A5D5 # */
727 0002A5D5 # if( (sgl_st_acc != sgl_expected) || /* COMPARE the values */
728 0002A5D5 # (sgl_value_6 != sgl_expected) )
729 0002A5D5 1d effffffad9 effffffad4 cmpl _sgl_st_acc,_sgl_expected
730 0002A5E0 21 0d jneq L9995
731 0002A5E2 1d effffffacc effffffac7 cmpl _sgl_value_6,_sgl_expected
732 0002A5ED 31 45 jeql L294
733 0002A5EF L9995:
734 0002A5EF # {
735 0002A5EF # errcnt++; /* bump the error count */
736 0002A5EF 6d effffffabf incl _errcnt
737 0002A5F5 # if ( prt_error )
738 0002A5F5 5d effffffab9 tstl _prt_error
739 0002A5FB 31 0d jeql L295
740 0002A5FD # print_pipe6_er("Cache Data, no NO-OPs");
741 0002A5FD .data 1
742 00000e11 * L296:
743 00000e11 * 436163686520446174612C206 .ascii "Cache Data, no NO-OPs\0"
E6F204E4F2D4F507300
744 00000e27 * .text
745 0002A5FD dd 8f00000e11 pushl $L296
746 0002A603 fe 08 ef0000069e callf $8,_print_pipe6_er
747 0002A60A # if ( halt_flg ) /* halt on error? */
748 0002A60A L295:
749 0002A60A 5d effffffaa4 tstl _halt_flg
750 0002A610 31 0d jeql L297
751 0002A612 # pipe6_er_hlt( subtest );
752 0002A612 dd effffffa9c pushl _subtest
753 0002A618 fe 08 ef000007d1 callf $8,_pipe6_er_hlt
754 0002A61F # if ( loop_on_err ) {
755 0002A61F L297:
756 0002A61F 5d effffffa8f tstl _loop_on_err
757 0002A625 31 0d jeql L298
758 0002A627 # force_loop = TRUE; /* set the force loop flag */
759 0002A627 0d 01 effffffa86 movl $1,_force_loop
760 0002A62E # asm("jmp _pipe6_5_lp1"); /* and loop */
761 0002A62E 71 efffffff73 jmp _pipe6_5_lp1
762 0002A634 # }
763 0002A634 # } /* end of compare error */
764 0002A634 L298:
765 0002A634 # } while( index++ < max_cvlf_1_index );
766 0002A634 L294:
767 0002A634 L291:
768 0002A634 0d effffffa7a 50 movl _index,r0
769 0002A63B 6d effffffa73 incl _index
770 0002A641 1d 50 effffffa6c cmpl r0,_max_cvlf_1_index
771 0002A648 81 03 13 ff28 jlss L292
772 0002A64D L290:
773 0002A64D # } /* end of subtest 5 */
774 0002A64D 40 ret#2
775 0002A64E .set L286,0x0
776 0002A64E L288:
777 0002A64E 13 ff18 jbr L289
778 0002A651 .data
779 00000db8 * .text
780 0002A651 00 .align 1
781 0002A652 .globl _pipe6_6
782 0002A652 _pipe6_6:
783 0002A652 0000 .word L299
784 0002A654 #
785 0002A654 #
786 0002A654 #
787 0002A654 #
788 0002A654 #
789 0002A654 #
790 0002A654 # /************************************************************************
791 0002A654 # *
792 0002A654 # * SUBTEST 6
793 0002A654 # * data in Cache, 1 NO-OP
794 0002A654 # *
795 0002A654 # ************************************************************************/
796 0002A654 # pipe6_6()
797 0002A654 # {
798 0002A654 13 00ea jbr L301
799 0002A657 L302:
800 0002A657 # force_loop = FALSE; /* clear the force_loop flag */
801 0002A657 4d effffffa57 clrl _force_loop
802 0002A65D # index = 0;
803 0002A65D 4d effffffa51 clrl _index
804 0002A663 # do
805 0002A663 L305:
806 0002A663 # {
807 0002A663 # sgl_value_1 = cvlf_1_data[index].ld; /* get operand 1 */
808 0002A663 0d effffffa4b 50 movl _index,r0
809 0002A66A 48 03 50 50 shll $3,r0,r0
810 0002A66E 0d e000000000 effffffa3b movl _cvlf_1_data(r0),_sgl_value_1
811 0002A679 # sgl_expected = cvlf_1_data[index].exp; /* get expected results */
812 0002A679 0d effffffa35 50 movl _index,r0
813 0002A680 48 03 50 50 shll $3,r0,r0
814 0002A684 0d e000000004 effffffa25 movl _cvlf_1_data+4(r0),_sgl_expected
815 0002A68F # sgl_value_2 = 0x00000000; /* floating '0' */
816 0002A68F 4d effffffa1f clrl _sgl_value_2
817 0002A695 # /*
818 0002A695 # * If LOOP ON ERROR is set, this is the loop for this subtest.
819 0002A695 # * The force loop flag is set after the first error.
820 0002A695 # */
821 0002A695 # asm("_pipe6_6_lp1:");
822 0002A695 _pipe6_6_lp1:
823 0002A695 # asm("ldf _sgl_value_2"); /* load a floating '0' */
824 0002A695 06 effffffa19 ldf _sgl_value_2
825 0002A69B # asm("nop");
826 0002A69B 10 nop
827 0002A69C # asm("addf _sgl_expected"); /* add the expected value */
828 0002A69C c6 effffffa12 addf _sgl_expected
829 0002A6A2 # asm("nop");
830 0002A6A2 10 nop
831 0002A6A3 # asm("stf _sgl_st_acc"); /* store the result */
832 0002A6A3 26 effffffa0b stf _sgl_st_acc
833 0002A6A9 # asm("nop");
834 0002A6A9 10 nop
835 0002A6AA # asm("cvlf _sgl_value_1"); /* convert the int operand */
836 0002A6AA 76 effffffa04 cvlf _sgl_value_1
837 0002A6B0 # asm("nop");
838 0002A6B0 10 nop
839 0002A6B1 # asm("subf _sgl_value_2"); /* subtract a floating '0' */
840 0002A6B1 d6 effffff9fd subf _sgl_value_2
841 0002A6B7 # asm("nop");
842 0002A6B7 10 nop
843 0002A6B8 # asm("stf _sgl_value_6"); /* store the result */
844 0002A6B8 26 effffff9f6 stf _sgl_value_6
845 0002A6BE # if( force_loop )
846 0002A6BE 5d effffff9f0 tstl _force_loop
847 0002A6C4 31 02 jeql L306
848 0002A6C6 # asm("brb _pipe6_6_lp1");; /* loop on the error */
849 0002A6C6 11 cd brb _pipe6_6_lp1
850 0002A6C8 L306:
851 0002A6C8 # /*
852 0002A6C8 # * verify the results
853 0002A6C8 # */
854 0002A6C8 # if( (sgl_st_acc != sgl_expected) || /* COMPARE the values */
855 0002A6C8 # (sgl_value_6 != sgl_expected) )
856 0002A6C8 1d effffff9e6 effffff9e1 cmpl _sgl_st_acc,_sgl_expected
857 0002A6D3 21 0d jneq L9994
858 0002A6D5 1d effffff9d9 effffff9d4 cmpl _sgl_value_6,_sgl_expected
859 0002A6E0 31 45 jeql L307
860 0002A6E2 L9994:
861 0002A6E2 # {
862 0002A6E2 # errcnt++; /* bump the error count */
863 0002A6E2 6d effffff9cc incl _errcnt
864 0002A6E8 # if ( prt_error )
865 0002A6E8 5d effffff9c6 tstl _prt_error
866 0002A6EE 31 0d jeql L308
867 0002A6F0 # print_pipe6_er("Cache Data, 1 NO-OP");
868 0002A6F0 .data 1
869 00000e27 * L309:
870 00000e27 * 436163686520446174612C203 .ascii "Cache Data, 1 NO-OP\0"
1204E4F2D4F5000
871 00000e3b * .text
872 0002A6F0 dd 8f00000e27 pushl $L309
873 0002A6F6 fe 08 ef000005ab callf $8,_print_pipe6_er
874 0002A6FD # if ( halt_flg ) /* halt on error? */
875 0002A6FD L308:
876 0002A6FD 5d effffff9b1 tstl _halt_flg
877 0002A703 31 0d jeql L310
878 0002A705 # pipe6_er_hlt( subtest );
879 0002A705 dd effffff9a9 pushl _subtest
880 0002A70B fe 08 ef000006de callf $8,_pipe6_er_hlt
881 0002A712 # if ( loop_on_err ) {
882 0002A712 L310:
883 0002A712 5d effffff99c tstl _loop_on_err
884 0002A718 31 0d jeql L311
885 0002A71A # force_loop = TRUE; /* set the force loop flag */
886 0002A71A 0d 01 effffff993 movl $1,_force_loop
887 0002A721 # asm("jmp _pipe6_6_lp1"); /* and loop */
888 0002A721 71 efffffff6e jmp _pipe6_6_lp1
889 0002A727 # }
890 0002A727 # } /* end of compare error */
891 0002A727 L311:
892 0002A727 # } while( index++ < max_cvlf_1_index );
893 0002A727 L307:
894 0002A727 L304:
895 0002A727 0d effffff987 50 movl _index,r0
896 0002A72E 6d effffff980 incl _index
897 0002A734 1d 50 effffff979 cmpl r0,_max_cvlf_1_index
898 0002A73B 81 03 13 ff23 jlss L305
899 0002A740 L303:
900 0002A740 # } /* end of subtest 6 */
901 0002A740 40 ret#2
902 0002A741 .set L299,0x0
903 0002A741 L301:
904 0002A741 13 ff13 jbr L302
905 0002A744 .data
906 00000db8 * .text
907 0002A744 .align 1
908 0002A744 .globl _pipe6_7
909 0002A744 _pipe6_7:
910 0002A744 0000 .word L312
911 0002A746 #
912 0002A746 #
913 0002A746 #
914 0002A746 #
915 0002A746 #
916 0002A746 #
917 0002A746 # /************************************************************************
918 0002A746 # *
919 0002A746 # * SUBTEST 7
920 0002A746 # * data in Cache, 2 NO-OPs
921 0002A746 # *
922 0002A746 # ************************************************************************/
923 0002A746 # pipe6_7()
924 0002A746 # {
925 0002A746 13 00ef jbr L314
926 0002A749 L315:
927 0002A749 # force_loop = FALSE; /* clear the force_loop flag */
928 0002A749 4d effffff965 clrl _force_loop
929 0002A74F # index = 0;
930 0002A74F 4d effffff95f clrl _index
931 0002A755 # do
932 0002A755 L318:
933 0002A755 # {
934 0002A755 # sgl_value_1 = cvlf_1_data[index].ld; /* get operand 1 */
935 0002A755 0d effffff959 50 movl _index,r0
936 0002A75C 48 03 50 50 shll $3,r0,r0
937 0002A760 0d e000000000 effffff949 movl _cvlf_1_data(r0),_sgl_value_1
938 0002A76B # sgl_expected = cvlf_1_data[index].exp; /* get expected results */
939 0002A76B 0d effffff943 50 movl _index,r0
940 0002A772 48 03 50 50 shll $3,r0,r0
941 0002A776 0d e000000004 effffff933 movl _cvlf_1_data+4(r0),_sgl_expected
942 0002A781 # sgl_value_2 = 0x00000000; /* floating '0' */
943 0002A781 4d effffff92d clrl _sgl_value_2
944 0002A787 # /*
945 0002A787 # * If LOOP ON ERROR is set, this is the loop for this subtest.
946 0002A787 # * The force loop flag is set after the first error.
947 0002A787 # */
948 0002A787 # asm("_pipe6_7_lp1:");
949 0002A787 _pipe6_7_lp1:
950 0002A787 # asm("ldf _sgl_value_2"); /* load a floating '0' */
951 0002A787 06 effffff927 ldf _sgl_value_2
952 0002A78D # asm("nop");
953 0002A78D 10 nop
954 0002A78E # asm("nop");
955 0002A78E 10 nop
956 0002A78F # asm("addf _sgl_expected"); /* add the expected value */
957 0002A78F c6 effffff91f addf _sgl_expected
958 0002A795 # asm("nop");
959 0002A795 10 nop
960 0002A796 # asm("nop");
961 0002A796 10 nop
962 0002A797 # asm("stf _sgl_st_acc"); /* store the result */
963 0002A797 26 effffff917 stf _sgl_st_acc
964 0002A79D # asm("nop");
965 0002A79D 10 nop
966 0002A79E # asm("nop");
967 0002A79E 10 nop
968 0002A79F # asm("cvlf _sgl_value_1"); /* convert the int operand */
969 0002A79F 76 effffff90f cvlf _sgl_value_1
970 0002A7A5 # asm("nop");
971 0002A7A5 10 nop
972 0002A7A6 # asm("nop");
973 0002A7A6 10 nop
974 0002A7A7 # asm("subf _sgl_value_2"); /* subtract a floating '0' */
975 0002A7A7 d6 effffff907 subf _sgl_value_2
976 0002A7AD # asm("nop");
977 0002A7AD 10 nop
978 0002A7AE # asm("nop");
979 0002A7AE 10 nop
980 0002A7AF # asm("stf _sgl_value_6"); /* store the result */
981 0002A7AF 26 effffff8ff stf _sgl_value_6
982 0002A7B5 # if( force_loop )
983 0002A7B5 5d effffff8f9 tstl _force_loop
984 0002A7BB 31 02 jeql L319
985 0002A7BD # asm("brb _pipe6_7_lp1");; /* loop on the error */
986 0002A7BD 11 c8 brb _pipe6_7_lp1
987 0002A7BF L319:
988 0002A7BF # /*
989 0002A7BF # * verify the results
990 0002A7BF # */
991 0002A7BF # if( (sgl_st_acc != sgl_expected) || /* COMPARE the values */
992 0002A7BF # (sgl_value_6 != sgl_expected) )
993 0002A7BF 1d effffff8ef effffff8ea cmpl _sgl_st_acc,_sgl_expected
994 0002A7CA 21 0d jneq L9993
995 0002A7CC 1d effffff8e2 effffff8dd cmpl _sgl_value_6,_sgl_expected
996 0002A7D7 31 45 jeql L320
997 0002A7D9 L9993:
998 0002A7D9 # {
999 0002A7D9 # errcnt++; /* bump the error count */
1000 0002A7D9 6d effffff8d5 incl _errcnt
1001 0002A7DF # if ( prt_error )
1002 0002A7DF 5d effffff8cf tstl _prt_error
1003 0002A7E5 31 0d jeql L321
1004 0002A7E7 # print_pipe6_er("Cache Data, 2 NO-OPs");
1005 0002A7E7 .data 1
1006 00000e3b * L322:
1007 00000e3b * 436163686520446174612C203 .ascii "Cache Data, 2 NO-OPs\0"
2204E4F2D4F507300
1008 00000e50 * .text
1009 0002A7E7 dd 8f00000e3b pushl $L322
1010 0002A7ED fe 08 ef000004b4 callf $8,_print_pipe6_er
1011 0002A7F4 # if ( halt_flg ) /* halt on error? */
1012 0002A7F4 L321:
1013 0002A7F4 5d effffff8ba tstl _halt_flg
1014 0002A7FA 31 0d jeql L323
1015 0002A7FC # pipe6_er_hlt( subtest );
1016 0002A7FC dd effffff8b2 pushl _subtest
1017 0002A802 fe 08 ef000005e7 callf $8,_pipe6_er_hlt
1018 0002A809 # if ( loop_on_err ) {
1019 0002A809 L323:
1020 0002A809 5d effffff8a5 tstl _loop_on_err
1021 0002A80F 31 0d jeql L324
1022 0002A811 # force_loop = TRUE; /* set the force loop flag */
1023 0002A811 0d 01 effffff89c movl $1,_force_loop
1024 0002A818 # asm("jmp _pipe6_7_lp1"); /* and loop */
1025 0002A818 71 efffffff69 jmp _pipe6_7_lp1
1026 0002A81E # }
1027 0002A81E # } /* end of compare error */
1028 0002A81E L324:
1029 0002A81E # } while( index++ < max_cvlf_1_index );
1030 0002A81E L320:
1031 0002A81E L317:
1032 0002A81E 0d effffff890 50 movl _index,r0
1033 0002A825 6d effffff889 incl _index
1034 0002A82B 1d 50 effffff882 cmpl r0,_max_cvlf_1_index
1035 0002A832 81 03 13 ff1e jlss L318
1036 0002A837 L316:
1037 0002A837 # } /* end of subtest 7 */
1038 0002A837 40 ret#2
1039 0002A838 .set L312,0x0
1040 0002A838 L314:
1041 0002A838 13 ff0e jbr L315
1042 0002A83B .data
1043 00000db8 * .text
1044 0002A83B 00 .align 1
1045 0002A83C .globl _pipe6_8
1046 0002A83C _pipe6_8:
1047 0002A83C 0000 .word L325
1048 0002A83E #
1049 0002A83E #
1050 0002A83E #
1051 0002A83E #
1052 0002A83E #
1053 0002A83E #
1054 0002A83E # /************************************************************************
1055 0002A83E # *
1056 0002A83E # * SUBTEST 8
1057 0002A83E # * data in Cache, 3 NO-OPs
1058 0002A83E # *
1059 0002A83E # ************************************************************************/
1060 0002A83E # pipe6_8()
1061 0002A83E # {
1062 0002A83E 13 00f4 jbr L327
1063 0002A841 L328:
1064 0002A841 # force_loop = FALSE; /* clear the force_loop flag */
1065 0002A841 4d effffff86d clrl _force_loop
1066 0002A847 # index = 0;
1067 0002A847 4d effffff867 clrl _index
1068 0002A84D # do
1069 0002A84D L331:
1070 0002A84D # {
1071 0002A84D # sgl_value_1 = cvlf_1_data[index].ld; /* get operand 1 */
1072 0002A84D 0d effffff861 50 movl _index,r0
1073 0002A854 48 03 50 50 shll $3,r0,r0
1074 0002A858 0d e000000000 effffff851 movl _cvlf_1_data(r0),_sgl_value_1
1075 0002A863 # sgl_expected = cvlf_1_data[index].exp; /* get expected results */
1076 0002A863 0d effffff84b 50 movl _index,r0
1077 0002A86A 48 03 50 50 shll $3,r0,r0
1078 0002A86E 0d e000000004 effffff83b movl _cvlf_1_data+4(r0),_sgl_expected
1079 0002A879 # sgl_value_2 = 0x00000000; /* floating '0' */
1080 0002A879 4d effffff835 clrl _sgl_value_2
1081 0002A87F # /*
1082 0002A87F # * If LOOP ON ERROR is set, this is the loop for this subtest.
1083 0002A87F # * The force loop flag is set after the first error.
1084 0002A87F # */
1085 0002A87F # asm("_pipe6_8_lp1:");
1086 0002A87F _pipe6_8_lp1:
1087 0002A87F # asm("ldf _sgl_value_2"); /* load a floating '0' */
1088 0002A87F 06 effffff82f ldf _sgl_value_2
1089 0002A885 # asm("nop");
1090 0002A885 10 nop
1091 0002A886 # asm("nop");
1092 0002A886 10 nop
1093 0002A887 # asm("nop");
1094 0002A887 10 nop
1095 0002A888 # asm("addf _sgl_expected"); /* add the expected value */
1096 0002A888 c6 effffff826 addf _sgl_expected
1097 0002A88E # asm("nop");
1098 0002A88E 10 nop
1099 0002A88F # asm("nop");
1100 0002A88F 10 nop
1101 0002A890 # asm("nop");
1102 0002A890 10 nop
1103 0002A891 # asm("stf _sgl_st_acc"); /* store the result */
1104 0002A891 26 effffff81d stf _sgl_st_acc
1105 0002A897 # asm("nop");
1106 0002A897 10 nop
1107 0002A898 # asm("nop");
1108 0002A898 10 nop
1109 0002A899 # asm("nop");
1110 0002A899 10 nop
1111 0002A89A # asm("cvlf _sgl_value_1"); /* convert the int operand */
1112 0002A89A 76 effffff814 cvlf _sgl_value_1
1113 0002A8A0 # asm("nop");
1114 0002A8A0 10 nop
1115 0002A8A1 # asm("nop");
1116 0002A8A1 10 nop
1117 0002A8A2 # asm("nop");
1118 0002A8A2 10 nop
1119 0002A8A3 # asm("subf _sgl_value_2"); /* subtract a floating '0' */
1120 0002A8A3 d6 effffff80b subf _sgl_value_2
1121 0002A8A9 # asm("nop");
1122 0002A8A9 10 nop
1123 0002A8AA # asm("nop");
1124 0002A8AA 10 nop
1125 0002A8AB # asm("nop");
1126 0002A8AB 10 nop
1127 0002A8AC # asm("stf _sgl_value_6"); /* store the result */
1128 0002A8AC 26 effffff802 stf _sgl_value_6
1129 0002A8B2 # if( force_loop )
1130 0002A8B2 5d effffff7fc tstl _force_loop
1131 0002A8B8 31 02 jeql L332
1132 0002A8BA # asm("brb _pipe6_8_lp1");; /* loop on the error */
1133 0002A8BA 11 c3 brb _pipe6_8_lp1
1134 0002A8BC L332:
1135 0002A8BC # /*
1136 0002A8BC # * verify the results
1137 0002A8BC # */
1138 0002A8BC # if( (sgl_st_acc != sgl_expected) || /* COMPARE the values */
1139 0002A8BC # (sgl_value_6 != sgl_expected) )
1140 0002A8BC 1d effffff7f2 effffff7ed cmpl _sgl_st_acc,_sgl_expected
1141 0002A8C7 21 0d jneq L9992
1142 0002A8C9 1d effffff7e5 effffff7e0 cmpl _sgl_value_6,_sgl_expected
1143 0002A8D4 31 45 jeql L333
1144 0002A8D6 L9992:
1145 0002A8D6 # {
1146 0002A8D6 # errcnt++; /* bump the error count */
1147 0002A8D6 6d effffff7d8 incl _errcnt
1148 0002A8DC # if ( prt_error )
1149 0002A8DC 5d effffff7d2 tstl _prt_error
1150 0002A8E2 31 0d jeql L334
1151 0002A8E4 # print_pipe6_er("Cache Data, 3 NO-OPs");
1152 0002A8E4 .data 1
1153 00000e50 * L335:
1154 00000e50 * 436163686520446174612C203 .ascii "Cache Data, 3 NO-OPs\0"
3204E4F2D4F507300
1155 00000e65 * .text
1156 0002A8E4 dd 8f00000e50 pushl $L335
1157 0002A8EA fe 08 ef000003b7 callf $8,_print_pipe6_er
1158 0002A8F1 # if ( halt_flg ) /* halt on error? */
1159 0002A8F1 L334:
1160 0002A8F1 5d effffff7bd tstl _halt_flg
1161 0002A8F7 31 0d jeql L336
1162 0002A8F9 # pipe6_er_hlt( subtest );
1163 0002A8F9 dd effffff7b5 pushl _subtest
1164 0002A8FF fe 08 ef000004ea callf $8,_pipe6_er_hlt
1165 0002A906 # if ( loop_on_err ) {
1166 0002A906 L336:
1167 0002A906 5d effffff7a8 tstl _loop_on_err
1168 0002A90C 31 0d jeql L337
1169 0002A90E # force_loop = TRUE; /* set the force loop flag */
1170 0002A90E 0d 01 effffff79f movl $1,_force_loop
1171 0002A915 # asm("jmp _pipe6_8_lp1"); /* and loop */
1172 0002A915 71 efffffff64 jmp _pipe6_8_lp1
1173 0002A91B # }
1174 0002A91B # } /* end of compare error */
1175 0002A91B L337:
1176 0002A91B # } while( index++ < max_cvlf_1_index );
1177 0002A91B L333:
1178 0002A91B L330:
1179 0002A91B 0d effffff793 50 movl _index,r0
1180 0002A922 6d effffff78c incl _index
1181 0002A928 1d 50 effffff785 cmpl r0,_max_cvlf_1_index
1182 0002A92F 81 03 13 ff19 jlss L331
1183 0002A934 L329:
1184 0002A934 # } /* end of subtest 8 */
1185 0002A934 40 ret#2
1186 0002A935 .set L325,0x0
1187 0002A935 L327:
1188 0002A935 13 ff09 jbr L328
1189 0002A938 .data
1190 00000db8 * .text
1191 0002A938 .align 1
1192 0002A938 .globl _pipe6_9
1193 0002A938 _pipe6_9:
1194 0002A938 0000 .word L338
1195 0002A93A #
1196 0002A93A #
1197 0002A93A #
1198 0002A93A #
1199 0002A93A #
1200 0002A93A #
1201 0002A93A # /*****************************************************************************
1202 0002A93A # *
1203 0002A93A # * SUBTEST 9
1204 0002A93A # * data on the stack, no NO-OPs
1205 0002A93A # *
1206 0002A93A # *****************************************************************************/
1207 0002A93A # pipe6_9()
1208 0002A93A # {
1209 0002A93A 13 018b jbr L340
1210 0002A93D L341:
1211 0002A93D # asm("moval (r13),_pre_event_fp"); /* save the frame pointer */
1212 0002A93D ed 6d effffff770 moval (r13),_pre_event_fp
1213 0002A944 # asm("moval (r14),_pre_event_sp"); /* save the stack pointer */
1214 0002A944 ed 6e effffff769 moval (r14),_pre_event_sp
1215 0002A94B # force_loop = FALSE; /* clear the force_loop flag */
1216 0002A94B 4d effffff763 clrl _force_loop
1217 0002A951 # index = 0;
1218 0002A951 4d effffff75d clrl _index
1219 0002A957 # do
1220 0002A957 L344:
1221 0002A957 # {
1222 0002A957 # sgl_value_1 = cvlf_1_data[index].ld; /* get operand 1 */
1223 0002A957 0d effffff757 50 movl _index,r0
1224 0002A95E 48 03 50 50 shll $3,r0,r0
1225 0002A962 0d e000000000 effffff747 movl _cvlf_1_data(r0),_sgl_value_1
1226 0002A96D # sgl_expected = cvlf_1_data[index].exp; /* get expected results */
1227 0002A96D 0d effffff741 50 movl _index,r0
1228 0002A974 48 03 50 50 shll $3,r0,r0
1229 0002A978 0d e000000004 effffff731 movl _cvlf_1_data+4(r0),_sgl_expected
1230 0002A983 # sgl_value_2 = 0x00000000; /* floating '0' */
1231 0002A983 4d effffff72b clrl _sgl_value_2
1232 0002A989 # asm("moval _pointer_data,_sgl_value_4");/* init / final SP value */
1233 0002A989 ed effffff725 effffff720 moval _pointer_data,_sgl_value_4
1234 0002A994 # /*
1235 0002A994 # * If LOOP ON ERROR is set, this is the loop for this subtest.
1236 0002A994 # * The force loop flag is set after the first error.
1237 0002A994 # */
1238 0002A994 # asm("_pipe6_9_lp1:");
1239 0002A994 _pipe6_9_lp1:
1240 0002A994 # asm("moval _pointer_data,r14"); /* set the stack pointer */
1241 0002A994 ed effffff71a 5e moval _pointer_data,r14
1242 0002A99B # asm("movl _sgl_value_2,-(r14)"); /* push a floating '0' */
1243 0002A99B 0d effffff713 7e movl _sgl_value_2,-(r14)
1244 0002A9A2 # asm("movl _sgl_value_1,-(r14)"); /* push the operand */
1245 0002A9A2 0d effffff70c 7e movl _sgl_value_1,-(r14)
1246 0002A9A9 # asm("movl _sgl_expected,-(r14)"); /* push the expected result*/
1247 0002A9A9 0d effffff705 7e movl _sgl_expected,-(r14)
1248 0002A9B0 # asm("movl _sgl_value_2,-(r14)"); /* push a floating '0' */
1249 0002A9B0 0d effffff6fe 7e movl _sgl_value_2,-(r14)
1250 0002A9B7 # /*
1251 0002A9B7 # * now pop the data off the stack
1252 0002A9B7 # */
1253 0002A9B7 #
1254 0002A9B7 # asm("ldf (r14)+"); /* load the '0' value */
1255 0002A9B7 06 8e ldf (r14)+
1256 0002A9B9 # asm("addf (r14)+"); /* add the expected result */
1257 0002A9B9 c6 8e addf (r14)+
1258 0002A9BB # asm("stf r5"); /* store the result */
1259 0002A9BB 26 55 stf r5
1260 0002A9BD # asm("cvlf (r14)+"); /* convert the integer op */
1261 0002A9BD 76 8e cvlf (r14)+
1262 0002A9BF # asm("subf (r14)+"); /* subtract a floating '0' */
1263 0002A9BF d6 8e subf (r14)+
1264 0002A9C1 # asm("stf r6"); /* store the result */
1265 0002A9C1 26 56 stf r6
1266 0002A9C3 # if( force_loop )
1267 0002A9C3 5d effffff6eb tstl _force_loop
1268 0002A9C9 31 02 jeql L345
1269 0002A9CB # asm("brb _pipe6_9_lp1");; /* loop on the error */
1270 0002A9CB 11 c7 brb _pipe6_9_lp1
1271 0002A9CD L345:
1272 0002A9CD # /*
1273 0002A9CD # * verify the results
1274 0002A9CD # */
1275 0002A9CD # asm("movl r5,_sgl_st_acc"); /* get the 1st store value */
1276 0002A9CD 0d 55 effffff6e0 movl r5,_sgl_st_acc
1277 0002A9D4 # asm("movl r6,_sgl_value_6"); /* get the 2nd store value */
1278 0002A9D4 0d 56 effffff6d9 movl r6,_sgl_value_6
1279 0002A9DB # asm("moval (r14),_sgl_value_5"); /* save the stack pointer */
1280 0002A9DB ed 6e effffff6d2 moval (r14),_sgl_value_5
1281 0002A9E2 # if( (sgl_st_acc != sgl_expected) || /* verify the results... */
1282 0002A9E2 # (sgl_value_6 != sgl_expected) ||
1283 0002A9E2 # (sgl_value_5 != sgl_value_4) ) /* ... and the final SP */
1284 0002A9E2 1d effffff6cc effffff6c7 cmpl _sgl_st_acc,_sgl_expected
1285 0002A9ED 21 1d jneq L9991
1286 0002A9EF 1d effffff6bf effffff6ba cmpl _sgl_value_6,_sgl_expected
1287 0002A9FA 21 10 jneq L9991
1288 0002A9FC 1d effffff6b2 effffff6ad cmpl _sgl_value_5,_sgl_value_4
1289 0002AA07 21 03 13 0094 jeql L346
1290 0002AA0C L9991:
1291 0002AA0C # {
1292 0002AA0C # asm("movl _pre_event_fp,r13"); /* restore frame pointer */
1293 0002AA0C 0d effffff6a2 5d movl _pre_event_fp,r13
1294 0002AA13 # asm("movl _pre_event_sp,r14"); /* restore stack pointer */
1295 0002AA13 0d effffff69b 5e movl _pre_event_sp,r14
1296 0002AA1A # errcnt++; /* bump the error count */
1297 0002AA1A 6d effffff694 incl _errcnt
1298 0002AA20 # if ( prt_error ) {
1299 0002AA20 5d effffff68e tstl _prt_error
1300 0002AA26 31 4e jeql L347
1301 0002AA28 # print_pipe4_er("POP data from the STACK");
1302 0002AA28 .data 1
1303 00000e65 * L349:
1304 00000e65 * 504F5020646174612066726F6 .ascii "POP data from the STACK\0"
D2074686520535441434B00
1305 00000e7d * .text
1306 0002AA28 dd 8f00000e65 pushl $L349
1307 0002AA2E fe 08 effffff67f callf $8,_print_pipe4_er
1308 0002AA35 # writes("final Stack Pointer = ");
1309 0002AA35 .data 1
1310 00000e7d * L350:
1311 00000e7d * 66696E616C20537461636B205 .ascii "final Stack Pointer = \0"
06F696E746572203D2000
1312 00000e94 * .text
1313 0002AA35 dd 8f00000e7d pushl $L350
1314 0002AA3B fe 08 effffff672 callf $8,_writes
1315 0002AA42 # write32h( sgl_value_5 );
1316 0002AA42 dd effffff66c pushl _sgl_value_5
1317 0002AA48 fe 08 effffff665 callf $8,_write32h
1318 0002AA4F # writes(", expected SP = ");
1319 0002AA4F .data 1
1320 00000e94 * L352:
1321 00000e94 * 2C20206578706563746564205 .ascii ", expected SP = \0"
350203D2000
1322 00000ea6 * .text
1323 0002AA4F dd 8f00000e94 pushl $L352
1324 0002AA55 fe 08 effffff658 callf $8,_writes
1325 0002AA5C # write32h( sgl_value_4 );
1326 0002AA5C dd effffff652 pushl _sgl_value_4
1327 0002AA62 fe 08 effffff64b callf $8,_write32h
1328 0002AA69 # writes("\n");
1329 0002AA69 .data 1
1330 00000ea6 * L353:
1331 00000ea6 * 0A00 .ascii "\12\0"
1332 00000ea8 * .text
1333 0002AA69 dd 8f00000ea6 pushl $L353
1334 0002AA6F fe 08 effffff63e callf $8,_writes
1335 0002AA76 # }
1336 0002AA76 # if ( halt_flg ) /* halt on error? */
1337 0002AA76 L347:
1338 0002AA76 5d effffff638 tstl _halt_flg
1339 0002AA7C 31 0d jeql L354
1340 0002AA7E # pipe6_er_hlt( subtest );
1341 0002AA7E dd effffff630 pushl _subtest
1342 0002AA84 fe 08 ef00000365 callf $8,_pipe6_er_hlt
1343 0002AA8B # if ( loop_on_err ) {
1344 0002AA8B L354:
1345 0002AA8B 5d effffff623 tstl _loop_on_err
1346 0002AA91 31 0d jeql L355
1347 0002AA93 # force_loop = TRUE; /* set the force loop flag */
1348 0002AA93 0d 01 effffff61a movl $1,_force_loop
1349 0002AA9A # asm("jmp _pipe6_9_lp1"); /* and loop */
1350 0002AA9A 71 effffffef4 jmp _pipe6_9_lp1
1351 0002AAA0 # }
1352 0002AAA0 # } /* end of compare error */
1353 0002AAA0 L355:
1354 0002AAA0 # } while( index++ < max_cvlf_1_index );
1355 0002AAA0 L346:
1356 0002AAA0 L343:
1357 0002AAA0 0d effffff60e 50 movl _index,r0
1358 0002AAA7 6d effffff607 incl _index
1359 0002AAAD 1d 50 effffff600 cmpl r0,_max_cvlf_1_index
1360 0002AAB4 81 03 13 fe9e jlss L344
1361 0002AAB9 L342:
1362 0002AAB9 # asm("movl _pre_event_fp,r13"); /* restore the frame pointer */
1363 0002AAB9 0d effffff5f5 5d movl _pre_event_fp,r13
1364 0002AAC0 # asm("movl _pre_event_sp,r14"); /* restore the stack pointer */
1365 0002AAC0 0d effffff5ee 5e movl _pre_event_sp,r14
1366 0002AAC7 # } /* end of subtest 9 */
1367 0002AAC7 40 ret#2
1368 0002AAC8 .set L338,0x0
1369 0002AAC8 L340:
1370 0002AAC8 13 fe72 jbr L341
1371 0002AACB .data
1372 00000db8 * .text
1373 0002AACB 00 .align 1
1374 0002AACC .globl _pipe6_10
1375 0002AACC _pipe6_10:
1376 0002AACC 0000 .word L356
1377 0002AACE #
1378 0002AACE #
1379 0002AACE #
1380 0002AACE #
1381 0002AACE #
1382 0002AACE #
1383 0002AACE # /******************************************************************************
1384 0002AACE # *
1385 0002AACE # * SUBTEST 10
1386 0002AACE # * get data via indexed FRAME pointer
1387 0002AACE # *
1388 0002AACE # * ADDR INDEX DATA
1389 0002AACE # * pointer_data 4 <the 1st STF result goes here>
1390 0002AACE # * pointer_data-4 3 <the 2nd STF result goes here>
1391 0002AACE # * pointer_data-8 2 <integer operand>
1392 0002AACE # * pointer_data-12 1 <floating '0'>
1393 0002AACE # * pointer_data-16 0 <floating operand> ( point FP here )
1394 0002AACE # *
1395 0002AACE # ******************************************************************************/
1396 0002AACE # pipe6_10()
1397 0002AACE # {
1398 0002AACE 13 01d3 jbr L358
1399 0002AAD1 L359:
1400 0002AAD1 # asm("moval (r13),_pre_event_fp"); /* save the frame pointer */
1401 0002AAD1 ed 6d effffff5dc moval (r13),_pre_event_fp
1402 0002AAD8 # asm("moval (r14),_pre_event_sp"); /* save the stack pointer */
1403 0002AAD8 ed 6e effffff5d5 moval (r14),_pre_event_sp
1404 0002AADF # force_loop = FALSE; /* clear the force_loop flag */
1405 0002AADF 4d effffff5cf clrl _force_loop
1406 0002AAE5 # index = 0;
1407 0002AAE5 4d effffff5c9 clrl _index
1408 0002AAEB # do
1409 0002AAEB L362:
1410 0002AAEB # {
1411 0002AAEB # sgl_value_1 = cvlf_1_data[index].ld; /* get operand 1 */
1412 0002AAEB 0d effffff5c3 50 movl _index,r0
1413 0002AAF2 48 03 50 50 shll $3,r0,r0
1414 0002AAF6 0d e000000000 effffff5b3 movl _cvlf_1_data(r0),_sgl_value_1
1415 0002AB01 # sgl_expected = cvlf_1_data[index].exp; /* get expected results */
1416 0002AB01 0d effffff5ad 50 movl _index,r0
1417 0002AB08 48 03 50 50 shll $3,r0,r0
1418 0002AB0C 0d e000000004 effffff59d movl _cvlf_1_data+4(r0),_sgl_expected
1419 0002AB17 # sgl_value_2 = 0x00000000; /* floating '0' */
1420 0002AB17 4d effffff597 clrl _sgl_value_2
1421 0002AB1D # asm("moval _pointer_data,_sgl_value_4"); /* get store data's addr */
1422 0002AB1D ed effffff591 effffff58c moval _pointer_data,_sgl_value_4
1423 0002AB28 # sgl_value_4 -= 8; /* decrement it by 8 (bytes)*/
1424 0002AB28 2c 08 effffff585 subl2 $8,_sgl_value_4
1425 0002AB2F # asm("movl _sgl_value_1,*_sgl_value_4"); /* set the integer op. */
1426 0002AB2F 0d effffff57f fffffff57a movl _sgl_value_1,*_sgl_value_4
1427 0002AB3A # sgl_value_4 -= 4; /* decrement it by 4 (bytes)*/
1428 0002AB3A 2c 04 effffff573 subl2 $4,_sgl_value_4
1429 0002AB41 # asm("movl _sgl_value_2,*_sgl_value_4"); /* set the floating '0' */
1430 0002AB41 0d effffff56d fffffff568 movl _sgl_value_2,*_sgl_value_4
1431 0002AB4C # sgl_value_4 -= 4; /* get FRAME PTR address */
1432 0002AB4C 2c 04 effffff561 subl2 $4,_sgl_value_4
1433 0002AB53 # asm("movl _sgl_expected,*_sgl_value_4"); /* set the floating op. */
1434 0002AB53 0d effffff55b fffffff556 movl _sgl_expected,*_sgl_value_4
1435 0002AB5E # /*
1436 0002AB5E # * If LOOP ON ERROR is set, this is the loop for this subtest.
1437 0002AB5E # * The force loop flag is set after the first error.
1438 0002AB5E # */
1439 0002AB5E # asm("_pipe6_10_lp1:");
1440 0002AB5E _pipe6_10_lp1:
1441 0002AB5E # asm("movl _sgl_value_4,r13"); /* set the FRAME POINTER */
1442 0002AB5E 0d effffff550 5d movl _sgl_value_4,r13
1443 0002AB65 # asm("movl $1,r1"); /* r1 index = 1 ( '0' ) */
1444 0002AB65 0d 01 51 movl $1,r1
1445 0002AB68 # asm("movl $2,r2"); /* r2 index = 2 (int. op.) */
1446 0002AB68 0d 02 52 movl $2,r2
1447 0002AB6B # asm("movl $3,r3"); /* r3 index = 3 (2nd store) */
1448 0002AB6B 0d 03 53 movl $3,r3
1449 0002AB6E # asm("movl $4,r4"); /* r4 index = 4 (1st store) */
1450 0002AB6E 0d 04 54 movl $4,r4
1451 0002AB71 # asm("clrl r5"); /* r5 index = 0 (sgl. op.) */
1452 0002AB71 4d 55 clrl r5
1453 0002AB73 # asm("ldf (r13)[r1]"); /* load a '0' (indx=1) */
1454 0002AB73 06 416d ldf (r13)[r1]
1455 0002AB76 # asm("addf (r13)[r5]"); /* add the operand (indx=0) */
1456 0002AB76 c6 456d addf (r13)[r5]
1457 0002AB79 # asm("stf (r13)[r4]"); /* 1st store (indx=4) */
1458 0002AB79 26 446d stf (r13)[r4]
1459 0002AB7C # asm("cvlf (r13)[r2]"); /* convert the int (indx=2) */
1460 0002AB7C 76 426d cvlf (r13)[r2]
1461 0002AB7F # asm("subf (r13)[r1]"); /* subtract a '0' (indx=1) */
1462 0002AB7F d6 416d subf (r13)[r1]
1463 0002AB82 # asm("stf (r13)[r3]"); /* 2nd store (indx=3) */
1464 0002AB82 26 436d stf (r13)[r3]
1465 0002AB85 # if( force_loop )
1466 0002AB85 5d effffff529 tstl _force_loop
1467 0002AB8B 31 02 jeql L363
1468 0002AB8D # asm("brb _pipe6_10_lp1");; /* loop on the error */
1469 0002AB8D 11 cf brb _pipe6_10_lp1
1470 0002AB8F L363:
1471 0002AB8F # /*
1472 0002AB8F # * verify the results
1473 0002AB8F # */
1474 0002AB8F # sgl_st_acc = pointer_data; /* save 1st stored value */
1475 0002AB8F 0d effffff51f effffff51a movl _pointer_data,_sgl_st_acc
1476 0002AB9A # asm("moval _pointer_data,_sgl_value_5"); /* get addr of 1st stf */
1477 0002AB9A ed effffff514 effffff50f moval _pointer_data,_sgl_value_5
1478 0002ABA5 # sgl_value_5 -= 4; /* decrement by 4 (bytes) */
1479 0002ABA5 2c 04 effffff508 subl2 $4,_sgl_value_5
1480 0002ABAC # asm("movl *_sgl_value_5,_sgl_value_6"); /* save 2nd store value */
1481 0002ABAC 0d fffffff502 effffff4fd movl *_sgl_value_5,_sgl_value_6
1482 0002ABB7 # asm("moval (r13),_sgl_value_5"); /* save the frame pointer */
1483 0002ABB7 ed 6d effffff4f6 moval (r13),_sgl_value_5
1484 0002ABBE # if( (sgl_st_acc != sgl_expected) || /* verify the results... */
1485 0002ABBE # (sgl_value_6 != sgl_expected) ||
1486 0002ABBE # (sgl_value_5 != sgl_value_4) ) /* ... and the final FP */
1487 0002ABBE 1d effffff4f0 effffff4eb cmpl _sgl_st_acc,_sgl_expected
1488 0002ABC9 21 1d jneq L9990
1489 0002ABCB 1d effffff4e3 effffff4de cmpl _sgl_value_6,_sgl_expected
1490 0002ABD6 21 10 jneq L9990
1491 0002ABD8 1d effffff4d6 effffff4d1 cmpl _sgl_value_5,_sgl_value_4
1492 0002ABE3 21 03 13 0094 jeql L364
1493 0002ABE8 L9990:
1494 0002ABE8 # {
1495 0002ABE8 # asm("movl _pre_event_fp,r13"); /* restore frame pointer */
1496 0002ABE8 0d effffff4c6 5d movl _pre_event_fp,r13
1497 0002ABEF # asm("movl _pre_event_sp,r14"); /* restore stack pointer */
1498 0002ABEF 0d effffff4bf 5e movl _pre_event_sp,r14
1499 0002ABF6 # errcnt++; /* bump the error count */
1500 0002ABF6 6d effffff4b8 incl _errcnt
1501 0002ABFC # if ( prt_error ) {
1502 0002ABFC 5d effffff4b2 tstl _prt_error
1503 0002AC02 31 4e jeql L365
1504 0002AC04 # print_pipe6_er("indexed FP addressing");
1505 0002AC04 .data 1
1506 00000ea8 * L366:
1507 00000ea8 * 696E646578656420465020616 .ascii "indexed FP addressing\0"
46472657373696E6700
1508 00000ebe * .text
1509 0002AC04 dd 8f00000ea8 pushl $L366
1510 0002AC0A fe 08 ef00000097 callf $8,_print_pipe6_er
1511 0002AC11 # writes("final Frame Pointer = ");
1512 0002AC11 .data 1
1513 00000ebe * L367:
1514 00000ebe * 66696E616C204672616D65205 .ascii "final Frame Pointer = \0"
06F696E746572203D2000
1515 00000ed5 * .text
1516 0002AC11 dd 8f00000ebe pushl $L367
1517 0002AC17 fe 08 effffff496 callf $8,_writes
1518 0002AC1E # writeh( sgl_value_5 );
1519 0002AC1E dd effffff490 pushl _sgl_value_5
1520 0002AC24 fe 08 effffff489 callf $8,_writeh
1521 0002AC2B # writes(", expected FP = ");
1522 0002AC2B .data 1
1523 00000ed5 * L369:
1524 00000ed5 * 2C20206578706563746564204 .ascii ", expected FP = \0"
650203D2000
1525 00000ee7 * .text
1526 0002AC2B dd 8f00000ed5 pushl $L369
1527 0002AC31 fe 08 effffff47c callf $8,_writes
1528 0002AC38 # writeh( sgl_value_4 );
1529 0002AC38 dd effffff476 pushl _sgl_value_4
1530 0002AC3E fe 08 effffff46f callf $8,_writeh
1531 0002AC45 # writes("\n");
1532 0002AC45 .data 1
1533 00000ee7 * L370:
1534 00000ee7 * 0A00 .ascii "\12\0"
1535 00000ee9 * .text
1536 0002AC45 dd 8f00000ee7 pushl $L370
1537 0002AC4B fe 08 effffff462 callf $8,_writes
1538 0002AC52 # }
1539 0002AC52 # if ( halt_flg ) /* halt on error? */
1540 0002AC52 L365:
1541 0002AC52 5d effffff45c tstl _halt_flg
1542 0002AC58 31 0d jeql L371
1543 0002AC5A # pipe6_er_hlt( subtest );
1544 0002AC5A dd effffff454 pushl _subtest
1545 0002AC60 fe 08 ef00000189 callf $8,_pipe6_er_hlt
1546 0002AC67 # if ( loop_on_err ) {
1547 0002AC67 L371:
1548 0002AC67 5d effffff447 tstl _loop_on_err
1549 0002AC6D 31 0d jeql L372
1550 0002AC6F # force_loop = TRUE; /* set the force loop flag */
1551 0002AC6F 0d 01 effffff43e movl $1,_force_loop
1552 0002AC76 # asm("jmp _pipe6_10_lp1"); /* and loop */
1553 0002AC76 71 effffffee2 jmp _pipe6_10_lp1
1554 0002AC7C # }
1555 0002AC7C # } /* end of compare error */
1556 0002AC7C L372:
1557 0002AC7C # } while( index++ < max_cvlf_1_index );
1558 0002AC7C L364:
1559 0002AC7C L361:
1560 0002AC7C 0d effffff432 50 movl _index,r0
1561 0002AC83 6d effffff42b incl _index
1562 0002AC89 1d 50 effffff424 cmpl r0,_max_cvlf_1_index
1563 0002AC90 81 03 13 fe56 jlss L362
1564 0002AC95 L360:
1565 0002AC95 # asm("movl _pre_event_fp,r13"); /* restore the frame pointer */
1566 0002AC95 0d effffff419 5d movl _pre_event_fp,r13
1567 0002AC9C # asm("movl _pre_event_sp,r14"); /* restore the stack pointer */
1568 0002AC9C 0d effffff412 5e movl _pre_event_sp,r14
1569 0002ACA3 # } /* end of subtest 10 */
1570 0002ACA3 40 ret#2
1571 0002ACA4 .set L356,0x0
1572 0002ACA4 L358:
1573 0002ACA4 13 fe2a jbr L359
1574 0002ACA7 .data
1575 00000db8 * .text
1576 0002ACA7 00 .align 1
1577 0002ACA8 .globl _print_pipe6_er
1578 0002ACA8 _print_pipe6_er:
1579 0002ACA8 0000 .word L373
1580 0002ACAA #
1581 0002ACAA #
1582 0002ACAA # /******************************************************************************
1583 0002ACAA # *
1584 0002ACAA # *
1585 0002ACAA # * print an error in the following form
1586 0002ACAA # *
1587 0002ACAA # * operand 1 = xxxxxxxx, 1st store = xxxxxxxx, data index = dd
1588 0002ACAA # * operand 2 = xxxxxxxx, 2nd store = xxxxxxxx
1589 0002ACAA # * expected Acc = xxxxxxxx
1590 0002ACAA # *
1591 0002ACAA # ******************************************************************************/
1592 0002ACAA # print_pipe6_er(msg)
1593 0002ACAA # char *msg;
1594 0002ACAA # {
1595 0002ACAA 13 0140 jbr L375
1596 0002ACAD L376:
1597 0002ACAD # writes("\n"); /* start a new print line */
1598 0002ACAD .data 1
1599 00000ee9 * L377:
1600 00000ee9 * 0A00 .ascii "\12\0"
1601 00000eeb * .text
1602 0002ACAD dd 8f00000ee9 pushl $L377
1603 0002ACB3 fe 08 effffff3fa callf $8,_writes
1604 0002ACBA # writes("cycle: ");
1605 0002ACBA .data 1
1606 00000eeb * L378:
1607 00000eeb * 6379636C653A2000 .ascii "cycle: \0"
1608 00000ef3 * .text
1609 0002ACBA dd 8f00000eeb pushl $L378
1610 0002ACC0 fe 08 effffff3ed callf $8,_writes
1611 0002ACC7 # writed( cycle );
1612 0002ACC7 dd effffff3e7 pushl _cycle
1613 0002ACCD fe 08 effffff3e0 callf $8,_writed
1614 0002ACD4 # writes(" test ");
1615 0002ACD4 .data 1
1616 00000ef3 * L380:
1617 00000ef3 * 20746573742000 .ascii " test \0"
1618 00000efa * .text
1619 0002ACD4 dd 8f00000ef3 pushl $L380
1620 0002ACDA fe 08 effffff3d3 callf $8,_writes
1621 0002ACE1 # writed( test_no );
1622 0002ACE1 dd effffff3cd pushl _test_no
1623 0002ACE7 fe 08 effffff3c6 callf $8,_writed
1624 0002ACEE # writes(" (Pipe 6), subtest ");
1625 0002ACEE .data 1
1626 00000efa * L381:
1627 00000efa * 202028506970652036292C207 .ascii " (Pipe 6), subtest \0"
37562746573742000
1628 00000f0f * .text
1629 0002ACEE dd 8f00000efa pushl $L381
1630 0002ACF4 fe 08 effffff3b9 callf $8,_writes
1631 0002ACFB # writed( subtest );
1632 0002ACFB dd effffff3b3 pushl _subtest
1633 0002AD01 fe 08 effffff3ac callf $8,_writed
1634 0002AD08 # writes(" error - ");
1635 0002AD08 .data 1
1636 00000f0f * L382:
1637 00000f0f * 206572726F72202D2000 .ascii " error - \0"
1638 00000f19 * .text
1639 0002AD08 dd 8f00000f0f pushl $L382
1640 0002AD0E fe 08 effffff39f callf $8,_writes
1641 0002AD15 # writes( msg );
1642 0002AD15 dd ad04 pushl 4(fp)
1643 0002AD18 fe 08 effffff395 callf $8,_writes
1644 0002AD1F # writec('\n');
1645 0002AD1F dd 0a pushl $10
1646 0002AD21 fe 08 effffff38c callf $8,_writec
1647 0002AD28 # writes(" LDF(0.0), ADDF(op1), STF, CVLF(op2), SUBF(0.0), STF\n");
1648 0002AD28 .data 1
1649 00000f19 * L384:
1650 00000f19 * 20204C444628302E30292C204 .ascii " LDF(0.0), ADDF(op1), STF, CVLF(op2), SUBF(0.0), STF\12\0"
1444446286F7031292C205354
462C2043564C46286F7032292
C205355424628302E30292C20
5354460A00
1651 00000f50 * .text
1652 0002AD28 dd 8f00000f19 pushl $L384
1653 0002AD2E fe 08 effffff37f callf $8,_writes
1654 0002AD35 # writes("operand 1 = ");
1655 0002AD35 .data 1
1656 00000f50 * L385:
1657 00000f50 * 6F706572616E642031203D200 .ascii "operand 1 = \0"
0
1658 00000f5d * .text
1659 0002AD35 dd 8f00000f50 pushl $L385
1660 0002AD3B fe 08 effffff372 callf $8,_writes
1661 0002AD42 # write32h( sgl_expected );
1662 0002AD42 dd effffff36c pushl _sgl_expected
1663 0002AD48 fe 08 effffff365 callf $8,_write32h
1664 0002AD4F # writes(", 1st store = ");
1665 0002AD4F .data 1
1666 00000f5d * L386:
1667 00000f5d * 2C2020203173742073746F726 .ascii ", 1st store = \0"
5203D2000
1668 00000f6e * .text
1669 0002AD4F dd 8f00000f5d pushl $L386
1670 0002AD55 fe 08 effffff358 callf $8,_writes
1671 0002AD5C # write32h( sgl_st_acc );
1672 0002AD5C dd effffff352 pushl _sgl_st_acc
1673 0002AD62 fe 08 effffff34b callf $8,_write32h
1674 0002AD69 # writes(", data index = ");
1675 0002AD69 .data 1
1676 00000f6e * L387:
1677 00000f6e * 2C2020206461746120696E646 .ascii ", data index = \0"
578203D2000
1678 00000f80 * .text
1679 0002AD69 dd 8f00000f6e pushl $L387
1680 0002AD6F fe 08 effffff33e callf $8,_writes
1681 0002AD76 # writed( index );
1682 0002AD76 dd effffff338 pushl _index
1683 0002AD7C fe 08 effffff331 callf $8,_writed
1684 0002AD83 # writec('\n');
1685 0002AD83 dd 0a pushl $10
1686 0002AD85 fe 08 effffff328 callf $8,_writec
1687 0002AD8C # writes("operand 2 = ");
1688 0002AD8C .data 1
1689 00000f80 * L388:
1690 00000f80 * 6F706572616E642032203D200 .ascii "operand 2 = \0"
0
1691 00000f8d * .text
1692 0002AD8C dd 8f00000f80 pushl $L388
1693 0002AD92 fe 08 effffff31b callf $8,_writes
1694 0002AD99 # write32h( sgl_value_1 );
1695 0002AD99 dd effffff315 pushl _sgl_value_1
1696 0002AD9F fe 08 effffff30e callf $8,_write32h
1697 0002ADA6 # writes(", 2nd store = ");
1698 0002ADA6 .data 1
1699 00000f8d * L389:
1700 00000f8d * 2C202020326E642073746F726 .ascii ", 2nd store = \0"
5203D2000
1701 00000f9e * .text
1702 0002ADA6 dd 8f00000f8d pushl $L389
1703 0002ADAC fe 08 effffff301 callf $8,_writes
1704 0002ADB3 # write32h( sgl_value_6 );
1705 0002ADB3 dd effffff2fb pushl _sgl_value_6
1706 0002ADB9 fe 08 effffff2f4 callf $8,_write32h
1707 0002ADC0 # writec('\n');
1708 0002ADC0 dd 0a pushl $10
1709 0002ADC2 fe 08 effffff2eb callf $8,_writec
1710 0002ADC9 # writes(" expected Acc = ");
1711 0002ADC9 .data 1
1712 00000f9e * L390:
1713 00000f9e * 2020202020202020202020202 .ascii " expected Acc = \0"
0202020202020202065787065
6374656420416363203D2000
1714 00000fc3 * .text
1715 0002ADC9 dd 8f00000f9e pushl $L390
1716 0002ADCF fe 08 effffff2de callf $8,_writes
1717 0002ADD6 # write32h( sgl_expected );
1718 0002ADD6 dd effffff2d8 pushl _sgl_expected
1719 0002ADDC fe 08 effffff2d1 callf $8,_write32h
1720 0002ADE3 # writec('\n');
1721 0002ADE3 dd 0a pushl $10
1722 0002ADE5 fe 08 effffff2c8 callf $8,_writec
1723 0002ADEC # }
1724 0002ADEC 40 ret#2
1725 0002ADED .set L373,0x0
1726 0002ADED L375:
1727 0002ADED 13 febd jbr L376
1728 0002ADF0 .data
1729 00000db8 * .text
1730 0002ADF0 .align 1
1731 0002ADF0 .globl _pipe6_er_hlt
1732 0002ADF0 _pipe6_er_hlt:
1733 0002ADF0 0000 .word L391
1734 0002ADF2 #
1735 0002ADF2 #
1736 0002ADF2 #
1737 0002ADF2 #
1738 0002ADF2 #
1739 0002ADF2 # /******************************************************************************
1740 0002ADF2 # *
1741 0002ADF2 # * HALT ON ERROR ROUTINE
1742 0002ADF2 # *
1743 0002ADF2 # * halt with the necessary information saved in the registers
1744 0002ADF2 # *
1745 0002ADF2 # ******************************************************************************/
1746 0002ADF2 # pipe6_er_hlt( subtest )
1747 0002ADF2 # int subtest;
1748 0002ADF2 # {
1749 0002ADF2 11 75 jbr L393
1750 0002ADF4 L394:
1751 0002ADF4 # asm("movl _test_no,r0"); /* r0 = test number */
1752 0002ADF4 0d effffff2ba 50 movl _test_no,r0
1753 0002ADFB # asm("movl _subtest,r1"); /* r1 = subtest number */
1754 0002ADFB 0d effffff2b3 51 movl _subtest,r1
1755 0002AE02 # asm("movl $1,r2"); /* r2 = error code */
1756 0002AE02 0d 01 52 movl $1,r2
1757 0002AE05 # asm("movl _cycle,r3"); /* r3 = cycle count */
1758 0002AE05 0d effffff2a9 53 movl _cycle,r3
1759 0002AE0C # asm("movl _sgl_expected,r4"); /* r4 = 1st operand */
1760 0002AE0C 0d effffff2a2 54 movl _sgl_expected,r4
1761 0002AE13 # asm("movl _sgl_value_1,r5"); /* r5 = 2nd operand */
1762 0002AE13 0d effffff29b 55 movl _sgl_value_1,r5
1763 0002AE1A # asm("movl _sgl_st_acc,r6"); /* r6 = 1st word stored */
1764 0002AE1A 0d effffff294 56 movl _sgl_st_acc,r6
1765 0002AE21 # asm("movl _sgl_value_6,r7"); /* r6 = 2nd word stored */
1766 0002AE21 0d effffff28d 57 movl _sgl_value_6,r7
1767 0002AE28 # asm("movl _sgl_expected,r8"); /* r8 = sgl expected */
1768 0002AE28 0d effffff286 58 movl _sgl_expected,r8
1769 0002AE2F # asm("movl _index,r9"); /* r9 = data index */
1770 0002AE2F 0d effffff27f 59 movl _index,r9
1771 0002AE36 # asm("movl _sgl_value_2,r10"); /* r10 = floating zero */
1772 0002AE36 0d effffff278 5a movl _sgl_value_2,r10
1773 0002AE3D # if( subtest == 9 ) {
1774 0002AE3D 1d ad04 09 cmpl 4(fp),$9
1775 0002AE41 21 10 jneq L395
1776 0002AE43 # asm("movl _sgl_value_5,r11"); /* r11= final SP value */
1777 0002AE43 0d effffff26b 5b movl _sgl_value_5,r11
1778 0002AE4A # asm("movl _sgl_value_4,r12"); /* r12= expected SP value */
1779 0002AE4A 0d effffff264 5c movl _sgl_value_4,r12
1780 0002AE51 # } else
1781 0002AE51 11 14 jbr L396
1782 0002AE53 L395:
1783 0002AE53 # if( subtest == 10 ) {
1784 0002AE53 1d ad04 0a cmpl 4(fp),$10
1785 0002AE57 21 0e jneq L397
1786 0002AE59 # asm("movl _sgl_value_5,r11"); /* r11= final FP value */
1787 0002AE59 0d effffff255 5b movl _sgl_value_5,r11
1788 0002AE60 # asm("movl _sgl_value_4,r12"); /* r12= expected FP value */
1789 0002AE60 0d effffff24e 5c movl _sgl_value_4,r12
1790 0002AE67 # };
1791 0002AE67 L397:
1792 0002AE67 L396:
1793 0002AE67 # asm(".globl _pipe6_1_hlt");
1794 0002AE67 .globl _pipe6_1_hlt
1795 0002AE67 # asm("_pipe6_1_hlt:"); /* PC after the halt */
1796 0002AE67 _pipe6_1_hlt:
1797 0002AE67 # asm("halt"); /* HALT ... */
1798 0002AE67 00 halt
1799 0002AE68 # } /* end of halt on error */
1800 0002AE68 40 ret#2
1801 0002AE69 .set L391,0x0
1802 0002AE69 L393:
1803 0002AE69 11 89 jbr L394
1804 0002AE6B .data
1804 00054F1F .data
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.