File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / fpevent / pipe17.lst
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:30:17 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  000004a8 *                                	.text
   4  00000000                                  	.align	1
   5  00000000                                  	.globl	_pipe17
   6  00000000                                  _pipe17:
   7  00014B14    0000                          	.word	L381
   8  00014B16                                   # 
   9  00014B16                                   # #include "evt_defs.h"
  10  00014B16                                   # 
  11  00014B16                                   # /*
  12  00014B16                                   #  *********************************************************************
  13  00014B16                                   #  *	FPP PIPELINED EVENTS TEST #17
  14  00014B16                                   #  *
  15  00014B16                                   #  *  This test will execute a large number of ADDF instructions with 
  16  00014B16                                   #  *  clock events active. It will ensure that:
  17  00014B16                                   #  *   1. A clock event occurrs during the ADDF sequence, and
  18  00014B16                                   #  *   2. the result of the add sequence is correct.
  19  00014B16                                   #  *
  20  00014B16                                   #  *  At each clock interrupt the ADDF's should be stopped and the queue
  21  00014B16                                   #  *  cleared. If the queue isn't cleared then we'll get too many ADDF
  22  00014B16                                   #  *  operations run and end up with the wrong result.
  23  00014B16                                   #  *  The ADDFs will be run with cache misses and with cache hits.
  24  00014B16                                   #  *  There is a finite chance that the clock event will occur after we
  25  00014B16                                   #  *  have reset the RTC_OCCURRED flag but before the ADDFs have started
  26  00014B16                                   #  *  or that it will have occurred after the ADDFs were done but before
  27  00014B16                                   #  *  we check the flag again. With 128 ADDFs the chance is small but to 
  28  00014B16                                   #  *  be sure, we'll do it all twice. What the hell.
  29  00014B16                                   #  *  This routine uses the special clock event handler found in the
  30  00014B16                                   #  *  test initializer.
  31  00014B16                                   #  *********************************************************************
  32  00014B16                                   # */
  33  00014B16                                   # pipe17()
  34  00014B16                                   # {
  35  00014B16    13 008c                       	jbr 	L383
  36  00014B19                                  L384:
  37  00014B19                                   # 	precision = SGL;
  38  00014B19    0d 01 effffffff4              	movl	$1,_precision
  39  00014B20                                   # 	exp_event = FALSE;			/* don't expect fpp events */
  40  00014B20    4d efffffffee                 	clrl	_exp_event
  41  00014B26                                   # 	sgl_value_1 = 0x40800000;		/* add floating +1.0's     */
  42  00014B26    0d 8f40800000 efffffffe3      	movl	$1082130432,_sgl_value_1
  43  00014B31                                   # 	sgl_expected = 0x44000000;		/* expect a floating +128  */
  44  00014B31    0d 8f44000000 efffffffd8      	movl	$1140850688,_sgl_expected
  45  00014B3C                                   # 	i_cache_hit = FALSE;			/* run with cache misses   */
  46  00014B3C    4d efffffffd2                 	clrl	_i_cache_hit
  47  00014B42                                   # 	test_clock_add();			/* test w/ positive Acc.   */
  48  00014B42    fe 04 ef0000005f              	callf	$4,_test_clock_add
  49  00014B49                                   # 	test_clock_add();			/* ...run the test twice   */
  50  00014B49    fe 04 ef00000058              	callf	$4,_test_clock_add
  51  00014B50                                   # 	i_cache_hit = TRUE;			/* and run with cache hits */
  52  00014B50    0d 01 efffffffbd              	movl	$1,_i_cache_hit
  53  00014B57                                   # 	test_clock_add();			/*  for 2 more times       */
  54  00014B57    fe 04 ef0000004a              	callf	$4,_test_clock_add
  55  00014B5E                                   # 	test_clock_add();
  56  00014B5E    fe 04 ef00000043              	callf	$4,_test_clock_add
  57  00014B65                                   # 	sgl_value_1 = 0xc0800000;		/* add floating -1.0's     */
  58  00014B65    0d 8fc0800000 efffffffa4      	movl	$-1065353216,_sgl_value_1
  59  00014B70                                   # 	sgl_expected = 0xc4000000;		/* expect a floating -128  */
  60  00014B70    0d 8fc4000000 efffffff99      	movl	$-1006632960,_sgl_expected
  61  00014B7B                                   # 	i_cache_hit = FALSE;			/* run with cache misses   */
  62  00014B7B    4d efffffff93                 	clrl	_i_cache_hit
  63  00014B81                                   # 	test_clock_add();			/* test w/ negative Acc.   */
  64  00014B81    fe 04 ef00000020              	callf	$4,_test_clock_add
  65  00014B88                                   # 	test_clock_add();			/* ...run the test twice   */
  66  00014B88    fe 04 ef00000019              	callf	$4,_test_clock_add
  67  00014B8F                                   # 	i_cache_hit = TRUE;			/* and run with cache hits */
  68  00014B8F    0d 01 efffffff7e              	movl	$1,_i_cache_hit
  69  00014B96                                   # 	test_clock_add();			/*  for 2 more times       */
  70  00014B96    fe 04 ef0000000b              	callf	$4,_test_clock_add
  71  00014B9D                                   # 	test_clock_add();
  72  00014B9D    fe 04 ef00000004              	callf	$4,_test_clock_add
  73  00014BA4                                   # }
  74  00014BA4    40                            	ret#2
  75  00014BA5                                  	.set	L381,0x0
  76  00014BA5                                  L383:
  77  00014BA5    13 ff71                       	jbr 	L384
  78  00014BA8                                  	.data
  79  000004a8 *                                	.text
  80  00014BA8                                  	.align	1
  81  00014BA8                                  	.globl	_test_clock_add
  82  00014BA8                                  _test_clock_add:
  83  00014BA8    0000                          	.word	L386
  84  00014BAA                                   # 
  85  00014BAA                                   # 
  86  00014BAA                                   # 
  87  00014BAA                                   # /****************************************************************************
  88  00014BAA                                   # *
  89  00014BAA                                   # *	Verify that the results of 128 ADDFs is correct.
  90  00014BAA                                   # *
  91  00014BAA                                   # ****************************************************************************/
  92  00014BAA                                   # test_clock_add()
  93  00014BAA                                   # {
  94  00014BAA    11 67                         	jbr 	L388
  95  00014BAC                                  L389:
  96  00014BAC                                   # 	asm(".globl test_clock_lp");		/* loop from here on errors */
  97  00014BAC                                  .globl test_clock_lp
  98  00014BAC                                   # 	asm("test_clock_lp:");
  99  00014BAC                                  test_clock_lp:
 100  00014BAC                                   # 	clock_add();				/* do 128 addf's           */
 101  00014BAC    fe 04 ef00000063              	callf	$4,_clock_add
 102  00014BB3                                   # 	if( !rtc_occurred )
 103  00014BB3    5d efffffff5b                 	tstl	_rtc_occurred
 104  00014BB9    21 09                         	jneq	L391
 105  00014BBB                                   # 	      who_pulled_the_plug();		/* something is wrong here */
 106  00014BBB    fe 04 ef000002e2              	callf	$4,_who_pulled_the_plug
 107  00014BC2                                   # 	else {					/* we got a clock event!!  */
 108  00014BC2    11 4e                         	jbr 	L393
 109  00014BC4                                  L391:
 110  00014BC4                                   # 	      asm("stf _sgl_st_acc");		/*  store the Accumlator   */
 111  00014BC4    26 efffffff4a                 stf _sgl_st_acc
 112  00014BCA                                   # 	      if( sgl_st_acc != sgl_expected )
 113  00014BCA    1d efffffff44 efffffff3f      	cmpl	_sgl_st_acc,_sgl_expected
 114  00014BD5    31 3b                         	jeql	L394
 115  00014BD7                                   # 	      {
 116  00014BD7                                   # 		    errcnt++;			/* bump the error count    */
 117  00014BD7    6d efffffff37                 	incl	_errcnt
 118  00014BDD                                   # 		    if( prt_error ) 
 119  00014BDD    5d efffffff31                 	tstl	_prt_error
 120  00014BE3    31 07                         	jeql	L395
 121  00014BE5                                   # 	  		   print_clock_er();	/* print the error message */
 122  00014BE5    fe 04 ef000001b0              	callf	$4,_print_clock_er
 123  00014BEC                                   # 		    if( halt_flg )
 124  00014BEC                                  L395:
 125  00014BEC    5d efffffff22                 	tstl	_halt_flg
 126  00014BF2    31 09                         	jeql	L397
 127  00014BF4                                   # 	     		   pipe17_halt( 1 );	/* halt with a code of 1   */
 128  00014BF4    dd 01                         	pushl	$1
 129  00014BF6    fe 08 ef00000375              	callf	$8,_pipe17_halt
 130  00014BFD                                   # 		    if( loop_on_err ) {
 131  00014BFD                                  L397:
 132  00014BFD    5d efffffff11                 	tstl	_loop_on_err
 133  00014C03    31 0d                         	jeql	L399
 134  00014C05                                   # 			   force_loop = TRUE;	/* loop on the error       */
 135  00014C05    0d 01 efffffff08              	movl	$1,_force_loop
 136  00014C0C                                   # 			   asm("jmp test_clock_lp");
 137  00014C0C    71 efffffff9a                 jmp test_clock_lp
 138  00014C12                                   # 		    }
 139  00014C12                                   # 	      }					/* end of store error      */
 140  00014C12                                  L399:
 141  00014C12                                   # 	}    					/* end of clock event found */
 142  00014C12                                  L394:
 143  00014C12                                  L393:
 144  00014C12                                   # }
 145  00014C12    40                            	ret#2
 146  00014C13                                  	.set	L386,0x0
 147  00014C13                                  L388:
 148  00014C13    11 97                         	jbr 	L389
 149  00014C15                                  	.data
 150  000004a8 *                                	.text
 151  00014C15    00                            	.align	1
 152  00014C16                                  	.globl	_clock_add
 153  00014C16                                  _clock_add:
 154  00014C16    0000                          	.word	L400
 155  00014C18                                   # 
 156  00014C18                                   # 
 157  00014C18                                   # 
 158  00014C18                                   # 
 159  00014C18                                   # 
 160  00014C18                                   # 
 161  00014C18                                   # /****************************************************************************
 162  00014C18                                   # *
 163  00014C18                                   # *			DO 128 SINGLE PRECISION ADDs
 164  00014C18                                   # *
 165  00014C18                                   # *  Run a series of 128 ADDF instructions with the clock enabled. Run the 
 166  00014C18                                   # *  series untill there was a clock event during the series or we run out 
 167  00014C18                                   # *  of patience. -It takes a while to run out of patience!!
 168  00014C18                                   # *  If we are running with instruction cache misses then bump the Code Cache 
 169  00014C18                                   # *  Key each time through.
 170  00014C18                                   # *
 171  00014C18                                   # ****************************************************************************/
 172  00014C18                                   # clock_add()
 173  00014C18                                   # {
 174  00014C18    13 017e                       	jbr 	L402
 175  00014C1B                                  L403:
 176  00014C1B                                   # 	clock_retrys = 1000000;			/* allow 1 million retrys  */
 177  00014C1B    0d 8f000f4240 effffffeee      	movl	$1000000,_clock_retrys
 178  00014C26                                   # 	asm(".globl clock_add_lp");		/* loop from here till RTC */
 179  00014C26                                  .globl clock_add_lp
 180  00014C26                                   # 	asm("clock_add_lp:");
 181  00014C26                                  clock_add_lp:
 182  00014C26                                   # 	if( !i_cache_hit ) {
 183  00014C26    5d effffffee8                 	tstl	_i_cache_hit
 184  00014C2C    21 25                         	jneq	L404
 185  00014C2E                                   # 	      if( ++Codek >= 255 ) {		/* get next key, key = max? */
 186  00014C2E    6d effffffee0                 	incl	_Codek
 187  00014C34    0d effffffeda 50              	movl	_Codek,r0
 188  00014C3B    1d 50 8900ff                  	cmpl	r0,$255
 189  00014C40    91 0a                         	jlss	L405
 190  00014C42                                   # 		    Codek = 1;			/*    reset the cache key   */
 191  00014C42    0d 01 effffffecb              	movl	$1,_Codek
 192  00014C49                                   # 		    asm("mtpr $1,$23");		/*      and purge the cache */
 193  00014C49    ad 01 17                      mtpr $1,$23
 194  00014C4C                                   # 	      };
 195  00014C4C                                  L405:
 196  00014C4C                                   # 	      asm("mtpr _Codek,$13");		/* Set the new cache key    */
 197  00014C4C    ad effffffec2 0d              mtpr _Codek,$13
 198  00014C53                                   # 	};
 199  00014C53                                  L404:
 200  00014C53                                   # 	asm("clrl r0");				/* get a floating '0.0'    */
 201  00014C53    4d 50                         clrl r0
 202  00014C55                                   # 	asm("ldf r0");				/* clear the accumulator   */
 203  00014C55    06 50                         ldf r0
 204  00014C57                                   # 	asm("bispsw $0x60");			/* enable ovfl, undfl evts */
 205  00014C57    8b 8860                       bispsw $0x60
 206  00014C5A                                   # 	asm("mtpr $1,$8");			/* lower IPL -enable clock */
 207  00014C5A    ad 01 08                      mtpr $1,$8
 208  00014C5D                                   # 	asm("nop");
 209  00014C5D    10                            nop
 210  00014C5E                                   # 	asm("movl _sgl_value_1,r6");		/* get the operand         */
 211  00014C5E    0d effffffeb0 56              movl _sgl_value_1,r6
 212  00014C65                                   # 	asm("clrl _rtc_occurred");		/* clear clock event flag  */
 213  00014C65    4d effffffea9                 clrl _rtc_occurred
 214  00014C6B                                   # 
 215  00014C6B                                   # /*
 216  00014C6B                                   #  * Now do 128 ADDF instructions
 217  00014C6B                                   # */
 218  00014C6B                                   # 	asm("addf r6");				/*   ADDF #001    */
 219  00014C6B    c6 56                         addf r6
 220  00014C6D                                   # 	asm("addf r6");				/*   ADDF #002    */
 221  00014C6D    c6 56                         addf r6
 222  00014C6F                                   # 	asm("addf r6");				/*   ADDF #003    */
 223  00014C6F    c6 56                         addf r6
 224  00014C71                                   # 	asm("addf r6");				/*   ADDF #004    */
 225  00014C71    c6 56                         addf r6
 226  00014C73                                   # 	asm("addf r6");				/*   ADDF #005    */
 227  00014C73    c6 56                         addf r6
 228  00014C75                                   # 	asm("addf r6");				/*   ADDF #006    */
 229  00014C75    c6 56                         addf r6
 230  00014C77                                   # 	asm("addf r6");				/*   ADDF #007    */
 231  00014C77    c6 56                         addf r6
 232  00014C79                                   # 	asm("addf r6");				/*   ADDF #008    */
 233  00014C79    c6 56                         addf r6
 234  00014C7B                                   # 	asm("addf r6");				/*   ADDF #009    */
 235  00014C7B    c6 56                         addf r6
 236  00014C7D                                   # 	asm("addf r6");				/*   ADDF #010    */
 237  00014C7D    c6 56                         addf r6
 238  00014C7F                                   # 	asm("addf r6");				/*   ADDF #011    */
 239  00014C7F    c6 56                         addf r6
 240  00014C81                                   # 	asm("addf r6");				/*   ADDF #012    */
 241  00014C81    c6 56                         addf r6
 242  00014C83                                   # 	asm("addf r6");				/*   ADDF #013    */
 243  00014C83    c6 56                         addf r6
 244  00014C85                                   # 	asm("addf r6");				/*   ADDF #014    */
 245  00014C85    c6 56                         addf r6
 246  00014C87                                   # 	asm("addf r6");				/*   ADDF #015    */
 247  00014C87    c6 56                         addf r6
 248  00014C89                                   # 	asm("addf r6");				/*   ADDF #016    */
 249  00014C89    c6 56                         addf r6
 250  00014C8B                                   # 	asm("addf r6");				/*   ADDF #017    */
 251  00014C8B    c6 56                         addf r6
 252  00014C8D                                   # 	asm("addf r6");				/*   ADDF #018    */
 253  00014C8D    c6 56                         addf r6
 254  00014C8F                                   # 	asm("addf r6");				/*   ADDF #019    */
 255  00014C8F    c6 56                         addf r6
 256  00014C91                                   # 	asm("addf r6");				/*   ADDF #020    */
 257  00014C91    c6 56                         addf r6
 258  00014C93                                   # 	asm("addf r6");				/*   ADDF #021    */
 259  00014C93    c6 56                         addf r6
 260  00014C95                                   # 	asm("addf r6");				/*   ADDF #022    */
 261  00014C95    c6 56                         addf r6
 262  00014C97                                   # 	asm("addf r6");				/*   ADDF #023    */
 263  00014C97    c6 56                         addf r6
 264  00014C99                                   # 	asm("addf r6");				/*   ADDF #024    */
 265  00014C99    c6 56                         addf r6
 266  00014C9B                                   # 	asm("addf r6");				/*   ADDF #025    */
 267  00014C9B    c6 56                         addf r6
 268  00014C9D                                   # 	asm("addf r6");				/*   ADDF #026    */
 269  00014C9D    c6 56                         addf r6
 270  00014C9F                                   # 	asm("addf r6");				/*   ADDF #027    */
 271  00014C9F    c6 56                         addf r6
 272  00014CA1                                   # 	asm("addf r6");				/*   ADDF #028    */
 273  00014CA1    c6 56                         addf r6
 274  00014CA3                                   # 	asm("addf r6");				/*   ADDF #029    */
 275  00014CA3    c6 56                         addf r6
 276  00014CA5                                   # 	asm("addf r6");				/*   ADDF #030    */
 277  00014CA5    c6 56                         addf r6
 278  00014CA7                                   # 	asm("addf r6");				/*   ADDF #031    */
 279  00014CA7    c6 56                         addf r6
 280  00014CA9                                   # 	asm("addf r6");				/*   ADDF #032    */
 281  00014CA9    c6 56                         addf r6
 282  00014CAB                                   # 	asm("addf r6");				/*   ADDF #033    */
 283  00014CAB    c6 56                         addf r6
 284  00014CAD                                   # 	asm("addf r6");				/*   ADDF #034    */
 285  00014CAD    c6 56                         addf r6
 286  00014CAF                                   # 	asm("addf r6");				/*   ADDF #035    */
 287  00014CAF    c6 56                         addf r6
 288  00014CB1                                   # 	asm("addf r6");				/*   ADDF #036    */
 289  00014CB1    c6 56                         addf r6
 290  00014CB3                                   # 	asm("addf r6");				/*   ADDF #037    */
 291  00014CB3    c6 56                         addf r6
 292  00014CB5                                   # 	asm("addf r6");				/*   ADDF #038    */
 293  00014CB5    c6 56                         addf r6
 294  00014CB7                                   # 	asm("addf r6");				/*   ADDF #039    */
 295  00014CB7    c6 56                         addf r6
 296  00014CB9                                   # 	asm("addf r6");				/*   ADDF #040    */
 297  00014CB9    c6 56                         addf r6
 298  00014CBB                                   # 	asm("addf r6");				/*   ADDF #041    */
 299  00014CBB    c6 56                         addf r6
 300  00014CBD                                   # 	asm("addf r6");				/*   ADDF #042    */
 301  00014CBD    c6 56                         addf r6
 302  00014CBF                                   # 	asm("addf r6");				/*   ADDF #043    */
 303  00014CBF    c6 56                         addf r6
 304  00014CC1                                   # 	asm("addf r6");				/*   ADDF #044    */
 305  00014CC1    c6 56                         addf r6
 306  00014CC3                                   # 	asm("addf r6");				/*   ADDF #045    */
 307  00014CC3    c6 56                         addf r6
 308  00014CC5                                   # 	asm("addf r6");				/*   ADDF #046    */
 309  00014CC5    c6 56                         addf r6
 310  00014CC7                                   # 	asm("addf r6");				/*   ADDF #047    */
 311  00014CC7    c6 56                         addf r6
 312  00014CC9                                   # 	asm("addf r6");				/*   ADDF #048    */
 313  00014CC9    c6 56                         addf r6
 314  00014CCB                                   # 	asm("addf r6");				/*   ADDF #049    */
 315  00014CCB    c6 56                         addf r6
 316  00014CCD                                   # 	asm("addf r6");				/*   ADDF #050    */
 317  00014CCD    c6 56                         addf r6
 318  00014CCF                                   # 	asm("addf r6");				/*   ADDF #051    */
 319  00014CCF    c6 56                         addf r6
 320  00014CD1                                   # 	asm("addf r6");				/*   ADDF #052    */
 321  00014CD1    c6 56                         addf r6
 322  00014CD3                                   # 	asm("addf r6");				/*   ADDF #053    */
 323  00014CD3    c6 56                         addf r6
 324  00014CD5                                   # 	asm("addf r6");				/*   ADDF #054    */
 325  00014CD5    c6 56                         addf r6
 326  00014CD7                                   # 	asm("addf r6");				/*   ADDF #055    */
 327  00014CD7    c6 56                         addf r6
 328  00014CD9                                   # 	asm("addf r6");				/*   ADDF #056    */
 329  00014CD9    c6 56                         addf r6
 330  00014CDB                                   # 	asm("addf r6");				/*   ADDF #057    */
 331  00014CDB    c6 56                         addf r6
 332  00014CDD                                   # 	asm("addf r6");				/*   ADDF #058    */
 333  00014CDD    c6 56                         addf r6
 334  00014CDF                                   # 	asm("addf r6");				/*   ADDF #059    */
 335  00014CDF    c6 56                         addf r6
 336  00014CE1                                   # 	asm("addf r6");				/*   ADDF #060    */
 337  00014CE1    c6 56                         addf r6
 338  00014CE3                                   # 	asm("addf r6");				/*   ADDF #061    */
 339  00014CE3    c6 56                         addf r6
 340  00014CE5                                   # 	asm("addf r6");				/*   ADDF #062    */
 341  00014CE5    c6 56                         addf r6
 342  00014CE7                                   # 	asm("addf r6");				/*   ADDF #063    */
 343  00014CE7    c6 56                         addf r6
 344  00014CE9                                   # 	asm("addf r6");				/*   ADDF #064    */
 345  00014CE9    c6 56                         addf r6
 346  00014CEB                                   # 	asm("addf r6");				/*   ADDF #065    */
 347  00014CEB    c6 56                         addf r6
 348  00014CED                                   # 	asm("addf r6");				/*   ADDF #066    */
 349  00014CED    c6 56                         addf r6
 350  00014CEF                                   # 	asm("addf r6");				/*   ADDF #067    */
 351  00014CEF    c6 56                         addf r6
 352  00014CF1                                   # 	asm("addf r6");				/*   ADDF #068    */
 353  00014CF1    c6 56                         addf r6
 354  00014CF3                                   # 	asm("addf r6");				/*   ADDF #069    */
 355  00014CF3    c6 56                         addf r6
 356  00014CF5                                   # 	asm("addf r6");				/*   ADDF #070    */
 357  00014CF5    c6 56                         addf r6
 358  00014CF7                                   # 	asm("addf r6");				/*   ADDF #071    */
 359  00014CF7    c6 56                         addf r6
 360  00014CF9                                   # 	asm("addf r6");				/*   ADDF #072    */
 361  00014CF9    c6 56                         addf r6
 362  00014CFB                                   # 	asm("addf r6");				/*   ADDF #073    */
 363  00014CFB    c6 56                         addf r6
 364  00014CFD                                   # 	asm("addf r6");				/*   ADDF #074    */
 365  00014CFD    c6 56                         addf r6
 366  00014CFF                                   # 	asm("addf r6");				/*   ADDF #075    */
 367  00014CFF    c6 56                         addf r6
 368  00014D01                                   # 	asm("addf r6");				/*   ADDF #076    */
 369  00014D01    c6 56                         addf r6
 370  00014D03                                   # 	asm("addf r6");				/*   ADDF #077    */
 371  00014D03    c6 56                         addf r6
 372  00014D05                                   # 	asm("addf r6");				/*   ADDF #078    */
 373  00014D05    c6 56                         addf r6
 374  00014D07                                   # 	asm("addf r6");				/*   ADDF #079    */
 375  00014D07    c6 56                         addf r6
 376  00014D09                                   # 	asm("addf r6");				/*   ADDF #080    */
 377  00014D09    c6 56                         addf r6
 378  00014D0B                                   # 	asm("addf r6");				/*   ADDF #081    */
 379  00014D0B    c6 56                         addf r6
 380  00014D0D                                   # 	asm("addf r6");				/*   ADDF #082    */
 381  00014D0D    c6 56                         addf r6
 382  00014D0F                                   # 	asm("addf r6");				/*   ADDF #083    */
 383  00014D0F    c6 56                         addf r6
 384  00014D11                                   # 	asm("addf r6");				/*   ADDF #084    */
 385  00014D11    c6 56                         addf r6
 386  00014D13                                   # 	asm("addf r6");				/*   ADDF #085    */
 387  00014D13    c6 56                         addf r6
 388  00014D15                                   # 	asm("addf r6");				/*   ADDF #086    */
 389  00014D15    c6 56                         addf r6
 390  00014D17                                   # 	asm("addf r6");				/*   ADDF #087    */
 391  00014D17    c6 56                         addf r6
 392  00014D19                                   # 	asm("addf r6");				/*   ADDF #088    */
 393  00014D19    c6 56                         addf r6
 394  00014D1B                                   # 	asm("addf r6");				/*   ADDF #089    */
 395  00014D1B    c6 56                         addf r6
 396  00014D1D                                   # 	asm("addf r6");				/*   ADDF #090    */
 397  00014D1D    c6 56                         addf r6
 398  00014D1F                                   # 	asm("addf r6");				/*   ADDF #091    */
 399  00014D1F    c6 56                         addf r6
 400  00014D21                                   # 	asm("addf r6");				/*   ADDF #092    */
 401  00014D21    c6 56                         addf r6
 402  00014D23                                   # 	asm("addf r6");				/*   ADDF #093    */
 403  00014D23    c6 56                         addf r6
 404  00014D25                                   # 	asm("addf r6");				/*   ADDF #094    */
 405  00014D25    c6 56                         addf r6
 406  00014D27                                   # 	asm("addf r6");				/*   ADDF #095    */
 407  00014D27    c6 56                         addf r6
 408  00014D29                                   # 	asm("addf r6");				/*   ADDF #096    */
 409  00014D29    c6 56                         addf r6
 410  00014D2B                                   # 	asm("addf r6");				/*   ADDF #097    */
 411  00014D2B    c6 56                         addf r6
 412  00014D2D                                   # 	asm("addf r6");				/*   ADDF #098    */
 413  00014D2D    c6 56                         addf r6
 414  00014D2F                                   # 	asm("addf r6");				/*   ADDF #099    */
 415  00014D2F    c6 56                         addf r6
 416  00014D31                                   # 	asm("addf r6");				/*   ADDF #100    */
 417  00014D31    c6 56                         addf r6
 418  00014D33                                   # 	asm("addf r6");				/*   ADDF #101    */
 419  00014D33    c6 56                         addf r6
 420  00014D35                                   # 	asm("addf r6");				/*   ADDF #102    */
 421  00014D35    c6 56                         addf r6
 422  00014D37                                   # 	asm("addf r6");				/*   ADDF #103    */
 423  00014D37    c6 56                         addf r6
 424  00014D39                                   # 	asm("addf r6");				/*   ADDF #104    */
 425  00014D39    c6 56                         addf r6
 426  00014D3B                                   # 	asm("addf r6");				/*   ADDF #105    */
 427  00014D3B    c6 56                         addf r6
 428  00014D3D                                   # 	asm("addf r6");				/*   ADDF #106    */
 429  00014D3D    c6 56                         addf r6
 430  00014D3F                                   # 	asm("addf r6");				/*   ADDF #107    */
 431  00014D3F    c6 56                         addf r6
 432  00014D41                                   # 	asm("addf r6");				/*   ADDF #108    */
 433  00014D41    c6 56                         addf r6
 434  00014D43                                   # 	asm("addf r6");				/*   ADDF #109    */
 435  00014D43    c6 56                         addf r6
 436  00014D45                                   # 	asm("addf r6");				/*   ADDF #110    */
 437  00014D45    c6 56                         addf r6
 438  00014D47                                   # 	asm("addf r6");				/*   ADDF #111    */
 439  00014D47    c6 56                         addf r6
 440  00014D49                                   # 	asm("addf r6");				/*   ADDF #112    */
 441  00014D49    c6 56                         addf r6
 442  00014D4B                                   # 	asm("addf r6");				/*   ADDF #113    */
 443  00014D4B    c6 56                         addf r6
 444  00014D4D                                   # 	asm("addf r6");				/*   ADDF #114    */
 445  00014D4D    c6 56                         addf r6
 446  00014D4F                                   # 	asm("addf r6");				/*   ADDF #115    */
 447  00014D4F    c6 56                         addf r6
 448  00014D51                                   # 	asm("addf r6");				/*   ADDF #116    */
 449  00014D51    c6 56                         addf r6
 450  00014D53                                   # 	asm("addf r6");				/*   ADDF #117    */
 451  00014D53    c6 56                         addf r6
 452  00014D55                                   # 	asm("addf r6");				/*   ADDF #118    */
 453  00014D55    c6 56                         addf r6
 454  00014D57                                   # 	asm("addf r6");				/*   ADDF #119    */
 455  00014D57    c6 56                         addf r6
 456  00014D59                                   # 	asm("addf r6");				/*   ADDF #120    */
 457  00014D59    c6 56                         addf r6
 458  00014D5B                                   # 	asm("addf r6");				/*   ADDF #121    */
 459  00014D5B    c6 56                         addf r6
 460  00014D5D                                   # 	asm("addf r6");				/*   ADDF #122    */
 461  00014D5D    c6 56                         addf r6
 462  00014D5F                                   # 	asm("addf r6");				/*   ADDF #123    */
 463  00014D5F    c6 56                         addf r6
 464  00014D61                                   # 	asm("addf r6");				/*   ADDF #124    */
 465  00014D61    c6 56                         addf r6
 466  00014D63                                   # 	asm("addf r6");				/*   ADDF #125    */
 467  00014D63    c6 56                         addf r6
 468  00014D65                                   # 	asm("addf r6");				/*   ADDF #126    */
 469  00014D65    c6 56                         addf r6
 470  00014D67                                   # 	asm("addf r6");				/*   ADDF #127    */
 471  00014D67    c6 56                         addf r6
 472  00014D69                                   # 	asm("addf r6");				/*   ADDF #128    */
 473  00014D69    c6 56                         addf r6
 474  00014D6B                                   # /*
 475  00014D6B                                   #  * Thank god that's over with!!! now raise the IPL
 476  00014D6B                                   # */
 477  00014D6B                                   # 
 478  00014D6B                                   # 	asm("mtpr $0x1f,$8");			/* disable clock events    */
 479  00014D6B    ad 1f 08                      mtpr $0x1f,$8
 480  00014D6E                                   # 	if( ( force_loop ) ||	
 481  00014D6E                                   # 	     ( (clock_retrys-- ) &&		/* keep trying to get      */
 482  00014D6E                                   # 	       (!rtc_occurred) ) )		/*       a clock event     */
 483  00014D6E    5d effffffda0                 	tstl	_force_loop
 484  00014D74    21 19                         	jneq	L9999
 485  00014D76    0d effffffd98 50              	movl	_clock_retrys,r0
 486  00014D7D    7d effffffd91                 	decl	_clock_retrys
 487  00014D83    5d 50                         	tstl	r0
 488  00014D85    31 0e                         	jeql	L406
 489  00014D87    5d effffffd87                 	tstl	_rtc_occurred
 490  00014D8D    21 06                         	jneq	L406
 491  00014D8F                                  L9999:
 492  00014D8F                                   # 	      asm("jmp clock_add_lp");;
 493  00014D8F    71 effffffe91                 jmp clock_add_lp
 494  00014D95                                  L406:
 495  00014D95                                   # 	asm("bicpsw $0x60");			/* disable ovfl & undfl   */
 496  00014D95    9b 8860                       bicpsw $0x60
 497  00014D98                                   # }
 498  00014D98    40                            	ret#2
 499  00014D99                                  	.set	L400,0x0
 500  00014D99                                  L402:
 501  00014D99    13 fe7f                       	jbr 	L403
 502  00014D9C                                  	.data
 503  000004a8 *                                	.text
 504  00014D9C                                  	.align	1
 505  00014D9C                                  	.globl	_print_clock_er
 506  00014D9C                                  _print_clock_er:
 507  00014D9C    0000                          	.word	L407
 508  00014D9E                                   # 
 509  00014D9E                                   # 
 510  00014D9E                                   # 
 511  00014D9E                                   # 
 512  00014D9E                                   # 
 513  00014D9E                                   # /****************************************************************************
 514  00014D9E                                   # *		Report an Bad Result Error
 515  00014D9E                                   # *
 516  00014D9E                                   # * Cycle: xx. EVT test xx. subtest xx. wrong ADDF result with Clock Events
 517  00014D9E                                   # * Testing clock event during 128 ADDF's. -instruction cache {hits / misses}
 518  00014D9E                                   # * operand = xxxxxxxx,  result = xxxxxxxx,  expected = xxxxxxxx
 519  00014D9E                                   # ****************************************************************************/
 520  00014D9E                                   # print_clock_er()
 521  00014D9E                                   # {
 522  00014D9E    13 0100                       	jbr 	L409
 523  00014DA1                                  L410:
 524  00014DA1                                   # 	if( !error ) {			/* 1st error?               */
 525  00014DA1    5d effffffd6d                 	tstl	_error
 526  00014DA7    21 14                         	jneq	L411
 527  00014DA9                                   # 	     writes(" \n");		/* start a new print line   */
 528  00014DA9                                  	.data	1
 529  000004a8 *                                L413:
 530  000004a8 *  200A00                        	.ascii	" \12\0"
 531  000004ab *                                	.text
 532  00014DA9    dd 8f000004a8                 	pushl	$L413
 533  00014DAF    fe 08 effffffd5e              	callf	$8,_writes
 534  00014DB6                                   # 	     error = TRUE;
 535  00014DB6    0d 01 effffffd57              	movl	$1,_error
 536  00014DBD                                   # 	}
 537  00014DBD                                   # 	writes("Cycle: ");
 538  00014DBD                                  L411:
 539  00014DBD                                  	.data	1
 540  000004ab *                                L414:
 541  000004ab *  4379636C653A2000              	.ascii	"Cycle: \0"
 542  000004b3 *                                	.text
 543  00014DBD    dd 8f000004ab                 	pushl	$L414
 544  00014DC3    fe 08 effffffd4a              	callf	$8,_writes
 545  00014DCA                                   # 	writed( cycle );
 546  00014DCA    dd effffffd44                 	pushl	_cycle
 547  00014DD0    fe 08 effffffd3d              	callf	$8,_writed
 548  00014DD7                                   # 	writes("  EVT test ");
 549  00014DD7                                  	.data	1
 550  000004b3 *                                L416:
 551  000004b3 *  202045565420746573742000      	.ascii	"  EVT test \0"
 552  000004bf *                                	.text
 553  00014DD7    dd 8f000004b3                 	pushl	$L416
 554  00014DDD    fe 08 effffffd30              	callf	$8,_writes
 555  00014DE4                                   # 	writed( test_no );
 556  00014DE4    dd effffffd2a                 	pushl	_test_no
 557  00014DEA    fe 08 effffffd23              	callf	$8,_writed
 558  00014DF1                                   # 	writes(". subtest ");
 559  00014DF1                                  	.data	1
 560  000004bf *                                L417:
 561  000004bf *  2E20737562746573742000        	.ascii	". subtest \0"
 562  000004ca *                                	.text
 563  00014DF1    dd 8f000004bf                 	pushl	$L417
 564  00014DF7    fe 08 effffffd16              	callf	$8,_writes
 565  00014DFE                                   # 	writed( subtest );
 566  00014DFE    dd effffffd10                 	pushl	_subtest
 567  00014E04    fe 08 effffffd09              	callf	$8,_writed
 568  00014E0B                                   # 	writes(".  wrong ADDF result with Clock Events\n");
 569  00014E0B                                  	.data	1
 570  000004ca *                                L418:
 571  000004ca *  2E202077726F6E67204144444     	.ascii	".  wrong ADDF result with Clock Events\12\0"
                  620726573756C742077697468
                  20436C6F636B204576656E747
                  30A00
 572  000004f2 *                                	.text
 573  00014E0B    dd 8f000004ca                 	pushl	$L418
 574  00014E11    fe 08 effffffcfc              	callf	$8,_writes
 575  00014E18                                   # 	writes(
 576  00014E18                                   # 	   "Testing clock event during 128 ADDF's with instruction cache ");
 577  00014E18                                  	.data	1
 578  000004f2 *                                L419:
 579  000004f2 *  54657374696E6720636C6F636     	.ascii	"Testing clock event during 128 ADDF's with instruction cache \0"
                  B206576656E7420647572696E
                  6720313238204144444627732
                  07769746820696E7374727563
                  74696F6E2063616368652000
 580  00000530 *                                	.text
 581  00014E18    dd 8f000004f2                 	pushl	$L419
 582  00014E1E    fe 08 effffffcef              	callf	$8,_writes
 583  00014E25                                   # 	if( i_cache_hit )
 584  00014E25    5d effffffce9                 	tstl	_i_cache_hit
 585  00014E2B    31 0f                         	jeql	L420
 586  00014E2D                                   # 	      writes("hits\n");
 587  00014E2D                                  	.data	1
 588  00000530 *                                L421:
 589  00000530 *  686974730A00                  	.ascii	"hits\12\0"
 590  00000536 *                                	.text
 591  00014E2D    dd 8f00000530                 	pushl	$L421
 592  00014E33    fe 08 effffffcda              	callf	$8,_writes
 593  00014E3A                                   # 	else
 594  00014E3A    11 0d                         	jbr 	L422
 595  00014E3C                                  L420:
 596  00014E3C                                   # 	      writes("misses\n");
 597  00014E3C                                  	.data	1
 598  00000536 *                                L423:
 599  00000536 *  6D69737365730A00              	.ascii	"misses\12\0"
 600  0000053e *                                	.text
 601  00014E3C    dd 8f00000536                 	pushl	$L423
 602  00014E42    fe 08 effffffccb              	callf	$8,_writes
 603  00014E49                                  L422:
 604  00014E49                                   # 	writes("operand = ");
 605  00014E49                                  	.data	1
 606  0000053e *                                L424:
 607  0000053e *  6F706572616E64203D2000        	.ascii	"operand = \0"
 608  00000549 *                                	.text
 609  00014E49    dd 8f0000053e                 	pushl	$L424
 610  00014E4F    fe 08 effffffcbe              	callf	$8,_writes
 611  00014E56                                   # 	write32h( sgl_value_1 );		/* write the operand */
 612  00014E56    dd effffffcb8                 	pushl	_sgl_value_1
 613  00014E5C    fe 08 effffffcb1              	callf	$8,_write32h
 614  00014E63                                   # 	writes(",  result = ");
 615  00014E63                                  	.data	1
 616  00000549 *                                L426:
 617  00000549 *  2C2020726573756C74203D200     	.ascii	",  result = \0"
                  0
 618  00000556 *                                	.text
 619  00014E63    dd 8f00000549                 	pushl	$L426
 620  00014E69    fe 08 effffffca4              	callf	$8,_writes
 621  00014E70                                   # 	write32h( sgl_st_acc );
 622  00014E70    dd effffffc9e                 	pushl	_sgl_st_acc
 623  00014E76    fe 08 effffffc97              	callf	$8,_write32h
 624  00014E7D                                   # 	writes(",  expected = ");
 625  00014E7D                                  	.data	1
 626  00000556 *                                L427:
 627  00000556 *  2C20206578706563746564203     	.ascii	",  expected = \0"
                  D2000
 628  00000565 *                                	.text
 629  00014E7D    dd 8f00000556                 	pushl	$L427
 630  00014E83    fe 08 effffffc8a              	callf	$8,_writes
 631  00014E8A                                   # 	write32h( sgl_expected );
 632  00014E8A    dd effffffc84                 	pushl	_sgl_expected
 633  00014E90    fe 08 effffffc7d              	callf	$8,_write32h
 634  00014E97                                   # 	writec('\n');
 635  00014E97    dd 0a                         	pushl	$10
 636  00014E99    fe 08 effffffc74              	callf	$8,_writec
 637  00014EA0                                   # }
 638  00014EA0    40                            	ret#2
 639  00014EA1                                  	.set	L407,0x0
 640  00014EA1                                  L409:
 641  00014EA1    13 fefd                       	jbr 	L410
 642  00014EA4                                  	.data
 643  000004a8 *                                	.text
 644  00014EA4                                  	.align	1
 645  00014EA4                                  	.globl	_who_pulled_the_plug
 646  00014EA4                                  _who_pulled_the_plug:
 647  00014EA4    0000                          	.word	L429
 648  00014EA6                                   # 
 649  00014EA6                                   # 
 650  00014EA6                                   # 
 651  00014EA6                                   # /****************************************************************************
 652  00014EA6                                   # *		Report that no clock events were seen
 653  00014EA6                                   # *
 654  00014EA6                                   # * Cycle: xx. EVT test xx. subtest xx. no Clock Events were detected
 655  00014EA6                                   # * Testing clock event during 128 ADDF's. -instruction cache {hits / misses}
 656  00014EA6                                   # ****************************************************************************/
 657  00014EA6                                   # who_pulled_the_plug()
 658  00014EA6                                   # {
 659  00014EA6    13 00c5                       	jbr 	L431
 660  00014EA9                                  L432:
 661  00014EA9                                   # 	if( prt_error )
 662  00014EA9    5d effffffc65                 	tstl	_prt_error
 663  00014EAF    21 03 13 00a8                 	jeql	L433
 664  00014EB4                                   # 	{
 665  00014EB4                                   # 	     if( !error ) {			/* 1st error?               */
 666  00014EB4    5d effffffc5a                 	tstl	_error
 667  00014EBA    21 14                         	jneq	L434
 668  00014EBC                                   # 	          writes(" \n");		/* start a new print line   */
 669  00014EBC                                  	.data	1
 670  00000565 *                                L435:
 671  00000565 *  200A00                        	.ascii	" \12\0"
 672  00000568 *                                	.text
 673  00014EBC    dd 8f00000565                 	pushl	$L435
 674  00014EC2    fe 08 effffffc4b              	callf	$8,_writes
 675  00014EC9                                   # 	          error = TRUE;
 676  00014EC9    0d 01 effffffc44              	movl	$1,_error
 677  00014ED0                                   # 	     }
 678  00014ED0                                   # 	     writes("Cycle: ");
 679  00014ED0                                  L434:
 680  00014ED0                                  	.data	1
 681  00000568 *                                L436:
 682  00000568 *  4379636C653A2000              	.ascii	"Cycle: \0"
 683  00000570 *                                	.text
 684  00014ED0    dd 8f00000568                 	pushl	$L436
 685  00014ED6    fe 08 effffffc37              	callf	$8,_writes
 686  00014EDD                                   # 	     writed( cycle );
 687  00014EDD    dd effffffc31                 	pushl	_cycle
 688  00014EE3    fe 08 effffffc2a              	callf	$8,_writed
 689  00014EEA                                   # 	     writes("  EVT test ");
 690  00014EEA                                  	.data	1
 691  00000570 *                                L437:
 692  00000570 *  202045565420746573742000      	.ascii	"  EVT test \0"
 693  0000057c *                                	.text
 694  00014EEA    dd 8f00000570                 	pushl	$L437
 695  00014EF0    fe 08 effffffc1d              	callf	$8,_writes
 696  00014EF7                                   # 	     writed( test_no );
 697  00014EF7    dd effffffc17                 	pushl	_test_no
 698  00014EFD    fe 08 effffffc10              	callf	$8,_writed
 699  00014F04                                   # 	     writes(". subtest ");
 700  00014F04                                  	.data	1
 701  0000057c *                                L438:
 702  0000057c *  2E20737562746573742000        	.ascii	". subtest \0"
 703  00000587 *                                	.text
 704  00014F04    dd 8f0000057c                 	pushl	$L438
 705  00014F0A    fe 08 effffffc03              	callf	$8,_writes
 706  00014F11                                   # 	     writed( subtest );
 707  00014F11    dd effffffbfd                 	pushl	_subtest
 708  00014F17    fe 08 effffffbf6              	callf	$8,_writed
 709  00014F1E                                   # 	     writes(".  No Clock Events were detected\n");
 710  00014F1E                                  	.data	1
 711  00000587 *                                L439:
 712  00000587 *  2E20204E6F20436C6F636B204     	.ascii	".  No Clock Events were detected\12\0"
                  576656E747320776572652064
                  657465637465640A00
 713  000005a9 *                                	.text
 714  00014F1E    dd 8f00000587                 	pushl	$L439
 715  00014F24    fe 08 effffffbe9              	callf	$8,_writes
 716  00014F2B                                   # 	     writes(
 717  00014F2B                                   #         "\nTesting clock event during 128 ADDF's with instruction cache ");
 718  00014F2B                                  	.data	1
 719  000005a9 *                                L440:
 720  000005a9 *  0A54657374696E6720636C6F6     	.ascii	"\12Testing clock event during 128 ADDF's with instruction cache \0"
                  36B206576656E742064757269
                  6E67203132382041444446277
                  3207769746820696E73747275
                  6374696F6E206361636865200
                  0
 721  000005e8 *                                	.text
 722  00014F2B    dd 8f000005a9                 	pushl	$L440
 723  00014F31    fe 08 effffffbdc              	callf	$8,_writes
 724  00014F38                                   # 	     if( i_cache_hit )
 725  00014F38    5d effffffbd6                 	tstl	_i_cache_hit
 726  00014F3E    31 0f                         	jeql	L441
 727  00014F40                                   # 	           writes("hits\n");
 728  00014F40                                  	.data	1
 729  000005e8 *                                L442:
 730  000005e8 *  686974730A00                  	.ascii	"hits\12\0"
 731  000005ee *                                	.text
 732  00014F40    dd 8f000005e8                 	pushl	$L442
 733  00014F46    fe 08 effffffbc7              	callf	$8,_writes
 734  00014F4D                                   # 	     else
 735  00014F4D    11 0d                         	jbr 	L443
 736  00014F4F                                  L441:
 737  00014F4F                                   # 	           writes("misses\n");
 738  00014F4F                                  	.data	1
 739  000005ee *                                L444:
 740  000005ee *  6D69737365730A00              	.ascii	"misses\12\0"
 741  000005f6 *                                	.text
 742  00014F4F    dd 8f000005ee                 	pushl	$L444
 743  00014F55    fe 08 effffffbb8              	callf	$8,_writes
 744  00014F5C                                  L443:
 745  00014F5C                                   # 	}
 746  00014F5C                                   # 	if( halt_flg )
 747  00014F5C                                  L433:
 748  00014F5C    5d effffffbb2                 	tstl	_halt_flg
 749  00014F62    31 09                         	jeql	L445
 750  00014F64                                   # 	      pipe17_halt( 2 );		/* halt with code = 2 */
 751  00014F64    dd 02                         	pushl	$2
 752  00014F66    fe 08 ef00000005              	callf	$8,_pipe17_halt
 753  00014F6D                                   # }
 754  00014F6D                                  L445:
 755  00014F6D    40                            	ret#2
 756  00014F6E                                  	.set	L429,0x0
 757  00014F6E                                  L431:
 758  00014F6E    13 ff38                       	jbr 	L432
 759  00014F71                                  	.data
 760  000004a8 *                                	.text
 761  00014F71    00                            	.align	1
 762  00014F72                                  	.globl	_pipe17_halt
 763  00014F72                                  _pipe17_halt:
 764  00014F72    0000                          	.word	L446
 765  00014F74                                   # 
 766  00014F74                                   # 
 767  00014F74                                   # 
 768  00014F74                                   # 
 769  00014F74                                   # 
 770  00014F74                                   # /****************************************************************************
 771  00014F74                                   # *		halt on error routine
 772  00014F74                                   # ****************************************************************************/
 773  00014F74                                   # pipe17_halt( code )
 774  00014F74                                   # int code;				/* error code to halt with */
 775  00014F74                                   # {
 776  00014F74    11 42                         	jbr 	L448
 777  00014F76                                  L449:
 778  00014F76                                   # 	err_code = code;
 779  00014F76    0d ad04 effffffb96            	movl	4(fp),_err_code
 780  00014F7E                                   # 	asm("movl _test_no,r0");		/* r0 = test number      */
 781  00014F7E    0d effffffb90 50              movl _test_no,r0
 782  00014F85                                   # 	asm("movl _subtest,r1");		/* r1 = subtest number   */
 783  00014F85    0d effffffb89 51              movl _subtest,r1
 784  00014F8C                                   # 	asm("movl _err_code,r2");		/* r2 = error code       */
 785  00014F8C    0d effffffb82 52              movl _err_code,r2
 786  00014F93                                   # 	asm("movl _cycle,r3");			/* r3 = cycle count      */
 787  00014F93    0d effffffb7b 53              movl _cycle,r3
 788  00014F9A                                   # 	asm("movl _sgl_value_1,r4");		/* r4 = operand used     */
 789  00014F9A    0d effffffb74 54              movl _sgl_value_1,r4
 790  00014FA1                                   # 	asm("movl _sgl_st_acc,r5");		/* r5 = final value      */
 791  00014FA1    0d effffffb6d 55              movl _sgl_st_acc,r5
 792  00014FA8                                   # 	asm("movl _sgl_expected,r6");		/* r6 = expected value   */
 793  00014FA8    0d effffffb66 56              movl _sgl_expected,r6
 794  00014FAF                                   # 	asm("movl _i_cache_hit,r7");		/* r7 = 1 if cache hits  */
 795  00014FAF    0d effffffb5f 57              movl _i_cache_hit,r7
 796  00014FB6                                   # 	asm("halt");				/* HALT ...              */
 797  00014FB6    00                            halt
 798  00014FB7                                   # }
 799  00014FB7    40                            	ret#2
 800  00014FB8                                  	.set	L446,0x0
 801  00014FB8                                  L448:
 802  00014FB8    11 bc                         	jbr 	L449
 803  00014FBA                                  	.data
 804  000004a8 *                                 # 
 805  000004a8 *                                 # 
 805  000004a8 *                                 # 

unix.superglobalmegacorp.com

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