File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / macro4 / pipe16.lst
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:30:56 2019 UTC (6 years, 11 months ago) by root
Branches: bsd, MAIN
CVS tags: v121, HEAD
Power 6/32 Unix version 1.21

   1  00000000                                  LL0:
   2  00000000                                  	.data
   3  00000d34 *                                	.text
   4  00000000                                  	.align	1
   5  00000000                                  	.globl	_pipe_16
   6  00000000                                  _pipe_16:
   7  00031030    0000                          	.word	L215
   8  00031032                                   # #include "fpp_defs.h"
   9  00031032                                   # 
  10  00031032                                   # 
  11  00031032                                   # /*****************************************************************************
  12  00031032                                   # *
  13  00031032                                   # *		DBL PIPELINE TEST #16 MONITOR
  14  00031032                                   # *
  15  00031032                                   # *  This test will do:
  16  00031032                                   # *
  17  00031032                                   # *	LND(x)  ADDD(x)  SUBD(0)  SUBD(x)  STD
  18  00031032                                   # *
  19  00031032                                   # *  where the x's are the LND data patterns.
  20  00031032                                   # *****************************************************************************/
  21  00031032                                   # pipe_16()
  22  00031032                                   # {
  23  00031032    13 009b                       	jbr 	L217
  24  00031035                                  L218:
  25  00031035                                   # 	asm(".globl _pipeline_16_t");
  26  00031035                                  .globl _pipeline_16_t
  27  00031035                                   # 	asm("_pipeline_16_t:");			/* entry address            */
  28  00031035                                  _pipeline_16_t:
  29  00031035                                   # 	if( (cycle == 1) && (prt_hdrs) )	/* print headers on 1st cycle */
  30  00031035    1d effffffff5 01              	cmpl	_cycle,$1
  31  0003103C    21 15                         	jneq	L219
  32  0003103E    5d efffffffec                 	tstl	_prt_hdrs
  33  00031044    31 0d                         	jeql	L219
  34  00031046                                   # 	{
  35  00031046                                   # 	   writes(" PIPE_16");
  36  00031046                                  	.data	1
  37  00000d34 *                                L221:
  38  00000d34 *  20504950455F313600            	.ascii	" PIPE_16\0"
  39  00000d3d *                                	.text
  40  00031046    dd 8f00000d34                 	pushl	$L221
  41  0003104C    fe 08 efffffffdd              	callf	$8,_writes
  42  00031053                                   # 	}
  43  00031053                                   # 	subtest = 1;
  44  00031053                                  L219:
  45  00031053    0d 01 efffffffd6              	movl	$1,_subtest
  46  0003105A                                   # 	pipe16_1();				/* data in REGs,  no NOPs */
  47  0003105A    fe 04 ef00000073              	callf	$4,_pipe16_1
  48  00031061                                   # 	subtest++;				/* increment subtest num  */
  49  00031061    6d efffffffc9                 	incl	_subtest
  50  00031067                                   # 	pipe16_2();				/* data in REGs,   1 NOP  */
  51  00031067    fe 04 ef00000194              	callf	$4,_pipe16_2
  52  0003106E                                   # 	subtest++;				/* increment subtest num  */
  53  0003106E    6d efffffffbc                 	incl	_subtest
  54  00031074                                   # 	pipe16_3();				/* data in REGs,   2 NOPs */
  55  00031074    fe 04 ef000002b9              	callf	$4,_pipe16_3
  56  0003107B                                   # 	subtest++;				/* increment subtest num  */
  57  0003107B    6d efffffffaf                 	incl	_subtest
  58  00031081                                   # 	pipe16_4();				/* data in REGs,   3 NOPs */
  59  00031081    fe 04 ef000003e2              	callf	$4,_pipe16_4
  60  00031088                                   # 	subtest++;				/* increment subtest num  */
  61  00031088    6d efffffffa2                 	incl	_subtest
  62  0003108E                                   # 	pipe16_5();				/* data in CACHE, no NOPs */
  63  0003108E    fe 04 ef0000050f              	callf	$4,_pipe16_5
  64  00031095                                   # 	subtest++;				/* increment subtest num  */
  65  00031095    6d efffffff95                 	incl	_subtest
  66  0003109B                                   # 	pipe16_6();				/* data in CACHE,  1 NOP  */
  67  0003109B    fe 04 ef000005fc              	callf	$4,_pipe16_6
  68  000310A2                                   # 	subtest++;				/* increment subtest num  */
  69  000310A2    6d efffffff88                 	incl	_subtest
  70  000310A8                                   # 	pipe16_7();				/* data in CACHE,  2 NOPs */
  71  000310A8    fe 04 ef000006ed              	callf	$4,_pipe16_7
  72  000310AF                                   # 	subtest++;				/* increment subtest num  */
  73  000310AF    6d efffffff7b                 	incl	_subtest
  74  000310B5                                   # 	pipe16_8();				/* data in CACHE,  3 NOPs */
  75  000310B5    fe 04 ef000007e2              	callf	$4,_pipe16_8
  76  000310BC                                   # 	subtest++;				/* increment subtest num  */
  77  000310BC    6d efffffff6e                 	incl	_subtest
  78  000310C2                                   # 	pipe16_9();				/* data via F.P.   0 NOPs */
  79  000310C2    fe 04 ef000008db              	callf	$4,_pipe16_9
  80  000310C9                                   # 	asm("jmp *return");			/* return to the test monitor */
  81  000310C9    71 ffffffff61                 jmp *return
  82  000310CF                                   # }
  83  000310CF    40                            	ret#2
  84  000310D0                                  	.set	L215,0x0
  85  000310D0                                  L217:
  86  000310D0    13 ff62                       	jbr 	L218
  87  000310D3                                  	.data
  88  00000d34 *                                	.text
  89  000310D3    00                            	.align	1
  90  000310D4                                  	.globl	_pipe16_1
  91  000310D4                                  _pipe16_1:
  92  000310D4    0000                          	.word	L231
  93  000310D6                                   # 
  94  000310D6                                   # 
  95  000310D6                                   # 
  96  000310D6                                   # 
  97  000310D6                                   # 
  98  000310D6                                   # 
  99  000310D6                                   # 
 100  000310D6                                   # /************************************************************************
 101  000310D6                                   # *
 102  000310D6                                   # *			SUBTEST 1  
 103  000310D6                                   # *		data in registers, no NO-OPs
 104  000310D6                                   # *
 105  000310D6                                   # ************************************************************************/
 106  000310D6                                   # pipe16_1() 
 107  000310D6                                   # {
 108  000310D6    13 0126                       	jbr 	L233
 109  000310D9                                  L234:
 110  000310D9                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 111  000310D9    4d efffffff51                 	clrl	_force_loop
 112  000310DF                                   # 	index = 0;
 113  000310DF    4d efffffff4b                 	clrl	_index
 114  000310E5                                   # 	do 
 115  000310E5                                  L237:
 116  000310E5                                   # 	{
 117  000310E5                                   # 	   sgl_value_1  = lnd_1_data[index].ld.m; /* get the operand's MSW    */
 118  000310E5    0d efffffff45 50              	movl	_index,r0
 119  000310EC    48 04 50 50                   	shll	$4,r0,r0
 120  000310F0    0d e000000000 efffffff35      	movl	_lnd_1_data(r0),_sgl_value_1
 121  000310FB                                   # 	   sgl_value_2  = lnd_1_data[index].ld.l; /* get the operand's MSW    */
 122  000310FB    0d efffffff2f 50              	movl	_index,r0
 123  00031102    48 04 50 50                   	shll	$4,r0,r0
 124  00031106    0d e000000004 efffffff1f      	movl	_lnd_1_data+4(r0),_sgl_value_2
 125  00031111                                   # 	   sgl_value_7  = 0;		  	  /* get a '0.0'              */
 126  00031111    4d efffffff19                 	clrl	_sgl_value_7
 127  00031117                                   # 	   dbl_expected = lnd_1_data[index].exp;  /* get the expected results */
 128  00031117    48 04 efffffff12 50           	shll	$4,_index,r0
 129  0003111F    0c 8f00000008 50              	addl2	$_lnd_1_data+8,r0
 130  00031126    0d a004 efffffff06            	movl	4(r0),_dbl_expected+4
 131  0003112E    0d 60 effffffefb              	movl	(r0),_dbl_expected
 132  00031135                                   # /*
 133  00031135                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 134  00031135                                   #  * The force loop flag is set after the first error.
 135  00031135                                   # */
 136  00031135                                   # 	   asm("_pipe16_1_lp1:");
 137  00031135                                  _pipe16_1_lp1:
 138  00031135                                   # 	   asm("movl _sgl_value_1,r4");		/* move the data to r4/r5  */
 139  00031135    0d effffffef5 54              movl _sgl_value_1,r4
 140  0003113C                                   # 	   asm("movl _sgl_value_2,r5");		
 141  0003113C    0d effffffeee 55              movl _sgl_value_2,r5
 142  00031143                                   # 	   asm("movl _sgl_value_7,r2");		/* move a '0.0' to r2/r3   */
 143  00031143    0d effffffee7 52              movl _sgl_value_7,r2
 144  0003114A                                   # 	   asm("movl _sgl_value_7,r3");		
 145  0003114A    0d effffffee0 53              movl _sgl_value_7,r3
 146  00031151                                   # 	   asm("lnd  r4");			/* load the operand (-op ) */
 147  00031151    17 54                         lnd  r4
 148  00031153                                   # 	   asm("addd r4");			/* add the operand  (  0 ) */
 149  00031153    c7 54                         addd r4
 150  00031155                                   # 	   asm("subd r2");			/* subtract a '0.0' (  0 ) */
 151  00031155    d7 52                         subd r2
 152  00031157                                   # 	   asm("subd r4");			/* subtract the op  (-op ) */
 153  00031157    d7 54                         subd r4
 154  00031159                                   # 	   asm("std  r6");			/* store the result (-op ) */
 155  00031159    27 56                         std  r6
 156  0003115B                                   # 	   if( force_loop )
 157  0003115B    5d effffffecf                 	tstl	_force_loop
 158  00031161    31 02                         	jeql	L238
 159  00031163                                   # 	       asm("brb _pipe16_1_lp1");;	/* run the loop again      */
 160  00031163    11 d0                         brb _pipe16_1_lp1
 161  00031165                                  L238:
 162  00031165                                   # /* 
 163  00031165                                   #  * verify the results
 164  00031165                                   # */
 165  00031165                                   # 	   asm("movl r6,_sgl_value_3");		/* get the result          */
 166  00031165    0d 56 effffffec4              movl r6,_sgl_value_3
 167  0003116C                                   # 	   asm("movl r7,_sgl_value_4");
 168  0003116C    0d 57 effffffebd              movl r7,_sgl_value_4
 169  00031173                                   # 	   dbl_st_acc.m = sgl_value_3;
 170  00031173    0d effffffeb7 effffffeb2      	movl	_sgl_value_3,_dbl_st_acc
 171  0003117E                                   # 	   dbl_st_acc.l = sgl_value_4;
 172  0003117E    0d effffffeac effffffeab      	movl	_sgl_value_4,_dbl_st_acc+4
 173  00031189                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
 174  00031189                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
 175  00031189    1d effffffea1 effffffe9c      	cmpl	_dbl_st_acc,_dbl_expected
 176  00031194    21 0d                         	jneq	L9999
 177  00031196    1d effffffe98 effffffe93      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 178  000311A1    31 42                         	jeql	L239
 179  000311A3                                  L9999:
 180  000311A3                                   # 	   {
 181  000311A3                                   # 	      errcnt++;				/* bump the error count    */
 182  000311A3    6d effffffe87                 	incl	_errcnt
 183  000311A9                                   # 	      if ( prt_error ) 
 184  000311A9    5d effffffe81                 	tstl	_prt_error
 185  000311AF    31 0d                         	jeql	L240
 186  000311B1                                   # 		 print_pipe16_er("Reg. Data, no NOPs");
 187  000311B1                                  	.data	1
 188  00000d3d *                                L242:
 189  00000d3d *  5265672E20446174612C206E6     	.ascii	"Reg. Data, no NOPs\0"
                  F204E4F507300
 190  00000d50 *                                	.text
 191  000311B1    dd 8f00000d3d                 	pushl	$L242
 192  000311B7    fe 08 ef000009dc              	callf	$8,_print_pipe16_er
 193  000311BE                                   # 	      if ( halt_flg ) 			/* halt on error?           */
 194  000311BE                                  L240:
 195  000311BE    5d effffffe6c                 	tstl	_halt_flg
 196  000311C4    31 0d                         	jeql	L243
 197  000311C6                                   # 		 pipe16_er_hlt( subtest );
 198  000311C6    dd effffffe64                 	pushl	_subtest
 199  000311CC    fe 08 ef00000b15              	callf	$8,_pipe16_er_hlt
 200  000311D3                                   # 	      if ( loop_on_err ) {
 201  000311D3                                  L243:
 202  000311D3    5d effffffe57                 	tstl	_loop_on_err
 203  000311D9    31 0a                         	jeql	L245
 204  000311DB                                   # 		 force_loop = TRUE;		/* set the force loop flag */
 205  000311DB    0d 01 effffffe4e              	movl	$1,_force_loop
 206  000311E2                                   # 		 asm("brw _pipe16_1_lp1");	/* and loop                */
 207  000311E2    13 ff50                       brw _pipe16_1_lp1
 208  000311E5                                   # 	      }
 209  000311E5                                   # 	   }   /* end of compare error */
 210  000311E5                                  L245:
 211  000311E5                                   # 	} while( index++ < max_lnd_1_index );
 212  000311E5                                  L239:
 213  000311E5                                  L236:
 214  000311E5    0d effffffe45 50              	movl	_index,r0
 215  000311EC    6d effffffe3e                 	incl	_index
 216  000311F2    1d 50 effffffe37              	cmpl	r0,_max_lnd_1_index
 217  000311F9    81 03 13 fee7                 	jlss	L237
 218  000311FE                                  L235:
 219  000311FE                                   # }  /* end of subtest 1 */
 220  000311FE    40                            	ret#2
 221  000311FF                                  	.set	L231,0x0
 222  000311FF                                  L233:
 223  000311FF    13 fed7                       	jbr 	L234
 224  00031202                                  	.data
 225  00000d34 *                                	.text
 226  00031202                                  	.align	1
 227  00031202                                  	.globl	_pipe16_2
 228  00031202                                  _pipe16_2:
 229  00031202    0000                          	.word	L246
 230  00031204                                   # 
 231  00031204                                   # 
 232  00031204                                   # 
 233  00031204                                   # 
 234  00031204                                   # 
 235  00031204                                   # 
 236  00031204                                   # 
 237  00031204                                   # 
 238  00031204                                   # /************************************************************************
 239  00031204                                   # *
 240  00031204                                   # *			SUBTEST 2  
 241  00031204                                   # *		data in registers, 1 NO-OP
 242  00031204                                   # *
 243  00031204                                   # ************************************************************************/
 244  00031204                                   # pipe16_2() 
 245  00031204                                   # {
 246  00031204    13 012a                       	jbr 	L248
 247  00031207                                  L249:
 248  00031207                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 249  00031207    4d effffffe23                 	clrl	_force_loop
 250  0003120D                                   # 	index = 0;
 251  0003120D    4d effffffe1d                 	clrl	_index
 252  00031213                                   # 	do 
 253  00031213                                  L252:
 254  00031213                                   # 	{
 255  00031213                                   # 	   sgl_value_1  = lnd_1_data[index].ld.m; /* get the operand's MSW    */
 256  00031213    0d effffffe17 50              	movl	_index,r0
 257  0003121A    48 04 50 50                   	shll	$4,r0,r0
 258  0003121E    0d e000000000 effffffe07      	movl	_lnd_1_data(r0),_sgl_value_1
 259  00031229                                   # 	   sgl_value_2  = lnd_1_data[index].ld.l; /* get the operand's MSW    */
 260  00031229    0d effffffe01 50              	movl	_index,r0
 261  00031230    48 04 50 50                   	shll	$4,r0,r0
 262  00031234    0d e000000004 effffffdf1      	movl	_lnd_1_data+4(r0),_sgl_value_2
 263  0003123F                                   # 	   sgl_value_7  = 0;		  	  /* get a '0.0'              */
 264  0003123F    4d effffffdeb                 	clrl	_sgl_value_7
 265  00031245                                   # 	   dbl_expected = lnd_1_data[index].exp;  /* get the expected results */
 266  00031245    48 04 effffffde4 50           	shll	$4,_index,r0
 267  0003124D    0c 8f00000008 50              	addl2	$_lnd_1_data+8,r0
 268  00031254    0d a004 effffffdd8            	movl	4(r0),_dbl_expected+4
 269  0003125C    0d 60 effffffdcd              	movl	(r0),_dbl_expected
 270  00031263                                   # /*
 271  00031263                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 272  00031263                                   #  * The force loop flag is set after the first error.
 273  00031263                                   # */
 274  00031263                                   # 	   asm("_pipe16_2_lp1:");
 275  00031263                                  _pipe16_2_lp1:
 276  00031263                                   # 	   asm("movl _sgl_value_1,r4");		/* move the data to r4/r5  */
 277  00031263    0d effffffdc7 54              movl _sgl_value_1,r4
 278  0003126A                                   # 	   asm("movl _sgl_value_2,r5");		
 279  0003126A    0d effffffdc0 55              movl _sgl_value_2,r5
 280  00031271                                   # 	   asm("movl _sgl_value_7,r2");		/* move a '0.0' to r2/r3   */
 281  00031271    0d effffffdb9 52              movl _sgl_value_7,r2
 282  00031278                                   # 	   asm("movl _sgl_value_7,r3");		
 283  00031278    0d effffffdb2 53              movl _sgl_value_7,r3
 284  0003127F                                   # 	   asm("lnd  r4");			/* load the operand (-op ) */
 285  0003127F    17 54                         lnd  r4
 286  00031281                                   # 	   asm("nop");
 287  00031281    10                            nop
 288  00031282                                   # 	   asm("addd r4");			/* add the operand  (  0 ) */
 289  00031282    c7 54                         addd r4
 290  00031284                                   # 	   asm("nop");
 291  00031284    10                            nop
 292  00031285                                   # 	   asm("subd r2");			/* subtract a '0.0' (  0 ) */
 293  00031285    d7 52                         subd r2
 294  00031287                                   # 	   asm("nop");
 295  00031287    10                            nop
 296  00031288                                   # 	   asm("subd r4");			/* subtract the op  (-op ) */
 297  00031288    d7 54                         subd r4
 298  0003128A                                   # 	   asm("nop");
 299  0003128A    10                            nop
 300  0003128B                                   # 	   asm("std  r6");			/* store the result (-op ) */
 301  0003128B    27 56                         std  r6
 302  0003128D                                   # 	   if( force_loop )
 303  0003128D    5d effffffd9d                 	tstl	_force_loop
 304  00031293    31 02                         	jeql	L253
 305  00031295                                   # 	       asm("brb _pipe16_2_lp1");;	/* run the loop again      */
 306  00031295    11 cc                         brb _pipe16_2_lp1
 307  00031297                                  L253:
 308  00031297                                   # /* 
 309  00031297                                   #  * verify the results
 310  00031297                                   # */
 311  00031297                                   # 	   asm("movl r6,_sgl_value_3");		/* get the result          */
 312  00031297    0d 56 effffffd92              movl r6,_sgl_value_3
 313  0003129E                                   # 	   asm("movl r7,_sgl_value_4");
 314  0003129E    0d 57 effffffd8b              movl r7,_sgl_value_4
 315  000312A5                                   # 	   dbl_st_acc.m = sgl_value_3;
 316  000312A5    0d effffffd85 effffffd80      	movl	_sgl_value_3,_dbl_st_acc
 317  000312B0                                   # 	   dbl_st_acc.l = sgl_value_4;
 318  000312B0    0d effffffd7a effffffd79      	movl	_sgl_value_4,_dbl_st_acc+4
 319  000312BB                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
 320  000312BB                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
 321  000312BB    1d effffffd6f effffffd6a      	cmpl	_dbl_st_acc,_dbl_expected
 322  000312C6    21 0d                         	jneq	L9998
 323  000312C8    1d effffffd66 effffffd61      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 324  000312D3    31 42                         	jeql	L254
 325  000312D5                                  L9998:
 326  000312D5                                   # 	   {
 327  000312D5                                   # 	      errcnt++;				/* bump the error count    */
 328  000312D5    6d effffffd55                 	incl	_errcnt
 329  000312DB                                   # 	      if ( prt_error ) 
 330  000312DB    5d effffffd4f                 	tstl	_prt_error
 331  000312E1    31 0d                         	jeql	L255
 332  000312E3                                   # 		 print_pipe16_er("Reg. Data, 1 NOP");
 333  000312E3                                  	.data	1
 334  00000d50 *                                L256:
 335  00000d50 *  5265672E20446174612C20312     	.ascii	"Reg. Data, 1 NOP\0"
                  04E4F5000
 336  00000d61 *                                	.text
 337  000312E3    dd 8f00000d50                 	pushl	$L256
 338  000312E9    fe 08 ef000008aa              	callf	$8,_print_pipe16_er
 339  000312F0                                   # 	      if ( halt_flg ) 			/* halt on error?           */
 340  000312F0                                  L255:
 341  000312F0    5d effffffd3a                 	tstl	_halt_flg
 342  000312F6    31 0d                         	jeql	L257
 343  000312F8                                   # 		 pipe16_er_hlt( subtest );
 344  000312F8    dd effffffd32                 	pushl	_subtest
 345  000312FE    fe 08 ef000009e3              	callf	$8,_pipe16_er_hlt
 346  00031305                                   # 	      if ( force_loop ) { 		/* loop on error?           */
 347  00031305                                  L257:
 348  00031305    5d effffffd25                 	tstl	_force_loop
 349  0003130B    31 0a                         	jeql	L258
 350  0003130D                                   # 		 force_loop = TRUE;		/* set the force loop flag */
 351  0003130D    0d 01 effffffd1c              	movl	$1,_force_loop
 352  00031314                                   # 		 asm("brw _pipe16_2_lp1");	/* and loop                */
 353  00031314    13 ff4c                       brw _pipe16_2_lp1
 354  00031317                                   # 	      }
 355  00031317                                   # 	   }   /* end of compare error */
 356  00031317                                  L258:
 357  00031317                                   # 	} while( index++ < max_lnd_1_index );
 358  00031317                                  L254:
 359  00031317                                  L251:
 360  00031317    0d effffffd13 50              	movl	_index,r0
 361  0003131E    6d effffffd0c                 	incl	_index
 362  00031324    1d 50 effffffd05              	cmpl	r0,_max_lnd_1_index
 363  0003132B    81 03 13 fee3                 	jlss	L252
 364  00031330                                  L250:
 365  00031330                                   # }  /* end of subtest 2 */
 366  00031330    40                            	ret#2
 367  00031331                                  	.set	L246,0x0
 368  00031331                                  L248:
 369  00031331    13 fed3                       	jbr 	L249
 370  00031334                                  	.data
 371  00000d34 *                                	.text
 372  00031334                                  	.align	1
 373  00031334                                  	.globl	_pipe16_3
 374  00031334                                  _pipe16_3:
 375  00031334    0000                          	.word	L259
 376  00031336                                   # 
 377  00031336                                   # 
 378  00031336                                   # 
 379  00031336                                   # 
 380  00031336                                   # 
 381  00031336                                   # 
 382  00031336                                   # 
 383  00031336                                   # 
 384  00031336                                   # /************************************************************************
 385  00031336                                   # *
 386  00031336                                   # *			SUBTEST 3  
 387  00031336                                   # *		data in registers, 2 NO-OPs
 388  00031336                                   # *
 389  00031336                                   # ************************************************************************/
 390  00031336                                   # pipe16_3() 
 391  00031336                                   # {
 392  00031336    13 012e                       	jbr 	L261
 393  00031339                                  L262:
 394  00031339                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 395  00031339    4d effffffcf1                 	clrl	_force_loop
 396  0003133F                                   # 	index = 0;
 397  0003133F    4d effffffceb                 	clrl	_index
 398  00031345                                   # 	do 
 399  00031345                                  L265:
 400  00031345                                   # 	{
 401  00031345                                   # 	   sgl_value_1  = lnd_1_data[index].ld.m; /* get the operand's MSW    */
 402  00031345    0d effffffce5 50              	movl	_index,r0
 403  0003134C    48 04 50 50                   	shll	$4,r0,r0
 404  00031350    0d e000000000 effffffcd5      	movl	_lnd_1_data(r0),_sgl_value_1
 405  0003135B                                   # 	   sgl_value_2  = lnd_1_data[index].ld.l; /* get the operand's MSW    */
 406  0003135B    0d effffffccf 50              	movl	_index,r0
 407  00031362    48 04 50 50                   	shll	$4,r0,r0
 408  00031366    0d e000000004 effffffcbf      	movl	_lnd_1_data+4(r0),_sgl_value_2
 409  00031371                                   # 	   sgl_value_7  = 0;		  	  /* get a '0.0'              */
 410  00031371    4d effffffcb9                 	clrl	_sgl_value_7
 411  00031377                                   # 	   dbl_expected = lnd_1_data[index].exp;  /* get the expected results */
 412  00031377    48 04 effffffcb2 50           	shll	$4,_index,r0
 413  0003137F    0c 8f00000008 50              	addl2	$_lnd_1_data+8,r0
 414  00031386    0d a004 effffffca6            	movl	4(r0),_dbl_expected+4
 415  0003138E    0d 60 effffffc9b              	movl	(r0),_dbl_expected
 416  00031395                                   # /*
 417  00031395                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 418  00031395                                   #  * The force loop flag is set after the first error.
 419  00031395                                   # */
 420  00031395                                   # 	   asm("_pipe16_3_lp1:");
 421  00031395                                  _pipe16_3_lp1:
 422  00031395                                   # 	   asm("movl _sgl_value_1,r4");		/* move the data to r4/r5  */
 423  00031395    0d effffffc95 54              movl _sgl_value_1,r4
 424  0003139C                                   # 	   asm("movl _sgl_value_2,r5");		
 425  0003139C    0d effffffc8e 55              movl _sgl_value_2,r5
 426  000313A3                                   # 	   asm("movl _sgl_value_7,r2");		/* move a '0.0' to r2/r3   */
 427  000313A3    0d effffffc87 52              movl _sgl_value_7,r2
 428  000313AA                                   # 	   asm("movl _sgl_value_7,r3");		
 429  000313AA    0d effffffc80 53              movl _sgl_value_7,r3
 430  000313B1                                   # 	   asm("lnd  r4");			/* load the operand (-op ) */
 431  000313B1    17 54                         lnd  r4
 432  000313B3                                   # 	   asm("nop");
 433  000313B3    10                            nop
 434  000313B4                                   # 	   asm("nop");
 435  000313B4    10                            nop
 436  000313B5                                   # 	   asm("addd r4");			/* add the operand  (  0 ) */
 437  000313B5    c7 54                         addd r4
 438  000313B7                                   # 	   asm("nop");
 439  000313B7    10                            nop
 440  000313B8                                   # 	   asm("nop");
 441  000313B8    10                            nop
 442  000313B9                                   # 	   asm("subd r2");			/* subtract a '0.0' (  0 ) */
 443  000313B9    d7 52                         subd r2
 444  000313BB                                   # 	   asm("nop");
 445  000313BB    10                            nop
 446  000313BC                                   # 	   asm("nop");
 447  000313BC    10                            nop
 448  000313BD                                   # 	   asm("subd r4");			/* subtract the op  (-op ) */
 449  000313BD    d7 54                         subd r4
 450  000313BF                                   # 	   asm("nop");
 451  000313BF    10                            nop
 452  000313C0                                   # 	   asm("nop");
 453  000313C0    10                            nop
 454  000313C1                                   # 	   asm("std  r6");			/* store the result (-op ) */
 455  000313C1    27 56                         std  r6
 456  000313C3                                   # 	   if( force_loop )
 457  000313C3    5d effffffc67                 	tstl	_force_loop
 458  000313C9    31 02                         	jeql	L266
 459  000313CB                                   # 	       asm("brb _pipe16_3_lp1");;	/* run the loop again      */
 460  000313CB    11 c8                         brb _pipe16_3_lp1
 461  000313CD                                  L266:
 462  000313CD                                   # /* 
 463  000313CD                                   #  * verify the results
 464  000313CD                                   # */
 465  000313CD                                   # 	   asm("movl r6,_sgl_value_3");		/* get the result          */
 466  000313CD    0d 56 effffffc5c              movl r6,_sgl_value_3
 467  000313D4                                   # 	   asm("movl r7,_sgl_value_4");
 468  000313D4    0d 57 effffffc55              movl r7,_sgl_value_4
 469  000313DB                                   # 	   dbl_st_acc.m = sgl_value_3;
 470  000313DB    0d effffffc4f effffffc4a      	movl	_sgl_value_3,_dbl_st_acc
 471  000313E6                                   # 	   dbl_st_acc.l = sgl_value_4;
 472  000313E6    0d effffffc44 effffffc43      	movl	_sgl_value_4,_dbl_st_acc+4
 473  000313F1                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
 474  000313F1                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
 475  000313F1    1d effffffc39 effffffc34      	cmpl	_dbl_st_acc,_dbl_expected
 476  000313FC    21 0d                         	jneq	L9997
 477  000313FE    1d effffffc30 effffffc2b      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 478  00031409    31 42                         	jeql	L267
 479  0003140B                                  L9997:
 480  0003140B                                   # 	   {
 481  0003140B                                   # 	      errcnt++;				/* bump the error count    */
 482  0003140B    6d effffffc1f                 	incl	_errcnt
 483  00031411                                   # 	      if ( prt_error ) 
 484  00031411    5d effffffc19                 	tstl	_prt_error
 485  00031417    31 0d                         	jeql	L268
 486  00031419                                   # 		 print_pipe16_er("Reg. Data, 2 NOPs");
 487  00031419                                  	.data	1
 488  00000d61 *                                L269:
 489  00000d61 *  5265672E20446174612C20322     	.ascii	"Reg. Data, 2 NOPs\0"
                  04E4F507300
 490  00000d73 *                                	.text
 491  00031419    dd 8f00000d61                 	pushl	$L269
 492  0003141F    fe 08 ef00000774              	callf	$8,_print_pipe16_er
 493  00031426                                   # 	      if ( halt_flg ) 			/* halt on error?           */
 494  00031426                                  L268:
 495  00031426    5d effffffc04                 	tstl	_halt_flg
 496  0003142C    31 0d                         	jeql	L270
 497  0003142E                                   # 		 pipe16_er_hlt( subtest );
 498  0003142E    dd effffffbfc                 	pushl	_subtest
 499  00031434    fe 08 ef000008ad              	callf	$8,_pipe16_er_hlt
 500  0003143B                                   # 	      if ( loop_on_err ) {
 501  0003143B                                  L270:
 502  0003143B    5d effffffbef                 	tstl	_loop_on_err
 503  00031441    31 0a                         	jeql	L271
 504  00031443                                   # 		 force_loop = TRUE;		/* set the force loop flag */
 505  00031443    0d 01 effffffbe6              	movl	$1,_force_loop
 506  0003144A                                   # 		 asm("brw _pipe16_3_lp1");	/* and loop                */
 507  0003144A    13 ff48                       brw _pipe16_3_lp1
 508  0003144D                                   # 	      }
 509  0003144D                                   # 	   }   /* end of compare error */
 510  0003144D                                  L271:
 511  0003144D                                   # 	} while( index++ < max_lnd_1_index );
 512  0003144D                                  L267:
 513  0003144D                                  L264:
 514  0003144D    0d effffffbdd 50              	movl	_index,r0
 515  00031454    6d effffffbd6                 	incl	_index
 516  0003145A    1d 50 effffffbcf              	cmpl	r0,_max_lnd_1_index
 517  00031461    81 03 13 fedf                 	jlss	L265
 518  00031466                                  L263:
 519  00031466                                   # }  /* end of subtest 7 */
 520  00031466    40                            	ret#2
 521  00031467                                  	.set	L259,0x0
 522  00031467                                  L261:
 523  00031467    13 fecf                       	jbr 	L262
 524  0003146A                                  	.data
 525  00000d34 *                                	.text
 526  0003146A                                  	.align	1
 527  0003146A                                  	.globl	_pipe16_4
 528  0003146A                                  _pipe16_4:
 529  0003146A    0000                          	.word	L272
 530  0003146C                                   # 
 531  0003146C                                   # 
 532  0003146C                                   # 
 533  0003146C                                   # 
 534  0003146C                                   # 
 535  0003146C                                   # 
 536  0003146C                                   # 
 537  0003146C                                   # /************************************************************************
 538  0003146C                                   # *
 539  0003146C                                   # *			SUBTEST 4  
 540  0003146C                                   # *		data in registers, 3 NO-OPs
 541  0003146C                                   # *
 542  0003146C                                   # ************************************************************************/
 543  0003146C                                   # pipe16_4() 
 544  0003146C                                   # {
 545  0003146C    13 0132                       	jbr 	L274
 546  0003146F                                  L275:
 547  0003146F                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 548  0003146F    4d effffffbbb                 	clrl	_force_loop
 549  00031475                                   # 	index = 0;
 550  00031475    4d effffffbb5                 	clrl	_index
 551  0003147B                                   # 	do 
 552  0003147B                                  L278:
 553  0003147B                                   # 	{
 554  0003147B                                   # 	   sgl_value_1  = lnd_1_data[index].ld.m; /* get the operand's MSW    */
 555  0003147B    0d effffffbaf 50              	movl	_index,r0
 556  00031482    48 04 50 50                   	shll	$4,r0,r0
 557  00031486    0d e000000000 effffffb9f      	movl	_lnd_1_data(r0),_sgl_value_1
 558  00031491                                   # 	   sgl_value_2  = lnd_1_data[index].ld.l; /* get the operand's MSW    */
 559  00031491    0d effffffb99 50              	movl	_index,r0
 560  00031498    48 04 50 50                   	shll	$4,r0,r0
 561  0003149C    0d e000000004 effffffb89      	movl	_lnd_1_data+4(r0),_sgl_value_2
 562  000314A7                                   # 	   sgl_value_7  = 0;		  	  /* get a '0.0'              */
 563  000314A7    4d effffffb83                 	clrl	_sgl_value_7
 564  000314AD                                   # 	   dbl_expected = lnd_1_data[index].exp;  /* get the expected results */
 565  000314AD    48 04 effffffb7c 50           	shll	$4,_index,r0
 566  000314B5    0c 8f00000008 50              	addl2	$_lnd_1_data+8,r0
 567  000314BC    0d a004 effffffb70            	movl	4(r0),_dbl_expected+4
 568  000314C4    0d 60 effffffb65              	movl	(r0),_dbl_expected
 569  000314CB                                   # /*
 570  000314CB                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 571  000314CB                                   #  * The force loop flag is set after the first error.
 572  000314CB                                   # */
 573  000314CB                                   # 	   asm("_pipe16_4_lp1:");
 574  000314CB                                  _pipe16_4_lp1:
 575  000314CB                                   # 	   asm("movl _sgl_value_1,r4");		/* move the data to r4/r5  */
 576  000314CB    0d effffffb5f 54              movl _sgl_value_1,r4
 577  000314D2                                   # 	   asm("movl _sgl_value_2,r5");		
 578  000314D2    0d effffffb58 55              movl _sgl_value_2,r5
 579  000314D9                                   # 	   asm("movl _sgl_value_7,r2");		/* move a '0.0' to r2/r3   */
 580  000314D9    0d effffffb51 52              movl _sgl_value_7,r2
 581  000314E0                                   # 	   asm("movl _sgl_value_7,r3");		
 582  000314E0    0d effffffb4a 53              movl _sgl_value_7,r3
 583  000314E7                                   # 	   asm("lnd  r4");			/* load the operand (-op ) */
 584  000314E7    17 54                         lnd  r4
 585  000314E9                                   # 	   asm("nop");
 586  000314E9    10                            nop
 587  000314EA                                   # 	   asm("nop");
 588  000314EA    10                            nop
 589  000314EB                                   # 	   asm("nop");
 590  000314EB    10                            nop
 591  000314EC                                   # 	   asm("addd r4");			/* add the operand  (  0 ) */
 592  000314EC    c7 54                         addd r4
 593  000314EE                                   # 	   asm("nop");
 594  000314EE    10                            nop
 595  000314EF                                   # 	   asm("nop");
 596  000314EF    10                            nop
 597  000314F0                                   # 	   asm("nop");
 598  000314F0    10                            nop
 599  000314F1                                   # 	   asm("subd r2");			/* subtract a '0.0' (  0 ) */
 600  000314F1    d7 52                         subd r2
 601  000314F3                                   # 	   asm("nop");
 602  000314F3    10                            nop
 603  000314F4                                   # 	   asm("nop");
 604  000314F4    10                            nop
 605  000314F5                                   # 	   asm("nop");
 606  000314F5    10                            nop
 607  000314F6                                   # 	   asm("subd r4");			/* subtract the op  (-op ) */
 608  000314F6    d7 54                         subd r4
 609  000314F8                                   # 	   asm("nop");
 610  000314F8    10                            nop
 611  000314F9                                   # 	   asm("nop");
 612  000314F9    10                            nop
 613  000314FA                                   # 	   asm("nop");
 614  000314FA    10                            nop
 615  000314FB                                   # 	   asm("std  r6");			/* store the result (-op ) */
 616  000314FB    27 56                         std  r6
 617  000314FD                                   # 	   if( force_loop )
 618  000314FD    5d effffffb2d                 	tstl	_force_loop
 619  00031503    31 02                         	jeql	L279
 620  00031505                                   # 	       asm("brb _pipe16_4_lp1");;	/* run the loop again      */
 621  00031505    11 c4                         brb _pipe16_4_lp1
 622  00031507                                  L279:
 623  00031507                                   # /* 
 624  00031507                                   #  * verify the results
 625  00031507                                   # */
 626  00031507                                   # 	   asm("movl r6,_sgl_value_3");		/* get the result          */
 627  00031507    0d 56 effffffb22              movl r6,_sgl_value_3
 628  0003150E                                   # 	   asm("movl r7,_sgl_value_4");
 629  0003150E    0d 57 effffffb1b              movl r7,_sgl_value_4
 630  00031515                                   # 	   dbl_st_acc.m = sgl_value_3;
 631  00031515    0d effffffb15 effffffb10      	movl	_sgl_value_3,_dbl_st_acc
 632  00031520                                   # 	   dbl_st_acc.l = sgl_value_4;
 633  00031520    0d effffffb0a effffffb09      	movl	_sgl_value_4,_dbl_st_acc+4
 634  0003152B                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
 635  0003152B                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
 636  0003152B    1d effffffaff effffffafa      	cmpl	_dbl_st_acc,_dbl_expected
 637  00031536    21 0d                         	jneq	L9996
 638  00031538    1d effffffaf6 effffffaf1      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 639  00031543    31 42                         	jeql	L280
 640  00031545                                  L9996:
 641  00031545                                   # 	   {
 642  00031545                                   # 	      errcnt++;				/* bump the error count    */
 643  00031545    6d effffffae5                 	incl	_errcnt
 644  0003154B                                   # 	      if ( prt_error ) 
 645  0003154B    5d effffffadf                 	tstl	_prt_error
 646  00031551    31 0d                         	jeql	L281
 647  00031553                                   # 		 print_pipe16_er("Reg. Data, 3 NOPs");
 648  00031553                                  	.data	1
 649  00000d73 *                                L282:
 650  00000d73 *  5265672E20446174612C20332     	.ascii	"Reg. Data, 3 NOPs\0"
                  04E4F507300
 651  00000d85 *                                	.text
 652  00031553    dd 8f00000d73                 	pushl	$L282
 653  00031559    fe 08 ef0000063a              	callf	$8,_print_pipe16_er
 654  00031560                                   # 	      if ( halt_flg ) 			/* halt on error?           */
 655  00031560                                  L281:
 656  00031560    5d effffffaca                 	tstl	_halt_flg
 657  00031566    31 0d                         	jeql	L283
 658  00031568                                   # 		 pipe16_er_hlt( subtest );
 659  00031568    dd effffffac2                 	pushl	_subtest
 660  0003156E    fe 08 ef00000773              	callf	$8,_pipe16_er_hlt
 661  00031575                                   # 	      if ( loop_on_err ) {
 662  00031575                                  L283:
 663  00031575    5d effffffab5                 	tstl	_loop_on_err
 664  0003157B    31 0a                         	jeql	L284
 665  0003157D                                   # 		 force_loop = TRUE;		/* set the force loop flag */
 666  0003157D    0d 01 effffffaac              	movl	$1,_force_loop
 667  00031584                                   # 		 asm("brw _pipe16_4_lp1");	/* and loop                */
 668  00031584    13 ff44                       brw _pipe16_4_lp1
 669  00031587                                   # 	      }
 670  00031587                                   # 	   }   /* end of compare error */
 671  00031587                                  L284:
 672  00031587                                   # 	} while( index++ < max_lnd_1_index );
 673  00031587                                  L280:
 674  00031587                                  L277:
 675  00031587    0d effffffaa3 50              	movl	_index,r0
 676  0003158E    6d effffffa9c                 	incl	_index
 677  00031594    1d 50 effffffa95              	cmpl	r0,_max_lnd_1_index
 678  0003159B    81 03 13 fedb                 	jlss	L278
 679  000315A0                                  L276:
 680  000315A0                                   # }  /* end of subtest 4 */
 681  000315A0    40                            	ret#2
 682  000315A1                                  	.set	L272,0x0
 683  000315A1                                  L274:
 684  000315A1    13 fecb                       	jbr 	L275
 685  000315A4                                  	.data
 686  00000d34 *                                	.text
 687  000315A4                                  	.align	1
 688  000315A4                                  	.globl	_pipe16_5
 689  000315A4                                  _pipe16_5:
 690  000315A4    0000                          	.word	L285
 691  000315A6                                   # 
 692  000315A6                                   # 
 693  000315A6                                   # 
 694  000315A6                                   # 
 695  000315A6                                   # 
 696  000315A6                                   # 
 697  000315A6                                   # 
 698  000315A6                                   # /************************************************************************
 699  000315A6                                   # *
 700  000315A6                                   # *			SUBTEST 5  
 701  000315A6                                   # *		data in cache, no NO-OPs
 702  000315A6                                   # *
 703  000315A6                                   # ************************************************************************/
 704  000315A6                                   # pipe16_5() 
 705  000315A6                                   # {
 706  000315A6    13 00f2                       	jbr 	L287
 707  000315A9                                  L288:
 708  000315A9                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 709  000315A9    4d effffffa81                 	clrl	_force_loop
 710  000315AF                                   # 	index = 0;
 711  000315AF    4d effffffa7b                 	clrl	_index
 712  000315B5                                   # 	do 
 713  000315B5                                  L291:
 714  000315B5                                   # 	{
 715  000315B5                                   # 	   dbl_value_1   = lnd_1_data[index].ld; /* get the operand          */
 716  000315B5    48 04 effffffa74 50           	shll	$4,_index,r0
 717  000315BD    0c 8f00000000 50              	addl2	$_lnd_1_data,r0
 718  000315C4    0d a004 effffffa68            	movl	4(r0),_dbl_value_1+4
 719  000315CC    0d 60 effffffa5d              	movl	(r0),_dbl_value_1
 720  000315D3                                   # 	   dbl_value_2.m = 0;	 		 /* set the '0.0' operand    */
 721  000315D3    4d effffffa57                 	clrl	_dbl_value_2
 722  000315D9                                   # 	   dbl_value_2.l = 0;
 723  000315D9    4d effffffa55                 	clrl	_dbl_value_2+4
 724  000315DF                                   # 	   dbl_expected = lnd_1_data[index].exp; /* get the expected results */
 725  000315DF    48 04 effffffa4a 50           	shll	$4,_index,r0
 726  000315E7    0c 8f00000008 50              	addl2	$_lnd_1_data+8,r0
 727  000315EE    0d a004 effffffa3e            	movl	4(r0),_dbl_expected+4
 728  000315F6    0d 60 effffffa33              	movl	(r0),_dbl_expected
 729  000315FD                                   # /*
 730  000315FD                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 731  000315FD                                   #  * The force loop flag is set after the first error.
 732  000315FD                                   # */
 733  000315FD                                   # 	   asm("_pipe16_5_lp1:");
 734  000315FD                                  _pipe16_5_lp1:
 735  000315FD                                   # 	   asm("lnd  _dbl_value_1");		/* load a the op    (-op ) */
 736  000315FD    17 effffffa2d                 lnd  _dbl_value_1
 737  00031603                                   # 	   asm("addd _dbl_value_1");		/* add the operand  (  0 ) */
 738  00031603    c7 effffffa27                 addd _dbl_value_1
 739  00031609                                   # 	   asm("subd _dbl_value_2");		/* subtract a '0.0' (  0 ) */
 740  00031609    d7 effffffa21                 subd _dbl_value_2
 741  0003160F                                   # 	   asm("subd _dbl_value_1");		/* subtract the op. (-op ) */
 742  0003160F    d7 effffffa1b                 subd _dbl_value_1
 743  00031615                                   # 	   asm("std  _dbl_st_acc");		/* store the result (-op ) */
 744  00031615    27 effffffa15                 std  _dbl_st_acc
 745  0003161B                                   # 	   if( force_loop )
 746  0003161B    5d effffffa0f                 	tstl	_force_loop
 747  00031621    31 02                         	jeql	L292
 748  00031623                                   # 	       asm("brb _pipe16_5_lp1");;	/* run the loop again      */
 749  00031623    11 d8                         brb _pipe16_5_lp1
 750  00031625                                  L292:
 751  00031625                                   # /* 
 752  00031625                                   #  * verify the results
 753  00031625                                   # */
 754  00031625                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
 755  00031625                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
 756  00031625    1d effffffa05 effffffa00      	cmpl	_dbl_st_acc,_dbl_expected
 757  00031630    21 0d                         	jneq	L9995
 758  00031632    1d effffff9fc effffff9f7      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 759  0003163D    31 42                         	jeql	L293
 760  0003163F                                  L9995:
 761  0003163F                                   # 	   {
 762  0003163F                                   # 	      errcnt++;				/* bump the error count    */
 763  0003163F    6d effffff9eb                 	incl	_errcnt
 764  00031645                                   # 	      if ( prt_error ) 
 765  00031645    5d effffff9e5                 	tstl	_prt_error
 766  0003164B    31 0d                         	jeql	L294
 767  0003164D                                   # 		 print_pipe16_er("Cache Data, no NOPs");
 768  0003164D                                  	.data	1
 769  00000d85 *                                L295:
 770  00000d85 *  436163686520446174612C206     	.ascii	"Cache Data, no NOPs\0"
                  E6F204E4F507300
 771  00000d99 *                                	.text
 772  0003164D    dd 8f00000d85                 	pushl	$L295
 773  00031653    fe 08 ef00000540              	callf	$8,_print_pipe16_er
 774  0003165A                                   # 	      if ( halt_flg ) 			/* halt on error?           */
 775  0003165A                                  L294:
 776  0003165A    5d effffff9d0                 	tstl	_halt_flg
 777  00031660    31 0d                         	jeql	L296
 778  00031662                                   # 		 pipe16_er_hlt( subtest );
 779  00031662    dd effffff9c8                 	pushl	_subtest
 780  00031668    fe 08 ef00000679              	callf	$8,_pipe16_er_hlt
 781  0003166F                                   # 	      if ( loop_on_err ) {
 782  0003166F                                  L296:
 783  0003166F    5d effffff9bb                 	tstl	_loop_on_err
 784  00031675    31 0a                         	jeql	L297
 785  00031677                                   # 		 force_loop = TRUE;		/* set the force loop flag */
 786  00031677    0d 01 effffff9b2              	movl	$1,_force_loop
 787  0003167E                                   # 		 asm("brw _pipe16_5_lp1");	/* and loop                */
 788  0003167E    13 ff7c                       brw _pipe16_5_lp1
 789  00031681                                   # 	      }
 790  00031681                                   # 	   }   /* end of compare error */
 791  00031681                                  L297:
 792  00031681                                   # 	} while( index++ < max_lnd_1_index );
 793  00031681                                  L293:
 794  00031681                                  L290:
 795  00031681    0d effffff9a9 50              	movl	_index,r0
 796  00031688    6d effffff9a2                 	incl	_index
 797  0003168E    1d 50 effffff99b              	cmpl	r0,_max_lnd_1_index
 798  00031695    81 03 13 ff1b                 	jlss	L291
 799  0003169A                                  L289:
 800  0003169A                                   # }  /* end of subtest 5 */
 801  0003169A    40                            	ret#2
 802  0003169B                                  	.set	L285,0x0
 803  0003169B                                  L287:
 804  0003169B    13 ff0b                       	jbr 	L288
 805  0003169E                                  	.data
 806  00000d34 *                                	.text
 807  0003169E                                  	.align	1
 808  0003169E                                  	.globl	_pipe16_6
 809  0003169E                                  _pipe16_6:
 810  0003169E    0000                          	.word	L298
 811  000316A0                                   # 
 812  000316A0                                   # 
 813  000316A0                                   # 
 814  000316A0                                   # 
 815  000316A0                                   # 
 816  000316A0                                   # 
 817  000316A0                                   # 
 818  000316A0                                   # 
 819  000316A0                                   # /************************************************************************
 820  000316A0                                   # *
 821  000316A0                                   # *			SUBTEST 6  
 822  000316A0                                   # *		data in cache, 1 NO-OP
 823  000316A0                                   # *
 824  000316A0                                   # ************************************************************************/
 825  000316A0                                   # pipe16_6() 
 826  000316A0                                   # {
 827  000316A0    13 00f6                       	jbr 	L300
 828  000316A3                                  L301:
 829  000316A3                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 830  000316A3    4d effffff987                 	clrl	_force_loop
 831  000316A9                                   # 	index = 0;
 832  000316A9    4d effffff981                 	clrl	_index
 833  000316AF                                   # 	do 
 834  000316AF                                  L304:
 835  000316AF                                   # 	{
 836  000316AF                                   # 	   dbl_value_1   = lnd_1_data[index].ld; /* get the operand          */
 837  000316AF    48 04 effffff97a 50           	shll	$4,_index,r0
 838  000316B7    0c 8f00000000 50              	addl2	$_lnd_1_data,r0
 839  000316BE    0d a004 effffff96e            	movl	4(r0),_dbl_value_1+4
 840  000316C6    0d 60 effffff963              	movl	(r0),_dbl_value_1
 841  000316CD                                   # 	   dbl_value_2.m = 0;	 		 /* set the '0.0' operand    */
 842  000316CD    4d effffff95d                 	clrl	_dbl_value_2
 843  000316D3                                   # 	   dbl_value_2.l = 0;
 844  000316D3    4d effffff95b                 	clrl	_dbl_value_2+4
 845  000316D9                                   # 	   dbl_expected = lnd_1_data[index].exp; /* get the expected results */
 846  000316D9    48 04 effffff950 50           	shll	$4,_index,r0
 847  000316E1    0c 8f00000008 50              	addl2	$_lnd_1_data+8,r0
 848  000316E8    0d a004 effffff944            	movl	4(r0),_dbl_expected+4
 849  000316F0    0d 60 effffff939              	movl	(r0),_dbl_expected
 850  000316F7                                   # /*
 851  000316F7                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 852  000316F7                                   #  * The force loop flag is set after the first error.
 853  000316F7                                   # */
 854  000316F7                                   # 	   asm("_pipe16_6_lp1:");
 855  000316F7                                  _pipe16_6_lp1:
 856  000316F7                                   # 	   asm("lnd  _dbl_value_1");		/* load a the op    (-op ) */
 857  000316F7    17 effffff933                 lnd  _dbl_value_1
 858  000316FD                                   # 	   asm("nop");
 859  000316FD    10                            nop
 860  000316FE                                   # 	   asm("addd _dbl_value_1");		/* add the operand  (  0 ) */
 861  000316FE    c7 effffff92c                 addd _dbl_value_1
 862  00031704                                   # 	   asm("nop");
 863  00031704    10                            nop
 864  00031705                                   # 	   asm("subd _dbl_value_2");		/* subtract a '0.0' (  0 ) */
 865  00031705    d7 effffff925                 subd _dbl_value_2
 866  0003170B                                   # 	   asm("nop");
 867  0003170B    10                            nop
 868  0003170C                                   # 	   asm("subd _dbl_value_1");		/* subtract the op. (-op ) */
 869  0003170C    d7 effffff91e                 subd _dbl_value_1
 870  00031712                                   # 	   asm("nop");
 871  00031712    10                            nop
 872  00031713                                   # 	   asm("std  _dbl_st_acc");		/* store the result (-op ) */
 873  00031713    27 effffff917                 std  _dbl_st_acc
 874  00031719                                   # 	   if( force_loop )
 875  00031719    5d effffff911                 	tstl	_force_loop
 876  0003171F    31 02                         	jeql	L305
 877  00031721                                   # 	       asm("brb _pipe16_6_lp1");;	/* run the loop again      */
 878  00031721    11 d4                         brb _pipe16_6_lp1
 879  00031723                                  L305:
 880  00031723                                   # /* 
 881  00031723                                   #  * verify the results
 882  00031723                                   # */
 883  00031723                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
 884  00031723                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
 885  00031723    1d effffff907 effffff902      	cmpl	_dbl_st_acc,_dbl_expected
 886  0003172E    21 0d                         	jneq	L9994
 887  00031730    1d effffff8fe effffff8f9      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 888  0003173B    31 42                         	jeql	L306
 889  0003173D                                  L9994:
 890  0003173D                                   # 	   {
 891  0003173D                                   # 	      errcnt++;				/* bump the error count    */
 892  0003173D    6d effffff8ed                 	incl	_errcnt
 893  00031743                                   # 	      if ( prt_error ) 
 894  00031743    5d effffff8e7                 	tstl	_prt_error
 895  00031749    31 0d                         	jeql	L307
 896  0003174B                                   # 		 print_pipe16_er("Cache Data, 1 NOP");
 897  0003174B                                  	.data	1
 898  00000d99 *                                L308:
 899  00000d99 *  436163686520446174612C203     	.ascii	"Cache Data, 1 NOP\0"
                  1204E4F5000
 900  00000dab *                                	.text
 901  0003174B    dd 8f00000d99                 	pushl	$L308
 902  00031751    fe 08 ef00000442              	callf	$8,_print_pipe16_er
 903  00031758                                   # 	      if ( halt_flg ) 			/* halt on error?           */
 904  00031758                                  L307:
 905  00031758    5d effffff8d2                 	tstl	_halt_flg
 906  0003175E    31 0d                         	jeql	L309
 907  00031760                                   # 		 pipe16_er_hlt( subtest );
 908  00031760    dd effffff8ca                 	pushl	_subtest
 909  00031766    fe 08 ef0000057b              	callf	$8,_pipe16_er_hlt
 910  0003176D                                   # 	      if ( loop_on_err ) {
 911  0003176D                                  L309:
 912  0003176D    5d effffff8bd                 	tstl	_loop_on_err
 913  00031773    31 0a                         	jeql	L310
 914  00031775                                   # 		 force_loop = TRUE;		/* set the force loop flag */
 915  00031775    0d 01 effffff8b4              	movl	$1,_force_loop
 916  0003177C                                   # 		 asm("brw _pipe16_6_lp1");	/* and loop                */
 917  0003177C    13 ff78                       brw _pipe16_6_lp1
 918  0003177F                                   # 	      }
 919  0003177F                                   # 	   }   /* end of compare error */
 920  0003177F                                  L310:
 921  0003177F                                   # 	} while( index++ < max_lnd_1_index );
 922  0003177F                                  L306:
 923  0003177F                                  L303:
 924  0003177F    0d effffff8ab 50              	movl	_index,r0
 925  00031786    6d effffff8a4                 	incl	_index
 926  0003178C    1d 50 effffff89d              	cmpl	r0,_max_lnd_1_index
 927  00031793    81 03 13 ff17                 	jlss	L304
 928  00031798                                  L302:
 929  00031798                                   # }  /* end of subtest 6 */
 930  00031798    40                            	ret#2
 931  00031799                                  	.set	L298,0x0
 932  00031799                                  L300:
 933  00031799    13 ff07                       	jbr 	L301
 934  0003179C                                  	.data
 935  00000d34 *                                	.text
 936  0003179C                                  	.align	1
 937  0003179C                                  	.globl	_pipe16_7
 938  0003179C                                  _pipe16_7:
 939  0003179C    0000                          	.word	L311
 940  0003179E                                   # 
 941  0003179E                                   # 
 942  0003179E                                   # 
 943  0003179E                                   # 
 944  0003179E                                   # 
 945  0003179E                                   # 
 946  0003179E                                   # 
 947  0003179E                                   # 
 948  0003179E                                   # /************************************************************************
 949  0003179E                                   # *
 950  0003179E                                   # *			SUBTEST 7  
 951  0003179E                                   # *		data in cache, 2 NO-OPs
 952  0003179E                                   # *
 953  0003179E                                   # ************************************************************************/
 954  0003179E                                   # pipe16_7() 
 955  0003179E                                   # {
 956  0003179E    13 00fa                       	jbr 	L313
 957  000317A1                                  L314:
 958  000317A1                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 959  000317A1    4d effffff889                 	clrl	_force_loop
 960  000317A7                                   # 	index = 0;
 961  000317A7    4d effffff883                 	clrl	_index
 962  000317AD                                   # 	do 
 963  000317AD                                  L317:
 964  000317AD                                   # 	{
 965  000317AD                                   # 	   dbl_value_1   = lnd_1_data[index].ld; /* get the operand          */
 966  000317AD    48 04 effffff87c 50           	shll	$4,_index,r0
 967  000317B5    0c 8f00000000 50              	addl2	$_lnd_1_data,r0
 968  000317BC    0d a004 effffff870            	movl	4(r0),_dbl_value_1+4
 969  000317C4    0d 60 effffff865              	movl	(r0),_dbl_value_1
 970  000317CB                                   # 	   dbl_value_2.m = 0;	 		 /* set the '0.0' operand    */
 971  000317CB    4d effffff85f                 	clrl	_dbl_value_2
 972  000317D1                                   # 	   dbl_value_2.l = 0;
 973  000317D1    4d effffff85d                 	clrl	_dbl_value_2+4
 974  000317D7                                   # 	   dbl_expected = lnd_1_data[index].exp; /* get the expected results */
 975  000317D7    48 04 effffff852 50           	shll	$4,_index,r0
 976  000317DF    0c 8f00000008 50              	addl2	$_lnd_1_data+8,r0
 977  000317E6    0d a004 effffff846            	movl	4(r0),_dbl_expected+4
 978  000317EE    0d 60 effffff83b              	movl	(r0),_dbl_expected
 979  000317F5                                   # /*
 980  000317F5                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 981  000317F5                                   #  * The force loop flag is set after the first error.
 982  000317F5                                   # */
 983  000317F5                                   # 	   asm("_pipe16_7_lp1:");
 984  000317F5                                  _pipe16_7_lp1:
 985  000317F5                                   # 	   asm("lnd  _dbl_value_1");		/* load a the op    (-op ) */
 986  000317F5    17 effffff835                 lnd  _dbl_value_1
 987  000317FB                                   # 	   asm("nop");
 988  000317FB    10                            nop
 989  000317FC                                   # 	   asm("nop");
 990  000317FC    10                            nop
 991  000317FD                                   # 	   asm("addd _dbl_value_1");		/* add the operand  (  0 ) */
 992  000317FD    c7 effffff82d                 addd _dbl_value_1
 993  00031803                                   # 	   asm("nop");
 994  00031803    10                            nop
 995  00031804                                   # 	   asm("nop");
 996  00031804    10                            nop
 997  00031805                                   # 	   asm("subd _dbl_value_2");		/* subtract a '0.0' (  0 ) */
 998  00031805    d7 effffff825                 subd _dbl_value_2
 999  0003180B                                   # 	   asm("nop");
