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

   1  00000000                                  LL0:
   2  00000000                                  	.data
   3  00000d20 *                                	.text
   4  00000000                                  	.align	1
   5  00000000                                  	.globl	_pipe_17
   6  00000000                                  _pipe_17:
   7  00031D64    0000                          	.word	L215
   8  00031D66                                   # #include "fpp_defs.h"
   9  00031D66                                   # 
  10  00031D66                                   # 
  11  00031D66                                   # /*****************************************************************************
  12  00031D66                                   # *
  13  00031D66                                   # *		DBL PIPELINE TEST #17 MONITOR
  14  00031D66                                   # *
  15  00031D66                                   # *  This test will do:
  16  00031D66                                   # *
  17  00031D66                                   # *	CVLD(x)  ADDD(0)  MULD(1)  STD
  18  00031D66                                   # *
  19  00031D66                                   # *  where the x's are the CVLD data patterns.
  20  00031D66                                   # *****************************************************************************/
  21  00031D66                                   # pipe_17()
  22  00031D66                                   # {
  23  00031D66    13 009b                       	jbr 	L217
  24  00031D69                                  L218:
  25  00031D69                                   # 	asm(".globl _pipeline_17_t");
  26  00031D69                                  .globl _pipeline_17_t
  27  00031D69                                   # 	asm("_pipeline_17_t:");			/* entry address            */
  28  00031D69                                  _pipeline_17_t:
  29  00031D69                                   # 	if( (cycle == 1) && (prt_hdrs) )	/* print headers on 1st cycle */
  30  00031D69    1d effffffff5 01              	cmpl	_cycle,$1
  31  00031D70    21 15                         	jneq	L219
  32  00031D72    5d efffffffec                 	tstl	_prt_hdrs
  33  00031D78    31 0d                         	jeql	L219
  34  00031D7A                                   # 	{
  35  00031D7A                                   # 	   writes(" PIPE_17");
  36  00031D7A                                  	.data	1
  37  00000d20 *                                L221:
  38  00000d20 *  20504950455F313700            	.ascii	" PIPE_17\0"
  39  00000d29 *                                	.text
  40  00031D7A    dd 8f00000d20                 	pushl	$L221
  41  00031D80    fe 08 efffffffdd              	callf	$8,_writes
  42  00031D87                                   # 	}
  43  00031D87                                   # 	subtest = 1;
  44  00031D87                                  L219:
  45  00031D87    0d 01 efffffffd6              	movl	$1,_subtest
  46  00031D8E                                   # 	pipe17_1();				/* data in REGs,  no NOPs */
  47  00031D8E    fe 04 ef00000073              	callf	$4,_pipe17_1
  48  00031D95                                   # 	subtest++;				/* increment subtest num  */
  49  00031D95    6d efffffffc9                 	incl	_subtest
  50  00031D9B                                   # 	pipe17_2();				/* data in REGs,   1 NOP  */
  51  00031D9B    fe 04 ef0000018c              	callf	$4,_pipe17_2
  52  00031DA2                                   # 	subtest++;				/* increment subtest num  */
  53  00031DA2    6d efffffffbc                 	incl	_subtest
  54  00031DA8                                   # 	pipe17_3();				/* data in REGs,   2 NOPs */
  55  00031DA8    fe 04 ef000002a7              	callf	$4,_pipe17_3
  56  00031DAF                                   # 	subtest++;				/* increment subtest num  */
  57  00031DAF    6d efffffffaf                 	incl	_subtest
  58  00031DB5                                   # 	pipe17_4();				/* data in REGs,   3 NOPs */
  59  00031DB5    fe 04 ef000003c6              	callf	$4,_pipe17_4
  60  00031DBC                                   # 	subtest++;				/* increment subtest num  */
  61  00031DBC    6d efffffffa2                 	incl	_subtest
  62  00031DC2                                   # 	pipe17_5();				/* data in CACHE, no NOPs */
  63  00031DC2    fe 04 ef000004e7              	callf	$4,_pipe17_5
  64  00031DC9                                   # 	subtest++;				/* increment subtest num  */
  65  00031DC9    6d efffffff95                 	incl	_subtest
  66  00031DCF                                   # 	pipe17_6();				/* data in CACHE,  1 NOP  */
  67  00031DCF    fe 04 ef000005d4              	callf	$4,_pipe17_6
  68  00031DD6                                   # 	subtest++;				/* increment subtest num  */
  69  00031DD6    6d efffffff88                 	incl	_subtest
  70  00031DDC                                   # 	pipe17_7();				/* data in CACHE,  2 NOPs */
  71  00031DDC    fe 04 ef000006c5              	callf	$4,_pipe17_7
  72  00031DE3                                   # 	subtest++;				/* increment subtest num  */
  73  00031DE3    6d efffffff7b                 	incl	_subtest
  74  00031DE9                                   # 	pipe17_8();				/* data in CACHE,  3 NOPs */
  75  00031DE9    fe 04 ef000007b8              	callf	$4,_pipe17_8
  76  00031DF0                                   # 	subtest++;				/* increment subtest num  */
  77  00031DF0    6d efffffff6e                 	incl	_subtest
  78  00031DF6                                   # 	pipe17_9();				/* data via F.P.   0 NOPs */
  79  00031DF6    fe 04 ef000008af              	callf	$4,_pipe17_9
  80  00031DFD                                   # 	asm("jmp *return");			/* return to the test monitor */
  81  00031DFD    71 ffffffff61                 jmp *return
  82  00031E03                                   # }
  83  00031E03    40                            	ret#2
  84  00031E04                                  	.set	L215,0x0
  85  00031E04                                  L217:
  86  00031E04    13 ff62                       	jbr 	L218
  87  00031E07                                  	.data
  88  00000d20 *                                	.text
  89  00031E07    00                            	.align	1
  90  00031E08                                  	.globl	_pipe17_1
  91  00031E08                                  _pipe17_1:
  92  00031E08    0000                          	.word	L231
  93  00031E0A                                   # 
  94  00031E0A                                   # 
  95  00031E0A                                   # 
  96  00031E0A                                   # 
  97  00031E0A                                   # 
  98  00031E0A                                   # 
  99  00031E0A                                   # 
 100  00031E0A                                   # /************************************************************************
 101  00031E0A                                   # *
 102  00031E0A                                   # *			SUBTEST 1  
 103  00031E0A                                   # *		data in registers, no NO-OPs
 104  00031E0A                                   # *
 105  00031E0A                                   # ************************************************************************/
 106  00031E0A                                   # pipe17_1() 
 107  00031E0A                                   # {
 108  00031E0A    13 011d                       	jbr 	L233
 109  00031E0D                                  L234:
 110  00031E0D                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 111  00031E0D    4d efffffff51                 	clrl	_force_loop
 112  00031E13                                   # 	index = 0;
 113  00031E13    4d efffffff4b                 	clrl	_index
 114  00031E19                                   # 	do 
 115  00031E19                                  L237:
 116  00031E19                                   # 	{
 117  00031E19                                   # 	   sgl_value_1  = cvld_1_data[index].ld;  /* get the integer operand  */
 118  00031E19    5c 0c efffffff44 50           	mull3	$12,_index,r0
 119  00031E21    0d e000000000 efffffff38      	movl	_cvld_1_data(r0),_sgl_value_1
 120  00031E2C                                   # 	   sgl_value_7  = 0x40800000;	  	  /* get a '1.0' ( MSW )      */
 121  00031E2C    0d 8f40800000 efffffff2d      	movl	$1082130432,_sgl_value_7
 122  00031E37                                   # 	   sgl_value_8  = 0;	 	 	  /* get a 0                  */
 123  00031E37    4d efffffff27                 	clrl	_sgl_value_8
 124  00031E3D                                   # 	   dbl_expected = cvld_1_data[index].exp; /* get the expected results */
 125  00031E3D    5c 0c efffffff20 50           	mull3	$12,_index,r0
 126  00031E45    0c 8f00000004 50              	addl2	$_cvld_1_data+4,r0
 127  00031E4C    0d a004 efffffff14            	movl	4(r0),_dbl_expected+4
 128  00031E54    0d 60 efffffff09              	movl	(r0),_dbl_expected
 129  00031E5B                                   # /*
 130  00031E5B                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 131  00031E5B                                   #  * The force loop flag is set after the first error.
 132  00031E5B                                   # */
 133  00031E5B                                   # 	   asm("_pipe17_1_lp1:");
 134  00031E5B                                  _pipe17_1_lp1:
 135  00031E5B                                   # 	   asm("movl _sgl_value_1,r1");		/* move the data to r1     */
 136  00031E5B    0d efffffff03 51              movl _sgl_value_1,r1
 137  00031E62                                   # 	   asm("movl _sgl_value_7,r2");		/* move a '1.0' to r2/r3   */
 138  00031E62    0d effffffefc 52              movl _sgl_value_7,r2
 139  00031E69                                   # 	   asm("movl _sgl_value_8,r3");		
 140  00031E69    0d effffffef5 53              movl _sgl_value_8,r3
 141  00031E70                                   # 	   asm("movl _sgl_value_8,r4");		/* move a '0.0' to r4/r5   */
 142  00031E70    0d effffffeee 54              movl _sgl_value_8,r4
 143  00031E77                                   # 	   asm("movl _sgl_value_8,r5");		
 144  00031E77    0d effffffee7 55              movl _sgl_value_8,r5
 145  00031E7E                                   # 	   asm("cvld  r1");			/* convert the int. ( op ) */
 146  00031E7E    77 51                         cvld  r1
 147  00031E80                                   # 	   asm("addd r4");			/* add a '0.0'      ( op ) */
 148  00031E80    c7 54                         addd r4
 149  00031E82                                   # 	   asm("muld r2");			/* multiply by 1.0  ( op ) */
 150  00031E82    e7 52                         muld r2
 151  00031E84                                   # 	   asm("std  r6");			/* store the result ( op ) */
 152  00031E84    27 56                         std  r6
 153  00031E86                                   # 	   if( force_loop )
 154  00031E86    5d effffffed8                 	tstl	_force_loop
 155  00031E8C    31 02                         	jeql	L238
 156  00031E8E                                   # 	       asm("brb _pipe17_1_lp1");;	/* run the loop again      */
 157  00031E8E    11 cb                         brb _pipe17_1_lp1
 158  00031E90                                  L238:
 159  00031E90                                   # /* 
 160  00031E90                                   #  * verify the results
 161  00031E90                                   # */
 162  00031E90                                   # 	   asm("movl r6,_sgl_value_3");		/* get the result          */
 163  00031E90    0d 56 effffffecd              movl r6,_sgl_value_3
 164  00031E97                                   # 	   asm("movl r7,_sgl_value_4");
 165  00031E97    0d 57 effffffec6              movl r7,_sgl_value_4
 166  00031E9E                                   # 	   dbl_st_acc.m = sgl_value_3;
 167  00031E9E    0d effffffec0 effffffebb      	movl	_sgl_value_3,_dbl_st_acc
 168  00031EA9                                   # 	   dbl_st_acc.l = sgl_value_4;
 169  00031EA9    0d effffffeb5 effffffeb4      	movl	_sgl_value_4,_dbl_st_acc+4
 170  00031EB4                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
 171  00031EB4                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
 172  00031EB4    1d effffffeaa effffffea5      	cmpl	_dbl_st_acc,_dbl_expected
 173  00031EBF    21 0d                         	jneq	L9999
 174  00031EC1    1d effffffea1 effffffe9c      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 175  00031ECC    31 42                         	jeql	L239
 176  00031ECE                                  L9999:
 177  00031ECE                                   # 	   {
 178  00031ECE                                   # 	      errcnt++;				/* bump the error count    */
 179  00031ECE    6d effffffe90                 	incl	_errcnt
 180  00031ED4                                   # 	      if ( prt_error ) 
 181  00031ED4    5d effffffe8a                 	tstl	_prt_error
 182  00031EDA    31 0d                         	jeql	L240
 183  00031EDC                                   # 		 print_pipe17_er("Reg. Data, no NOPs");
 184  00031EDC                                  	.data	1
 185  00000d29 *                                L242:
 186  00000d29 *  5265672E20446174612C206E6     	.ascii	"Reg. Data, no NOPs\0"
                  F204E4F507300
 187  00000d3c *                                	.text
 188  00031EDC    dd 8f00000d29                 	pushl	$L242
 189  00031EE2    fe 08 ef000009cf              	callf	$8,_print_pipe17_er
 190  00031EE9                                   # 	      if ( halt_flg ) 			/* halt on error?          */
 191  00031EE9                                  L240:
 192  00031EE9    5d effffffe75                 	tstl	_halt_flg
 193  00031EEF    31 0d                         	jeql	L243
 194  00031EF1                                   # 		 pipe17_er_hlt( subtest );
 195  00031EF1    dd effffffe6d                 	pushl	_subtest
 196  00031EF7    fe 08 ef00000b08              	callf	$8,_pipe17_er_hlt
 197  00031EFE                                   # 	      if ( loop_on_err ) {
 198  00031EFE                                  L243:
 199  00031EFE    5d effffffe60                 	tstl	_loop_on_err
 200  00031F04    31 0a                         	jeql	L245
 201  00031F06                                   # 		 force_loop = TRUE;		/* set the force loop flag */
 202  00031F06    0d 01 effffffe57              	movl	$1,_force_loop
 203  00031F0D                                   # 		 asm("brw _pipe17_1_lp1");	/* and loop                */
 204  00031F0D    13 ff4b                       brw _pipe17_1_lp1
 205  00031F10                                   # 	      }
 206  00031F10                                   # 	   }   /* end of compare error */
 207  00031F10                                  L245:
 208  00031F10                                   # 	} while( index++ < max_cvld_1_index );
 209  00031F10                                  L239:
 210  00031F10                                  L236:
 211  00031F10    0d effffffe4e 50              	movl	_index,r0
 212  00031F17    6d effffffe47                 	incl	_index
 213  00031F1D    1d 50 effffffe40              	cmpl	r0,_max_cvld_1_index
 214  00031F24    81 03 13 fef0                 	jlss	L237
 215  00031F29                                  L235:
 216  00031F29                                   # }  /* end of subtest 1 */
 217  00031F29    40                            	ret#2
 218  00031F2A                                  	.set	L231,0x0
 219  00031F2A                                  L233:
 220  00031F2A    13 fee0                       	jbr 	L234
 221  00031F2D                                  	.data
 222  00000d20 *                                	.text
 223  00031F2D    00                            	.align	1
 224  00031F2E                                  	.globl	_pipe17_2
 225  00031F2E                                  _pipe17_2:
 226  00031F2E    0000                          	.word	L246
 227  00031F30                                   # 
 228  00031F30                                   # 
 229  00031F30                                   # 
 230  00031F30                                   # 
 231  00031F30                                   # 
 232  00031F30                                   # 
 233  00031F30                                   # 
 234  00031F30                                   # /************************************************************************
 235  00031F30                                   # *
 236  00031F30                                   # *			SUBTEST 2  
 237  00031F30                                   # *		data in registers, 1 NO-OP
 238  00031F30                                   # *
 239  00031F30                                   # ************************************************************************/
 240  00031F30                                   # pipe17_2() 
 241  00031F30                                   # {
 242  00031F30    13 0120                       	jbr 	L248
 243  00031F33                                  L249:
 244  00031F33                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 245  00031F33    4d effffffe2b                 	clrl	_force_loop
 246  00031F39                                   # 	index = 0;
 247  00031F39    4d effffffe25                 	clrl	_index
 248  00031F3F                                   # 	do 
 249  00031F3F                                  L252:
 250  00031F3F                                   # 	{
 251  00031F3F                                   # 	   sgl_value_1  = cvld_1_data[index].ld;  /* get the integer operand  */
 252  00031F3F    5c 0c effffffe1e 50           	mull3	$12,_index,r0
 253  00031F47    0d e000000000 effffffe12      	movl	_cvld_1_data(r0),_sgl_value_1
 254  00031F52                                   # 	   sgl_value_7  = 0x40800000;	  	  /* get a '1.0' ( MSW )      */
 255  00031F52    0d 8f40800000 effffffe07      	movl	$1082130432,_sgl_value_7
 256  00031F5D                                   # 	   sgl_value_8  = 0;	 	 	  /* get a 0                  */
 257  00031F5D    4d effffffe01                 	clrl	_sgl_value_8
 258  00031F63                                   # 	   dbl_expected = cvld_1_data[index].exp; /* get the expected results */
 259  00031F63    5c 0c effffffdfa 50           	mull3	$12,_index,r0
 260  00031F6B    0c 8f00000004 50              	addl2	$_cvld_1_data+4,r0
 261  00031F72    0d a004 effffffdee            	movl	4(r0),_dbl_expected+4
 262  00031F7A    0d 60 effffffde3              	movl	(r0),_dbl_expected
 263  00031F81                                   # /*
 264  00031F81                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 265  00031F81                                   #  * The force loop flag is set after the first error.
 266  00031F81                                   # */
 267  00031F81                                   # 	   asm("_pipe17_2_lp1:");
 268  00031F81                                  _pipe17_2_lp1:
 269  00031F81                                   # 	   asm("movl _sgl_value_1,r1");		/* move the data to r1     */
 270  00031F81    0d effffffddd 51              movl _sgl_value_1,r1
 271  00031F88                                   # 	   asm("movl _sgl_value_7,r2");		/* move a '1.0' to r2/r3   */
 272  00031F88    0d effffffdd6 52              movl _sgl_value_7,r2
 273  00031F8F                                   # 	   asm("movl _sgl_value_8,r3");		
 274  00031F8F    0d effffffdcf 53              movl _sgl_value_8,r3
 275  00031F96                                   # 	   asm("movl _sgl_value_8,r4");		/* move a '0.0' to r4/r5   */
 276  00031F96    0d effffffdc8 54              movl _sgl_value_8,r4
 277  00031F9D                                   # 	   asm("movl _sgl_value_8,r5");		
 278  00031F9D    0d effffffdc1 55              movl _sgl_value_8,r5
 279  00031FA4                                   # 	   asm("cvld  r1");			/* convert the int. ( op ) */
 280  00031FA4    77 51                         cvld  r1
 281  00031FA6                                   # 	   asm("nop");
 282  00031FA6    10                            nop
 283  00031FA7                                   # 	   asm("addd r4");			/* add a '0.0'      ( op ) */
 284  00031FA7    c7 54                         addd r4
 285  00031FA9                                   # 	   asm("nop");
 286  00031FA9    10                            nop
 287  00031FAA                                   # 	   asm("muld r2");			/* multiply by 1.0  ( op ) */
 288  00031FAA    e7 52                         muld r2
 289  00031FAC                                   # 	   asm("nop");
 290  00031FAC    10                            nop
 291  00031FAD                                   # 	   asm("std  r6");			/* store the result ( op ) */
 292  00031FAD    27 56                         std  r6
 293  00031FAF                                   # 	   if( force_loop )
 294  00031FAF    5d effffffdaf                 	tstl	_force_loop
 295  00031FB5    31 02                         	jeql	L253
 296  00031FB7                                   # 	       asm("brb _pipe17_2_lp1");;	/* run the loop again      */
 297  00031FB7    11 c8                         brb _pipe17_2_lp1
 298  00031FB9                                  L253:
 299  00031FB9                                   # /* 
 300  00031FB9                                   #  * verify the results
 301  00031FB9                                   # */
 302  00031FB9                                   # 	   asm("movl r6,_sgl_value_3");		/* get the result          */
 303  00031FB9    0d 56 effffffda4              movl r6,_sgl_value_3
 304  00031FC0                                   # 	   asm("movl r7,_sgl_value_4");
 305  00031FC0    0d 57 effffffd9d              movl r7,_sgl_value_4
 306  00031FC7                                   # 	   dbl_st_acc.m = sgl_value_3;
 307  00031FC7    0d effffffd97 effffffd92      	movl	_sgl_value_3,_dbl_st_acc
 308  00031FD2                                   # 	   dbl_st_acc.l = sgl_value_4;
 309  00031FD2    0d effffffd8c effffffd8b      	movl	_sgl_value_4,_dbl_st_acc+4
 310  00031FDD                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
 311  00031FDD                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
 312  00031FDD    1d effffffd81 effffffd7c      	cmpl	_dbl_st_acc,_dbl_expected
 313  00031FE8    21 0d                         	jneq	L9998
 314  00031FEA    1d effffffd78 effffffd73      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 315  00031FF5    31 42                         	jeql	L254
 316  00031FF7                                  L9998:
 317  00031FF7                                   # 	   {
 318  00031FF7                                   # 	      errcnt++;				/* bump the error count    */
 319  00031FF7    6d effffffd67                 	incl	_errcnt
 320  00031FFD                                   # 	      if ( prt_error ) 
 321  00031FFD    5d effffffd61                 	tstl	_prt_error
 322  00032003    31 0d                         	jeql	L255
 323  00032005                                   # 		 print_pipe17_er("Reg. Data, 1 NOP");
 324  00032005                                  	.data	1
 325  00000d3c *                                L256:
 326  00000d3c *  5265672E20446174612C20312     	.ascii	"Reg. Data, 1 NOP\0"
                  04E4F5000
 327  00000d4d *                                	.text
 328  00032005    dd 8f00000d3c                 	pushl	$L256
 329  0003200B    fe 08 ef000008a6              	callf	$8,_print_pipe17_er
 330  00032012                                   # 	      if ( halt_flg ) 			/* halt on error?          */
 331  00032012                                  L255:
 332  00032012    5d effffffd4c                 	tstl	_halt_flg
 333  00032018    31 0d                         	jeql	L257
 334  0003201A                                   # 		 pipe17_er_hlt( subtest );
 335  0003201A    dd effffffd44                 	pushl	_subtest
 336  00032020    fe 08 ef000009df              	callf	$8,_pipe17_er_hlt
 337  00032027                                   # 	      if ( loop_on_err ) {
 338  00032027                                  L257:
 339  00032027    5d effffffd37                 	tstl	_loop_on_err
 340  0003202D    31 0a                         	jeql	L258
 341  0003202F                                   # 		 force_loop = TRUE;		/* set the force loop flag */
 342  0003202F    0d 01 effffffd2e              	movl	$1,_force_loop
 343  00032036                                   # 		 asm("brw _pipe17_2_lp1");	/* and loop                */
 344  00032036    13 ff48                       brw _pipe17_2_lp1
 345  00032039                                   # 	      }
 346  00032039                                   # 	   }   /* end of compare error */
 347  00032039                                  L258:
 348  00032039                                   # 	} while( index++ < max_cvld_1_index );
 349  00032039                                  L254:
 350  00032039                                  L251:
 351  00032039    0d effffffd25 50              	movl	_index,r0
 352  00032040    6d effffffd1e                 	incl	_index
 353  00032046    1d 50 effffffd17              	cmpl	r0,_max_cvld_1_index
 354  0003204D    81 03 13 feed                 	jlss	L252
 355  00032052                                  L250:
 356  00032052                                   # }  /* end of subtest 2 */
 357  00032052    40                            	ret#2
 358  00032053                                  	.set	L246,0x0
 359  00032053                                  L248:
 360  00032053    13 fedd                       	jbr 	L249
 361  00032056                                  	.data
 362  00000d20 *                                	.text
 363  00032056                                  	.align	1
 364  00032056                                  	.globl	_pipe17_3
 365  00032056                                  _pipe17_3:
 366  00032056    0000                          	.word	L259
 367  00032058                                   # 
 368  00032058                                   # 
 369  00032058                                   # 
 370  00032058                                   # 
 371  00032058                                   # 
 372  00032058                                   # 
 373  00032058                                   # 
 374  00032058                                   # /************************************************************************
 375  00032058                                   # *
 376  00032058                                   # *			SUBTEST 3  
 377  00032058                                   # *		data in registers, 2 NO-OPs
 378  00032058                                   # *
 379  00032058                                   # ************************************************************************/
 380  00032058                                   # pipe17_3() 
 381  00032058                                   # {
 382  00032058    13 0123                       	jbr 	L261
 383  0003205B                                  L262:
 384  0003205B                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 385  0003205B    4d effffffd03                 	clrl	_force_loop
 386  00032061                                   # 	index = 0;
 387  00032061    4d effffffcfd                 	clrl	_index
 388  00032067                                   # 	do 
 389  00032067                                  L265:
 390  00032067                                   # 	{
 391  00032067                                   # 	   sgl_value_1  = cvld_1_data[index].ld;  /* get the integer operand  */
 392  00032067    5c 0c effffffcf6 50           	mull3	$12,_index,r0
 393  0003206F    0d e000000000 effffffcea      	movl	_cvld_1_data(r0),_sgl_value_1
 394  0003207A                                   # 	   sgl_value_7  = 0x40800000;	  	  /* get a '1.0' ( MSW )      */
 395  0003207A    0d 8f40800000 effffffcdf      	movl	$1082130432,_sgl_value_7
 396  00032085                                   # 	   sgl_value_8  = 0;	 	 	  /* get a 0                  */
 397  00032085    4d effffffcd9                 	clrl	_sgl_value_8
 398  0003208B                                   # 	   dbl_expected = cvld_1_data[index].exp; /* get the expected results */
 399  0003208B    5c 0c effffffcd2 50           	mull3	$12,_index,r0
 400  00032093    0c 8f00000004 50              	addl2	$_cvld_1_data+4,r0
 401  0003209A    0d a004 effffffcc6            	movl	4(r0),_dbl_expected+4
 402  000320A2    0d 60 effffffcbb              	movl	(r0),_dbl_expected
 403  000320A9                                   # /*
 404  000320A9                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 405  000320A9                                   #  * The force loop flag is set after the first error.
 406  000320A9                                   # */
 407  000320A9                                   # 	   asm("_pipe17_3_lp1:");
 408  000320A9                                  _pipe17_3_lp1:
 409  000320A9                                   # 	   asm("movl _sgl_value_1,r1");		/* move the data to r1     */
 410  000320A9    0d effffffcb5 51              movl _sgl_value_1,r1
 411  000320B0                                   # 	   asm("movl _sgl_value_7,r2");		/* move a '1.0' to r2/r3   */
 412  000320B0    0d effffffcae 52              movl _sgl_value_7,r2
 413  000320B7                                   # 	   asm("movl _sgl_value_8,r3");		
 414  000320B7    0d effffffca7 53              movl _sgl_value_8,r3
 415  000320BE                                   # 	   asm("movl _sgl_value_8,r4");		/* move a '0.0' to r4/r5   */
 416  000320BE    0d effffffca0 54              movl _sgl_value_8,r4
 417  000320C5                                   # 	   asm("movl _sgl_value_8,r5");		
 418  000320C5    0d effffffc99 55              movl _sgl_value_8,r5
 419  000320CC                                   # 	   asm("cvld  r1");			/* convert the int. ( op ) */
 420  000320CC    77 51                         cvld  r1
 421  000320CE                                   # 	   asm("nop");
 422  000320CE    10                            nop
 423  000320CF                                   # 	   asm("nop");
 424  000320CF    10                            nop
 425  000320D0                                   # 	   asm("addd r4");			/* add a '0.0'      ( op ) */
 426  000320D0    c7 54                         addd r4
 427  000320D2                                   # 	   asm("nop");
 428  000320D2    10                            nop
 429  000320D3                                   # 	   asm("nop");
 430  000320D3    10                            nop
 431  000320D4                                   # 	   asm("muld r2");			/* multiply by 1.0  ( op ) */
 432  000320D4    e7 52                         muld r2
 433  000320D6                                   # 	   asm("nop");
 434  000320D6    10                            nop
 435  000320D7                                   # 	   asm("nop");
 436  000320D7    10                            nop
 437  000320D8                                   # 	   asm("std  r6");			/* store the result ( op ) */
 438  000320D8    27 56                         std  r6
 439  000320DA                                   # 	   if( force_loop )
 440  000320DA    5d effffffc84                 	tstl	_force_loop
 441  000320E0    31 02                         	jeql	L266
 442  000320E2                                   # 	       asm("brb _pipe17_3_lp1");;	/* run the loop again      */
 443  000320E2    11 c5                         brb _pipe17_3_lp1
 444  000320E4                                  L266:
 445  000320E4                                   # /* 
 446  000320E4                                   #  * verify the results
 447  000320E4                                   # */
 448  000320E4                                   # 	   asm("movl r6,_sgl_value_3");		/* get the result          */
 449  000320E4    0d 56 effffffc79              movl r6,_sgl_value_3
 450  000320EB                                   # 	   asm("movl r7,_sgl_value_4");
 451  000320EB    0d 57 effffffc72              movl r7,_sgl_value_4
 452  000320F2                                   # 	   dbl_st_acc.m = sgl_value_3;
 453  000320F2    0d effffffc6c effffffc67      	movl	_sgl_value_3,_dbl_st_acc
 454  000320FD                                   # 	   dbl_st_acc.l = sgl_value_4;
 455  000320FD    0d effffffc61 effffffc60      	movl	_sgl_value_4,_dbl_st_acc+4
 456  00032108                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
 457  00032108                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
 458  00032108    1d effffffc56 effffffc51      	cmpl	_dbl_st_acc,_dbl_expected
 459  00032113    21 0d                         	jneq	L9997
 460  00032115    1d effffffc4d effffffc48      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 461  00032120    31 42                         	jeql	L267
 462  00032122                                  L9997:
 463  00032122                                   # 	   {
 464  00032122                                   # 	      errcnt++;				/* bump the error count    */
 465  00032122    6d effffffc3c                 	incl	_errcnt
 466  00032128                                   # 	      if ( prt_error ) 
 467  00032128    5d effffffc36                 	tstl	_prt_error
 468  0003212E    31 0d                         	jeql	L268
 469  00032130                                   # 		 print_pipe17_er("Reg. Data, 2 NOPs");
 470  00032130                                  	.data	1
 471  00000d4d *                                L269:
 472  00000d4d *  5265672E20446174612C20322     	.ascii	"Reg. Data, 2 NOPs\0"
                  04E4F507300
 473  00000d5f *                                	.text
 474  00032130    dd 8f00000d4d                 	pushl	$L269
 475  00032136    fe 08 ef0000077b              	callf	$8,_print_pipe17_er
 476  0003213D                                   # 	      if ( halt_flg ) 			/* halt on error?          */
 477  0003213D                                  L268:
 478  0003213D    5d effffffc21                 	tstl	_halt_flg
 479  00032143    31 0d                         	jeql	L270
 480  00032145                                   # 		 pipe17_er_hlt( subtest );
 481  00032145    dd effffffc19                 	pushl	_subtest
 482  0003214B    fe 08 ef000008b4              	callf	$8,_pipe17_er_hlt
 483  00032152                                   # 	      if ( loop_on_err ) {
 484  00032152                                  L270:
 485  00032152    5d effffffc0c                 	tstl	_loop_on_err
 486  00032158    31 0a                         	jeql	L271
 487  0003215A                                   # 		 force_loop = TRUE;		/* set the force loop flag */
 488  0003215A    0d 01 effffffc03              	movl	$1,_force_loop
 489  00032161                                   # 		 asm("brw _pipe17_3_lp1");	/* and loop                */
 490  00032161    13 ff45                       brw _pipe17_3_lp1
 491  00032164                                   # 	      }
 492  00032164                                   # 	   }   /* end of compare error */
 493  00032164                                  L271:
 494  00032164                                   # 	} while( index++ < max_cvld_1_index );
 495  00032164                                  L267:
 496  00032164                                  L264:
 497  00032164    0d effffffbfa 50              	movl	_index,r0
 498  0003216B    6d effffffbf3                 	incl	_index
 499  00032171    1d 50 effffffbec              	cmpl	r0,_max_cvld_1_index
 500  00032178    81 03 13 feea                 	jlss	L265
 501  0003217D                                  L263:
 502  0003217D                                   # }  /* end of subtest 3 */
 503  0003217D    40                            	ret#2
 504  0003217E                                  	.set	L259,0x0
 505  0003217E                                  L261:
 506  0003217E    13 feda                       	jbr 	L262
 507  00032181                                  	.data
 508  00000d20 *                                	.text
 509  00032181    00                            	.align	1
 510  00032182                                  	.globl	_pipe17_4
 511  00032182                                  _pipe17_4:
 512  00032182    0000                          	.word	L272
 513  00032184                                   # 
 514  00032184                                   # 
 515  00032184                                   # 
 516  00032184                                   # 
 517  00032184                                   # 
 518  00032184                                   # 
 519  00032184                                   # 
 520  00032184                                   # /************************************************************************
 521  00032184                                   # *
 522  00032184                                   # *			SUBTEST 4  
 523  00032184                                   # *		data in registers, 3 NO-OPs
 524  00032184                                   # *
 525  00032184                                   # ************************************************************************/
 526  00032184                                   # pipe17_4() 
 527  00032184                                   # {
 528  00032184    13 0126                       	jbr 	L274
 529  00032187                                  L275:
 530  00032187                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 531  00032187    4d effffffbd7                 	clrl	_force_loop
 532  0003218D                                   # 	index = 0;
 533  0003218D    4d effffffbd1                 	clrl	_index
 534  00032193                                   # 	do 
 535  00032193                                  L278:
 536  00032193                                   # 	{
 537  00032193                                   # 	   sgl_value_1  = cvld_1_data[index].ld;  /* get the integer operand  */
 538  00032193    5c 0c effffffbca 50           	mull3	$12,_index,r0
 539  0003219B    0d e000000000 effffffbbe      	movl	_cvld_1_data(r0),_sgl_value_1
 540  000321A6                                   # 	   sgl_value_7  = 0x40800000;	  	  /* get a '1.0' ( MSW )      */
 541  000321A6    0d 8f40800000 effffffbb3      	movl	$1082130432,_sgl_value_7
 542  000321B1                                   # 	   sgl_value_8  = 0;	 	 	  /* get a 0                  */
 543  000321B1    4d effffffbad                 	clrl	_sgl_value_8
 544  000321B7                                   # 	   dbl_expected = cvld_1_data[index].exp; /* get the expected results */
 545  000321B7    5c 0c effffffba6 50           	mull3	$12,_index,r0
 546  000321BF    0c 8f00000004 50              	addl2	$_cvld_1_data+4,r0
 547  000321C6    0d a004 effffffb9a            	movl	4(r0),_dbl_expected+4
 548  000321CE    0d 60 effffffb8f              	movl	(r0),_dbl_expected
 549  000321D5                                   # /*
 550  000321D5                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 551  000321D5                                   #  * The force loop flag is set after the first error.
 552  000321D5                                   # */
 553  000321D5                                   # 	   asm("_pipe17_4_lp1:");
 554  000321D5                                  _pipe17_4_lp1:
 555  000321D5                                   # 	   asm("movl _sgl_value_1,r1");		/* move the data to r1     */
 556  000321D5    0d effffffb89 51              movl _sgl_value_1,r1
 557  000321DC                                   # 	   asm("movl _sgl_value_7,r2");		/* move a '1.0' to r2/r3   */
 558  000321DC    0d effffffb82 52              movl _sgl_value_7,r2
 559  000321E3                                   # 	   asm("movl _sgl_value_8,r3");		
 560  000321E3    0d effffffb7b 53              movl _sgl_value_8,r3
 561  000321EA                                   # 	   asm("movl _sgl_value_8,r4");		/* move a '0.0' to r4/r5   */
 562  000321EA    0d effffffb74 54              movl _sgl_value_8,r4
 563  000321F1                                   # 	   asm("movl _sgl_value_8,r5");		
 564  000321F1    0d effffffb6d 55              movl _sgl_value_8,r5
 565  000321F8                                   # 	   asm("cvld  r1");			/* convert the int. ( op ) */
 566  000321F8    77 51                         cvld  r1
 567  000321FA                                   # 	   asm("nop");
 568  000321FA    10                            nop
 569  000321FB                                   # 	   asm("nop");
 570  000321FB    10                            nop
 571  000321FC                                   # 	   asm("nop");
 572  000321FC    10                            nop
 573  000321FD                                   # 	   asm("addd r4");			/* add a '0.0'      ( op ) */
 574  000321FD    c7 54                         addd r4
 575  000321FF                                   # 	   asm("nop");
 576  000321FF    10                            nop
 577  00032200                                   # 	   asm("nop");
 578  00032200    10                            nop
 579  00032201                                   # 	   asm("nop");
 580  00032201    10                            nop
 581  00032202                                   # 	   asm("muld r2");			/* multiply by 1.0  ( op ) */
 582  00032202    e7 52                         muld r2
 583  00032204                                   # 	   asm("nop");
 584  00032204    10                            nop
 585  00032205                                   # 	   asm("nop");
 586  00032205    10                            nop
 587  00032206                                   # 	   asm("nop");
 588  00032206    10                            nop
 589  00032207                                   # 	   asm("std  r6");			/* store the result ( op ) */
 590  00032207    27 56                         std  r6
 591  00032209                                   # 	   if( force_loop )
 592  00032209    5d effffffb55                 	tstl	_force_loop
 593  0003220F    31 02                         	jeql	L279
 594  00032211                                   # 	       asm("brb _pipe17_4_lp1");;	/* run the loop again      */
 595  00032211    11 c2                         brb _pipe17_4_lp1
 596  00032213                                  L279:
 597  00032213                                   # /* 
 598  00032213                                   #  * verify the results
 599  00032213                                   # */
 600  00032213                                   # 	   asm("movl r6,_sgl_value_3");		/* get the result          */
 601  00032213    0d 56 effffffb4a              movl r6,_sgl_value_3
 602  0003221A                                   # 	   asm("movl r7,_sgl_value_4");
 603  0003221A    0d 57 effffffb43              movl r7,_sgl_value_4
 604  00032221                                   # 	   dbl_st_acc.m = sgl_value_3;
 605  00032221    0d effffffb3d effffffb38      	movl	_sgl_value_3,_dbl_st_acc
 606  0003222C                                   # 	   dbl_st_acc.l = sgl_value_4;
 607  0003222C    0d effffffb32 effffffb31      	movl	_sgl_value_4,_dbl_st_acc+4
 608  00032237                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
 609  00032237                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
 610  00032237    1d effffffb27 effffffb22      	cmpl	_dbl_st_acc,_dbl_expected
 611  00032242    21 0d                         	jneq	L9996
 612  00032244    1d effffffb1e effffffb19      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 613  0003224F    31 42                         	jeql	L280
 614  00032251                                  L9996:
 615  00032251                                   # 	   {
 616  00032251                                   # 	      errcnt++;				/* bump the error count    */
 617  00032251    6d effffffb0d                 	incl	_errcnt
 618  00032257                                   # 	      if ( prt_error ) 
 619  00032257    5d effffffb07                 	tstl	_prt_error
 620  0003225D    31 0d                         	jeql	L281
 621  0003225F                                   # 		 print_pipe17_er("Reg. Data, 3 NOPs");
 622  0003225F                                  	.data	1
 623  00000d5f *                                L282:
 624  00000d5f *  5265672E20446174612C20332     	.ascii	"Reg. Data, 3 NOPs\0"
                  04E4F507300
 625  00000d71 *                                	.text
 626  0003225F    dd 8f00000d5f                 	pushl	$L282
 627  00032265    fe 08 ef0000064c              	callf	$8,_print_pipe17_er
 628  0003226C                                   # 	      if ( halt_flg ) 			/* halt on error?          */
 629  0003226C                                  L281:
 630  0003226C    5d effffffaf2                 	tstl	_halt_flg
 631  00032272    31 0d                         	jeql	L283
 632  00032274                                   # 		 pipe17_er_hlt( subtest );
 633  00032274    dd effffffaea                 	pushl	_subtest
 634  0003227A    fe 08 ef00000785              	callf	$8,_pipe17_er_hlt
 635  00032281                                   # 	      if ( loop_on_err ) {
 636  00032281                                  L283:
 637  00032281    5d effffffadd                 	tstl	_loop_on_err
 638  00032287    31 0a                         	jeql	L284
 639  00032289                                   # 		 force_loop = TRUE;		/* set the force loop flag */
 640  00032289    0d 01 effffffad4              	movl	$1,_force_loop
 641  00032290                                   # 		 asm("brw _pipe17_4_lp1");	/* and loop                */
 642  00032290    13 ff42                       brw _pipe17_4_lp1
 643  00032293                                   # 	      }
 644  00032293                                   # 	   }   /* end of compare error */
 645  00032293                                  L284:
 646  00032293                                   # 	} while( index++ < max_cvld_1_index );
 647  00032293                                  L280:
 648  00032293                                  L277:
 649  00032293    0d effffffacb 50              	movl	_index,r0
 650  0003229A    6d effffffac4                 	incl	_index
 651  000322A0    1d 50 effffffabd              	cmpl	r0,_max_cvld_1_index
 652  000322A7    81 03 13 fee7                 	jlss	L278
 653  000322AC                                  L276:
 654  000322AC                                   # }  /* end of subtest 4 */
 655  000322AC    40                            	ret#2
 656  000322AD                                  	.set	L272,0x0
 657  000322AD                                  L274:
 658  000322AD    13 fed7                       	jbr 	L275
 659  000322B0                                  	.data
 660  00000d20 *                                	.text
 661  000322B0                                  	.align	1
 662  000322B0                                  	.globl	_pipe17_5
 663  000322B0                                  _pipe17_5:
 664  000322B0    0000                          	.word	L285
 665  000322B2                                   # 
 666  000322B2                                   # 
 667  000322B2                                   # 
 668  000322B2                                   # 
 669  000322B2                                   # 
 670  000322B2                                   # 
 671  000322B2                                   # 
 672  000322B2                                   # /************************************************************************
 673  000322B2                                   # *
 674  000322B2                                   # *			SUBTEST 5  
 675  000322B2                                   # *		data in cache, no NO-OPs
 676  000322B2                                   # *
 677  000322B2                                   # ************************************************************************/
 678  000322B2                                   # pipe17_5() 
 679  000322B2                                   # {
 680  000322B2    13 00f2                       	jbr 	L287
 681  000322B5                                  L288:
 682  000322B5                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 683  000322B5    4d effffffaa9                 	clrl	_force_loop
 684  000322BB                                   # 	index = 0;
 685  000322BB    4d effffffaa3                 	clrl	_index
 686  000322C1                                   # 	do 
 687  000322C1                                  L291:
 688  000322C1                                   # 	{
 689  000322C1                                   # 	   sgl_value_1   = cvld_1_data[index].ld; /* get the operand          */
 690  000322C1    5c 0c effffffa9c 50           	mull3	$12,_index,r0
 691  000322C9    0d e000000000 effffffa90      	movl	_cvld_1_data(r0),_sgl_value_1
 692  000322D4                                   # 	   dbl_value_1.m = 0x40800000; 		  /* set the '1.0' operand    */
 693  000322D4    0d 8f40800000 effffffa85      	movl	$1082130432,_dbl_value_1
 694  000322DF                                   # 	   dbl_value_1.l = 0;
 695  000322DF    4d effffffa83                 	clrl	_dbl_value_1+4
 696  000322E5                                   # 	   dbl_value_2.m = 0;	 		  /* set the '0.0' operand    */
 697  000322E5    4d effffffa79                 	clrl	_dbl_value_2
 698  000322EB                                   # 	   dbl_value_2.l = 0;
 699  000322EB    4d effffffa77                 	clrl	_dbl_value_2+4
 700  000322F1                                   # 	   dbl_expected = cvld_1_data[index].exp; /* get the expected results */
 701  000322F1    5c 0c effffffa6c 50           	mull3	$12,_index,r0
 702  000322F9    0c 8f00000004 50              	addl2	$_cvld_1_data+4,r0
 703  00032300    0d a004 effffffa60            	movl	4(r0),_dbl_expected+4
 704  00032308    0d 60 effffffa55              	movl	(r0),_dbl_expected
 705  0003230F                                   # /*
 706  0003230F                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 707  0003230F                                   #  * The force loop flag is set after the first error.
 708  0003230F                                   # */
 709  0003230F                                   # 	   asm("_pipe17_5_lp1:");
 710  0003230F                                  _pipe17_5_lp1:
 711  0003230F                                   # 	   asm("cvld _sgl_value_1");		/* convert the int. ( op ) */
 712  0003230F    77 effffffa4f                 cvld _sgl_value_1
 713  00032315                                   # 	   asm("addd _dbl_value_2");		/* add a '0.0'      (  0 ) */
 714  00032315    c7 effffffa49                 addd _dbl_value_2
 715  0003231B                                   # 	   asm("muld _dbl_value_1");		/* multiply by 1.0  (  0 ) */
 716  0003231B    e7 effffffa43                 muld _dbl_value_1
 717  00032321                                   # 	   asm("std  _dbl_st_acc");		/* store the result (-op ) */
 718  00032321    27 effffffa3d                 std  _dbl_st_acc
 719  00032327                                   # 	   if( force_loop )
 720  00032327    5d effffffa37                 	tstl	_force_loop
 721  0003232D    31 02                         	jeql	L292
 722  0003232F                                   # 	       asm("brb _pipe17_5_lp1");;	/* run the loop again      */
 723  0003232F    11 de                         brb _pipe17_5_lp1
 724  00032331                                  L292:
 725  00032331                                   # /* 
 726  00032331                                   #  * verify the results
 727  00032331                                   # */
 728  00032331                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
 729  00032331                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
 730  00032331    1d effffffa2d effffffa28      	cmpl	_dbl_st_acc,_dbl_expected
 731  0003233C    21 0d                         	jneq	L9995
 732  0003233E    1d effffffa24 effffffa1f      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 733  00032349    31 42                         	jeql	L293
 734  0003234B                                  L9995:
 735  0003234B                                   # 	   {
 736  0003234B                                   # 	      errcnt++;				/* bump the error count    */
 737  0003234B    6d effffffa13                 	incl	_errcnt
 738  00032351                                   # 	      if ( prt_error ) 
 739  00032351    5d effffffa0d                 	tstl	_prt_error
 740  00032357    31 0d                         	jeql	L294
 741  00032359                                   # 		 print_pipe17_er("Cache Data, no NOPs");
 742  00032359                                  	.data	1
 743  00000d71 *                                L295:
 744  00000d71 *  436163686520446174612C206     	.ascii	"Cache Data, no NOPs\0"
                  E6F204E4F507300
 745  00000d85 *                                	.text
 746  00032359    dd 8f00000d71                 	pushl	$L295
 747  0003235F    fe 08 ef00000552              	callf	$8,_print_pipe17_er
 748  00032366                                   # 	      if ( halt_flg ) 			/* halt on error?          */
 749  00032366                                  L294:
 750  00032366    5d effffff9f8                 	tstl	_halt_flg
 751  0003236C    31 0d                         	jeql	L296
 752  0003236E                                   # 		 pipe17_er_hlt( subtest );
 753  0003236E    dd effffff9f0                 	pushl	_subtest
 754  00032374    fe 08 ef0000068b              	callf	$8,_pipe17_er_hlt
 755  0003237B                                   # 	      if ( loop_on_err ) {
 756  0003237B                                  L296:
 757  0003237B    5d effffff9e3                 	tstl	_loop_on_err
 758  00032381    31 0a                         	jeql	L297
 759  00032383                                   # 		 force_loop = TRUE;		/* set the force loop flag */
 760  00032383    0d 01 effffff9da              	movl	$1,_force_loop
 761  0003238A                                   # 		 asm("brw _pipe17_5_lp1");	/* and loop                */
 762  0003238A    13 ff82                       brw _pipe17_5_lp1
 763  0003238D                                   # 	      }
 764  0003238D                                   # 	   }   /* end of compare error */
 765  0003238D                                  L297:
 766  0003238D                                   # 	} while( index++ < max_cvld_1_index );
 767  0003238D                                  L293:
 768  0003238D                                  L290:
 769  0003238D    0d effffff9d1 50              	movl	_index,r0
 770  00032394    6d effffff9ca                 	incl	_index
 771  0003239A    1d 50 effffff9c3              	cmpl	r0,_max_cvld_1_index
 772  000323A1    81 03 13 ff1b                 	jlss	L291
 773  000323A6                                  L289:
 774  000323A6                                   # }  /* end of subtest 5 */
 775  000323A6    40                            	ret#2
 776  000323A7                                  	.set	L285,0x0
 777  000323A7                                  L287:
 778  000323A7    13 ff0b                       	jbr 	L288
 779  000323AA                                  	.data
 780  00000d20 *                                	.text
 781  000323AA                                  	.align	1
 782  000323AA                                  	.globl	_pipe17_6
 783  000323AA                                  _pipe17_6:
 784  000323AA    0000                          	.word	L298
 785  000323AC                                   # 
 786  000323AC                                   # 
 787  000323AC                                   # 
 788  000323AC                                   # 
 789  000323AC                                   # 
 790  000323AC                                   # 
 791  000323AC                                   # 
 792  000323AC                                   # 
 793  000323AC                                   # /************************************************************************
 794  000323AC                                   # *
 795  000323AC                                   # *			SUBTEST 6  
 796  000323AC                                   # *		data in cache, 1 NO-OP
 797  000323AC                                   # *
 798  000323AC                                   # ************************************************************************/
 799  000323AC                                   # pipe17_6() 
 800  000323AC                                   # {
 801  000323AC    13 00f5                       	jbr 	L300
 802  000323AF                                  L301:
 803  000323AF                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 804  000323AF    4d effffff9af                 	clrl	_force_loop
 805  000323B5                                   # 	index = 0;
 806  000323B5    4d effffff9a9                 	clrl	_index
 807  000323BB                                   # 	do 
 808  000323BB                                  L304:
 809  000323BB                                   # 	{
 810  000323BB                                   # 	   sgl_value_1   = cvld_1_data[index].ld; /* get the operand          */
 811  000323BB    5c 0c effffff9a2 50           	mull3	$12,_index,r0
 812  000323C3    0d e000000000 effffff996      	movl	_cvld_1_data(r0),_sgl_value_1
 813  000323CE                                   # 	   dbl_value_1.m = 0x40800000; 		  /* set the '1.0' operand    */
 814  000323CE    0d 8f40800000 effffff98b      	movl	$1082130432,_dbl_value_1
 815  000323D9                                   # 	   dbl_value_1.l = 0;
 816  000323D9    4d effffff989                 	clrl	_dbl_value_1+4
 817  000323DF                                   # 	   dbl_value_2.m = 0;	 		  /* set the '0.0' operand    */
 818  000323DF    4d effffff97f                 	clrl	_dbl_value_2
 819  000323E5                                   # 	   dbl_value_2.l = 0;
 820  000323E5    4d effffff97d                 	clrl	_dbl_value_2+4
 821  000323EB                                   # 	   dbl_expected = cvld_1_data[index].exp; /* get the expected results */
 822  000323EB    5c 0c effffff972 50           	mull3	$12,_index,r0
 823  000323F3    0c 8f00000004 50              	addl2	$_cvld_1_data+4,r0
 824  000323FA    0d a004 effffff966            	movl	4(r0),_dbl_expected+4
 825  00032402    0d 60 effffff95b              	movl	(r0),_dbl_expected
 826  00032409                                   # /*
 827  00032409                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 828  00032409                                   #  * The force loop flag is set after the first error.
 829  00032409                                   # */
 830  00032409                                   # 	   asm("_pipe17_6_lp1:");
 831  00032409                                  _pipe17_6_lp1:
 832  00032409                                   # 	   asm("cvld _sgl_value_1");		/* convert the int. ( op ) */
 833  00032409    77 effffff955                 cvld _sgl_value_1
 834  0003240F                                   # 	   asm("nop");
 835  0003240F    10                            nop
 836  00032410                                   # 	   asm("addd _dbl_value_2");		/* add a '0.0'      (  0 ) */
 837  00032410    c7 effffff94e                 addd _dbl_value_2
 838  00032416                                   # 	   asm("nop");
 839  00032416    10                            nop
 840  00032417                                   # 	   asm("muld _dbl_value_1");		/* multiply by 1.0  (  0 ) */
 841  00032417    e7 effffff947                 muld _dbl_value_1
 842  0003241D                                   # 	   asm("nop");
 843  0003241D    10                            nop
 844  0003241E                                   # 	   asm("std  _dbl_st_acc");		/* store the result (-op ) */
 845  0003241E    27 effffff940                 std  _dbl_st_acc
 846  00032424                                   # 	   if( force_loop )
 847  00032424    5d effffff93a                 	tstl	_force_loop
 848  0003242A    31 02                         	jeql	L305
 849  0003242C                                   # 	       asm("brb _pipe17_6_lp1");;	/* run the loop again      */
 850  0003242C    11 db                         brb _pipe17_6_lp1
 851  0003242E                                  L305:
 852  0003242E                                   # /* 
 853  0003242E                                   #  * verify the results
 854  0003242E                                   # */
 855  0003242E                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
 856  0003242E                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
 857  0003242E    1d effffff930 effffff92b      	cmpl	_dbl_st_acc,_dbl_expected
 858  00032439    21 0d                         	jneq	L9994
 859  0003243B    1d effffff927 effffff922      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 860  00032446    31 42                         	jeql	L306
 861  00032448                                  L9994:
 862  00032448                                   # 	   {
 863  00032448                                   # 	      errcnt++;				/* bump the error count    */
 864  00032448    6d effffff916                 	incl	_errcnt
 865  0003244E                                   # 	      if ( prt_error ) 
 866  0003244E    5d effffff910                 	tstl	_prt_error
 867  00032454    31 0d                         	jeql	L307
 868  00032456                                   # 		 print_pipe17_er("Cache Data, 1 NOP");
 869  00032456                                  	.data	1
 870  00000d85 *                                L308:
 871  00000d85 *  436163686520446174612C203     	.ascii	"Cache Data, 1 NOP\0"
                  1204E4F5000
 872  00000d97 *                                	.text
 873  00032456    dd 8f00000d85                 	pushl	$L308
 874  0003245C    fe 08 ef00000455              	callf	$8,_print_pipe17_er
 875  00032463                                   # 	      if ( halt_flg ) 			/* halt on error?          */
 876  00032463                                  L307:
 877  00032463    5d effffff8fb                 	tstl	_halt_flg
 878  00032469    31 0d                         	jeql	L309
 879  0003246B                                   # 		 pipe17_er_hlt( subtest );
 880  0003246B    dd effffff8f3                 	pushl	_subtest
 881  00032471    fe 08 ef0000058e              	callf	$8,_pipe17_er_hlt
 882  00032478                                   # 	      if ( loop_on_err ) {
 883  00032478                                  L309:
 884  00032478    5d effffff8e6                 	tstl	_loop_on_err
 885  0003247E    31 0a                         	jeql	L310
 886  00032480                                   # 		 force_loop = TRUE;		/* set the force loop flag */
 887  00032480    0d 01 effffff8dd              	movl	$1,_force_loop
 888  00032487                                   # 		 asm("brw _pipe17_6_lp1");	/* and loop                */
 889  00032487    13 ff7f                       brw _pipe17_6_lp1
 890  0003248A                                   # 	      }
 891  0003248A                                   # 	   }   /* end of compare error */
 892  0003248A                                  L310:
 893  0003248A                                   # 	} while( index++ < max_cvld_1_index );
 894  0003248A                                  L306:
 895  0003248A                                  L303:
 896  0003248A    0d effffff8d4 50              	movl	_index,r0
 897  00032491    6d effffff8cd                 	incl	_index
 898  00032497    1d 50 effffff8c6              	cmpl	r0,_max_cvld_1_index
 899  0003249E    81 03 13 ff18                 	jlss	L304
 900  000324A3                                  L302:
 901  000324A3                                   # }  /* end of subtest 6 */
 902  000324A3    40                            	ret#2
 903  000324A4                                  	.set	L298,0x0
 904  000324A4                                  L300:
 905  000324A4    13 ff08                       	jbr 	L301
 906  000324A7                                  	.data
 907  00000d20 *                                	.text
 908  000324A7    00                            	.align	1
 909  000324A8                                  	.globl	_pipe17_7
 910  000324A8                                  _pipe17_7:
 911  000324A8    0000                          	.word	L311
 912  000324AA                                   # 
 913  000324AA                                   # 
 914  000324AA                                   # 
 915  000324AA                                   # 
 916  000324AA                                   # 
 917  000324AA                                   # 
 918  000324AA                                   # 
 919  000324AA                                   # 
 920  000324AA                                   # /************************************************************************
 921  000324AA                                   # *
 922  000324AA                                   # *			SUBTEST 7  
 923  000324AA                                   # *		data in cache, 2 NO-OPs
 924  000324AA                                   # *
 925  000324AA                                   # ************************************************************************/
 926  000324AA                                   # pipe17_7() 
 927  000324AA                                   # {
 928  000324AA    13 00f8                       	jbr 	L313
 929  000324AD                                  L314:
 930  000324AD                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
 931  000324AD    4d effffff8b1                 	clrl	_force_loop
 932  000324B3                                   # 	index = 0;
 933  000324B3    4d effffff8ab                 	clrl	_index
 934  000324B9                                   # 	do 
 935  000324B9                                  L317:
 936  000324B9                                   # 	{
 937  000324B9                                   # 	   sgl_value_1   = cvld_1_data[index].ld; /* get the operand          */
 938  000324B9    5c 0c effffff8a4 50           	mull3	$12,_index,r0
 939  000324C1    0d e000000000 effffff898      	movl	_cvld_1_data(r0),_sgl_value_1
 940  000324CC                                   # 	   dbl_value_1.m = 0x40800000; 		  /* set the '1.0' operand    */
 941  000324CC    0d 8f40800000 effffff88d      	movl	$1082130432,_dbl_value_1
 942  000324D7                                   # 	   dbl_value_1.l = 0;
 943  000324D7    4d effffff88b                 	clrl	_dbl_value_1+4
 944  000324DD                                   # 	   dbl_value_2.m = 0;	 		  /* set the '0.0' operand    */
 945  000324DD    4d effffff881                 	clrl	_dbl_value_2
 946  000324E3                                   # 	   dbl_value_2.l = 0;
 947  000324E3    4d effffff87f                 	clrl	_dbl_value_2+4
 948  000324E9                                   # 	   dbl_expected = cvld_1_data[index].exp; /* get the expected results */
 949  000324E9    5c 0c effffff874 50           	mull3	$12,_index,r0
 950  000324F1    0c 8f00000004 50              	addl2	$_cvld_1_data+4,r0
 951  000324F8    0d a004 effffff868            	movl	4(r0),_dbl_expected+4
 952  00032500    0d 60 effffff85d              	movl	(r0),_dbl_expected
 953  00032507                                   # /*
 954  00032507                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
 955  00032507                                   #  * The force loop flag is set after the first error.
 956  00032507                                   # */
 957  00032507                                   # 	   asm("_pipe17_7_lp1:");
 958  00032507                                  _pipe17_7_lp1:
 959  00032507                                   # 	   asm("cvld _sgl_value_1");		/* convert the int. ( op ) */
 960  00032507    77 effffff857                 cvld _sgl_value_1
 961  0003250D                                   # 	   asm("nop");
 962  0003250D    10                            nop
 963  0003250E                                   # 	   asm("nop");
 964  0003250E    10                            nop
 965  0003250F                                   # 	   asm("addd _dbl_value_2");		/* add a '0.0'      (  0 ) */
 966  0003250F    c7 effffff84f                 addd _dbl_value_2
 967  00032515                                   # 	   asm("nop");
 968  00032515    10                            nop
 969  00032516                                   # 	   asm("nop");
 970  00032516    10                            nop
 971  00032517                                   # 	   asm("muld _dbl_value_1");		/* multiply by 1.0  (  0 ) */
 972  00032517    e7 effffff847                 muld _dbl_value_1
 973  0003251D                                   # 	   asm("nop");
 974  0003251D    10                            nop
 975  0003251E                                   # 	   asm("nop");
 976  0003251E    10                            nop
 977  0003251F                                   # 	   asm("std  _dbl_st_acc");		/* store the result (-op ) */
 978  0003251F    27 effffff83f                 std  _dbl_st_acc
 979  00032525                                   # 	   if( force_loop )
 980  00032525    5d effffff839                 	tstl	_force_loop
 981  0003252B    31 02                         	jeql	L318
 982  0003252D                                   # 	       asm("brb _pipe17_7_lp1");;	/* run the loop again      */
 983  0003252D    11 d8                         brb _pipe17_7_lp1
 984  0003252F                                  L318:
 985  0003252F                                   # /* 
 986  0003252F                                   #  * verify the results
 987  0003252F                                   # */
 988  0003252F                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
 989  0003252F                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
 990  0003252F    1d effffff82f effffff82a      	cmpl	_dbl_st_acc,_dbl_expected
 991  0003253A    21 0d                         	jneq	L9993
 992  0003253C    1d effffff826 effffff821      	cmpl	_dbl_st_acc+4,_dbl_expected+4
 993  00032547    31 42                         	jeql	L319
 994  00032549                                  L9993:
 995  00032549                                   # 	   {
 996  00032549                                   # 	      errcnt++;				/* bump the error count    */
 997  00032549    6d effffff815                 	incl	_errcnt
 998  0003254F                                   # 	      if ( prt_error ) 
 999  0003254F    5d effffff80f                 	tstl	_prt_error
