Home | History | Annotate | Line # | Download | only in frv
      1 # frv testcase for nfdmulcs $FRi,$FRj,$FRk
      2 # mach: fr500 fr550 frv
      3 
      4 	.include "testutils.inc"
      5 
      6 	float_constants
      7 	start
      8 	load_float_constants
      9 	load_float_constants1
     10 
     11 	.global nfdmulcs
     12 nfdmulcs:
     13 	nfdmulcs      	fr16,fr4,fr2
     14 	test_fr_fr	fr2,fr16
     15 	test_fr_fr	fr2,fr20
     16 	test_fr_fr	fr3,fr16
     17 	test_fr_fr	fr3,fr20
     18 	test_spr_immed	0,fner1
     19 	test_spr_immed	0,fner0
     20 	nfdmulcs      	fr16,fr8,fr2
     21 	test_fr_fr	fr2,fr16
     22 	test_fr_fr	fr2,fr20
     23 	test_fr_fr	fr3,fr16
     24 	test_fr_fr	fr3,fr20
     25 	test_spr_immed	0,fner1
     26 	test_spr_immed	0,fner0
     27 	nfdmulcs      	fr16,fr12,fr2
     28 	test_fr_fr	fr2,fr16
     29 	test_fr_fr	fr2,fr20
     30 	test_fr_fr	fr3,fr16
     31 	test_fr_fr	fr3,fr20
     32 	test_spr_immed	0,fner1
     33 	test_spr_immed	0,fner0
     34 	nfdmulcs      	fr16,fr16,fr2
     35 	test_fr_fr	fr2,fr16
     36 	test_fr_fr	fr2,fr20
     37 	test_fr_fr	fr3,fr16
     38 	test_fr_fr	fr3,fr20
     39 	test_spr_immed	0,fner1
     40 	test_spr_immed	0,fner0
     41 	nfdmulcs      	fr16,fr20,fr2
     42 	test_fr_fr	fr2,fr16
     43 	test_fr_fr	fr2,fr20
     44 	test_fr_fr	fr3,fr16
     45 	test_fr_fr	fr3,fr20
     46 	test_spr_immed	0,fner1
     47 	test_spr_immed	0,fner0
     48 	nfdmulcs      	fr16,fr24,fr2
     49 	test_fr_fr	fr2,fr16
     50 	test_fr_fr	fr2,fr20
     51 	test_fr_fr	fr3,fr16
     52 	test_fr_fr	fr3,fr20
     53 	test_spr_immed	0,fner1
     54 	test_spr_immed	0,fner0
     55 	nfdmulcs      	fr16,fr28,fr2
     56 	test_fr_fr	fr2,fr16
     57 	test_fr_fr	fr2,fr20
     58 	test_fr_fr	fr3,fr16
     59 	test_fr_fr	fr3,fr20
     60 	test_spr_immed	0,fner1
     61 	test_spr_immed	0,fner0
     62 	nfdmulcs      	fr16,fr32,fr2
     63 	test_fr_fr	fr2,fr16
     64 	test_fr_fr	fr2,fr20
     65 	test_fr_fr	fr3,fr16
     66 	test_fr_fr	fr3,fr20
     67 	test_spr_immed	0,fner1
     68 	test_spr_immed	0,fner0
     69 	nfdmulcs      	fr16,fr36,fr2
     70 	test_fr_fr	fr2,fr16
     71 	test_fr_fr	fr2,fr20
     72 	test_fr_fr	fr3,fr16
     73 	test_fr_fr	fr3,fr20
     74 	test_spr_immed	0,fner1
     75 	test_spr_immed	0,fner0
     76 	nfdmulcs      	fr16,fr40,fr2
     77 	test_fr_fr	fr2,fr16
     78 	test_fr_fr	fr2,fr20
     79 	test_fr_fr	fr3,fr16
     80 	test_fr_fr	fr3,fr20
     81 	test_spr_immed	0,fner1
     82 	test_spr_immed	0,fner0
     83 	nfdmulcs      	fr16,fr44,fr2
     84 	test_fr_fr	fr2,fr16
     85 	test_fr_fr	fr2,fr20
     86 	test_fr_fr	fr3,fr16
     87 	test_fr_fr	fr3,fr20
     88 	test_spr_immed	0,fner1
     89 	test_spr_immed	0,fner0
     90 	nfdmulcs      	fr16,fr48,fr2
     91 	test_fr_fr	fr2,fr16
     92 	test_fr_fr	fr2,fr20
     93 	test_fr_fr	fr3,fr16
     94 	test_fr_fr	fr3,fr20
     95 	test_spr_immed	0,fner1
     96 	test_spr_immed	0,fner0
     97 
     98 	nfdmulcs      	fr20,fr4,fr2
     99 	test_fr_fr	fr2,fr16
    100 	test_fr_fr	fr2,fr20
    101 	test_fr_fr	fr3,fr16
    102 	test_fr_fr	fr3,fr20
    103 	test_spr_immed	0,fner1
    104 	test_spr_immed	0,fner0
    105 	nfdmulcs      	fr20,fr8,fr2
    106 	test_fr_fr	fr2,fr16
    107 	test_fr_fr	fr2,fr20
    108 	test_fr_fr	fr3,fr16
    109 	test_fr_fr	fr3,fr20
    110 	test_spr_immed	0,fner1
    111 	test_spr_immed	0,fner0
    112 	nfdmulcs      	fr20,fr12,fr2
    113 	test_fr_fr	fr2,fr16
    114 	test_fr_fr	fr2,fr20
    115 	test_fr_fr	fr3,fr16
    116 	test_fr_fr	fr3,fr20
    117 	test_spr_immed	0,fner1
    118 	test_spr_immed	0,fner0
    119 	nfdmulcs      	fr20,fr16,fr2
    120 	test_fr_fr	fr2,fr16
    121 	test_fr_fr	fr3,fr20
    122 	test_fr_fr	fr3,fr16
    123 	test_fr_fr	fr2,fr20
    124 	test_spr_immed	0,fner1
    125 	test_spr_immed	0,fner0
    126 	nfdmulcs      	fr20,fr20,fr2
    127 	test_fr_fr	fr2,fr16
    128 	test_fr_fr	fr2,fr20
    129 	test_fr_fr	fr3,fr16
    130 	test_fr_fr	fr3,fr20
    131 	test_spr_immed	0,fner1
    132 	test_spr_immed	0,fner0
    133 	nfdmulcs      	fr20,fr24,fr2
    134 	test_fr_fr	fr2,fr16
    135 	test_fr_fr	fr2,fr20
    136 	test_fr_fr	fr3,fr16
    137 	test_fr_fr	fr3,fr20
    138 	test_spr_immed	0,fner1
    139 	test_spr_immed	0,fner0
    140 	nfdmulcs      	fr20,fr28,fr2
    141 	test_fr_fr	fr2,fr16
    142 	test_fr_fr	fr2,fr20
    143 	test_fr_fr	fr3,fr16
    144 	test_fr_fr	fr3,fr20
    145 	test_spr_immed	0,fner1
    146 	test_spr_immed	0,fner0
    147 	nfdmulcs      	fr20,fr32,fr2
    148 	test_fr_fr	fr2,fr16
    149 	test_fr_fr	fr2,fr20
    150 	test_fr_fr	fr3,fr16
    151 	test_fr_fr	fr3,fr20
    152 	test_spr_immed	0,fner1
    153 	test_spr_immed	0,fner0
    154 	nfdmulcs      	fr20,fr36,fr2
    155 	test_fr_fr	fr2,fr16
    156 	test_fr_fr	fr2,fr20
    157 	test_fr_fr	fr3,fr16
    158 	test_fr_fr	fr3,fr20
    159 	test_spr_immed	0,fner1
    160 	test_spr_immed	0,fner0
    161 	nfdmulcs      	fr20,fr40,fr2
    162 	test_fr_fr	fr2,fr16
    163 	test_fr_fr	fr2,fr20
    164 	test_fr_fr	fr3,fr16
    165 	test_fr_fr	fr3,fr20
    166 	test_spr_immed	0,fner1
    167 	test_spr_immed	0,fner0
    168 	nfdmulcs      	fr20,fr44,fr2
    169 	test_fr_fr	fr2,fr16
    170 	test_fr_fr	fr2,fr20
    171 	test_fr_fr	fr3,fr16
    172 	test_fr_fr	fr3,fr20
    173 	test_spr_immed	0,fner1
    174 	test_spr_immed	0,fner0
    175 	nfdmulcs      	fr20,fr48,fr2
    176 	test_fr_fr	fr2,fr16
    177 	test_fr_fr	fr2,fr20
    178 	test_fr_fr	fr3,fr16
    179 	test_fr_fr	fr3,fr20
    180 	test_spr_immed	0,fner1
    181 	test_spr_immed	0,fner0
    182 
    183 	nfdmulcs      	fr28,fr0,fr2
    184 	test_fr_fr	fr2,fr0
    185 	test_fr_fr	fr3,fr0
    186 	test_spr_immed	0,fner1
    187 	test_spr_immed	0,fner0
    188 	nfdmulcs      	fr28,fr4,fr2
    189 	test_fr_fr	fr2,fr4
    190 	test_fr_fr	fr3,fr4
    191 	test_spr_immed	0,fner1
    192 	test_spr_immed	0,fner0
    193 	nfdmulcs      	fr28,fr8,fr2
    194 	test_fr_fr	fr2,fr8
    195 	test_fr_fr	fr3,fr8
    196 	test_spr_immed	0,fner1
    197 	test_spr_immed	0,fner0
    198 	nfdmulcs      	fr28,fr12,fr2
    199 	test_fr_fr	fr2,fr12
    200 	test_fr_fr	fr3,fr12
    201 	test_spr_immed	0,fner1
    202 	test_spr_immed	0,fner0
    203 	nfdmulcs      	fr28,fr16,fr2
    204 	test_fr_fr	fr2,fr16
    205 	test_fr_fr	fr2,fr20
    206 	test_fr_fr	fr3,fr16
    207 	test_fr_fr	fr3,fr20
    208 	test_spr_immed	0,fner1
    209 	test_spr_immed	0,fner0
    210 	nfdmulcs      	fr28,fr20,fr2
    211 	test_fr_fr	fr2,fr16
    212 	test_fr_fr	fr2,fr20
    213 	test_fr_fr	fr3,fr16
    214 	test_fr_fr	fr3,fr20
    215 	test_spr_immed	0,fner1
    216 	test_spr_immed	0,fner0
    217 	nfdmulcs      	fr28,fr24,fr2
    218 	test_fr_fr	fr2,fr24
    219 	test_fr_fr	fr3,fr24
    220 	test_spr_immed	0,fner1
    221 	test_spr_immed	0,fner0
    222 	nfdmulcs      	fr28,fr28,fr2
    223 	test_fr_fr	fr2,fr28
    224 	test_fr_fr	fr3,fr28
    225 	test_spr_immed	0,fner1
    226 	test_spr_immed	0,fner0
    227 	nfdmulcs      	fr28,fr32,fr2
    228 	test_fr_fr	fr2,fr32
    229 	test_fr_fr	fr3,fr32
    230 	test_spr_immed	0,fner1
    231 	test_spr_immed	0,fner0
    232 	nfdmulcs      	fr28,fr36,fr2
    233 	test_fr_fr	fr2,fr36
    234 	test_fr_fr	fr3,fr36
    235 	test_spr_immed	0,fner1
    236 	test_spr_immed	0,fner0
    237 	nfdmulcs      	fr28,fr40,fr2
    238 	test_fr_fr	fr2,fr40
    239 	test_fr_fr	fr3,fr40
    240 	test_spr_immed	0,fner1
    241 	test_spr_immed	0,fner0
    242 	nfdmulcs      	fr28,fr44,fr2
    243 	test_fr_fr	fr2,fr44
    244 	test_fr_fr	fr3,fr44
    245 	test_spr_immed	0,fner1
    246 	test_spr_immed	0,fner0
    247 	nfdmulcs      	fr28,fr48,fr2
    248 	test_fr_fr	fr2,fr48
    249 	test_fr_fr	fr3,fr48
    250 	test_spr_immed	0,fner1
    251 	test_spr_immed	0,fner0
    252 	nfdmulcs      	fr28,fr52,fr2
    253 	test_fr_fr	fr2,fr52
    254 	test_fr_fr	fr3,fr52
    255 	test_spr_immed	0,fner1
    256 	test_spr_immed	0,fner0
    257 
    258 	nfdmulcs      	fr28,fr8,fr2
    259 	test_fr_fr	fr2,fr8
    260 	test_fr_fr	fr3,fr8
    261 	test_spr_immed	0,fner1
    262 	test_spr_immed	0,fner0
    263 	nfdmulcs      	fr8,fr28,fr2
    264 	test_fr_fr	fr2,fr8
    265 	test_fr_fr	fr3,fr8
    266 	test_spr_immed	0,fner1
    267 	test_spr_immed	0,fner0
    268 
    269 	nfdmulcs      	fr32,fr36,fr2
    270 	test_fr_fr	fr2,fr40
    271 	test_fr_fr	fr3,fr40
    272 	test_spr_immed	0,fner1
    273 	test_spr_immed	0,fner0
    274 
    275 	; try to cause exceptions
    276 	nfdmulcs      	fr48,fr32,fr2
    277 ;	test_fr_fr	fr2,fr44
    278 ;	test_fr_fr	fr3,fr44
    279 	test_spr_immed	0,fner1
    280 	test_spr_immed	0,fner0
    281 
    282 	nfdmulcs      	fr52,fr28,fr2
    283 ;	test_fr_fr	fr2,fr44
    284 ;	test_fr_fr	fr3,fr44
    285 	test_spr_immed	0,fner1
    286 	test_spr_immed	0,fner0
    287 
    288 	nfdmulcs      	fr56,fr28,fr2
    289 ;	test_fr_fr	fr2,fr44
    290 ;	test_fr_fr	fr3,fr44
    291 	test_spr_immed	0,fner1
    292 	test_spr_immed	0,fner0
    293 
    294 	nfdmulcs      	fr60,fr28,fr2
    295 ;	test_fr_fr	fr2,fr44
    296 ;	test_fr_fr	fr3,fr44
    297 	test_spr_immed	0xc,fner1
    298 	test_spr_immed	0,fner0
    299 
    300 	; test all regs different
    301 	set_spr_immed	0,fner0
    302 	set_spr_immed	0,fner1
    303 	set_fr_fr	fr32,fr50	; 2
    304 	set_fr_fr	fr28,fr51	; 1
    305 	set_fr_fr	fr44,fr52	; 9
    306 	set_fr_fr	fr36,fr53	; 3
    307 	nfdmulcs	fr50,fr52,fr54	; 2*3, 1*9
    308 	test_fr_fr	fr54,fr40	; 6
    309 	test_fr_fr	fr55,fr44	; 9
    310 	test_spr_immed	0,fner1
    311 	test_spr_immed	0,fner0
    312 
    313 	pass
    314