1000  0003180B    10                            nop
1001  0003180C                                   # 	   asm("nop");
1002  0003180C    10                            nop
1003  0003180D                                   # 	   asm("subd _dbl_value_1");		/* subtract the op. (-op ) */
1004  0003180D    d7 effffff81d                 subd _dbl_value_1
1005  00031813                                   # 	   asm("nop");
1006  00031813    10                            nop
1007  00031814                                   # 	   asm("nop");
1008  00031814    10                            nop
1009  00031815                                   # 	   asm("std  _dbl_st_acc");		/* store the result (-op ) */
1010  00031815    27 effffff815                 std  _dbl_st_acc
1011  0003181B                                   # 	   if( force_loop )
1012  0003181B    5d effffff80f                 	tstl	_force_loop
1013  00031821    31 02                         	jeql	L318
1014  00031823                                   # 	       asm("brb _pipe16_7_lp1");;	/* run the loop again      */
1015  00031823    11 d0                         brb _pipe16_7_lp1
1016  00031825                                  L318:
1017  00031825                                   # /* 
1018  00031825                                   #  * verify the results
1019  00031825                                   # */
1020  00031825                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
1021  00031825                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
1022  00031825    1d effffff805 effffff800      	cmpl	_dbl_st_acc,_dbl_expected
1023  00031830    21 0d                         	jneq	L9993
1024  00031832    1d effffff7fc effffff7f7      	cmpl	_dbl_st_acc+4,_dbl_expected+4
1025  0003183D    31 42                         	jeql	L319
1026  0003183F                                  L9993:
1027  0003183F                                   # 	   {
1028  0003183F                                   # 	      errcnt++;				/* bump the error count    */
1029  0003183F    6d effffff7eb                 	incl	_errcnt
1030  00031845                                   # 	      if ( prt_error ) 
1031  00031845    5d effffff7e5                 	tstl	_prt_error
1032  0003184B    31 0d                         	jeql	L320
1033  0003184D                                   # 		 print_pipe16_er("Cache Data, 2 NOPs");
1034  0003184D                                  	.data	1
1035  00000dab *                                L321:
1036  00000dab *  436163686520446174612C203     	.ascii	"Cache Data, 2 NOPs\0"
                  2204E4F507300