1000  00032555    31 0d                         	jeql	L320
1001  00032557                                   # 		 print_pipe17_er("Cache Data, 2 NOPs");
1002  00032557                                  	.data	1
1003  00000d97 *                                L321:
1004  00000d97 *  436163686520446174612C203     	.ascii	"Cache Data, 2 NOPs\0"
                  2204E4F507300
1005  00000daa *                                	.text
1006  00032557    dd 8f00000d97                 	pushl	$L321
1007  0003255D    fe 08 ef00000354              	callf	$8,_print_pipe17_er
1008  00032564                                   # 	      if ( halt_flg ) 			/* halt on error?          */
1009  00032564                                  L320:
1010  00032564    5d effffff7fa                 	tstl	_halt_flg
1011  0003256A    31 0d                         	jeql	L322
1012  0003256C                                   # 		 pipe17_er_hlt( subtest );
1013  0003256C    dd effffff7f2                 	pushl	_subtest
1014  00032572    fe 08 ef0000048d              	callf	$8,_pipe17_er_hlt
1015  00032579                                   # 	      if ( loop_on_err ) {
1016  00032579                                  L322:
1017  00032579    5d effffff7e5                 	tstl	_loop_on_err
1018  0003257F    31 0a                         	jeql	L323
1019  00032581                                   # 		 force_loop = TRUE;		/* set the force loop flag */
1020  00032581    0d 01 effffff7dc              	movl	$1,_force_loop
1021  00032588                                   # 		 asm("brw _pipe17_7_lp1");	/* and loop                */
1022  00032588    13 ff7c                       brw _pipe17_7_lp1
1023  0003258B                                   # 	      }
1024  0003258B                                   # 	   }   /* end of compare error */
1025  0003258B                                  L323:
1026  0003258B                                   # 	} while( index++ < max_cvld_1_index );
1027  0003258B                                  L319:
1028  0003258B                                  L316:
1029  0003258B    0d effffff7d3 50              	movl	_index,r0
1030  00032592    6d effffff7cc                 	incl	_index
1031  00032598    1d 50 effffff7c5              	cmpl	r0,_max_cvld_1_index
1032  0003259F    81 03 13 ff15                 	jlss	L317
1033  000325A4                                  L315:
1034  000325A4                                   # }  /* end of subtest 7 */
1035  000325A4    40                            	ret#2
1036  000325A5                                  	.set	L311,0x0
1037  000325A5                                  L313:
1038  000325A5    13 ff05                       	jbr 	L314
1039  000325A8                                  	.data
1040  00000d20 *                                	.text
1041  000325A8                                  	.align	1
1042  000325A8                                  	.globl	_pipe17_8
1043  000325A8                                  _pipe17_8:
1044  000325A8    0000                          	.word	L324
1045  000325AA                                   # 
1046  000325AA                                   # 
1047  000325AA                                   # 
1048  000325AA                                   # 
1049  000325AA                                   # 
1050  000325AA                                   # 
1051  000325AA                                   # 
1052  000325AA                                   # /************************************************************************
1053  000325AA                                   # *
1054  000325AA                                   # *			SUBTEST 8  
1055  000325AA                                   # *		data in cache, 3 NO-OPs
1056  000325AA                                   # *
1057  000325AA                                   # ************************************************************************/
1058  000325AA                                   # pipe17_8() 
1059  000325AA                                   # {
1060  000325AA    13 00fb                       	jbr 	L326
1061  000325AD                                  L327:
1062  000325AD                                   # 	force_loop = FALSE;			/* clear the force_loop flg */
1063  000325AD    4d effffff7b1                 	clrl	_force_loop
1064  000325B3                                   # 	index = 0;
1065  000325B3    4d effffff7ab                 	clrl	_index
1066  000325B9                                   # 	do 
1067  000325B9                                  L330:
1068  000325B9                                   # 	{
1069  000325B9                                   # 	   sgl_value_1   = cvld_1_data[index].ld; /* get the operand          */
1070  000325B9    5c 0c effffff7a4 50           	mull3	$12,_index,r0
1071  000325C1    0d e000000000 effffff798      	movl	_cvld_1_data(r0),_sgl_value_1
1072  000325CC                                   # 	   dbl_value_1.m = 0x40800000; 		  /* set the '1.0' operand    */
1073  000325CC    0d 8f40800000 effffff78d      	movl	$1082130432,_dbl_value_1
1074  000325D7                                   # 	   dbl_value_1.l = 0;
1075  000325D7    4d effffff78b                 	clrl	_dbl_value_1+4
1076  000325DD                                   # 	   dbl_value_2.m = 0;	 		  /* set the '0.0' operand    */
1077  000325DD    4d effffff781                 	clrl	_dbl_value_2
1078  000325E3                                   # 	   dbl_value_2.l = 0;
1079  000325E3    4d effffff77f                 	clrl	_dbl_value_2+4
1080  000325E9                                   # 	   dbl_expected = cvld_1_data[index].exp; /* get the expected results */
1081  000325E9    5c 0c effffff774 50           	mull3	$12,_index,r0
1082  000325F1    0c 8f00000004 50              	addl2	$_cvld_1_data+4,r0
1083  000325F8    0d a004 effffff768            	movl	4(r0),_dbl_expected+4
1084  00032600    0d 60 effffff75d              	movl	(r0),_dbl_expected
1085  00032607                                   # /*
1086  00032607                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
1087  00032607                                   #  * The force loop flag is set after the first error.
1088  00032607                                   # */
1089  00032607                                   # 	   asm("_pipe17_8_lp1:");
1090  00032607                                  _pipe17_8_lp1:
1091  00032607                                   # 	   asm("cvld _sgl_value_1");		/* convert the int. ( op ) */
1092  00032607    77 effffff757                 cvld _sgl_value_1
1093  0003260D                                   # 	   asm("nop");
1094  0003260D    10                            nop
1095  0003260E                                   # 	   asm("nop");
1096  0003260E    10                            nop
1097  0003260F                                   # 	   asm("nop");
1098  0003260F    10                            nop
1099  00032610                                   # 	   asm("addd _dbl_value_2");		/* add a '0.0'      (  0 ) */
1100  00032610    c7 effffff74e                 addd _dbl_value_2
1101  00032616                                   # 	   asm("nop");
1102  00032616    10                            nop
1103  00032617                                   # 	   asm("nop");
1104  00032617    10                            nop
1105  00032618                                   # 	   asm("nop");
1106  00032618    10                            nop
1107  00032619                                   # 	   asm("muld _dbl_value_1");		/* multiply by 1.0  (  0 ) */
1108  00032619    e7 effffff745                 muld _dbl_value_1
1109  0003261F                                   # 	   asm("nop");
1110  0003261F    10                            nop
1111  00032620                                   # 	   asm("nop");
1112  00032620    10                            nop
1113  00032621                                   # 	   asm("nop");
1114  00032621    10                            nop
1115  00032622                                   # 	   asm("std  _dbl_st_acc");		/* store the result (-op ) */
1116  00032622    27 effffff73c                 std  _dbl_st_acc
1117  00032628                                   # 	   if( force_loop )
1118  00032628    5d effffff736                 	tstl	_force_loop
1119  0003262E    31 02                         	jeql	L331
1120  00032630                                   # 	       asm("brb _pipe17_8_lp1");;	/* run the loop again      */
1121  00032630    11 d5                         brb _pipe17_8_lp1
1122  00032632                                  L331:
1123  00032632                                   # /* 
1124  00032632                                   #  * verify the results
1125  00032632                                   # */
1126  00032632                                   # 	   if( (dbl_st_acc.m != dbl_expected.m) || /* compare the results   */
1127  00032632                                   # 	       (dbl_st_acc.l != dbl_expected.l) )
1128  00032632    1d effffff72c effffff727      	cmpl	_dbl_st_acc,_dbl_expected
1129  0003263D    21 0d                         	jneq	L9992
1130  0003263F    1d effffff723 effffff71e      	cmpl	_dbl_st_acc+4,_dbl_expected+4
1131  0003264A    31 42                         	jeql	L332
1132  0003264C                                  L9992:
1133  0003264C                                   # 	   {
1134  0003264C                                   # 	      errcnt++;				/* bump the error count    */
1135  0003264C    6d effffff712                 	incl	_errcnt
1136  00032652                                   # 	      if ( prt_error ) 
1137  00032652    5d effffff70c                 	tstl	_prt_error
1138  00032658    31 0d                         	jeql	L333
1139  0003265A                                   # 		 print_pipe17_er("Cache Data, 3 NOPs");
1140  0003265A                                  	.data	1
1141  00000daa *                                L334:
1142  00000daa *  436163686520446174612C203     	.ascii	"Cache Data, 3 NOPs\0"
                  3204E4F507300
