Home | History | Annotate | Line # | Download | only in fr550
      1  1.1  christos # frv testcase for cmqmachu $GRi,$GRj,$GRk,$CCi,$cond
      2  1.1  christos # mach: all
      3  1.1  christos 
      4  1.1  christos 	.include "../testutils.inc"
      5  1.1  christos 
      6  1.1  christos 	start
      7  1.1  christos 
      8  1.1  christos 	.global cmqmachu
      9  1.1  christos cmqmachu:
     10  1.1  christos 	set_spr_immed	0x1b1b,cccr
     11  1.1  christos 
     12  1.1  christos 	set_spr_immed	0,msr0
     13  1.1  christos 	set_accg_immed 	0,accg0
     14  1.1  christos 	set_acc_immed 	0,acc0
     15  1.1  christos 	set_accg_immed 	0,accg1
     16  1.1  christos 	set_acc_immed 	0,acc1
     17  1.1  christos 	set_accg_immed 	0,accg2
     18  1.1  christos 	set_acc_immed 	0,acc2
     19  1.1  christos 	set_accg_immed 	0,accg3
     20  1.1  christos 	set_acc_immed 	0,acc3
     21  1.1  christos 	set_fr_iimmed  	3,2,fr8		; multiply small numbers
     22  1.1  christos 	set_fr_iimmed  	2,3,fr10
     23  1.1  christos 	set_fr_iimmed  	1,2,fr9		; multiply by 1
     24  1.1  christos 	set_fr_iimmed  	2,1,fr11
     25  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc0,1
     26  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
     27  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
     28  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
     29  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
     30  1.1  christos 	test_accg_immed 	0,accg0
     31  1.1  christos 	test_acc_immed 	6,acc0
     32  1.1  christos 	test_accg_immed 	0,accg1
     33  1.1  christos 	test_acc_immed 	6,acc1
     34  1.1  christos 	test_accg_immed 	0,accg2
     35  1.1  christos 	test_acc_immed 	2,acc2
     36  1.1  christos 	test_accg_immed 	0,accg3
     37  1.1  christos 	test_acc_immed 	2,acc3
     38  1.1  christos 
     39  1.1  christos 	set_fr_iimmed  	0,2,fr8		; multiply by 0
     40  1.1  christos 	set_fr_iimmed  	2,0,fr10
     41  1.1  christos 	set_fr_iimmed 	0x3fff,2,fr9	; 15 bit result
     42  1.1  christos 	set_fr_iimmed  	2,0x3fff,fr11
     43  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc0,1
     44  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
     45  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
     46  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
     47  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
     48  1.1  christos 	test_accg_immed 	0,accg0
     49  1.1  christos 	test_acc_immed 	6,acc0
     50  1.1  christos 	test_accg_immed 	0,accg1
     51  1.1  christos 	test_acc_immed 	6,acc1
     52  1.1  christos 	test_accg_immed 	0,accg2
     53  1.1  christos 	test_acc_limmed	0x0000,0x8000,acc2
     54  1.1  christos 	test_accg_immed 	0,accg3
     55  1.1  christos 	test_acc_limmed	0x0000,0x8000,acc3
     56  1.1  christos 
     57  1.1  christos 	set_fr_iimmed  	0x4000,2,fr8	; 16 bit result
     58  1.1  christos 	set_fr_iimmed  	2,0x4000,fr10
     59  1.1  christos 	set_fr_iimmed  	0x8000,2,fr9	; 17 bit result
     60  1.1  christos 	set_fr_iimmed  	2,0x8000,fr11
     61  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc0,1
     62  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
     63  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
     64  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
     65  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
     66  1.1  christos 	test_accg_immed 	0,accg0
     67  1.1  christos 	test_acc_limmed	0x0000,0x8006,acc0
     68  1.1  christos 	test_accg_immed 	0,accg1
     69  1.1  christos 	test_acc_limmed	0x0000,0x8006,acc1
     70  1.1  christos 	test_accg_immed 	0,accg2
     71  1.1  christos 	test_acc_immed 	0x00018000,acc2
     72  1.1  christos 	test_accg_immed 	0,accg3
     73  1.1  christos 	test_acc_immed 	0x00018000,acc3
     74  1.1  christos 
     75  1.1  christos 	set_fr_iimmed  	0x7fff,0x7fff,fr8	; max positive result
     76  1.1  christos 	set_fr_iimmed  	0x7fff,0x7fff,fr10
     77  1.1  christos 	set_fr_iimmed  	0x8000,0x8000,fr9	; max positive result
     78  1.1  christos 	set_fr_iimmed  	0x8000,0x8000,fr11
     79  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc4,1
     80  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
     81  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
     82  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
     83  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
     84  1.1  christos 	test_accg_immed 	0,accg0
     85  1.1  christos 	test_acc_immed 	0x3fff8007,acc0
     86  1.1  christos 	test_accg_immed 	0,accg1
     87  1.1  christos 	test_acc_immed 	0x3fff8007,acc1
     88  1.1  christos 	test_accg_immed 	0,accg2
     89  1.1  christos 	test_acc_limmed	0x4001,0x8000,acc2
     90  1.1  christos 	test_accg_immed 	0,accg3
     91  1.1  christos 	test_acc_limmed	0x4001,0x8000,acc3
     92  1.1  christos 
     93  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr8	; max positive result
     94  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr10
     95  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr9	; max positive result
     96  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr11
     97  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc4,1
     98  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
     99  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    100  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    101  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    102  1.1  christos 	test_accg_immed 	1,accg0
    103  1.1  christos 	test_acc_limmed	0x3ffd,0x8008,acc0
    104  1.1  christos 	test_accg_immed 	1,accg1
    105  1.1  christos 	test_acc_limmed	0x3ffd,0x8008,acc1
    106  1.1  christos 	test_accg_immed 	1,accg2
    107  1.1  christos 	test_acc_limmed	0x3fff,0x8001,acc2
    108  1.1  christos 	test_accg_immed 	1,accg3
    109  1.1  christos 	test_acc_limmed	0x3fff,0x8001,acc3
    110  1.1  christos 
    111  1.1  christos 	set_accg_immed 	0xff,accg0		; saturation
    112  1.1  christos 	set_acc_immed	0xffffffff,acc0
    113  1.1  christos 	set_accg_immed 	0xff,accg1
    114  1.1  christos 	set_acc_immed	0xffffffff,acc1
    115  1.1  christos 	set_accg_immed 	0xff,accg2		; saturation
    116  1.1  christos 	set_acc_immed	0xffffffff,acc2
    117  1.1  christos 	set_accg_immed 	0xff,accg3
    118  1.1  christos 	set_acc_immed	0xffffffff,acc3
    119  1.1  christos 	set_fr_iimmed  	1,1,fr8
    120  1.1  christos 	set_fr_iimmed  	1,1,fr10
    121  1.1  christos 	set_fr_iimmed  	1,1,fr9
    122  1.1  christos 	set_fr_iimmed  	1,1,fr11
    123  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc4,1
    124  1.1  christos 	test_spr_bits	0x3c,2,0xf,msr0		; msr0.sie is set
    125  1.1  christos 	test_spr_bits	2,1,1,msr0		; msr0.ovf is set
    126  1.1  christos 	test_spr_bits	1,0,1,msr0		; msr0.aovf is set
    127  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt is set
    128  1.1  christos 	test_accg_immed 	0xff,accg0
    129  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc0
    130  1.1  christos 	test_accg_immed 	0xff,accg1
    131  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc1
    132  1.1  christos 	test_accg_immed 	0xff,accg2
    133  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc2
    134  1.1  christos 	test_accg_immed 	0xff,accg3
    135  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc3
    136  1.1  christos 
    137  1.1  christos 	set_fr_iimmed  	0xffff,0x0000,fr8
    138  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr10
    139  1.1  christos 	set_fr_iimmed  	0x0000,0xffff,fr9
    140  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr11
    141  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc4,1
    142  1.1  christos 	test_spr_bits	0x3c,2,0x9,msr0		; msr0.sie is set
    143  1.1  christos 	test_spr_bits	2,1,1,msr0		; msr0.ovf is set
    144  1.1  christos 	test_spr_bits	1,0,1,msr0		; msr0.aovf is set
    145  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt is set
    146  1.1  christos 	test_accg_immed 	0xff,accg0
    147  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc0
    148  1.1  christos 	test_accg_immed 	0xff,accg1
    149  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc1
    150  1.1  christos 	test_accg_immed 	0xff,accg2
    151  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc2
    152  1.1  christos 	test_accg_immed 	0xff,accg3
    153  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc3
    154  1.1  christos 
    155  1.1  christos 	set_spr_immed	0,msr0
    156  1.1  christos 	set_accg_immed 	0,accg0
    157  1.1  christos 	set_acc_immed 	0,acc0
    158  1.1  christos 	set_accg_immed 	0,accg1
    159  1.1  christos 	set_acc_immed 	0,acc1
    160  1.1  christos 	set_accg_immed 	0,accg2
    161  1.1  christos 	set_acc_immed 	0,acc2
    162  1.1  christos 	set_accg_immed 	0,accg3
    163  1.1  christos 	set_acc_immed 	0,acc3
    164  1.1  christos 	set_fr_iimmed  	3,2,fr8		; multiply small numbers
    165  1.1  christos 	set_fr_iimmed  	2,3,fr10
    166  1.1  christos 	set_fr_iimmed  	1,2,fr9		; multiply by 1
    167  1.1  christos 	set_fr_iimmed  	2,1,fr11
    168  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc1,0
    169  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    170  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    171  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    172  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    173  1.1  christos 	test_accg_immed 	0,accg0
    174  1.1  christos 	test_acc_immed 	6,acc0
    175  1.1  christos 	test_accg_immed 	0,accg1
    176  1.1  christos 	test_acc_immed 	6,acc1
    177  1.1  christos 	test_accg_immed 	0,accg2
    178  1.1  christos 	test_acc_immed 	2,acc2
    179  1.1  christos 	test_accg_immed 	0,accg3
    180  1.1  christos 	test_acc_immed 	2,acc3
    181  1.1  christos 
    182  1.1  christos 	set_fr_iimmed  	0,2,fr8		; multiply by 0
    183  1.1  christos 	set_fr_iimmed  	2,0,fr10
    184  1.1  christos 	set_fr_iimmed 	0x3fff,2,fr9	; 15 bit result
    185  1.1  christos 	set_fr_iimmed  	2,0x3fff,fr11
    186  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc1,0
    187  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    188  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    189  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    190  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    191  1.1  christos 	test_accg_immed 	0,accg0
    192  1.1  christos 	test_acc_immed 	6,acc0
    193  1.1  christos 	test_accg_immed 	0,accg1
    194  1.1  christos 	test_acc_immed 	6,acc1
    195  1.1  christos 	test_accg_immed 	0,accg2
    196  1.1  christos 	test_acc_limmed	0x0000,0x8000,acc2
    197  1.1  christos 	test_accg_immed 	0,accg3
    198  1.1  christos 	test_acc_limmed	0x0000,0x8000,acc3
    199  1.1  christos 
    200  1.1  christos 	set_fr_iimmed  	0x4000,2,fr8	; 16 bit result
    201  1.1  christos 	set_fr_iimmed  	2,0x4000,fr10
    202  1.1  christos 	set_fr_iimmed  	0x8000,2,fr9	; 17 bit result
    203  1.1  christos 	set_fr_iimmed  	2,0x8000,fr11
    204  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc1,0
    205  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    206  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    207  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    208  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    209  1.1  christos 	test_accg_immed 	0,accg0
    210  1.1  christos 	test_acc_limmed	0x0000,0x8006,acc0
    211  1.1  christos 	test_accg_immed 	0,accg1
    212  1.1  christos 	test_acc_limmed	0x0000,0x8006,acc1
    213  1.1  christos 	test_accg_immed 	0,accg2
    214  1.1  christos 	test_acc_immed 	0x00018000,acc2
    215  1.1  christos 	test_accg_immed 	0,accg3
    216  1.1  christos 	test_acc_immed 	0x00018000,acc3
    217  1.1  christos 
    218  1.1  christos 	set_fr_iimmed  	0x7fff,0x7fff,fr8	; max positive result
    219  1.1  christos 	set_fr_iimmed  	0x7fff,0x7fff,fr10
    220  1.1  christos 	set_fr_iimmed  	0x8000,0x8000,fr9	; max positive result
    221  1.1  christos 	set_fr_iimmed  	0x8000,0x8000,fr11
    222  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc5,0
    223  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    224  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    225  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    226  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    227  1.1  christos 	test_accg_immed 	0,accg0
    228  1.1  christos 	test_acc_immed 	0x3fff8007,acc0
    229  1.1  christos 	test_accg_immed 	0,accg1
    230  1.1  christos 	test_acc_immed 	0x3fff8007,acc1
    231  1.1  christos 	test_accg_immed 	0,accg2
    232  1.1  christos 	test_acc_limmed	0x4001,0x8000,acc2
    233  1.1  christos 	test_accg_immed 	0,accg3
    234  1.1  christos 	test_acc_limmed	0x4001,0x8000,acc3
    235  1.1  christos 
    236  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr8	; max positive result
    237  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr10
    238  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr9	; max positive result
    239  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr11
    240  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc5,0
    241  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    242  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    243  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    244  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    245  1.1  christos 	test_accg_immed 	1,accg0
    246  1.1  christos 	test_acc_limmed	0x3ffd,0x8008,acc0
    247  1.1  christos 	test_accg_immed 	1,accg1
    248  1.1  christos 	test_acc_limmed	0x3ffd,0x8008,acc1
    249  1.1  christos 	test_accg_immed 	1,accg2
    250  1.1  christos 	test_acc_limmed	0x3fff,0x8001,acc2
    251  1.1  christos 	test_accg_immed 	1,accg3
    252  1.1  christos 	test_acc_limmed	0x3fff,0x8001,acc3
    253  1.1  christos 
    254  1.1  christos 	set_accg_immed 	0xff,accg0		; saturation
    255  1.1  christos 	set_acc_immed	0xffffffff,acc0
    256  1.1  christos 	set_accg_immed 	0xff,accg1
    257  1.1  christos 	set_acc_immed	0xffffffff,acc1
    258  1.1  christos 	set_accg_immed 	0xff,accg2		; saturation
    259  1.1  christos 	set_acc_immed	0xffffffff,acc2
    260  1.1  christos 	set_accg_immed 	0xff,accg3
    261  1.1  christos 	set_acc_immed	0xffffffff,acc3
    262  1.1  christos 	set_fr_iimmed  	1,1,fr8
    263  1.1  christos 	set_fr_iimmed  	1,1,fr10
    264  1.1  christos 	set_fr_iimmed  	1,1,fr9
    265  1.1  christos 	set_fr_iimmed  	1,1,fr11
    266  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc5,0
    267  1.1  christos 	test_spr_bits	0x3c,2,0xf,msr0		; msr0.sie is set
    268  1.1  christos 	test_spr_bits	2,1,1,msr0		; msr0.ovf is set
    269  1.1  christos 	test_spr_bits	1,0,1,msr0		; msr0.aovf is set
    270  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt is set
    271  1.1  christos 	test_accg_immed 	0xff,accg0
    272  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc0
    273  1.1  christos 	test_accg_immed 	0xff,accg1
    274  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc1
    275  1.1  christos 	test_accg_immed 	0xff,accg2
    276  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc2
    277  1.1  christos 	test_accg_immed 	0xff,accg3
    278  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc3
    279  1.1  christos 
    280  1.1  christos 	set_fr_iimmed  	0xffff,0x0000,fr8
    281  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr10
    282  1.1  christos 	set_fr_iimmed  	0x0000,0xffff,fr9
    283  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr11
    284  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc5,0
    285  1.1  christos 	test_spr_bits	0x3c,2,0x9,msr0		; msr0.sie is set
    286  1.1  christos 	test_spr_bits	2,1,1,msr0		; msr0.ovf is set
    287  1.1  christos 	test_spr_bits	1,0,1,msr0		; msr0.aovf is set
    288  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt is set
    289  1.1  christos 	test_accg_immed 	0xff,accg0
    290  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc0
    291  1.1  christos 	test_accg_immed 	0xff,accg1
    292  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc1
    293  1.1  christos 	test_accg_immed 	0xff,accg2
    294  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc2
    295  1.1  christos 	test_accg_immed 	0xff,accg3
    296  1.1  christos 	test_acc_limmed	0xffff,0xffff,acc3
    297  1.1  christos 
    298  1.1  christos 	set_spr_immed	0,msr0
    299  1.1  christos 	set_accg_immed 	0x00000011,accg0
    300  1.1  christos 	set_acc_immed 	0x11111111,acc0
    301  1.1  christos 	set_accg_immed 	0x00000022,accg1
    302  1.1  christos 	set_acc_immed 	0x22222222,acc1
    303  1.1  christos 	set_accg_immed 	0x00000033,accg2
    304  1.1  christos 	set_acc_immed 	0x33333333,acc2
    305  1.1  christos 	set_accg_immed 	0x00000044,accg3
    306  1.1  christos 	set_acc_immed 	0x44444444,acc3
    307  1.1  christos 	set_fr_iimmed  	3,2,fr8		; multiply small numbers
    308  1.1  christos 	set_fr_iimmed  	2,3,fr10
    309  1.1  christos 	set_fr_iimmed  	1,2,fr9		; multiply by 1
    310  1.1  christos 	set_fr_iimmed  	2,1,fr11
    311  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc0,0
    312  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    313  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    314  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    315  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    316  1.1  christos 	test_accg_immed 	0x00000011,accg0
    317  1.1  christos 	test_acc_immed 	0x11111111,acc0
    318  1.1  christos 	test_accg_immed 	0x00000022,accg1
    319  1.1  christos 	test_acc_immed 	0x22222222,acc1
    320  1.1  christos 	test_accg_immed 	0x00000033,accg2
    321  1.1  christos 	test_acc_immed 	0x33333333,acc2
    322  1.1  christos 	test_accg_immed 	0x00000044,accg3
    323  1.1  christos 	test_acc_immed 	0x44444444,acc3
    324  1.1  christos 
    325  1.1  christos 	set_fr_iimmed  	0,2,fr8		; multiply by 0
    326  1.1  christos 	set_fr_iimmed  	2,0,fr10
    327  1.1  christos 	set_fr_iimmed 	0x3fff,2,fr9	; 15 bit result
    328  1.1  christos 	set_fr_iimmed  	2,0x3fff,fr11
    329  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc0,0
    330  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    331  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    332  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    333  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    334  1.1  christos 	test_accg_immed 	0x00000011,accg0
    335  1.1  christos 	test_acc_immed 	0x11111111,acc0
    336  1.1  christos 	test_accg_immed 	0x00000022,accg1
    337  1.1  christos 	test_acc_immed 	0x22222222,acc1
    338  1.1  christos 	test_accg_immed 	0x00000033,accg2
    339  1.1  christos 	test_acc_immed 	0x33333333,acc2
    340  1.1  christos 	test_accg_immed 	0x00000044,accg3
    341  1.1  christos 	test_acc_immed 	0x44444444,acc3
    342  1.1  christos 
    343  1.1  christos 	set_fr_iimmed  	0x4000,2,fr8	; 16 bit result
    344  1.1  christos 	set_fr_iimmed  	2,0x4000,fr10
    345  1.1  christos 	set_fr_iimmed  	0x8000,2,fr9	; 17 bit result
    346  1.1  christos 	set_fr_iimmed  	2,0x8000,fr11
    347  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc0,0
    348  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    349  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    350  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    351  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    352  1.1  christos 	test_accg_immed 	0x00000011,accg0
    353  1.1  christos 	test_acc_immed 	0x11111111,acc0
    354  1.1  christos 	test_accg_immed 	0x00000022,accg1
    355  1.1  christos 	test_acc_immed 	0x22222222,acc1
    356  1.1  christos 	test_accg_immed 	0x00000033,accg2
    357  1.1  christos 	test_acc_immed 	0x33333333,acc2
    358  1.1  christos 	test_accg_immed 	0x00000044,accg3
    359  1.1  christos 	test_acc_immed 	0x44444444,acc3
    360  1.1  christos 
    361  1.1  christos 	set_fr_iimmed  	0x7fff,0x7fff,fr8	; max positive result
    362  1.1  christos 	set_fr_iimmed  	0x7fff,0x7fff,fr10
    363  1.1  christos 	set_fr_iimmed  	0x8000,0x8000,fr9	; max positive result
    364  1.1  christos 	set_fr_iimmed  	0x8000,0x8000,fr11
    365  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc4,0
    366  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    367  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    368  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    369  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    370  1.1  christos 	test_accg_immed 	0x00000011,accg0
    371  1.1  christos 	test_acc_immed 	0x11111111,acc0
    372  1.1  christos 	test_accg_immed 	0x00000022,accg1
    373  1.1  christos 	test_acc_immed 	0x22222222,acc1
    374  1.1  christos 	test_accg_immed 	0x00000033,accg2
    375  1.1  christos 	test_acc_immed 	0x33333333,acc2
    376  1.1  christos 	test_accg_immed 	0x00000044,accg3
    377  1.1  christos 	test_acc_immed 	0x44444444,acc3
    378  1.1  christos 
    379  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr8	; max positive result
    380  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr10
    381  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr9	; max positive result
    382  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr11
    383  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc4,0
    384  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    385  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    386  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    387  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    388  1.1  christos 	test_accg_immed 	0x00000011,accg0
    389  1.1  christos 	test_acc_immed 	0x11111111,acc0
    390  1.1  christos 	test_accg_immed 	0x00000022,accg1
    391  1.1  christos 	test_acc_immed 	0x22222222,acc1
    392  1.1  christos 	test_accg_immed 	0x00000033,accg2
    393  1.1  christos 	test_acc_immed 	0x33333333,acc2
    394  1.1  christos 	test_accg_immed 	0x00000044,accg3
    395  1.1  christos 	test_acc_immed 	0x44444444,acc3
    396  1.1  christos 
    397  1.1  christos 	set_accg_immed 	0xff,accg0		; saturation
    398  1.1  christos 	set_acc_immed	0xffffffff,acc0
    399  1.1  christos 	set_accg_immed 	0xff,accg1
    400  1.1  christos 	set_acc_immed	0xffffffff,acc1
    401  1.1  christos 	set_accg_immed 	0xff,accg2		; saturation
    402  1.1  christos 	set_acc_immed	0xffffffff,acc2
    403  1.1  christos 	set_accg_immed 	0xff,accg3
    404  1.1  christos 	set_acc_immed	0xffffffff,acc3
    405  1.1  christos 	set_fr_iimmed  	1,1,fr8
    406  1.1  christos 	set_fr_iimmed  	1,1,fr10
    407  1.1  christos 	set_fr_iimmed  	1,1,fr9
    408  1.1  christos 	set_fr_iimmed  	1,1,fr11
    409  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc4,0
    410  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    411  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    412  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    413  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    414  1.1  christos 	test_accg_immed 	0xff,accg0		; saturation
    415  1.1  christos 	test_acc_immed	0xffffffff,acc0
    416  1.1  christos 	test_accg_immed 	0xff,accg1
    417  1.1  christos 	test_acc_immed	0xffffffff,acc1
    418  1.1  christos 	test_accg_immed 	0xff,accg2		; saturation
    419  1.1  christos 	test_acc_immed	0xffffffff,acc2
    420  1.1  christos 	test_accg_immed 	0xff,accg3
    421  1.1  christos 	test_acc_immed	0xffffffff,acc3
    422  1.1  christos 
    423  1.1  christos 	set_fr_iimmed  	0xffff,0x0000,fr8
    424  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr10
    425  1.1  christos 	set_fr_iimmed  	0x0000,0xffff,fr9
    426  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr11
    427  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc4,0
    428  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    429  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    430  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    431  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    432  1.1  christos 	test_accg_immed 	0xff,accg0		; saturation
    433  1.1  christos 	test_acc_immed	0xffffffff,acc0
    434  1.1  christos 	test_accg_immed 	0xff,accg1
    435  1.1  christos 	test_acc_immed	0xffffffff,acc1
    436  1.1  christos 	test_accg_immed 	0xff,accg2		; saturation
    437  1.1  christos 	test_acc_immed	0xffffffff,acc2
    438  1.1  christos 	test_accg_immed 	0xff,accg3
    439  1.1  christos 	test_acc_immed	0xffffffff,acc3
    440  1.1  christos 
    441  1.1  christos 	set_spr_immed	0,msr0
    442  1.1  christos 	set_accg_immed 	0x00000011,accg0
    443  1.1  christos 	set_acc_immed 	0x11111111,acc0
    444  1.1  christos 	set_accg_immed 	0x00000022,accg1
    445  1.1  christos 	set_acc_immed 	0x22222222,acc1
    446  1.1  christos 	set_accg_immed 	0x00000033,accg2
    447  1.1  christos 	set_acc_immed 	0x33333333,acc2
    448  1.1  christos 	set_accg_immed 	0x00000044,accg3
    449  1.1  christos 	set_acc_immed 	0x44444444,acc3
    450  1.1  christos 	set_fr_iimmed  	3,2,fr8		; multiply small numbers
    451  1.1  christos 	set_fr_iimmed  	2,3,fr10
    452  1.1  christos 	set_fr_iimmed  	1,2,fr9		; multiply by 1
    453  1.1  christos 	set_fr_iimmed  	2,1,fr11
    454  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc1,1
    455  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    456  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    457  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    458  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    459  1.1  christos 	test_accg_immed 	0x00000011,accg0
    460  1.1  christos 	test_acc_immed 	0x11111111,acc0
    461  1.1  christos 	test_accg_immed 	0x00000022,accg1
    462  1.1  christos 	test_acc_immed 	0x22222222,acc1
    463  1.1  christos 	test_accg_immed 	0x00000033,accg2
    464  1.1  christos 	test_acc_immed 	0x33333333,acc2
    465  1.1  christos 	test_accg_immed 	0x00000044,accg3
    466  1.1  christos 	test_acc_immed 	0x44444444,acc3
    467  1.1  christos 
    468  1.1  christos 	set_fr_iimmed  	0,2,fr8		; multiply by 0
    469  1.1  christos 	set_fr_iimmed  	2,0,fr10
    470  1.1  christos 	set_fr_iimmed 	0x3fff,2,fr9	; 15 bit result
    471  1.1  christos 	set_fr_iimmed  	2,0x3fff,fr11
    472  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc1,1
    473  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    474  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    475  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    476  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    477  1.1  christos 	test_accg_immed 	0x00000011,accg0
    478  1.1  christos 	test_acc_immed 	0x11111111,acc0
    479  1.1  christos 	test_accg_immed 	0x00000022,accg1
    480  1.1  christos 	test_acc_immed 	0x22222222,acc1
    481  1.1  christos 	test_accg_immed 	0x00000033,accg2
    482  1.1  christos 	test_acc_immed 	0x33333333,acc2
    483  1.1  christos 	test_accg_immed 	0x00000044,accg3
    484  1.1  christos 	test_acc_immed 	0x44444444,acc3
    485  1.1  christos 
    486  1.1  christos 	set_fr_iimmed  	0x4000,2,fr8	; 16 bit result
    487  1.1  christos 	set_fr_iimmed  	2,0x4000,fr10
    488  1.1  christos 	set_fr_iimmed  	0x8000,2,fr9	; 17 bit result
    489  1.1  christos 	set_fr_iimmed  	2,0x8000,fr11
    490  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc1,1
    491  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    492  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    493  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    494  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    495  1.1  christos 	test_accg_immed 	0x00000011,accg0
    496  1.1  christos 	test_acc_immed 	0x11111111,acc0
    497  1.1  christos 	test_accg_immed 	0x00000022,accg1
    498  1.1  christos 	test_acc_immed 	0x22222222,acc1
    499  1.1  christos 	test_accg_immed 	0x00000033,accg2
    500  1.1  christos 	test_acc_immed 	0x33333333,acc2
    501  1.1  christos 	test_accg_immed 	0x00000044,accg3
    502  1.1  christos 	test_acc_immed 	0x44444444,acc3
    503  1.1  christos 
    504  1.1  christos 	set_fr_iimmed  	0x7fff,0x7fff,fr8	; max positive result
    505  1.1  christos 	set_fr_iimmed  	0x7fff,0x7fff,fr10
    506  1.1  christos 	set_fr_iimmed  	0x8000,0x8000,fr9	; max positive result
    507  1.1  christos 	set_fr_iimmed  	0x8000,0x8000,fr11
    508  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc5,1
    509  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    510  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    511  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    512  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    513  1.1  christos 	test_accg_immed 	0x00000011,accg0
    514  1.1  christos 	test_acc_immed 	0x11111111,acc0
    515  1.1  christos 	test_accg_immed 	0x00000022,accg1
    516  1.1  christos 	test_acc_immed 	0x22222222,acc1
    517  1.1  christos 	test_accg_immed 	0x00000033,accg2
    518  1.1  christos 	test_acc_immed 	0x33333333,acc2
    519  1.1  christos 	test_accg_immed 	0x00000044,accg3
    520  1.1  christos 	test_acc_immed 	0x44444444,acc3
    521  1.1  christos 
    522  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr8	; max positive result
    523  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr10
    524  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr9	; max positive result
    525  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr11
    526  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc5,1
    527  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    528  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    529  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    530  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    531  1.1  christos 	test_accg_immed 	0x00000011,accg0
    532  1.1  christos 	test_acc_immed 	0x11111111,acc0
    533  1.1  christos 	test_accg_immed 	0x00000022,accg1
    534  1.1  christos 	test_acc_immed 	0x22222222,acc1
    535  1.1  christos 	test_accg_immed 	0x00000033,accg2
    536  1.1  christos 	test_acc_immed 	0x33333333,acc2
    537  1.1  christos 	test_accg_immed 	0x00000044,accg3
    538  1.1  christos 	test_acc_immed 	0x44444444,acc3
    539  1.1  christos 
    540  1.1  christos 	set_accg_immed 	0xff,accg0		; saturation
    541  1.1  christos 	set_acc_immed	0xffffffff,acc0
    542  1.1  christos 	set_accg_immed 	0xff,accg1
    543  1.1  christos 	set_acc_immed	0xffffffff,acc1
    544  1.1  christos 	set_accg_immed 	0xff,accg2		; saturation
    545  1.1  christos 	set_acc_immed	0xffffffff,acc2
    546  1.1  christos 	set_accg_immed 	0xff,accg3
    547  1.1  christos 	set_acc_immed	0xffffffff,acc3
    548  1.1  christos 	set_fr_iimmed  	1,1,fr8
    549  1.1  christos 	set_fr_iimmed  	1,1,fr10
    550  1.1  christos 	set_fr_iimmed  	1,1,fr9
    551  1.1  christos 	set_fr_iimmed  	1,1,fr11
    552  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc5,1
    553  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    554  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    555  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    556  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    557  1.1  christos 	test_accg_immed 	0xff,accg0		; saturation
    558  1.1  christos 	test_acc_immed	0xffffffff,acc0
    559  1.1  christos 	test_accg_immed 	0xff,accg1
    560  1.1  christos 	test_acc_immed	0xffffffff,acc1
    561  1.1  christos 	test_accg_immed 	0xff,accg2		; saturation
    562  1.1  christos 	test_acc_immed	0xffffffff,acc2
    563  1.1  christos 	test_accg_immed 	0xff,accg3
    564  1.1  christos 	test_acc_immed	0xffffffff,acc3
    565  1.1  christos 
    566  1.1  christos 	set_fr_iimmed  	0xffff,0x0000,fr8
    567  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr10
    568  1.1  christos 	set_fr_iimmed  	0x0000,0xffff,fr9
    569  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr11
    570  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc5,1
    571  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    572  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    573  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    574  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    575  1.1  christos 	test_accg_immed 	0xff,accg0		; saturation
    576  1.1  christos 	test_acc_immed	0xffffffff,acc0
    577  1.1  christos 	test_accg_immed 	0xff,accg1
    578  1.1  christos 	test_acc_immed	0xffffffff,acc1
    579  1.1  christos 	test_accg_immed 	0xff,accg2		; saturation
    580  1.1  christos 	test_acc_immed	0xffffffff,acc2
    581  1.1  christos 	test_accg_immed 	0xff,accg3
    582  1.1  christos 	test_acc_immed	0xffffffff,acc3
    583  1.1  christos 
    584  1.1  christos 	set_spr_immed	0,msr0
    585  1.1  christos 	set_accg_immed 	0x00000011,accg0
    586  1.1  christos 	set_acc_immed 	0x11111111,acc0
    587  1.1  christos 	set_accg_immed 	0x00000022,accg1
    588  1.1  christos 	set_acc_immed 	0x22222222,acc1
    589  1.1  christos 	set_accg_immed 	0x00000033,accg2
    590  1.1  christos 	set_acc_immed 	0x33333333,acc2
    591  1.1  christos 	set_accg_immed 	0x00000044,accg3
    592  1.1  christos 	set_acc_immed 	0x44444444,acc3
    593  1.1  christos 	set_fr_iimmed  	3,2,fr8		; multiply small numbers
    594  1.1  christos 	set_fr_iimmed  	2,3,fr10
    595  1.1  christos 	set_fr_iimmed  	1,2,fr9		; multiply by 1
    596  1.1  christos 	set_fr_iimmed  	2,1,fr11
    597  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc2,1
    598  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    599  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    600  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    601  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    602  1.1  christos 	test_accg_immed 	0x00000011,accg0
    603  1.1  christos 	test_acc_immed 	0x11111111,acc0
    604  1.1  christos 	test_accg_immed 	0x00000022,accg1
    605  1.1  christos 	test_acc_immed 	0x22222222,acc1
    606  1.1  christos 	test_accg_immed 	0x00000033,accg2
    607  1.1  christos 	test_acc_immed 	0x33333333,acc2
    608  1.1  christos 	test_accg_immed 	0x00000044,accg3
    609  1.1  christos 	test_acc_immed 	0x44444444,acc3
    610  1.1  christos 
    611  1.1  christos 	set_fr_iimmed  	0,2,fr8		; multiply by 0
    612  1.1  christos 	set_fr_iimmed  	2,0,fr10
    613  1.1  christos 	set_fr_iimmed 	0x3fff,2,fr9	; 15 bit result
    614  1.1  christos 	set_fr_iimmed  	2,0x3fff,fr11
    615  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc2,0
    616  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    617  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    618  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    619  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    620  1.1  christos 	test_accg_immed 	0x00000011,accg0
    621  1.1  christos 	test_acc_immed 	0x11111111,acc0
    622  1.1  christos 	test_accg_immed 	0x00000022,accg1
    623  1.1  christos 	test_acc_immed 	0x22222222,acc1
    624  1.1  christos 	test_accg_immed 	0x00000033,accg2
    625  1.1  christos 	test_acc_immed 	0x33333333,acc2
    626  1.1  christos 	test_accg_immed 	0x00000044,accg3
    627  1.1  christos 	test_acc_immed 	0x44444444,acc3
    628  1.1  christos 
    629  1.1  christos 	set_fr_iimmed  	0x4000,2,fr8	; 16 bit result
    630  1.1  christos 	set_fr_iimmed  	2,0x4000,fr10
    631  1.1  christos 	set_fr_iimmed  	0x8000,2,fr9	; 17 bit result
    632  1.1  christos 	set_fr_iimmed  	2,0x8000,fr11
    633  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc2,1
    634  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    635  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    636  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    637  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    638  1.1  christos 	test_accg_immed 	0x00000011,accg0
    639  1.1  christos 	test_acc_immed 	0x11111111,acc0
    640  1.1  christos 	test_accg_immed 	0x00000022,accg1
    641  1.1  christos 	test_acc_immed 	0x22222222,acc1
    642  1.1  christos 	test_accg_immed 	0x00000033,accg2
    643  1.1  christos 	test_acc_immed 	0x33333333,acc2
    644  1.1  christos 	test_accg_immed 	0x00000044,accg3
    645  1.1  christos 	test_acc_immed 	0x44444444,acc3
    646  1.1  christos 
    647  1.1  christos 	set_fr_iimmed  	0x7fff,0x7fff,fr8	; max positive result
    648  1.1  christos 	set_fr_iimmed  	0x7fff,0x7fff,fr10
    649  1.1  christos 	set_fr_iimmed  	0x8000,0x8000,fr9	; max positive result
    650  1.1  christos 	set_fr_iimmed  	0x8000,0x8000,fr11
    651  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc6,0
    652  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    653  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    654  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    655  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    656  1.1  christos 	test_accg_immed 	0x00000011,accg0
    657  1.1  christos 	test_acc_immed 	0x11111111,acc0
    658  1.1  christos 	test_accg_immed 	0x00000022,accg1
    659  1.1  christos 	test_acc_immed 	0x22222222,acc1
    660  1.1  christos 	test_accg_immed 	0x00000033,accg2
    661  1.1  christos 	test_acc_immed 	0x33333333,acc2
    662  1.1  christos 	test_accg_immed 	0x00000044,accg3
    663  1.1  christos 	test_acc_immed 	0x44444444,acc3
    664  1.1  christos 
    665  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr8	; max positive result
    666  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr10
    667  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr9	; max positive result
    668  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr11
    669  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc6,1
    670  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    671  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    672  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    673  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    674  1.1  christos 	test_accg_immed 	0x00000011,accg0
    675  1.1  christos 	test_acc_immed 	0x11111111,acc0
    676  1.1  christos 	test_accg_immed 	0x00000022,accg1
    677  1.1  christos 	test_acc_immed 	0x22222222,acc1
    678  1.1  christos 	test_accg_immed 	0x00000033,accg2
    679  1.1  christos 	test_acc_immed 	0x33333333,acc2
    680  1.1  christos 	test_accg_immed 	0x00000044,accg3
    681  1.1  christos 	test_acc_immed 	0x44444444,acc3
    682  1.1  christos 
    683  1.1  christos 	set_accg_immed 	0xff,accg0		; saturation
    684  1.1  christos 	set_acc_immed	0xffffffff,acc0
    685  1.1  christos 	set_accg_immed 	0xff,accg1
    686  1.1  christos 	set_acc_immed	0xffffffff,acc1
    687  1.1  christos 	set_accg_immed 	0xff,accg2		; saturation
    688  1.1  christos 	set_acc_immed	0xffffffff,acc2
    689  1.1  christos 	set_accg_immed 	0xff,accg3
    690  1.1  christos 	set_acc_immed	0xffffffff,acc3
    691  1.1  christos 	set_fr_iimmed  	1,1,fr8
    692  1.1  christos 	set_fr_iimmed  	1,1,fr10
    693  1.1  christos 	set_fr_iimmed  	1,1,fr9
    694  1.1  christos 	set_fr_iimmed  	1,1,fr11
    695  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc6,0
    696  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    697  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    698  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    699  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    700  1.1  christos 	test_accg_immed 	0xff,accg0		; saturation
    701  1.1  christos 	test_acc_immed	0xffffffff,acc0
    702  1.1  christos 	test_accg_immed 	0xff,accg1
    703  1.1  christos 	test_acc_immed	0xffffffff,acc1
    704  1.1  christos 	test_accg_immed 	0xff,accg2		; saturation
    705  1.1  christos 	test_acc_immed	0xffffffff,acc2
    706  1.1  christos 	test_accg_immed 	0xff,accg3
    707  1.1  christos 	test_acc_immed	0xffffffff,acc3
    708  1.1  christos 
    709  1.1  christos 	set_fr_iimmed  	0xffff,0x0000,fr8
    710  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr10
    711  1.1  christos 	set_fr_iimmed  	0x0000,0xffff,fr9
    712  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr11
    713  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc6,1
    714  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    715  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    716  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    717  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    718  1.1  christos 	test_accg_immed 	0xff,accg0		; saturation
    719  1.1  christos 	test_acc_immed	0xffffffff,acc0
    720  1.1  christos 	test_accg_immed 	0xff,accg1
    721  1.1  christos 	test_acc_immed	0xffffffff,acc1
    722  1.1  christos 	test_accg_immed 	0xff,accg2		; saturation
    723  1.1  christos 	test_acc_immed	0xffffffff,acc2
    724  1.1  christos 	test_accg_immed 	0xff,accg3
    725  1.1  christos 	test_acc_immed	0xffffffff,acc3
    726  1.1  christos ;
    727  1.1  christos 	set_spr_immed	0,msr0
    728  1.1  christos 	set_accg_immed 	0x00000011,accg0
    729  1.1  christos 	set_acc_immed 	0x11111111,acc0
    730  1.1  christos 	set_accg_immed 	0x00000022,accg1
    731  1.1  christos 	set_acc_immed 	0x22222222,acc1
    732  1.1  christos 	set_accg_immed 	0x00000033,accg2
    733  1.1  christos 	set_acc_immed 	0x33333333,acc2
    734  1.1  christos 	set_accg_immed 	0x00000044,accg3
    735  1.1  christos 	set_acc_immed 	0x44444444,acc3
    736  1.1  christos 	set_fr_iimmed  	3,2,fr8		; multiply small numbers
    737  1.1  christos 	set_fr_iimmed  	2,3,fr10
    738  1.1  christos 	set_fr_iimmed  	1,2,fr9		; multiply by 1
    739  1.1  christos 	set_fr_iimmed  	2,1,fr11
    740  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc3,1
    741  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    742  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    743  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    744  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    745  1.1  christos 	test_accg_immed 	0x00000011,accg0
    746  1.1  christos 	test_acc_immed 	0x11111111,acc0
    747  1.1  christos 	test_accg_immed 	0x00000022,accg1
    748  1.1  christos 	test_acc_immed 	0x22222222,acc1
    749  1.1  christos 	test_accg_immed 	0x00000033,accg2
    750  1.1  christos 	test_acc_immed 	0x33333333,acc2
    751  1.1  christos 	test_accg_immed 	0x00000044,accg3
    752  1.1  christos 	test_acc_immed 	0x44444444,acc3
    753  1.1  christos 
    754  1.1  christos 	set_fr_iimmed  	0,2,fr8		; multiply by 0
    755  1.1  christos 	set_fr_iimmed  	2,0,fr10
    756  1.1  christos 	set_fr_iimmed 	0x3fff,2,fr9	; 15 bit result
    757  1.1  christos 	set_fr_iimmed  	2,0x3fff,fr11
    758  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc3,0
    759  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    760  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    761  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    762  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    763  1.1  christos 	test_accg_immed 	0x00000011,accg0
    764  1.1  christos 	test_acc_immed 	0x11111111,acc0
    765  1.1  christos 	test_accg_immed 	0x00000022,accg1
    766  1.1  christos 	test_acc_immed 	0x22222222,acc1
    767  1.1  christos 	test_accg_immed 	0x00000033,accg2
    768  1.1  christos 	test_acc_immed 	0x33333333,acc2
    769  1.1  christos 	test_accg_immed 	0x00000044,accg3
    770  1.1  christos 	test_acc_immed 	0x44444444,acc3
    771  1.1  christos 
    772  1.1  christos 	set_fr_iimmed  	0x4000,2,fr8	; 16 bit result
    773  1.1  christos 	set_fr_iimmed  	2,0x4000,fr10
    774  1.1  christos 	set_fr_iimmed  	0x8000,2,fr9	; 17 bit result
    775  1.1  christos 	set_fr_iimmed  	2,0x8000,fr11
    776  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc3,1
    777  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    778  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    779  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    780  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    781  1.1  christos 	test_accg_immed 	0x00000011,accg0
    782  1.1  christos 	test_acc_immed 	0x11111111,acc0
    783  1.1  christos 	test_accg_immed 	0x00000022,accg1
    784  1.1  christos 	test_acc_immed 	0x22222222,acc1
    785  1.1  christos 	test_accg_immed 	0x00000033,accg2
    786  1.1  christos 	test_acc_immed 	0x33333333,acc2
    787  1.1  christos 	test_accg_immed 	0x00000044,accg3
    788  1.1  christos 	test_acc_immed 	0x44444444,acc3
    789  1.1  christos 
    790  1.1  christos 	set_fr_iimmed  	0x7fff,0x7fff,fr8	; max positive result
    791  1.1  christos 	set_fr_iimmed  	0x7fff,0x7fff,fr10
    792  1.1  christos 	set_fr_iimmed  	0x8000,0x8000,fr9	; max positive result
    793  1.1  christos 	set_fr_iimmed  	0x8000,0x8000,fr11
    794  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc7,0
    795  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    796  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    797  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    798  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    799  1.1  christos 	test_accg_immed 	0x00000011,accg0
    800  1.1  christos 	test_acc_immed 	0x11111111,acc0
    801  1.1  christos 	test_accg_immed 	0x00000022,accg1
    802  1.1  christos 	test_acc_immed 	0x22222222,acc1
    803  1.1  christos 	test_accg_immed 	0x00000033,accg2
    804  1.1  christos 	test_acc_immed 	0x33333333,acc2
    805  1.1  christos 	test_accg_immed 	0x00000044,accg3
    806  1.1  christos 	test_acc_immed 	0x44444444,acc3
    807  1.1  christos 
    808  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr8	; max positive result
    809  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr10
    810  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr9	; max positive result
    811  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr11
    812  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc7,1
    813  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    814  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    815  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    816  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    817  1.1  christos 	test_accg_immed 	0x00000011,accg0
    818  1.1  christos 	test_acc_immed 	0x11111111,acc0
    819  1.1  christos 	test_accg_immed 	0x00000022,accg1
    820  1.1  christos 	test_acc_immed 	0x22222222,acc1
    821  1.1  christos 	test_accg_immed 	0x00000033,accg2
    822  1.1  christos 	test_acc_immed 	0x33333333,acc2
    823  1.1  christos 	test_accg_immed 	0x00000044,accg3
    824  1.1  christos 	test_acc_immed 	0x44444444,acc3
    825  1.1  christos 
    826  1.1  christos 	set_accg_immed 	0xff,accg0		; saturation
    827  1.1  christos 	set_acc_immed	0xffffffff,acc0
    828  1.1  christos 	set_accg_immed 	0xff,accg1
    829  1.1  christos 	set_acc_immed	0xffffffff,acc1
    830  1.1  christos 	set_accg_immed 	0xff,accg2		; saturation
    831  1.1  christos 	set_acc_immed	0xffffffff,acc2
    832  1.1  christos 	set_accg_immed 	0xff,accg3
    833  1.1  christos 	set_acc_immed	0xffffffff,acc3
    834  1.1  christos 	set_fr_iimmed  	1,1,fr8
    835  1.1  christos 	set_fr_iimmed  	1,1,fr10
    836  1.1  christos 	set_fr_iimmed  	1,1,fr9
    837  1.1  christos 	set_fr_iimmed  	1,1,fr11
    838  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc7,0
    839  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    840  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    841  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    842  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    843  1.1  christos 	test_accg_immed 	0xff,accg0		; saturation
    844  1.1  christos 	test_acc_immed	0xffffffff,acc0
    845  1.1  christos 	test_accg_immed 	0xff,accg1
    846  1.1  christos 	test_acc_immed	0xffffffff,acc1
    847  1.1  christos 	test_accg_immed 	0xff,accg2		; saturation
    848  1.1  christos 	test_acc_immed	0xffffffff,acc2
    849  1.1  christos 	test_accg_immed 	0xff,accg3
    850  1.1  christos 	test_acc_immed	0xffffffff,acc3
    851  1.1  christos 
    852  1.1  christos 	set_fr_iimmed  	0xffff,0x0000,fr8
    853  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr10
    854  1.1  christos 	set_fr_iimmed  	0x0000,0xffff,fr9
    855  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr11
    856  1.1  christos 	cmqmachu      	fr8,fr10,acc0,cc7,1
    857  1.1  christos 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    858  1.1  christos 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    859  1.1  christos 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    860  1.1  christos 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt always set
    861  1.1  christos 	test_accg_immed 	0xff,accg0		; saturation
    862  1.1  christos 	test_acc_immed	0xffffffff,acc0
    863  1.1  christos 	test_accg_immed 	0xff,accg1
    864  1.1  christos 	test_acc_immed	0xffffffff,acc1
    865  1.1  christos 	test_accg_immed 	0xff,accg2		; saturation
    866  1.1  christos 	test_acc_immed	0xffffffff,acc2
    867  1.1  christos 	test_accg_immed 	0xff,accg3
    868  1.1  christos 	test_acc_immed	0xffffffff,acc3
    869  1.1  christos 
    870  1.1  christos 	pass
    871