Home | History | Annotate | Line # | Download | only in fr500
      1 # frv testcase for cmqaddhus $FRi,$FRj,$FRj,$CCi,$cond
      2 # mach: frv fr500
      3 
      4 	.include "../testutils.inc"
      5 
      6 	start
      7 
      8 	.global cmqaddhus
      9 cmqaddhus:
     10 	set_spr_immed	0x1b1b,cccr
     11 
     12 	set_fr_iimmed	0x0000,0x0000,fr10
     13 	set_fr_iimmed	0xdead,0x0000,fr11
     14 	set_fr_iimmed	0x0000,0x0000,fr12
     15 	set_fr_iimmed	0x0000,0xbeef,fr13
     16 	cmqaddhus	fr10,fr12,fr14,cc0,1
     17 	test_fr_limmed	0x0000,0x0000,fr14
     18 	test_fr_limmed	0xdead,0xbeef,fr15
     19 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
     20 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
     21 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
     22 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
     23 
     24 	set_fr_iimmed	0x0000,0xdead,fr10
     25 	set_fr_iimmed	0x1234,0x5678,fr11
     26 	set_fr_iimmed	0xbeef,0x0000,fr12
     27 	set_fr_iimmed	0x1111,0x1111,fr13
     28 	cmqaddhus	fr10,fr12,fr14,cc0,1
     29 	test_fr_limmed	0xbeef,0xdead,fr14
     30 	test_fr_limmed	0x2345,0x6789,fr15
     31 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
     32 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
     33 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
     34 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
     35 
     36 	set_fr_iimmed	0x7ffe,0x7ffe,fr10
     37 	set_fr_iimmed	0xfffe,0xfffe,fr11
     38 	set_fr_iimmed	0x0002,0x0001,fr12
     39 	set_fr_iimmed	0x0001,0x0002,fr13
     40 	cmqaddhus	fr10,fr12,fr14,cc4,1
     41 	test_fr_limmed	0x8000,0x7fff,fr14
     42 	test_fr_limmed	0xffff,0xffff,fr15
     43 	test_spr_bits	0x3c,2,1,msr0		; msr0.sie is set
     44 	test_spr_bits	2,1,1,msr0		; msr0.ovf is set
     45 	test_spr_bits	1,0,1,msr0		; msr0.aovf set
     46 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt set
     47 
     48 	set_spr_immed	0,msr0
     49 	set_spr_immed	0,msr1
     50 	set_fr_iimmed	0x0002,0x0001,fr10
     51 	set_fr_iimmed	0x0001,0x0001,fr11
     52 	set_fr_iimmed	0xfffe,0xfffe,fr12
     53 	set_fr_iimmed	0x8000,0x8000,fr13
     54 	cmqaddhus.p	fr10,fr10,fr14,cc4,1
     55 	cmqaddhus	fr12,fr12,fr16,cc4,1
     56 	test_fr_limmed	0x0004,0x0002,fr14
     57 	test_fr_limmed	0x0002,0x0002,fr15
     58 	test_fr_limmed	0xffff,0xffff,fr16
     59 	test_fr_limmed	0xffff,0xffff,fr17
     60 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
     61 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
     62 	test_spr_bits	0x3c,2,0xf,msr1		; msr1.sie is set
     63 	test_spr_bits	2,1,1,msr1		; msr1.ovf set
     64 	test_spr_bits	1,0,1,msr0		; msr0.aovf set
     65 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt set
     66 
     67 	set_spr_immed	0,msr0
     68 	set_spr_immed	0,msr1
     69 	set_fr_iimmed	0x0000,0x0000,fr10
     70 	set_fr_iimmed	0xdead,0x0000,fr11
     71 	set_fr_iimmed	0x0000,0x0000,fr12
     72 	set_fr_iimmed	0x0000,0xbeef,fr13
     73 	cmqaddhus	fr10,fr12,fr14,cc1,0
     74 	test_fr_limmed	0x0000,0x0000,fr14
     75 	test_fr_limmed	0xdead,0xbeef,fr15
     76 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
     77 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
     78 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
     79 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
     80 
     81 	set_fr_iimmed	0x0000,0xdead,fr10
     82 	set_fr_iimmed	0x1234,0x5678,fr11
     83 	set_fr_iimmed	0xbeef,0x0000,fr12
     84 	set_fr_iimmed	0x1111,0x1111,fr13
     85 	cmqaddhus	fr10,fr12,fr14,cc1,0
     86 	test_fr_limmed	0xbeef,0xdead,fr14
     87 	test_fr_limmed	0x2345,0x6789,fr15
     88 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
     89 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
     90 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
     91 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
     92 
     93 	set_fr_iimmed	0x7ffe,0x7ffe,fr10
     94 	set_fr_iimmed	0xfffe,0xfffe,fr11
     95 	set_fr_iimmed	0x0002,0x0001,fr12
     96 	set_fr_iimmed	0x0001,0x0002,fr13
     97 	cmqaddhus	fr10,fr12,fr14,cc5,0
     98 	test_fr_limmed	0x8000,0x7fff,fr14
     99 	test_fr_limmed	0xffff,0xffff,fr15
    100 	test_spr_bits	0x3c,2,1,msr0		; msr0.sie is set
    101 	test_spr_bits	2,1,1,msr0		; msr0.ovf is set
    102 	test_spr_bits	1,0,1,msr0		; msr0.aovf set
    103 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt set
    104 
    105 	set_spr_immed	0,msr0
    106 	set_spr_immed	0,msr1
    107 	set_fr_iimmed	0x0002,0x0001,fr10
    108 	set_fr_iimmed	0x0001,0x0001,fr11
    109 	set_fr_iimmed	0xfffe,0xfffe,fr12
    110 	set_fr_iimmed	0x8000,0x8000,fr13
    111 	cmqaddhus.p	fr10,fr10,fr14,cc5,0
    112 	cmqaddhus	fr12,fr12,fr16,cc5,0
    113 	test_fr_limmed	0x0004,0x0002,fr14
    114 	test_fr_limmed	0x0002,0x0002,fr15
    115 	test_fr_limmed	0xffff,0xffff,fr16
    116 	test_fr_limmed	0xffff,0xffff,fr17
    117 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    118 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    119 	test_spr_bits	0x3c,2,0xf,msr1		; msr1.sie is set
    120 	test_spr_bits	2,1,1,msr1		; msr1.ovf set
    121 	test_spr_bits	1,0,1,msr0		; msr0.aovf set
    122 	test_spr_bits	0x7000,12,1,msr0	; msr0.mtt set
    123 
    124 	set_fr_iimmed	0x1111,0x1111,fr14
    125 	set_fr_iimmed	0x2222,0x2222,fr15
    126 	set_spr_immed	0,msr0
    127 	set_spr_immed	0,msr1
    128 	set_fr_iimmed	0x0000,0x0000,fr10
    129 	set_fr_iimmed	0xdead,0x0000,fr11
    130 	set_fr_iimmed	0x0000,0x0000,fr12
    131 	set_fr_iimmed	0x0000,0xbeef,fr13
    132 	cmqaddhus	fr10,fr12,fr14,cc0,0
    133 	test_fr_limmed	0x1111,0x1111,fr14
    134 	test_fr_limmed	0x2222,0x2222,fr15
    135 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    136 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    137 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    138 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    139 
    140 	set_fr_iimmed	0x0000,0xdead,fr10
    141 	set_fr_iimmed	0x1234,0x5678,fr11
    142 	set_fr_iimmed	0xbeef,0x0000,fr12
    143 	set_fr_iimmed	0x1111,0x1111,fr13
    144 	cmqaddhus	fr10,fr12,fr14,cc0,0
    145 	test_fr_limmed	0x1111,0x1111,fr14
    146 	test_fr_limmed	0x2222,0x2222,fr15
    147 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    148 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    149 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    150 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    151 
    152 	set_fr_iimmed	0x7ffe,0x7ffe,fr10
    153 	set_fr_iimmed	0xfffe,0xfffe,fr11
    154 	set_fr_iimmed	0x0002,0x0001,fr12
    155 	set_fr_iimmed	0x0001,0x0002,fr13
    156 	cmqaddhus	fr10,fr12,fr14,cc4,0
    157 	test_fr_limmed	0x1111,0x1111,fr14
    158 	test_fr_limmed	0x2222,0x2222,fr15
    159 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    160 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    161 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    162 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    163 
    164 	set_fr_iimmed	0x3333,0x3333,fr16
    165 	set_fr_iimmed	0x4444,0x4444,fr17
    166 	set_spr_immed	0,msr0
    167 	set_spr_immed	0,msr1
    168 	set_fr_iimmed	0x0002,0x0001,fr10
    169 	set_fr_iimmed	0x0001,0x0001,fr11
    170 	set_fr_iimmed	0xfffe,0xfffe,fr12
    171 	set_fr_iimmed	0x8000,0x8000,fr13
    172 	cmqaddhus.p	fr10,fr10,fr14,cc4,0
    173 	cmqaddhus	fr12,fr12,fr16,cc4,0
    174 	test_fr_limmed	0x1111,0x1111,fr14
    175 	test_fr_limmed	0x2222,0x2222,fr15
    176 	test_fr_limmed	0x3333,0x3333,fr16
    177 	test_fr_limmed	0x4444,0x4444,fr17
    178 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    179 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    180 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    181 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    182 
    183 	set_fr_iimmed	0x1111,0x1111,fr14
    184 	set_fr_iimmed	0x2222,0x2222,fr15
    185 	set_spr_immed	0,msr0
    186 	set_spr_immed	0,msr1
    187 	set_fr_iimmed	0x0000,0x0000,fr10
    188 	set_fr_iimmed	0xdead,0x0000,fr11
    189 	set_fr_iimmed	0x0000,0x0000,fr12
    190 	set_fr_iimmed	0x0000,0xbeef,fr13
    191 	cmqaddhus	fr10,fr12,fr14,cc1,1
    192 	test_fr_limmed	0x1111,0x1111,fr14
    193 	test_fr_limmed	0x2222,0x2222,fr15
    194 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    195 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    196 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    197 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    198 
    199 	set_fr_iimmed	0x0000,0xdead,fr10
    200 	set_fr_iimmed	0x1234,0x5678,fr11
    201 	set_fr_iimmed	0xbeef,0x0000,fr12
    202 	set_fr_iimmed	0x1111,0x1111,fr13
    203 	cmqaddhus	fr10,fr12,fr14,cc1,1
    204 	test_fr_limmed	0x1111,0x1111,fr14
    205 	test_fr_limmed	0x2222,0x2222,fr15
    206 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    207 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    208 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    209 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    210 
    211 	set_fr_iimmed	0x7ffe,0x7ffe,fr10
    212 	set_fr_iimmed	0xfffe,0xfffe,fr11
    213 	set_fr_iimmed	0x0002,0x0001,fr12
    214 	set_fr_iimmed	0x0001,0x0002,fr13
    215 	cmqaddhus	fr10,fr12,fr14,cc5,1
    216 	test_fr_limmed	0x1111,0x1111,fr14
    217 	test_fr_limmed	0x2222,0x2222,fr15
    218 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    219 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    220 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    221 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    222 
    223 	set_fr_iimmed	0x3333,0x3333,fr16
    224 	set_fr_iimmed	0x4444,0x4444,fr17
    225 	set_spr_immed	0,msr0
    226 	set_spr_immed	0,msr1
    227 	set_fr_iimmed	0x0002,0x0001,fr10
    228 	set_fr_iimmed	0x0001,0x0001,fr11
    229 	set_fr_iimmed	0xfffe,0xfffe,fr12
    230 	set_fr_iimmed	0x8000,0x8000,fr13
    231 	cmqaddhus.p	fr10,fr10,fr14,cc5,1
    232 	cmqaddhus	fr12,fr12,fr16,cc5,1
    233 	test_fr_limmed	0x1111,0x1111,fr14
    234 	test_fr_limmed	0x2222,0x2222,fr15
    235 	test_fr_limmed	0x3333,0x3333,fr16
    236 	test_fr_limmed	0x4444,0x4444,fr17
    237 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    238 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    239 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    240 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    241 
    242 	set_fr_iimmed	0x1111,0x1111,fr14
    243 	set_fr_iimmed	0x2222,0x2222,fr15
    244 	set_spr_immed	0,msr0
    245 	set_spr_immed	0,msr1
    246 	set_fr_iimmed	0x0000,0x0000,fr10
    247 	set_fr_iimmed	0xdead,0x0000,fr11
    248 	set_fr_iimmed	0x0000,0x0000,fr12
    249 	set_fr_iimmed	0x0000,0xbeef,fr13
    250 	cmqaddhus	fr10,fr12,fr14,cc2,1
    251 	test_fr_limmed	0x1111,0x1111,fr14
    252 	test_fr_limmed	0x2222,0x2222,fr15
    253 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    254 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    255 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    256 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    257 
    258 	set_fr_iimmed	0x0000,0xdead,fr10
    259 	set_fr_iimmed	0x1234,0x5678,fr11
    260 	set_fr_iimmed	0xbeef,0x0000,fr12
    261 	set_fr_iimmed	0x1111,0x1111,fr13
    262 	cmqaddhus	fr10,fr12,fr14,cc2,0
    263 	test_fr_limmed	0x1111,0x1111,fr14
    264 	test_fr_limmed	0x2222,0x2222,fr15
    265 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    266 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    267 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    268 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    269 
    270 	set_fr_iimmed	0x7ffe,0x7ffe,fr10
    271 	set_fr_iimmed	0xfffe,0xfffe,fr11
    272 	set_fr_iimmed	0x0002,0x0001,fr12
    273 	set_fr_iimmed	0x0001,0x0002,fr13
    274 	cmqaddhus	fr10,fr12,fr14,cc6,1
    275 	test_fr_limmed	0x1111,0x1111,fr14
    276 	test_fr_limmed	0x2222,0x2222,fr15
    277 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    278 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    279 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    280 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    281 
    282 	set_fr_iimmed	0x3333,0x3333,fr16
    283 	set_fr_iimmed	0x4444,0x4444,fr17
    284 	set_spr_immed	0,msr0
    285 	set_spr_immed	0,msr1
    286 	set_fr_iimmed	0x0002,0x0001,fr10
    287 	set_fr_iimmed	0x0001,0x0001,fr11
    288 	set_fr_iimmed	0xfffe,0xfffe,fr12
    289 	set_fr_iimmed	0x8000,0x8000,fr13
    290 	cmqaddhus.p	fr10,fr10,fr14,cc6,0
    291 	cmqaddhus	fr12,fr12,fr16,cc6,1
    292 	test_fr_limmed	0x1111,0x1111,fr14
    293 	test_fr_limmed	0x2222,0x2222,fr15
    294 	test_fr_limmed	0x3333,0x3333,fr16
    295 	test_fr_limmed	0x4444,0x4444,fr17
    296 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    297 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    298 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    299 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    300 
    301 	set_fr_iimmed	0x1111,0x1111,fr14
    302 	set_fr_iimmed	0x2222,0x2222,fr15
    303 	set_spr_immed	0,msr0
    304 	set_spr_immed	0,msr1
    305 	set_fr_iimmed	0x0000,0x0000,fr10
    306 	set_fr_iimmed	0xdead,0x0000,fr11
    307 	set_fr_iimmed	0x0000,0x0000,fr12
    308 	set_fr_iimmed	0x0000,0xbeef,fr13
    309 	cmqaddhus	fr10,fr12,fr14,cc3,1
    310 	test_fr_limmed	0x1111,0x1111,fr14
    311 	test_fr_limmed	0x2222,0x2222,fr15
    312 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    313 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    314 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    315 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    316 
    317 	set_fr_iimmed	0x0000,0xdead,fr10
    318 	set_fr_iimmed	0x1234,0x5678,fr11
    319 	set_fr_iimmed	0xbeef,0x0000,fr12
    320 	set_fr_iimmed	0x1111,0x1111,fr13
    321 	cmqaddhus	fr10,fr12,fr14,cc3,0
    322 	test_fr_limmed	0x1111,0x1111,fr14
    323 	test_fr_limmed	0x2222,0x2222,fr15
    324 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    325 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    326 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    327 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    328 
    329 	set_fr_iimmed	0x7ffe,0x7ffe,fr10
    330 	set_fr_iimmed	0xfffe,0xfffe,fr11
    331 	set_fr_iimmed	0x0002,0x0001,fr12
    332 	set_fr_iimmed	0x0001,0x0002,fr13
    333 	cmqaddhus	fr10,fr12,fr14,cc7,1
    334 	test_fr_limmed	0x1111,0x1111,fr14
    335 	test_fr_limmed	0x2222,0x2222,fr15
    336 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    337 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    338 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    339 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    340 
    341 	set_fr_iimmed	0x3333,0x3333,fr16
    342 	set_fr_iimmed	0x4444,0x4444,fr17
    343 	set_spr_immed	0,msr0
    344 	set_spr_immed	0,msr1
    345 	set_fr_iimmed	0x0002,0x0001,fr10
    346 	set_fr_iimmed	0x0001,0x0001,fr11
    347 	set_fr_iimmed	0xfffe,0xfffe,fr12
    348 	set_fr_iimmed	0x8000,0x8000,fr13
    349 	cmqaddhus.p	fr10,fr10,fr14,cc7,0
    350 	cmqaddhus	fr12,fr12,fr16,cc7,1
    351 	test_fr_limmed	0x1111,0x1111,fr14
    352 	test_fr_limmed	0x2222,0x2222,fr15
    353 	test_fr_limmed	0x3333,0x3333,fr16
    354 	test_fr_limmed	0x4444,0x4444,fr17
    355 	test_spr_bits	0x3c,2,0,msr0		; msr0.sie is clear
    356 	test_spr_bits	2,1,0,msr0		; msr0.ovf not set
    357 	test_spr_bits	1,0,0,msr0		; msr0.aovf not set
    358 	test_spr_bits	0x7000,12,0,msr0	; msr0.mtt not set
    359 
    360 	pass
    361