1143  00000dbd *                                	.text
1144  0003265A    dd 8f00000daa                 	pushl	$L334
1145  00032660    fe 08 ef00000251              	callf	$8,_print_pipe17_er
1146  00032667                                   # 	      if ( halt_flg ) 			/* halt on error?          */
1147  00032667                                  L333:
1148  00032667    5d effffff6f7                 	tstl	_halt_flg
1149  0003266D    31 0d                         	jeql	L335
1150  0003266F                                   # 		 pipe17_er_hlt( subtest );
1151  0003266F    dd effffff6ef                 	pushl	_subtest
1152  00032675    fe 08 ef0000038a              	callf	$8,_pipe17_er_hlt
1153  0003267C                                   # 	      if ( loop_on_err ) {
1154  0003267C                                  L335:
1155  0003267C    5d effffff6e2                 	tstl	_loop_on_err
1156  00032682    31 0a                         	jeql	L336
1157  00032684                                   # 		 force_loop = TRUE;		/* set the force loop flag */
1158  00032684    0d 01 effffff6d9              	movl	$1,_force_loop
1159  0003268B                                   # 		 asm("brw _pipe17_8_lp1");	/* and loop                */
1160  0003268B    13 ff79                       brw _pipe17_8_lp1
1161  0003268E                                   # 	      }
1162  0003268E                                   # 	   }   /* end of compare error */
1163  0003268E                                  L336:
1164  0003268E                                   # 	} while( index++ < max_cvld_1_index );
1165  0003268E                                  L332:
1166  0003268E                                  L329:
1167  0003268E    0d effffff6d0 50              	movl	_index,r0
1168  00032695    6d effffff6c9                 	incl	_index
1169  0003269B    1d 50 effffff6c2              	cmpl	r0,_max_cvld_1_index
1170  000326A2    81 03 13 ff12                 	jlss	L330
1171  000326A7                                  L328:
1172  000326A7                                   # }  /* end of subtest 8 */
1173  000326A7    40                            	ret#2
1174  000326A8                                  	.set	L324,0x0
1175  000326A8                                  L326:
1176  000326A8    13 ff02                       	jbr 	L327
1177  000326AB                                  	.data
1178  00000d20 *                                	.text
1179  000326AB    00                            	.align	1
1180  000326AC                                  	.globl	_pipe17_9
1181  000326AC                                  _pipe17_9:
1182  000326AC    0000                          	.word	L337
1183  000326AE                                   # 
1184  000326AE                                   # 
1185  000326AE                                   # 
1186  000326AE                                   # 
1187  000326AE                                   # 
1188  000326AE                                   # 
1189  000326AE                                   # 
1190  000326AE                                   # /******************************************************************************
1191  000326AE                                   # *
1192  000326AE                                   # *			SUBTEST 9  
1193  000326AE                                   # *
1194  000326AE                                   # *	Get the data via the FRAME POINTER  ( indexed )
1195  000326AE                                   # *
1196  000326AE                                   # *	 ADDRESSES OF DATA OPERANDS  INDEX         DATA
1197  000326AE                                   # *	pointer_data,-4     (FP+32)   4       the STF result goes here
1198  000326AE                                   # *	pointer_data-8,-12  (FP+24)   3       < '0.0' data >
1199  000326AE                                   # *	pointer_data-16     (FP+20)   5(sgl)  <operand data>
1200  000326AE                                   # *	pointer_data-20     (FP+16)   2       <   unused   >
1201  000326AE                                   # *	pointer_data-24,-28 (FP+8 )   1       < '1.0' data >
1202  000326AE                                   # *	pointer_data-32,-36 ( FP  )   0       point the frame pointer here
1203  000326AE                                   # *
1204  000326AE                                   # * NOTE: The double precision instructions are using Quad Word indexing.
1205  000326AE                                   # *       The Convert Long To Double uses longword indexing.
1206  000326AE                                   # ******************************************************************************/
1207  000326AE                                   # pipe17_9() 
1208  000326AE                                   # {
1209  000326AE    13 0204                       	jbr 	L339
1210  000326B1                                  L340:
1211  000326B1                                   # 	asm("moval (r13),_pre_event_fp");	/* save the frame pointer   */ 
1212  000326B1    ed 6d effffff6ac              moval (r13),_pre_event_fp
1213  000326B8                                   # 	asm("moval (r14),_pre_event_sp");	/* save the stack pointer   */ 
1214  000326B8    ed 6e effffff6a5              moval (r14),_pre_event_sp
1215  000326BF                                   # 	force_loop = FALSE;			/* clear force_loop flag */
1216  000326BF    4d effffff69f                 	clrl	_force_loop
1217  000326C5                                   # 	index = 0;
1218  000326C5    4d effffff699                 	clrl	_index
1219  000326CB                                   # 	do 
1220  000326CB                                  L343:
1221  000326CB                                   # 	{
1222  000326CB                                   # 	   sgl_value_1  = cvld_1_data[index].ld;  /* get the integer operand */
1223  000326CB    5c 0c effffff692 50           	mull3	$12,_index,r0
1224  000326D3    0d e000000000 effffff686      	movl	_cvld_1_data(r0),_sgl_value_1
1225  000326DE                                   # 	   sgl_value_7  = 0x40800000;		  /* get MSW of '1.0'        */
1226  000326DE    0d 8f40800000 effffff67b      	movl	$1082130432,_sgl_value_7
1227  000326E9                                   # 	   sgl_value_8  = 0;			  /* get a 0                 */
1228  000326E9    4d effffff675                 	clrl	_sgl_value_8
1229  000326EF                                   # 	   dbl_expected = cvld_1_data[index].exp; /* get expected results    */
1230  000326EF    5c 0c effffff66e 50           	mull3	$12,_index,r0
1231  000326F7    0c 8f00000004 50              	addl2	$_cvld_1_data+4,r0
1232  000326FE    0d a004 effffff662            	movl	4(r0),_dbl_expected+4
1233  00032706    0d 60 effffff657              	movl	(r0),_dbl_expected
1234  0003270D                                   # /*
1235  0003270D                                   #  * If LOOP ON ERROR is set, this is the loop for this subtest.
1236  0003270D                                   #  * The force loop flag is set after the first error.
1237  0003270D                                   # */
1238  0003270D                                   # 	   asm("_pipe17_9_lp1:");
1239  0003270D                                  _pipe17_9_lp1:
1240  0003270D                                   # 	   asm("moval _pointer_data,_sgl_value_9");/* get store data's addr */
1241  0003270D    ed effffff651 effffff64c      moval _pointer_data,_sgl_value_9
1242  00032718                                   # 	   sgl_value_9 -= 8;
1243  00032718    2c 08 effffff645              	subl2	$8,_sgl_value_9
1244  0003271F                                   # 	   asm("movl _sgl_value_8,*_sgl_value_9"); /* set the '0.0's LSW    */
1245  0003271F    0d effffff63f fffffff63a      movl _sgl_value_8,*_sgl_value_9
1246  0003272A                                   # 	   sgl_value_9 -= 4;
1247  0003272A    2c 04 effffff633              	subl2	$4,_sgl_value_9
1248  00032731                                   # 	   asm("movl _sgl_value_8,*_sgl_value_9"); /* set the '0.0's MSW    */
1249  00032731    0d effffff62d fffffff628      movl _sgl_value_8,*_sgl_value_9
1250  0003273C                                   # 	   sgl_value_9 -= 4;
1251  0003273C    2c 04 effffff621              	subl2	$4,_sgl_value_9
1252  00032743                                   # 	   asm("movl _sgl_value_1,*_sgl_value_9"); /* set the integer op.   */
1253  00032743    0d effffff61b fffffff616      movl _sgl_value_1,*_sgl_value_9
1254  0003274E                                   # 	   sgl_value_9 -= 4;
1255  0003274E    2c 04 effffff60f              	subl2	$4,_sgl_value_9
1256  00032755                                   # 	   asm("movl _sgl_value_8,*_sgl_value_9"); /* < unused data addr. > */
1257  00032755    0d effffff609 fffffff604      movl _sgl_value_8,*_sgl_value_9
1258  00032760                                   # 	   sgl_value_9 -= 4;
1259  00032760    2c 04 effffff5fd              	subl2	$4,_sgl_value_9
1260  00032767                                   # 	   asm("movl _sgl_value_8,*_sgl_value_9"); /* set the '1.0's LSW    */
1261  00032767    0d effffff5f7 fffffff5f2      movl _sgl_value_8,*_sgl_value_9
1262  00032772                                   # 	   sgl_value_9 -= 4;
1263  00032772    2c 04 effffff5eb              	subl2	$4,_sgl_value_9
1264  00032779                                   # 	   asm("movl _sgl_value_7,*_sgl_value_9"); /* set the '1.0's MSW    */
1265  00032779    0d effffff5e5 fffffff5e0      movl _sgl_value_7,*_sgl_value_9
1266  00032784                                   # 	   sgl_value_9 -= 8;			/* get the FP addr to use   */
1267  00032784    2c 08 effffff5d9              	subl2	$8,_sgl_value_9
1268  0003278B                                   # 	   asm("movl _sgl_value_9,r13");	/* set the FRAME POINTER    */
1269  0003278B    0d effffff5d3 5d              movl _sgl_value_9,r13
1270  00032792                                   # 	   asm("movl $1,r2");			/* r2 index = 1 quadwords   */
1271  00032792    0d 01 52                      movl $1,r2
1272  00032795                                   # 	   asm("movl $3,r3");			/* r3 index = 3 quadwords   */
1273  00032795    0d 03 53                      movl $3,r3
1274  00032798                                   # 	   asm("movl $4,r4");			/* r4 index = 4 quadwords   */
1275  00032798    0d 04 54                      movl $4,r4
1276  0003279B                                   # 	   asm("movl $5,r5");			/* r5 index = 5 longwords   */
1277  0003279B    0d 05 55                      movl $5,r5
1278  0003279E                                   # 	   asm("cvld (r13)[r5]");		/* convert the int.  ( op ) */
1279  0003279E    77 456d                       cvld (r13)[r5]
1280  000327A1                                   # 	   asm("addd (r13)[r3]");		/* add a '0.0'       ( op ) */
1281  000327A1    c7 436d                       addd (r13)[r3]
1282  000327A4                                   # 	   asm("muld (r13)[r2]");		/* multiply by '1.0' ( op ) */
1283  000327A4    e7 426d                       muld (r13)[r2]
1284  000327A7                                   # 	   asm("std  (r13)[r4]");		/* store the result  ( op ) */
1285  000327A7    27 446d                       std  (r13)[r4]
1286  000327AA                                   # 	   if( force_loop )
1287  000327AA    5d effffff5b4                 	tstl	_force_loop
1288  000327B0    31 03                         	jeql	L344
1289  000327B2                                   # 	       asm("brw _pipe17_9_lp1");;	/* run the loop again      */
1290  000327B2    13 ff58                       brw _pipe17_9_lp1
1291  000327B5                                  L344:
1292  000327B5                                   # /* 
1293  000327B5                                   #  * verify the results
1294  000327B5                                   # */
1295  000327B5                                   # 	   asm("moval (r13),_sgl_value_10");	/* save the frame pointer  */
1296  000327B5    ed 6d effffff5a8              moval (r13),_sgl_value_10
1297  000327BC                                   # 	   asm("movl _pointer_data,_sgl_value_4"); /* save the LSW stored  */
1298  000327BC    0d effffff5a2 effffff59d      movl _pointer_data,_sgl_value_4
1299  000327C7                                   # 	   asm("movl _pointer_data-4,_sgl_value_3"); /*   and the MSW      */
1300  000327C7    0d effffff593 effffff592      movl _pointer_data-4,_sgl_value_3
1301  000327D2                                   # 	   if( (sgl_value_3  != dbl_expected.m) || /* verify the result... */
1302  000327D2                                   # 	       (sgl_value_4  != dbl_expected.l) || /* verify the result... */
1303  000327D2                                   # 	       (sgl_value_10 != sgl_value_9) )	   /* ... and the final FP */
1304  000327D2    1d effffff58c effffff587      	cmpl	_sgl_value_3,_dbl_expected
1305  000327DD    21 1d                         	jneq	L9991
1306  000327DF    1d effffff57f effffff57e      	cmpl	_sgl_value_4,_dbl_expected+4
1307  000327EA    21 10                         	jneq	L9991
1308  000327EC    1d effffff572 effffff56d      	cmpl	_sgl_value_10,_sgl_value_9
1309  000327F7    21 03 13 0091                 	jeql	L345
1310  000327FC                                  L9991:
1311  000327FC                                   # 	   {
1312  000327FC                                   # 	      asm("movl _pre_event_fp,r13");	/* restore frame pointer   */
1313  000327FC    0d effffff562 5d              movl _pre_event_fp,r13
1314  00032803                                   # 	      asm("movl _pre_event_sp,r14");	/* restore stack pointer   */
1315  00032803    0d effffff55b 5e              movl _pre_event_sp,r14
1316  0003280A                                   # 	      errcnt++;				/* bump the error count    */
1317  0003280A    6d effffff554                 	incl	_errcnt
1318  00032810                                   # 	      if ( prt_error ) {
1319  00032810    5d effffff54e                 	tstl	_prt_error
1320  00032816    31 4e                         	jeql	L346
1321  00032818                                   # 		 print_pipe17_er("indexed FP addressing");
1322  00032818                                  	.data	1
1323  00000dbd *                                L347:
1324  00000dbd *  696E646578656420465020616     	.ascii	"indexed FP addressing\0"
                  46472657373696E6700