1037  00000dbe *                                	.text
1038  0003184D    dd 8f00000dab                 	pushl	$L321
1039  00031853    fe 08 ef00000340              	callf	$8,_print_pipe16_er
1040  0003185A                                   # 	      if ( halt_flg ) 			/* halt on error?           */
1041  0003185A                                  L320:
1042  0003185A    5d effffff7d0                 	tstl	_halt_flg
1043  00031860    31 0d                         	jeql	L322
1044  00031862                                   # 		 pipe16_er_hlt( subtest );
1045  00031862    dd effffff7c8                 	pushl	_subtest
1046  00031868    fe 08 ef00000479              	callf	$8,_pipe16_er_hlt
1047  0003186F                                   # 	      if ( loop_on_err ) {
1048  0003186F                                  L322:
1049  0003186F    5d effffff7bb                 	tstl	_loop_on_err
1050  00031875    31 0a                         	jeql	L323
1051  00031877                                   # 		 force_loop = TRUE;		/* set the force loop flag */
1052  00031877    0d 01 effffff7b2              	movl	$1,_force_loop
1053  0003187E                                   # 		 asm("brw _pipe16_7_lp1");	/* and loop                */
1054  0003187E    13 ff74                       brw _pipe16_7_lp1
1055  00031881                                   # 	      }
1056  00031881                                   # 	   }   /* end of compare error */
1057  00031881                                  L323:
1058  00031881                                   # 	} while( index++ < max_lnd_1_index );
1059  00031881                                  L319:
1060  00031881                                  L316:
1061  00031881    0d effffff7a9 50              	movl	_index,r0
1062  00031888    6d effffff7a2                 	incl	_index
1063  0003188E    1d 50 effffff79b              	cmpl	r0,_max_lnd_1_index
1064  00031895    81 03 13 ff13                 	jlss	L317
1065  0003189A                                  L315:
1066  0003189A                                   # }  /* end of subtest 7 */
1067  0003189A    40                            	ret#2
1068  0003189B                                  	.set	L311,0x0
1069  0003189B                                  L313:
1070  0003189B    13 ff03                       	jbr 	L314
1071  0003189E                                  	.data
1072  00000d34 *                                	.text
1073  0003189E                                  	.align	1
1074  0003189E                                  	.globl	_pipe16_8
1075  0003189E                                  _pipe16_8:
1076  0003189E    0000                          	.word	L324
1077  000318A0                                   # 
1078  000318A0                                   # 
1079  000318A0                                   # 
1080  000318A0                                   # 
1081  000318A0                                   # 
1082  000318A0                                   # 
1083  000318A0                                   # 
1084  000318A0                                   # /************************************************************************
1085  000318A0                                   # *
1086  000318A0                                   # *			SUBTEST 8  
1087  000318A0                                   # *		data in cache, 3 NO-OPs
1088  000318A0                                   # *
1089  000318A0                                   # ************************************************************************/
1090  000318A0                                   # pipe16_8() 
1091  000318A0                                   # {
1092  000318A0    13 00fe                       	jbr 	L326
1093  000318A3                                  L327:
1094  000318A3                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
1095  000318A3    4d effffff787                 	clrl	_force_loop
1096  000318A9                                   # 	index = 0;
1097  000318A9    4d effffff781                 	clrl	_index
1098  000318AF                                   # 	do 
1099  000318AF                                  L330:
1100  000318AF                                   # 	{
1101  000318AF                                   # 	   dbl_value_1   = lnd_1_data[index].ld; /* get the operand          */
1102  000318AF    48 04 effffff77a 50           	shll	$4,_index,r0
1103  000318B7    0c 8f00000000 50              	addl2	$_lnd_1_data,r0
1104  000318BE    0d a004 effffff76e            	movl	4(r0),_dbl_value_1+4
1105  000318C6    0d 60 effffff763              	movl	(r0),_dbl_value_1
1106  000318CD                                   # 	   dbl_value_2.m = 0;	 		 /* set the '0.0' operand    */
1107  000318CD    4d effffff75d                 	clrl	_dbl_value_2
1108  000318D3                                   # 	   dbl_value_2.l = 0;
1109  000318D3    4d effffff75b                 	clrl	_dbl_value_2+4
1110  000318D9                                   # 	   dbl_expected = lnd_1_data[index].exp; /* get the expected results */
1111  000318D9    48 04 effffff750 50           	shll	$4,_index,r0
1112  000318E1    0c 8f00000008 50              	addl2	$_lnd_1_data+8,r0
1113  000318E8    0d a004 effffff744            	movl	4(r0),_dbl_expected+4
1114  000318F0    0d 60 effffff739              	movl	(r0),_dbl_expected
1115  000318F7                                   # /*
1116  000318F7                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
1117  000318F7                                   #  * The force loop flag is set after the first error.
1118  000318F7                                   # */
1119  000318F7                                   # 	   asm("_pipe16_8_lp1:");
1120  000318F7                                  _pipe16_8_lp1:
1121  000318F7                                   # 	   asm("lnd  _dbl_value_1");		/* load a the op    (-op ) */
1122  000318F7    17 effffff733                 lnd  _dbl_value_1
1123  000318FD                                   # 	   asm("nop");
1124  000318FD    10                            nop
1125  000318FE                                   # 	   asm("nop");
1126  000318FE    10                            nop
1127  000318FF                                   # 	   asm("nop");
1128  000318FF    10                            nop
1129  00031900                                   # 	   asm("addd _dbl_value_1");		/* add the operand  (  0 ) */
1130  00031900    c7 effffff72a                 addd _dbl_value_1
1131  00031906                                   # 	   asm("nop");
1132  00031906    10                            nop
1133  00031907                                   # 	   asm("nop");
1134  00031907    10                            nop
1135  00031908                                   # 	   asm("nop");
1136  00031908    10                            nop
1137  00031909                                   # 	   asm("subd _dbl_value_2");		/* subtract a '0.0' (  0 ) */
1138  00031909    d7 effffff721                 subd _dbl_value_2
1139  0003190F                                   # 	   asm("nop");
1140  0003190F    10                            nop
1141  00031910                                   # 	   asm("nop");
1142  00031910    10                            nop
1143  00031911                                   # 	   asm("nop");
1144  00031911    10                            nop
1145  00031912                                   # 	   asm("subd _dbl_value_1");		/* subtract the op. (-op ) */
1146  00031912    d7 effffff718                 subd _dbl_value_1
1147  00031918                                   # 	   asm("nop");
1148  00031918    10                            nop
1149  00031919                                   # 	   asm("nop");
1150  00031919    10                            nop
1151  0003191A                                   # 	   asm("nop");
1152  0003191A    10                            nop
1153  0003191B                                   # 	   asm("std  _dbl_st_acc");		/* store the result (-op ) */
1154  0003191B    27 effffff70f                 std  _dbl_st_acc
1155  00031921                                   # 	   if( force_loop )
1156  00031921    5d effffff709                 	tstl	_force_loop
1157  00031927    31 02                         	jeql	L331
1158  00031929                                   # 	       asm("brb _pipe16_8_lp1");;	/* run the loop again      */
1159  00031929    11 cc                         brb _pipe16_8_lp1
1160  0003192B                                  L331:
1161  0003192B                                   # /* 
1162  0003192B                                   #  * verify the results
1163  0003192B                                   # */
1164  0003192B                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
1165  0003192B                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
1166  0003192B    1d effffff6ff effffff6fa      	cmpl	_dbl_st_acc,_dbl_expected
1167  00031936    21 0d                         	jneq	L9992
1168  00031938    1d effffff6f6 effffff6f1      	cmpl	_dbl_st_acc+4,_dbl_expected+4
1169  00031943    31 42                         	jeql	L332
1170  00031945                                  L9992:
1171  00031945                                   # 	   {
1172  00031945                                   # 	      errcnt++;				/* bump the error count    */
1173  00031945    6d effffff6e5                 	incl	_errcnt
1174  0003194B                                   # 	      if ( prt_error ) 
1175  0003194B    5d effffff6df                 	tstl	_prt_error
1176  00031951    31 0d                         	jeql	L333
1177  00031953                                   # 		 print_pipe16_er("Cache Data, 3 NOPs");
1178  00031953                                  	.data	1
1179  00000dbe *                                L334:
1180  00000dbe *  436163686520446174612C203     	.ascii	"Cache Data, 3 NOPs\0"
                  3204E4F507300
