Home | History | Annotate | Line # | Download | only in frv
      1  1.1  christos # frv testcase for mqcpxiu $GRi,$GRj,$GRk
      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 mqcpxiu
      9  1.1  christos mqcpxiu:
     10  1.1  christos 	set_fr_iimmed  	4,2,fr8		; multiply small numbers
     11  1.1  christos 	set_fr_iimmed  	3,5,fr10
     12  1.1  christos 	set_fr_iimmed  	1,2,fr9		; multiply by 1
     13  1.1  christos 	set_fr_iimmed  	1,3,fr11
     14  1.1  christos 	mqcpxiu      	fr8,fr10,acc0
     15  1.1  christos 	test_accg_immed 	0,accg0
     16  1.1  christos 	test_acc_immed 	26,acc0
     17  1.1  christos 	test_accg_immed 	0,accg1
     18  1.1  christos 	test_acc_immed 	5,acc1
     19  1.1  christos 
     20  1.1  christos 	set_fr_iimmed  	0,2,fr8		; multiply by 0
     21  1.1  christos 	set_fr_iimmed  	0,2,fr10
     22  1.1  christos 	set_fr_iimmed 	0x3fff,1,fr9	; 15 bit result
     23  1.1  christos 	set_fr_iimmed  	0x0001,2,fr11
     24  1.1  christos 	mqcpxiu      	fr8,fr10,acc0
     25  1.1  christos 	test_accg_immed 	0,accg0
     26  1.1  christos 	test_acc_immed 	0,acc0
     27  1.1  christos 	test_accg_immed 	0,accg1
     28  1.1  christos 	test_acc_limmed	0x0000,0x7fff,acc1
     29  1.1  christos 
     30  1.1  christos 	set_fr_iimmed  	0x4000,1,fr8	; 16 bit result
     31  1.1  christos 	set_fr_iimmed  	0x0001,2,fr10
     32  1.1  christos 	set_fr_iimmed  	0x4000,1,fr9	; 17 bit result
     33  1.1  christos 	set_fr_iimmed  	0x0001,4,fr11
     34  1.1  christos 	mqcpxiu      	fr8,fr10,acc0
     35  1.1  christos 	test_accg_immed 	0,accg0
     36  1.1  christos 	test_acc_limmed	0x0000,0x8001,acc0
     37  1.1  christos 	test_accg_immed 	0,accg1
     38  1.1  christos 	test_acc_immed 	0x0010001,acc1
     39  1.1  christos 
     40  1.1  christos 	set_fr_iimmed  	0x7fff,0x0000,fr8	; max positive result
     41  1.1  christos 	set_fr_iimmed  	0x7fff,0x7fff,fr10
     42  1.1  christos 	set_fr_iimmed  	0x8000,0x8000,fr9	; max positive result
     43  1.1  christos 	set_fr_iimmed  	0x0000,0x8000,fr11
     44  1.1  christos 	mqcpxiu      	fr8,fr10,acc0
     45  1.1  christos 	test_accg_immed 	0,accg0
     46  1.1  christos 	test_acc_immed 	0x3fff0001,acc0
     47  1.1  christos 	test_accg_immed 	0,accg1
     48  1.1  christos 	test_acc_limmed	0x4000,0x0000,acc1
     49  1.1  christos 
     50  1.1  christos 	set_fr_iimmed  	0xffff,0x0000,fr8	; max positive result
     51  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr10
     52  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr9	; max positive result
     53  1.1  christos 	set_fr_iimmed  	0xffff,0xffff,fr11
     54  1.1  christos 	mqcpxiu      	fr8,fr10,acc0
     55  1.1  christos 	test_accg_immed 	0,accg0
     56  1.1  christos 	test_acc_limmed	0xfffe,0x0001,acc0
     57  1.1  christos 	test_accg_immed 1,accg1
     58  1.1  christos 	test_acc_immed	0xfffc0002,acc1
     59  1.1  christos 
     60  1.1  christos 	pass
     61