1325  00000dd3 *                                	.text
1326  00032818    dd 8f00000dbd                 	pushl	$L347
1327  0003281E    fe 08 ef00000093              	callf	$8,_print_pipe17_er
1328  00032825                                   # 		 writes("final Frame Pointer = ");
1329  00032825                                  	.data	1
1330  00000dd3 *                                L348:
1331  00000dd3 *  66696E616C204672616D65205     	.ascii	"final Frame Pointer = \0"
                  06F696E746572203D2000
1332  00000dea *                                	.text
1333  00032825    dd 8f00000dd3                 	pushl	$L348
1334  0003282B    fe 08 effffff532              	callf	$8,_writes
1335  00032832                                   # 		 write32h( sgl_value_10 );
1336  00032832    dd effffff52c                 	pushl	_sgl_value_10
1337  00032838    fe 08 effffff525              	callf	$8,_write32h
1338  0003283F                                   # 		 writes(",  expected FP = ");
1339  0003283F                                  	.data	1
1340  00000dea *                                L350:
1341  00000dea *  2C20206578706563746564204     	.ascii	",  expected FP = \0"
                  650203D2000
1342  00000dfc *                                	.text
1343  0003283F    dd 8f00000dea                 	pushl	$L350
1344  00032845    fe 08 effffff518              	callf	$8,_writes
1345  0003284C                                   # 		 write32h( sgl_value_9 );
1346  0003284C    dd effffff512                 	pushl	_sgl_value_9
1347  00032852    fe 08 effffff50b              	callf	$8,_write32h
1348  00032859                                   # 		 writes("\n");
1349  00032859                                  	.data	1
1350  00000dfc *                                L351:
1351  00000dfc *  0A00                          	.ascii	"\12\0"
1352  00000dfe *                                	.text
1353  00032859    dd 8f00000dfc                 	pushl	$L351
1354  0003285F    fe 08 effffff4fe              	callf	$8,_writes
1355  00032866                                   # 	      }
1356  00032866                                   # 	      if ( halt_flg ) 			/* halt on error?          */
1357  00032866                                  L346:
1358  00032866    5d effffff4f8                 	tstl	_halt_flg
1359  0003286C    31 0d                         	jeql	L352
1360  0003286E                                   # 		 pipe17_er_hlt( subtest );
1361  0003286E    dd effffff4f0                 	pushl	_subtest
1362  00032874    fe 08 ef0000018b              	callf	$8,_pipe17_er_hlt
1363  0003287B                                   # 	      if ( loop_on_err ) {
1364  0003287B                                  L352:
1365  0003287B    5d effffff4e3                 	tstl	_loop_on_err
1366  00032881    31 0a                         	jeql	L353
1367  00032883                                   # 		 force_loop = TRUE;		/* set the force loop flag */
1368  00032883    0d 01 effffff4da              	movl	$1,_force_loop
1369  0003288A                                   # 		 asm("brw _pipe17_9_lp1");	/* and loop                */
1370  0003288A    13 fe80                       brw _pipe17_9_lp1
1371  0003288D                                   # 	      }
1372  0003288D                                   # 	   }   /* end of compare error */
1373  0003288D                                  L353:
1374  0003288D                                   # 	} while( index++ < max_cvld_1_index );
1375  0003288D                                  L345:
1376  0003288D                                  L342:
1377  0003288D    0d effffff4d1 50              	movl	_index,r0
1378  00032894    6d effffff4ca                 	incl	_index
1379  0003289A    1d 50 effffff4c3              	cmpl	r0,_max_cvld_1_index
1380  000328A1    81 03 13 fe25                 	jlss	L343
1381  000328A6                                  L341:
1382  000328A6                                   # 	asm("movl _pre_event_fp,r13");		/* restore the frame pointer */
1383  000328A6    0d effffff4b8 5d              movl _pre_event_fp,r13
1384  000328AD                                   # 	asm("movl _pre_event_sp,r14");		/* restore the stack pointer */
1385  000328AD    0d effffff4b1 5e              movl _pre_event_sp,r14
1386  000328B4                                   # }  /* end of subtest 9 */
1387  000328B4    40                            	ret#2
1388  000328B5                                  	.set	L337,0x0
1389  000328B5                                  L339:
1390  000328B5    13 fdf9                       	jbr 	L340
1391  000328B8                                  	.data
1392  00000d20 *                                	.text
1393  000328B8                                  	.align	1
1394  000328B8                                  	.globl	_print_pipe17_er
1395  000328B8                                  _print_pipe17_er:
1396  000328B8    0000                          	.word	L354
1397  000328BA                                   # 
1398  000328BA                                   # 
1399  000328BA                                   # /******************************************************************************
1400  000328BA                                   # *
1401  000328BA                                   # *			ERROR ROUTINE
1402  000328BA                                   # *
1403  000328BA                                   # *	print an error in the following form
1404  000328BA                                   # *
1405  000328BA                                   # *operand = xxxxxxxx xxxxxxxx,   final Acc = xxxxxxxx xxxxxxxx,   index = dd
1406  000328BA                                   # *                            expected Acc = xxxxxxxx xxxxxxxx
1407  000328BA                                   # *
1408  000328BA                                   # ******************************************************************************/
1409  000328BA                                   # print_pipe17_er(msg)
1410  000328BA                                   # char *msg;
1411  000328BA                                   # {
1412  000328BA    13 0145                       	jbr 	L356
1413  000328BD                                  L357:
1414  000328BD                                   # 	writes("\n");		/* start a new print line   */
1415  000328BD                                  	.data	1
1416  00000dfe *                                L358:
1417  00000dfe *  0A00                          	.ascii	"\12\0"
1418  00000e00 *                                	.text
1419  000328BD    dd 8f00000dfe                 	pushl	$L358
1420  000328C3    fe 08 effffff49a              	callf	$8,_writes
1421  000328CA                                   # 	writes("cycle: ");
1422  000328CA                                  	.data	1
1423  00000e00 *                                L359:
1424  00000e00 *  6379636C653A2000              	.ascii	"cycle: \0"
1425  00000e08 *                                	.text
1426  000328CA    dd 8f00000e00                 	pushl	$L359
1427  000328D0    fe 08 effffff48d              	callf	$8,_writes
1428  000328D7                                   # 	writed( cycle );
1429  000328D7    dd effffff487                 	pushl	_cycle
1430  000328DD    fe 08 effffff480              	callf	$8,_writed
1431  000328E4                                   # 	writes(" test ");
1432  000328E4                                  	.data	1
1433  00000e08 *                                L361:
1434  00000e08 *  20746573742000                	.ascii	" test \0"
1435  00000e0f *                                	.text
1436  000328E4    dd 8f00000e08                 	pushl	$L361
1437  000328EA    fe 08 effffff473              	callf	$8,_writes
1438  000328F1                                   # 	writed( test_no );
1439  000328F1    dd effffff46d                 	pushl	_test_no
1440  000328F7    fe 08 effffff466              	callf	$8,_writed
1441  000328FE                                   # 	writes("  (Pipe 17), subtest ");
1442  000328FE                                  	.data	1
1443  00000e0f *                                L362:
1444  00000e0f *  20202850697065203137292C2     	.ascii	"  (Pipe 17), subtest \0"
                  0737562746573742000