1181  00000dd1 *                                	.text
1182  00031953    dd 8f00000dbe                 	pushl	$L334
1183  00031959    fe 08 ef0000023a              	callf	$8,_print_pipe16_er
1184  00031960                                   # 	      if ( halt_flg ) 			/* halt on error?           */
1185  00031960                                  L333:
1186  00031960    5d effffff6ca                 	tstl	_halt_flg
1187  00031966    31 0d                         	jeql	L335
1188  00031968                                   # 		 pipe16_er_hlt( subtest );
1189  00031968    dd effffff6c2                 	pushl	_subtest
1190  0003196E    fe 08 ef00000373              	callf	$8,_pipe16_er_hlt
1191  00031975                                   # 	      if ( loop_on_err ) {
1192  00031975                                  L335:
1193  00031975    5d effffff6b5                 	tstl	_loop_on_err
1194  0003197B    31 0a                         	jeql	L336
1195  0003197D                                   # 		 force_loop = TRUE;		/* set the force loop flag */
1196  0003197D    0d 01 effffff6ac              	movl	$1,_force_loop
1197  00031984                                   # 		 asm("brw _pipe16_8_lp1");	/* and loop                */
1198  00031984    13 ff70                       brw _pipe16_8_lp1
1199  00031987                                   # 	      }
1200  00031987                                   # 	   }   /* end of compare error */
1201  00031987                                  L336:
1202  00031987                                   # 	} while( index++ < max_lnd_1_index );
1203  00031987                                  L332:
1204  00031987                                  L329:
1205  00031987    0d effffff6a3 50              	movl	_index,r0
1206  0003198E    6d effffff69c                 	incl	_index
1207  00031994    1d 50 effffff695              	cmpl	r0,_max_lnd_1_index
1208  0003199B    81 03 13 ff0f                 	jlss	L330
1209  000319A0                                  L328:
1210  000319A0                                   # }  /* end of subtest 8 */
1211  000319A0    40                            	ret#2
1212  000319A1                                  	.set	L324,0x0
1213  000319A1                                  L326:
1214  000319A1    13 feff                       	jbr 	L327
1215  000319A4                                  	.data
1216  00000d34 *                                	.text
1217  000319A4                                  	.align	1
1218  000319A4                                  	.globl	_pipe16_9
1219  000319A4                                  _pipe16_9:
1220  000319A4    0000                          	.word	L337
1221  000319A6                                   # 
1222  000319A6                                   # 
1223  000319A6                                   # 
1224  000319A6                                   # 
1225  000319A6                                   # 
1226  000319A6                                   # 
1227  000319A6                                   # 
1228  000319A6                                   # 
1229  000319A6                                   # 
1230  000319A6                                   # /******************************************************************************
1231  000319A6                                   # *
1232  000319A6                                   # *			SUBTEST 9  
1233  000319A6                                   # *
1234  000319A6                                   # *	Get the data via the FRAME POINTER  ( quad word indexed )
1235  000319A6                                   # *
1236  000319A6                                   # *	 ADDRESSES OF DATA OPERANDS    INDEX       DATA
1237  000319A6                                   # *	pointer_data,-4     ( FP+24 )    3     the STF result goes here
1238  000319A6                                   # *	pointer_data-8,-12  ( FP+16 )    2     <operand data>
1239  000319A6                                   # *	pointer_data-16,-20 ( FP+8  )    1     < '0.0'  data>
1240  000319A6                                   # *	pointer_data-24,-28 (  FP   )    0     point the frame pointer here
1241  000319A6                                   # *
1242  000319A6                                   # * NOTE: The double precision instructions are using Quad Word indexing.
1243  000319A6                                   # ******************************************************************************/
1244  000319A6                                   # pipe16_9() 
1245  000319A6                                   # {
1246  000319A6    13 01ee                       	jbr 	L339
1247  000319A9                                  L340:
1248  000319A9                                   # 	asm("moval (r13),_pre_event_fp");	/* save the frame pointer   */ 
1249  000319A9    ed 6d effffff680              moval (r13),_pre_event_fp
1250  000319B0                                   # 	asm("moval (r14),_pre_event_sp");	/* save the stack pointer   */ 
1251  000319B0    ed 6e effffff679              moval (r14),_pre_event_sp
1252  000319B7                                   # 	force_loop = FALSE;			/* clear force_loop flag */
1253  000319B7    4d effffff673                 	clrl	_force_loop
1254  000319BD                                   # 	index = 0;
1255  000319BD    4d effffff66d                 	clrl	_index
1256  000319C3                                   # 	do 
1257  000319C3                                  L343:
1258  000319C3                                   # 	{
1259  000319C3                                   # 	   sgl_value_1  = lnd_1_data[index].ld.m;  /* get operand 1's MSW   */
1260  000319C3    0d effffff667 50              	movl	_index,r0
1261  000319CA    48 04 50 50                   	shll	$4,r0,r0
1262  000319CE    0d e000000000 effffff657      	movl	_lnd_1_data(r0),_sgl_value_1
1263  000319D9                                   # 	   sgl_value_2  = lnd_1_data[index].ld.l;  /* get operand 1's LSW   */
1264  000319D9    0d effffff651 50              	movl	_index,r0
1265  000319E0    48 04 50 50                   	shll	$4,r0,r0
1266  000319E4    0d e000000004 effffff641      	movl	_lnd_1_data+4(r0),_sgl_value_2
1267  000319EF                                   # 	   sgl_value_7  = 0;			   /* get the '0.0' data    */
1268  000319EF    4d effffff63b                 	clrl	_sgl_value_7
1269  000319F5                                   # 	   dbl_expected = lnd_1_data[index].exp;   /* get expected results  */
1270  000319F5    48 04 effffff634 50           	shll	$4,_index,r0
1271  000319FD    0c 8f00000008 50              	addl2	$_lnd_1_data+8,r0
1272  00031A04    0d a004 effffff628            	movl	4(r0),_dbl_expected+4
1273  00031A0C    0d 60 effffff61d              	movl	(r0),_dbl_expected
1274  00031A13                                   # /*
1275  00031A13                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
1276  00031A13                                   #  * The force loop flag is set after the first error.
1277  00031A13                                   # */
1278  00031A13                                   # 	   asm("_pipe16_9_lp1:");
1279  00031A13                                  _pipe16_9_lp1:
1280  00031A13                                   # 	   asm("moval _pointer_data,_sgl_value_9");/* get store data's addr */
1281  00031A13    ed effffff617 effffff612      moval _pointer_data,_sgl_value_9
1282  00031A1E                                   # 	   sgl_value_9 -= 8;
1283  00031A1E    2c 08 effffff60b              	subl2	$8,_sgl_value_9
1284  00031A25                                   # 	   asm("movl _sgl_value_2,*_sgl_value_9"); /* set the operand's LSW */
1285  00031A25    0d effffff605 fffffff600      movl _sgl_value_2,*_sgl_value_9
1286  00031A30                                   # 	   sgl_value_9 -= 4;
1287  00031A30    2c 04 effffff5f9              	subl2	$4,_sgl_value_9
1288  00031A37                                   # 	   asm("movl _sgl_value_1,*_sgl_value_9"); /* set the operand's MSW */
1289  00031A37    0d effffff5f3 fffffff5ee      movl _sgl_value_1,*_sgl_value_9
1290  00031A42                                   # 	   sgl_value_9 -= 4;
1291  00031A42    2c 04 effffff5e7              	subl2	$4,_sgl_value_9
1292  00031A49                                   # 	   asm("movl _sgl_value_7,*_sgl_value_9"); /* set '0.0' data's LSW  */
1293  00031A49    0d effffff5e1 fffffff5dc      movl _sgl_value_7,*_sgl_value_9
1294  00031A54                                   # 	   sgl_value_9 -= 4;
1295  00031A54    2c 04 effffff5d5              	subl2	$4,_sgl_value_9
1296  00031A5B                                   # 	   asm("movl _sgl_value_7,*_sgl_value_9"); /* set '0.0' data's MSW  */
1297  00031A5B    0d effffff5cf fffffff5ca      movl _sgl_value_7,*_sgl_value_9
1298  00031A66                                   # 	   sgl_value_9 -= 8;			/* get the FP addr to use   */
1299  00031A66    2c 08 effffff5c3              	subl2	$8,_sgl_value_9
1300  00031A6D                                   # 	   asm("movl _sgl_value_9,r13");	/* set the FRAME POINTER    */
1301  00031A6D    0d effffff5bd 5d              movl _sgl_value_9,r13
1302  00031A74                                   # 	   asm("movl $1,r5");			/* r5 index = 1 quadwords   */
1303  00031A74    0d 01 55                      movl $1,r5
1304  00031A77                                   # 	   asm("movl $2,r6");			/* r6 index = 2 quadwords   */
1305  00031A77    0d 02 56                      movl $2,r6
1306  00031A7A                                   # 	   asm("movl $3,r7");			/* r7 index = 3 quadwords   */
1307  00031A7A    0d 03 57                      movl $3,r7
1308  00031A7D                                   # 	   asm("lnd  (r13)[r6]");		/* load the operand ( -op ) */
1309  00031A7D    17 466d                       lnd  (r13)[r6]
1310  00031A80                                   # 	   asm("addd (r13)[r6]");		/* add the operand  (  0  ) */
1311  00031A80    c7 466d                       addd (r13)[r6]
1312  00031A83                                   # 	   asm("subd (r13)[r5]");		/* subtract a '0.0' (  0  ) */
1313  00031A83    d7 456d                       subd (r13)[r5]
1314  00031A86                                   # 	   asm("subd (r13)[r6]");		/* subtract the op. ( -op ) */
1315  00031A86    d7 466d                       subd (r13)[r6]
1316  00031A89                                   # 	   asm("std  (r13)[r7]");		/* store the result ( -op ) */
1317  00031A89    27 476d                       std  (r13)[r7]
1318  00031A8C                                   # 	   if( force_loop )
1319  00031A8C    5d effffff59e                 	tstl	_force_loop
1320  00031A92    31 03                         	jeql	L344
1321  00031A94                                   # 	       asm("brw _pipe16_9_lp1");;	/* run the loop again      */
1322  00031A94    13 ff7c                       brw _pipe16_9_lp1
1323  00031A97                                  L344:
1324  00031A97                                   # /* 
1325  00031A97                                   #  * verify the results
1326  00031A97                                   # */
1327  00031A97                                   # 	   asm("moval (r13),_sgl_value_10");	/* save the frame pointer  */
1328  00031A97    ed 6d effffff592              moval (r13),_sgl_value_10
1329  00031A9E                                   # 	   asm("movl _pointer_data,_sgl_value_4"); /* save the LSW stored  */
1330  00031A9E    0d effffff58c effffff587      movl _pointer_data,_sgl_value_4
1331  00031AA9                                   # 	   asm("movl _pointer_data-4,_sgl_value_3"); /*   and the MSW      */
1332  00031AA9    0d effffff57d effffff57c      movl _pointer_data-4,_sgl_value_3
1333  00031AB4                                   # 	   if( (sgl_value_3  != dbl_expected.m) || /* verify the result... */
1334  00031AB4                                   # 	       (sgl_value_4  != dbl_expected.l) || /* verify the result... */
1335  00031AB4                                   # 	       (sgl_value_10 != sgl_value_9) )	   /* ... and the final FP */
1336  00031AB4    1d effffff576 effffff571      	cmpl	_sgl_value_3,_dbl_expected
1337  00031ABF    21 1d                         	jneq	L9991
1338  00031AC1    1d effffff569 effffff568      	cmpl	_sgl_value_4,_dbl_expected+4
1339  00031ACC    21 10                         	jneq	L9991
1340  00031ACE    1d effffff55c effffff557      	cmpl	_sgl_value_10,_sgl_value_9
1341  00031AD9    21 03 13 0091                 	jeql	L345
1342  00031ADE                                  L9991:
1343  00031ADE                                   # 	   {
1344  00031ADE                                   # 	      asm("movl _pre_event_fp,r13");	/* restore frame pointer   */
1345  00031ADE    0d effffff54c 5d              movl _pre_event_fp,r13
1346  00031AE5                                   # 	      asm("movl _pre_event_sp,r14");	/* restore stack pointer   */
1347  00031AE5    0d effffff545 5e              movl _pre_event_sp,r14
1348  00031AEC                                   # 	      errcnt++;				/* bump the error count    */
1349  00031AEC    6d effffff53e                 	incl	_errcnt
1350  00031AF2                                   # 	      if ( prt_error ) {
1351  00031AF2    5d effffff538                 	tstl	_prt_error
1352  00031AF8    31 4e                         	jeql	L346
1353  00031AFA                                   # 		 print_pipe16_er("indexed FP addressing");
1354  00031AFA                                  	.data	1
1355  00000dd1 *                                L347:
1356  00000dd1 *  696E646578656420465020616     	.ascii	"indexed FP addressing\0"
                  46472657373696E6700
