Annotation of cci/d/macro4/pipe17.lst, revision 1.1.1.1

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