1445  00000e25 *                                	.text
1446  000328FE    dd 8f00000e0f                 	pushl	$L362
1447  00032904    fe 08 effffff459              	callf	$8,_writes
1448  0003290B                                   # 	writed( subtest );
1449  0003290B    dd effffff453                 	pushl	_subtest
1450  00032911    fe 08 effffff44c              	callf	$8,_writed
1451  00032918                                   # 	writes(" error - ");
1452  00032918                                  	.data	1
1453  00000e25 *                                L363:
1454  00000e25 *  206572726F72202D2000          	.ascii	" error - \0"
1455  00000e2f *                                	.text
1456  00032918    dd 8f00000e25                 	pushl	$L363
1457  0003291E    fe 08 effffff43f              	callf	$8,_writes
1458  00032925                                   # 	writes( msg );
1459  00032925    dd ad04                       	pushl	4(fp)
1460  00032928    fe 08 effffff435              	callf	$8,_writes
1461  0003292F                                   # 	writec('\n');
1462  0003292F    dd 0a                         	pushl	$10
1463  00032931    fe 08 effffff42c              	callf	$8,_writec
1464  00032938                                   # 	writes(" CVLD(op), ADDD(0.0), MULD(1.0), STD\n");
1465  00032938                                  	.data	1
1466  00000e2f *                                L365:
1467  00000e2f *  2043564C44286F70292C20414     	.ascii	" CVLD(op), ADDD(0.0), MULD(1.0), STD\12\0"
                  4444428302E30292C204D554C
                  4428312E30292C205354440A0
                  0