1357  00000de7 *                                	.text
1358  00031AFA    dd 8f00000dd1                 	pushl	$L347
1359  00031B00    fe 08 ef00000093              	callf	$8,_print_pipe16_er
1360  00031B07                                   # 		 writes("final Frame Pointer = ");
1361  00031B07                                  	.data	1
1362  00000de7 *                                L348:
1363  00000de7 *  66696E616C204672616D65205     	.ascii	"final Frame Pointer = \0"
                  06F696E746572203D2000
1364  00000dfe *                                	.text
1365  00031B07    dd 8f00000de7                 	pushl	$L348
1366  00031B0D    fe 08 effffff51c              	callf	$8,_writes
1367  00031B14                                   # 		 writeh( sgl_value_10 );
1368  00031B14    dd effffff516                 	pushl	_sgl_value_10
1369  00031B1A    fe 08 effffff50f              	callf	$8,_writeh
1370  00031B21                                   # 		 writes(",  expected FP = ");
1371  00031B21                                  	.data	1
1372  00000dfe *                                L350:
1373  00000dfe *  2C20206578706563746564204     	.ascii	",  expected FP = \0"
                  650203D2000
1374  00000e10 *                                	.text
1375  00031B21    dd 8f00000dfe                 	pushl	$L350
1376  00031B27    fe 08 effffff502              	callf	$8,_writes
1377  00031B2E                                   # 		 writeh( sgl_value_9 );
1378  00031B2E    dd effffff4fc                 	pushl	_sgl_value_9
1379  00031B34    fe 08 effffff4f5              	callf	$8,_writeh
1380  00031B3B                                   # 		 writes("\n");
1381  00031B3B                                  	.data	1
1382  00000e10 *                                L351:
1383  00000e10 *  0A00                          	.ascii	"\12\0"
1384  00000e12 *                                	.text
1385  00031B3B    dd 8f00000e10                 	pushl	$L351
1386  00031B41    fe 08 effffff4e8              	callf	$8,_writes
1387  00031B48                                   # 	      }
1388  00031B48                                   # 	      if ( halt_flg ) 			/* halt on error?          */
1389  00031B48                                  L346:
1390  00031B48    5d effffff4e2                 	tstl	_halt_flg
1391  00031B4E    31 0d                         	jeql	L352
1392  00031B50                                   # 		 pipe16_er_hlt( subtest );
1393  00031B50    dd effffff4da                 	pushl	_subtest
1394  00031B56    fe 08 ef0000018b              	callf	$8,_pipe16_er_hlt
1395  00031B5D                                   # 	      if ( loop_on_err ) {
1396  00031B5D                                  L352:
1397  00031B5D    5d effffff4cd                 	tstl	_loop_on_err
1398  00031B63    31 0a                         	jeql	L353
1399  00031B65                                   # 		 force_loop = TRUE;		/* set the force loop flag */
1400  00031B65    0d 01 effffff4c4              	movl	$1,_force_loop
1401  00031B6C                                   # 		 asm("brw _pipe16_9_lp1");	/* and loop                */
1402  00031B6C    13 fea4                       brw _pipe16_9_lp1
1403  00031B6F                                   # 	      }
1404  00031B6F                                   # 	   }   /* end of compare error */
1405  00031B6F                                  L353:
1406  00031B6F                                   # 	} while( index++ < max_lnd_1_index );
1407  00031B6F                                  L345:
1408  00031B6F                                  L342:
1409  00031B6F    0d effffff4bb 50              	movl	_index,r0
1410  00031B76    6d effffff4b4                 	incl	_index
1411  00031B7C    1d 50 effffff4ad              	cmpl	r0,_max_lnd_1_index
1412  00031B83    81 03 13 fe3b                 	jlss	L343
1413  00031B88                                  L341:
1414  00031B88                                   # 	asm("movl _pre_event_fp,r13");		/* restore the frame pointer */
1415  00031B88    0d effffff4a2 5d              movl _pre_event_fp,r13
1416  00031B8F                                   # 	asm("movl _pre_event_sp,r14");		/* restore the stack pointer */
1417  00031B8F    0d effffff49b 5e              movl _pre_event_sp,r14
1418  00031B96                                   # }  /* end of subtest 9 */
1419  00031B96    40                            	ret#2
1420  00031B97                                  	.set	L337,0x0
1421  00031B97                                  L339:
1422  00031B97    13 fe0f                       	jbr 	L340
1423  00031B9A                                  	.data
1424  00000d34 *                                	.text
1425  00031B9A                                  	.align	1
1426  00031B9A                                  	.globl	_print_pipe16_er
1427  00031B9A                                  _print_pipe16_er:
1428  00031B9A    0000                          	.word	L354
1429  00031B9C                                   # 
1430  00031B9C                                   # 
1431  00031B9C                                   # /******************************************************************************
1432  00031B9C                                   # *
1433  00031B9C                                   # *			ERROR ROUTINE
1434  00031B9C                                   # *
1435  00031B9C                                   # *	print an error in the following form
1436  00031B9C                                   # *
1437  00031B9C                                   # *operand = xxxxxxxx xxxxxxxx,   final Acc = xxxxxxxx xxxxxxxx,   index = dd
1438  00031B9C                                   # *                            expected Acc = xxxxxxxx xxxxxxxx
1439  00031B9C                                   # *
1440  00031B9C                                   # ******************************************************************************/
1441  00031B9C                                   # print_pipe16_er(msg)
1442  00031B9C                                   # char *msg;
1443  00031B9C                                   # {
1444  00031B9C    13 0145                       	jbr 	L356
1445  00031B9F                                  L357:
1446  00031B9F                                   # 	writes("\n");		/* start a new print line   */
1447  00031B9F                                  	.data	1
1448  00000e12 *                                L358:
1449  00000e12 *  0A00                          	.ascii	"\12\0"
1450  00000e14 *                                	.text
1451  00031B9F    dd 8f00000e12                 	pushl	$L358
1452  00031BA5    fe 08 effffff484              	callf	$8,_writes
1453  00031BAC                                   # 	writes("cycle: ");
1454  00031BAC                                  	.data	1
1455  00000e14 *                                L359:
1456  00000e14 *  6379636C653A2000              	.ascii	"cycle: \0"
1457  00000e1c *                                	.text
1458  00031BAC    dd 8f00000e14                 	pushl	$L359
1459  00031BB2    fe 08 effffff477              	callf	$8,_writes
1460  00031BB9                                   # 	writed( cycle );
1461  00031BB9    dd effffff471                 	pushl	_cycle
1462  00031BBF    fe 08 effffff46a              	callf	$8,_writed
1463  00031BC6                                   # 	writes(" test ");
1464  00031BC6                                  	.data	1
1465  00000e1c *                                L361:
1466  00000e1c *  20746573742000                	.ascii	" test \0"
1467  00000e23 *                                	.text
1468  00031BC6    dd 8f00000e1c                 	pushl	$L361
1469  00031BCC    fe 08 effffff45d              	callf	$8,_writes
1470  00031BD3                                   # 	writed( test_no );
1471  00031BD3    dd effffff457                 	pushl	_test_no
1472  00031BD9    fe 08 effffff450              	callf	$8,_writed
1473  00031BE0                                   # 	writes("  (Pipe 16), subtest ");
1474  00031BE0                                  	.data	1
1475  00000e23 *                                L362:
1476  00000e23 *  20202850697065203136292C2     	.ascii	"  (Pipe 16), subtest \0"
                  0737562746573742000
