Home | History | Annotate | Line # | Download | only in frv
      1  1.1  christos # frv testcase for sll $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 sll
      9  1.1  christos sll:
     10  1.1  christos 	set_gr_limmed  	0xdead,0xbee0,gr7	; Shift by 0
     11  1.1  christos 	set_gr_immed   	2,gr8
     12  1.1  christos 	set_icc         0x0d,0		; Set mask opposite of expected
     13  1.1  christos 	sll      	gr8,gr7,gr8
     14  1.1  christos 	test_icc	1 1 0 1 icc0
     15  1.1  christos 	test_gr_immed  	2,gr8
     16  1.1  christos 
     17  1.1  christos 	set_gr_limmed  	0xdead,0xbee1,gr7	; Shift by 1
     18  1.1  christos 	set_gr_immed   	2,gr8
     19  1.1  christos 	set_icc         0x0f,0		; Set mask opposite of expected
     20  1.1  christos 	sll      	gr8,gr7,gr8
     21  1.1  christos 	test_icc	1 1 1 1 icc0
     22  1.1  christos 	test_gr_immed  	4,gr8
     23  1.1  christos 
     24  1.1  christos 	set_gr_limmed  	0xdead,0xbeff,gr7	; Shift by 31
     25  1.1  christos 	set_gr_immed   	1,gr8
     26  1.1  christos 	set_icc         0x07,0		; Set mask opposite of expected
     27  1.1  christos 	sll      	gr8,gr7,gr8
     28  1.1  christos 	test_icc	0 1 1 1 icc0
     29  1.1  christos 	test_gr_limmed 	0x8000,0x0000,gr8
     30  1.1  christos 
     31  1.1  christos 	set_gr_limmed  	0xdead,0xbeff,gr7	; clear register
     32  1.1  christos 	set_gr_immed   	2,gr8
     33  1.1  christos 	set_icc         0x0a,0		; Set mask opposite of expected
     34  1.1  christos 	sll      	gr8,gr7,gr8
     35  1.1  christos 	test_icc	1 0 1 0 icc0
     36  1.1  christos 	test_gr_immed  	0x00000000,gr8
     37  1.1  christos 
     38  1.1  christos 	pass
     39