1468  00000e55 *                                	.text
1469  00032938    dd 8f00000e2f                 	pushl	$L365
1470  0003293E    fe 08 effffff41f              	callf	$8,_writes
1471  00032945                                   # 	writes("operand = ");
1472  00032945                                  	.data	1
1473  00000e55 *                                L366:
1474  00000e55 *  6F706572616E64203D2000        	.ascii	"operand = \0"
1475  00000e60 *                                	.text
1476  00032945    dd 8f00000e55                 	pushl	$L366
1477  0003294B    fe 08 effffff412              	callf	$8,_writes
1478  00032952                                   # 	write32h( dbl_ld_acc.m );
1479  00032952    dd effffff40c                 	pushl	_dbl_ld_acc
1480  00032958    fe 08 effffff405              	callf	$8,_write32h
1481  0003295F                                   # 	writec(' ');
1482  0003295F    dd 20                         	pushl	$32
1483  00032961    fe 08 effffff3fc              	callf	$8,_writec
1484  00032968                                   # 	write32h( dbl_ld_acc.l );
1485  00032968    dd effffff3fa                 	pushl	_dbl_ld_acc+4
1486  0003296E    fe 08 effffff3ef              	callf	$8,_write32h
1487  00032975                                   # 	writes(",   final Acc = ");
1488  00032975                                  	.data	1
1489  00000e60 *                                L367:
1490  00000e60 *  2C20202066696E616C2041636     	.ascii	",   final Acc = \0"
                  3203D2000