1477  00000e39 *                                	.text
1478  00031BE0    dd 8f00000e23                 	pushl	$L362
1479  00031BE6    fe 08 effffff443              	callf	$8,_writes
1480  00031BED                                   # 	writed( subtest );
1481  00031BED    dd effffff43d                 	pushl	_subtest
1482  00031BF3    fe 08 effffff436              	callf	$8,_writed
1483  00031BFA                                   # 	writes(" error - ");
1484  00031BFA                                  	.data	1
1485  00000e39 *                                L363:
1486  00000e39 *  206572726F72202D2000          	.ascii	" error - \0"
1487  00000e43 *                                	.text
1488  00031BFA    dd 8f00000e39                 	pushl	$L363
1489  00031C00    fe 08 effffff429              	callf	$8,_writes
1490  00031C07                                   # 	writes( msg );
1491  00031C07    dd ad04                       	pushl	4(fp)
1492  00031C0A    fe 08 effffff41f              	callf	$8,_writes
1493  00031C11                                   # 	writec('\n');
1494  00031C11    dd 0a                         	pushl	$10
1495  00031C13    fe 08 effffff416              	callf	$8,_writec
1496  00031C1A                                   # 	writes(" LND(op), ADDD(op), SUBD(0.0), SUBD(op), STD\n");
1497  00031C1A                                  	.data	1
1498  00000e43 *                                L365:
1499  00000e43 *  204C4E44286F70292C2041444     	.ascii	" LND(op), ADDD(op), SUBD(0.0), SUBD(op), STD\12\0"
                  444286F70292C205355424428
                  302E30292C2053554244286F7
                  0292C205354440A00
