Home | History | Annotate | Line # | Download | only in fr400
      1 # frv testcase for slass $GRi,$GRj,$GRk
      2 # mach: fr405 fr450
      3 
      4 	.include "../testutils.inc"
      5 
      6 	start
      7 
      8 	.global sll
      9 slass0:
     10 	set_gr_immed  	0,gr7			; Shift by 0
     11 	set_gr_immed   	2,gr8
     12 	slass      	gr8,gr7,gr6
     13 	test_gr_immed  	2,gr8
     14 	test_gr_immed	0,gr7
     15 	test_gr_immed  	2,gr6
     16 slass1:
     17 	set_gr_immed  	1,gr7			; Shift by 1
     18 	set_gr_immed   	2,gr8
     19 	slass      	gr8,gr7,gr6
     20 	test_gr_immed  	2,gr8
     21 	test_gr_immed	1,gr7
     22 	test_gr_immed  	4,gr6
     23 
     24 slass2:
     25 	set_gr_immed  	31,gr7			; Shift 1 by 31
     26 	set_gr_immed   	1,gr8
     27 	slass      	gr8,gr7,gr6
     28 	test_gr_immed  	1,gr8
     29 	test_gr_immed	31,gr7
     30 	test_gr_limmed	0x7fff,0xffff,gr6
     31 
     32 slass3:
     33 	set_gr_immed  	31,gr7			; Shift -1 by 31
     34 	set_gr_immed   	-1,gr8
     35 	slass      	gr8,gr7,gr6
     36 	test_gr_immed  	-1,gr8
     37 	test_gr_immed	31,gr7
     38 	test_gr_limmed	0x8000,0x0000,gr6
     39 
     40 slass4:
     41 	set_gr_immed  	14,gr7			; Shift 0xffff0000 by 14
     42 	set_gr_limmed	0xffff,0x0000,gr8
     43 	slass      	gr8,gr7,gr6
     44 	test_gr_limmed	0xffff,0x0000,gr8
     45 	test_gr_immed	14,gr7
     46 	test_gr_limmed	0xc000,0x0000,gr6
     47 
     48 slass5:
     49 	set_gr_immed  	15,gr7			; Shift 0xffff0000 by 15
     50 	set_gr_limmed	0xffff,0x0000,gr8
     51 	slass      	gr8,gr7,gr6
     52 	test_gr_limmed	0xffff,0x0000,gr8
     53 	test_gr_immed	15,gr7
     54 	test_gr_limmed	0x8000,0x0000,gr6
     55 
     56 slass6:
     57 	set_gr_immed  	20,gr7			; Shift 0xffff0000 by 20
     58 	set_gr_limmed	0xffff,0x0000,gr8
     59 	slass      	gr8,gr7,gr6
     60 	test_gr_limmed	0xffff,0x0000,gr8
     61 	test_gr_immed	20,gr7
     62 	test_gr_limmed	0x8000,0x0000,gr6
     63 
     64 slass7:
     65 	set_gr_immed  	14,gr7			; Shift 0x0000ffff by 14
     66 	set_gr_limmed	0x0000,0xffff,gr8
     67 	slass      	gr8,gr7,gr6
     68 	test_gr_limmed	0x0000,0xffff,gr8
     69 	test_gr_immed	14,gr7
     70 	test_gr_limmed	0x3fff,0xc000,gr6
     71 
     72 slass8:
     73 	set_gr_immed  	15,gr7			; Shift 0x0000ffff by 15
     74 	set_gr_limmed  	0x0000,0xffff,gr8
     75 	slass      	gr8,gr7,gr6
     76 	test_gr_limmed	0x0000,0xffff,gr8
     77 	test_gr_immed	15,gr7
     78 	test_gr_limmed	0x7fff,0x8000,gr6
     79 
     80 slass9:
     81 	set_gr_immed  	20,gr7			; Shift 0x0000ffff by 20
     82 	set_gr_limmed  	0x0000,0xffff,gr8
     83 	slass      	gr8,gr7,gr6
     84 	test_gr_limmed	0x0000,0xffff,gr8
     85 	test_gr_immed	20,gr7
     86 	test_gr_limmed	0x7fff,0xffff,gr6
     87 
     88 slass10:
     89 	set_gr_immed  	30,gr7			; Shift 1 by 30
     90 	set_gr_immed   	1,gr8
     91 	slass      	gr8,gr7,gr6
     92 	test_gr_immed  	1,gr8
     93 	test_gr_immed	30,gr7
     94 	test_gr_limmed	0x4000,0x0000,gr6
     95 
     96 slass11:
     97 	set_gr_immed  	30,gr7			; Shift -1 by 30
     98 	set_gr_immed   	-1,gr8
     99 	slass      	gr8,gr7,gr6
    100 	test_gr_immed  	-1,gr8
    101 	test_gr_immed	30,gr7
    102 	test_gr_limmed	0xc000,0000,gr6
    103 
    104 	pass
    105