1491  00000e71 *                                	.text
1492  00032975    dd 8f00000e60                 	pushl	$L367
1493  0003297B    fe 08 effffff3e2              	callf	$8,_writes
1494  00032982                                   # 	write32h( dbl_st_acc.m );
1495  00032982    dd effffff3dc                 	pushl	_dbl_st_acc
1496  00032988    fe 08 effffff3d5              	callf	$8,_write32h
1497  0003298F                                   # 	writec(' ');
1498  0003298F    dd 20                         	pushl	$32
1499  00032991    fe 08 effffff3cc              	callf	$8,_writec
1500  00032998                                   # 	write32h( dbl_st_acc.l );
1501  00032998    dd effffff3ca                 	pushl	_dbl_st_acc+4
1502  0003299E    fe 08 effffff3bf              	callf	$8,_write32h
1503  000329A5                                   # 	writes(",   index = ");
1504  000329A5                                  	.data	1
1505  00000e71 *                                L368:
1506  00000e71 *  2C202020696E646578203D200     	.ascii	",   index = \0"
                  0
1507  00000e7e *                                	.text
1508  000329A5    dd 8f00000e71                 	pushl	$L368
1509  000329AB    fe 08 effffff3b2              	callf	$8,_writes
1510  000329B2                                   # 	writed( index );
1511  000329B2    dd effffff3ac                 	pushl	_index
1512  000329B8    fe 08 effffff3a5              	callf	$8,_writed
1513  000329BF                                   # 	writec('\n');
1514  000329BF    dd 0a                         	pushl	$10
1515  000329C1    fe 08 effffff39c              	callf	$8,_writec
1516  000329C8                                   # 	writes("                            expected Acc = ");
1517  000329C8                                  	.data	1
1518  00000e7e *                                L369:
1519  00000e7e *  2020202020202020202020202     	.ascii	"                            expected Acc = \0"
                  0202020202020202020202020
                  2020206578706563746564204
                  16363203D2000