1500  00000e71 *                                	.text
1501  00031C1A    dd 8f00000e43                 	pushl	$L365
1502  00031C20    fe 08 effffff409              	callf	$8,_writes
1503  00031C27                                   # 	writes("operand = ");
1504  00031C27                                  	.data	1
1505  00000e71 *                                L366:
1506  00000e71 *  6F706572616E64203D2000        	.ascii	"operand = \0"
1507  00000e7c *                                	.text
1508  00031C27    dd 8f00000e71                 	pushl	$L366
1509  00031C2D    fe 08 effffff3fc              	callf	$8,_writes
1510  00031C34                                   # 	write32h( dbl_ld_acc.m );
1511  00031C34    dd effffff3f6                 	pushl	_dbl_ld_acc
1512  00031C3A    fe 08 effffff3ef              	callf	$8,_write32h
1513  00031C41                                   # 	writec(' ');
1514  00031C41    dd 20                         	pushl	$32
1515  00031C43    fe 08 effffff3e6              	callf	$8,_writec
1516  00031C4A                                   # 	write32h( dbl_ld_acc.l );
1517  00031C4A    dd effffff3e4                 	pushl	_dbl_ld_acc+4
1518  00031C50    fe 08 effffff3d9              	callf	$8,_write32h
1519  00031C57                                   # 	writes(",   final Acc = ");
1520  00031C57                                  	.data	1
1521  00000e7c *                                L368:
1522  00000e7c *  2C20202066696E616C2041636     	.ascii	",   final Acc = \0"
                  3203D2000