1520  00000eaa *                                	.text
1521  000329C8    dd 8f00000e7e                 	pushl	$L369
1522  000329CE    fe 08 effffff38f              	callf	$8,_writes
1523  000329D5                                   # 	write32h( dbl_expected.m );
1524  000329D5    dd effffff389                 	pushl	_dbl_expected
1525  000329DB    fe 08 effffff382              	callf	$8,_write32h
1526  000329E2                                   # 	writec(' ');
1527  000329E2    dd 20                         	pushl	$32
1528  000329E4    fe 08 effffff379              	callf	$8,_writec
1529  000329EB                                   # 	write32h( dbl_expected.l );
1530  000329EB    dd effffff377                 	pushl	_dbl_expected+4
1531  000329F1    fe 08 effffff36c              	callf	$8,_write32h
1532  000329F8                                   # 	writec('\n');
1533  000329F8    dd 0a                         	pushl	$10
1534  000329FA    fe 08 effffff363              	callf	$8,_writec
1535  00032A01                                   # }
1536  00032A01    40                            	ret#2
1537  00032A02                                  	.set	L354,0x0
1538  00032A02                                  L356:
1539  00032A02    13 feb8                       	jbr 	L357
1540  00032A05                                  	.data
1541  00000d20 *                                	.text
1542  00032A05    00                            	.align	1
1543  00032A06                                  	.globl	_pipe17_er_hlt
1544  00032A06                                  _pipe17_er_hlt:
1545  00032A06    0000                          	.word	L370
1546  00032A08                                   # 
1547  00032A08                                   # 
1548  00032A08                                   # 
1549  00032A08                                   # 
1550  00032A08                                   # 
1551  00032A08                                   # /******************************************************************************
1552  00032A08                                   # *
1553  00032A08                                   # *			HALT ON ERROR ROUTINE
1554  00032A08                                   # *
1555  00032A08                                   # *  	halt with the necessary information saved in the registers
1556  00032A08                                   # *
1557  00032A08                                   # ******************************************************************************/
1558  00032A08                                   # pipe17_er_hlt( subtest )
1559  00032A08                                   # int subtest;
1560  00032A08                                   # {
1561  00032A08    11 75                         	jbr 	L372
1562  00032A0A                                  L373:
1563  00032A0A                                   # 	sgl_value_3 = dbl_st_acc.m;
1564  00032A0A    0d effffff354 effffff34f      	movl	_dbl_st_acc,_sgl_value_3
1565  00032A15                                   # 	sgl_value_4 = dbl_st_acc.l;
1566  00032A15    0d effffff34d effffff344      	movl	_dbl_st_acc+4,_sgl_value_4
1567  00032A20                                   # 	asm("movl _test_no,r0");		/* r0 = test number        */
1568  00032A20    0d effffff33e 50              movl _test_no,r0
1569  00032A27                                   # 	asm("movl _subtest,r1");		/* r1 = subtest number     */
1570  00032A27    0d effffff337 51              movl _subtest,r1
1571  00032A2E                                   # 	asm("movl $1,r2");			/* r2 = error code         */
1572  00032A2E    0d 01 52                      movl $1,r2
1573  00032A31                                   # 	asm("movl _cycle,r3");			/* r3 = cycle count        */
1574  00032A31    0d effffff32d 53              movl _cycle,r3
1575  00032A38                                   # 	asm("movl _sgl_value_1,r4");		/* r4 = MSW operand loaded */
1576  00032A38    0d effffff326 54              movl _sgl_value_1,r4
1577  00032A3F                                   # 	asm("movl _sgl_value_2,r5");		/* r5 = LSW operand loaded */
1578  00032A3F    0d effffff31f 55              movl _sgl_value_2,r5
1579  00032A46                                   # 	asm("movl _sgl_value_3,r6");		/* r6 = MSW operand stored */
1580  00032A46    0d effffff318 56              movl _sgl_value_3,r6
1581  00032A4D                                   # 	asm("movl _sgl_value_4,r7");		/* r7 = LSW operand stored */
1582  00032A4D    0d effffff311 57              movl _sgl_value_4,r7
1583  00032A54                                   # 	asm("movl _sgl_value_5,r8");		/* r8 = MSW operand expect */
1584  00032A54    0d effffff30a 58              movl _sgl_value_5,r8
1585  00032A5B                                   # 	asm("movl _sgl_value_6,r9");		/* r9 = LSW operand expect */
1586  00032A5B    0d effffff303 59              movl _sgl_value_6,r9
1587  00032A62                                   # 	asm("movl _index,r10");			/* r10 = data index        */
1588  00032A62    0d effffff2fc 5a              movl _index,r10
1589  00032A69                                   # 	if( subtest == 9 ) {
1590  00032A69    1d ad04 09                    	cmpl	4(fp),$9
1591  00032A6D    21 0e                         	jneq	L374
1592  00032A6F                                   # 		asm("movl _sgl_value_10,r11");	/* r11 = final FP value     */
1593  00032A6F    0d effffff2ef 5b              movl _sgl_value_10,r11
1594  00032A76                                   # 		asm("movl _sgl_value_9,r12");	/* r12 = expected FP value  */
1595  00032A76    0d effffff2e8 5c              movl _sgl_value_9,r12
1596  00032A7D                                   # 	};
1597  00032A7D                                  L374:
1598  00032A7D                                   # 	asm(".globl _pipe17_1_hlt");
1599  00032A7D                                  .globl _pipe17_1_hlt
1600  00032A7D                                   # 	asm("_pipe17_1_hlt:");			/* PC after the halt       */
1601  00032A7D                                  _pipe17_1_hlt:
1602  00032A7D                                   # 	asm("halt");				/* HALT ...                */
1603  00032A7D    00                            halt
1604  00032A7E                                   # }  /* end of halt on error */
1605  00032A7E    40                            	ret#2
1606  00032A7F                                  	.set	L370,0x0
1607  00032A7F                                  L372:
1608  00032A7F    11 89                         	jbr 	L373
1609  00032A81                                  	.data
1609  000647E5                                  	.data

unix.superglobalmegacorp.com

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