1523  00000e8d *                                	.text
1524  00031C57    dd 8f00000e7c                 	pushl	$L368
1525  00031C5D    fe 08 effffff3cc              	callf	$8,_writes
1526  00031C64                                   # 	write32h( dbl_st_acc.m );
1527  00031C64    dd effffff3c6                 	pushl	_dbl_st_acc
1528  00031C6A    fe 08 effffff3bf              	callf	$8,_write32h
1529  00031C71                                   # 	writec(' ');
1530  00031C71    dd 20                         	pushl	$32
1531  00031C73    fe 08 effffff3b6              	callf	$8,_writec
1532  00031C7A                                   # 	write32h( dbl_st_acc.l );
1533  00031C7A    dd effffff3b4                 	pushl	_dbl_st_acc+4
1534  00031C80    fe 08 effffff3a9              	callf	$8,_write32h
1535  00031C87                                   # 	writes(",   index = ");
1536  00031C87                                  	.data	1
1537  00000e8d *                                L369:
1538  00000e8d *  2C202020696E646578203D200     	.ascii	",   index = \0"
                  0
1539  00000e9a *                                	.text
1540  00031C87    dd 8f00000e8d                 	pushl	$L369
1541  00031C8D    fe 08 effffff39c              	callf	$8,_writes
1542  00031C94                                   # 	writed( index );
1543  00031C94    dd effffff396                 	pushl	_index
1544  00031C9A    fe 08 effffff38f              	callf	$8,_writed
1545  00031CA1                                   # 	writec('\n');
1546  00031CA1    dd 0a                         	pushl	$10
1547  00031CA3    fe 08 effffff386              	callf	$8,_writec
1548  00031CAA                                   # 	writes("                            expected Acc = ");
1549  00031CAA                                  	.data	1
1550  00000e9a *                                L370:
1551  00000e9a *  2020202020202020202020202     	.ascii	"                            expected Acc = \0"
                  0202020202020202020202020
                  2020206578706563746564204
                  16363203D2000
1552  00000ec6 *                                	.text
1553  00031CAA    dd 8f00000e9a                 	pushl	$L370
1554  00031CB0    fe 08 effffff379              	callf	$8,_writes
1555  00031CB7                                   # 	write32h( dbl_expected.m );
1556  00031CB7    dd effffff373                 	pushl	_dbl_expected
1557  00031CBD    fe 08 effffff36c              	callf	$8,_write32h
1558  00031CC4                                   # 	writec(' ');
1559  00031CC4    dd 20                         	pushl	$32
1560  00031CC6    fe 08 effffff363              	callf	$8,_writec
1561  00031CCD                                   # 	write32h( dbl_expected.l );
1562  00031CCD    dd effffff361                 	pushl	_dbl_expected+4
1563  00031CD3    fe 08 effffff356              	callf	$8,_write32h
1564  00031CDA                                   # 	writec('\n');
1565  00031CDA    dd 0a                         	pushl	$10
1566  00031CDC    fe 08 effffff34d              	callf	$8,_writec
1567  00031CE3                                   # }
1568  00031CE3    40                            	ret#2
1569  00031CE4                                  	.set	L354,0x0
1570  00031CE4                                  L356:
1571  00031CE4    13 feb8                       	jbr 	L357
1572  00031CE7                                  	.data
1573  00000d34 *                                	.text
1574  00031CE7    00                            	.align	1
1575  00031CE8                                  	.globl	_pipe16_er_hlt
1576  00031CE8                                  _pipe16_er_hlt:
1577  00031CE8    0000                          	.word	L371
1578  00031CEA                                   # 
1579  00031CEA                                   # 
1580  00031CEA                                   # 
1581  00031CEA                                   # 
1582  00031CEA                                   # 
1583  00031CEA                                   # /******************************************************************************
1584  00031CEA                                   # *
1585  00031CEA                                   # *			HALT ON ERROR ROUTINE
1586  00031CEA                                   # *
1587  00031CEA                                   # *  	halt with the necessary information saved in the registers
1588  00031CEA                                   # *
1589  00031CEA                                   # ******************************************************************************/
1590  00031CEA                                   # pipe16_er_hlt( subtest )
1591  00031CEA                                   # int subtest;
1592  00031CEA                                   # {
1593  00031CEA    11 75                         	jbr 	L373
1594  00031CEC                                  L374:
1595  00031CEC                                   # 	sgl_value_3 = dbl_st_acc.m;
1596  00031CEC    0d effffff33e effffff339      	movl	_dbl_st_acc,_sgl_value_3
1597  00031CF7                                   # 	sgl_value_4 = dbl_st_acc.l;
1598  00031CF7    0d effffff337 effffff32e      	movl	_dbl_st_acc+4,_sgl_value_4
1599  00031D02                                   # 	asm("movl _test_no,r0");		/* r0 = test number        */
1600  00031D02    0d effffff328 50              movl _test_no,r0
1601  00031D09                                   # 	asm("movl _subtest,r1");		/* r1 = subtest number     */
1602  00031D09    0d effffff321 51              movl _subtest,r1
1603  00031D10                                   # 	asm("movl $1,r2");			/* r2 = error code         */
1604  00031D10    0d 01 52                      movl $1,r2
1605  00031D13                                   # 	asm("movl _cycle,r3");			/* r3 = cycle count        */
1606  00031D13    0d effffff317 53              movl _cycle,r3
1607  00031D1A                                   # 	asm("movl _sgl_value_1,r4");		/* r4 = MSW operand loaded */
1608  00031D1A    0d effffff310 54              movl _sgl_value_1,r4
1609  00031D21                                   # 	asm("movl _sgl_value_2,r5");		/* r5 = LSW operand loaded */
1610  00031D21    0d effffff309 55              movl _sgl_value_2,r5
1611  00031D28                                   # 	asm("movl _sgl_value_3,r6");		/* r6 = MSW operand stored */
1612  00031D28    0d effffff302 56              movl _sgl_value_3,r6
1613  00031D2F                                   # 	asm("movl _sgl_value_4,r7");		/* r7 = LSW operand stored */
1614  00031D2F    0d effffff2fb 57              movl _sgl_value_4,r7
1615  00031D36                                   # 	asm("movl _sgl_value_5,r8");		/* r8 = MSW operand expect */
1616  00031D36    0d effffff2f4 58              movl _sgl_value_5,r8
1617  00031D3D                                   # 	asm("movl _sgl_value_6,r9");		/* r9 = LSW operand expect */
1618  00031D3D    0d effffff2ed 59              movl _sgl_value_6,r9
1619  00031D44                                   # 	asm("movl _index,r10");			/* r10 = data index        */
1620  00031D44    0d effffff2e6 5a              movl _index,r10
1621  00031D4B                                   # 	if( subtest == 9 ) {
1622  00031D4B    1d ad04 09                    	cmpl	4(fp),$9
1623  00031D4F    21 0e                         	jneq	L375
1624  00031D51                                   # 		asm("movl _sgl_value_10,r11");	/* r11 = final FP value     */
1625  00031D51    0d effffff2d9 5b              movl _sgl_value_10,r11
1626  00031D58                                   # 		asm("movl _sgl_value_9,r12");	/* r12 = expected FP value  */
1627  00031D58    0d effffff2d2 5c              movl _sgl_value_9,r12
1628  00031D5F                                   # 	};
1629  00031D5F                                  L375:
1630  00031D5F                                   # 	asm(".globl _pipe16_1_hlt");
1631  00031D5F                                  .globl _pipe16_1_hlt
1632  00031D5F                                   # 	asm("_pipe16_1_hlt:");			/* PC after the halt       */
1633  00031D5F                                  _pipe16_1_hlt:
1634  00031D5F                                   # 	asm("halt");				/* HALT ...                */
1635  00031D5F    00                            halt
1636  00031D60                                   # }  /* end of halt on error */
1637  00031D60    40                            	ret#2
1638  00031D61                                  	.set	L371,0x0
1639  00031D61                                  L373:
1640  00031D61    11 89                         	jbr 	L374
1641  00031D63                                  	.data
1641  00062D93                                  	.data

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.